diff --git a/.prettierrc.mjs b/.prettierrc.mjs deleted file mode 100644 index d3fc42bb41..0000000000 --- a/.prettierrc.mjs +++ /dev/null @@ -1,11 +0,0 @@ -import vitnodePrettier from "@vitnode/config/prettierrc"; - -/** - * @see https://prettier.io/docs/en/configuration.html - * @type {import("prettier").Config} - */ -const config = { - ...vitnodePrettier, -}; - -export default config; diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000000..99e2f7ddf7 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,3 @@ +{ + "recommendations": ["oxc.oxc-vscode"] +} diff --git a/AI_IMPLEMENTATION_PROGRESS.md b/AI_IMPLEMENTATION_PROGRESS.md deleted file mode 100644 index 23cdd86f32..0000000000 --- a/AI_IMPLEMENTATION_PROGRESS.md +++ /dev/null @@ -1,111 +0,0 @@ -# VitNode AI – implementation progress - -Development checkpoint for the shared AI system. User-facing docs live in -`apps/web/content/docs/dev/ai/` (index, actions, costs-and-limits, admin, -automatic-alt, fields-and-editor, usage, future). - -## Current stage - -Stages 1–10 implemented, draft PR #843 open. Follow-up review round done: -pricing moved to config only, AI access moved into the role form and the -user page, actions listed in a data table with title/description/icon. - -## Base branch - -`refactor/edit_articles` (PR #842, article translation + excerpt) is not in -`canary`. This branch was fast-forwarded onto it so the blog AI work is -extended rather than recreated. The draft PR targets `refactor/edit_articles`. - -## Architecture decisions - -- Server-only AI code: `packages/vitnode/src/api/lib/ai/`. Tables: - `packages/vitnode/src/database/ai.ts`, ALT tables in `database/files.ts`. -- Canonical action identity `:`; `aiActionRef` gives typed - keys so `c.get("ai").run()` infers input and output. -- Model capabilities are explicit (`capabilities`, default `["text"]`). - Vision = `image-input`; streaming requires `streaming`; object output - requires `structured-output`. Nothing is inferred from model names. -- Money: decimal strings, `bigint` fixed point (12 places), - `numeric(24,12)`. 1 AI point = 0.001 USD (conversion version 1). -- Cost order: provider-reported → `pricing` of the model in - `vitnode.api.config.ts` → unknown. Config is the only price source (no - AdminCP editor, no gateway sync; `core_ai_pricing` dropped in - `20261006164800_ai_config_pricing`). Malformed pricing stops the boot - (`assertAiModelPricing`). Unknown is never zero: an unknown cost charges the - site budget its full reservation. -- Users are charged points only for the call that delivered a valid result. -- Budgets: `core_ai_budget_periods` rows per scope per period (global USD, - system USD, user points, user×permission daily count), locked in sorted - `scopeKey` order inside one short transaction; no transaction during - provider calls; reservation = full upper bound (all retries, steps, - fallback). Settlement flips `settlement` exactly once under a row lock. -- Persistence via `AiLedger`: `PostgresAiLedger` (production) and - `MemoryAiLedger` (test seam, same pure rules in `budget.ts`). -- Role policies: any granting role grants; largest allowance wins (never - summed); user override replaces; root roles unlimited. Edited on the role - form's **AI** tab (admins with `ai:can_manage`; saved right after the role - via `PUT /admin/ai/access/roles`), user exceptions on the AdminCP user page - (`GET /admin/ai/access/users/{userId}`). -- Actions carry `title`, `description` (both required) and an optional Lucide - `icon`; AdminCP Actions is a data table (icon, title/description, plugin, - model, daily limit, status, configure). No test runs. -- Global defaults: AI on, no site cap, `defaultMonthlyPoints` 0, automatic - ALT off and refused without a site budget. -- ALT: per-language `core_files_alt` (human/ai origin, file fingerprint), - one base analysis per fingerprint, translations per language, conditional - writes that never overwrite human rows. Descriptors carry `alts`; the blog - resolves occurrence override → file ALT → default language → empty. -- Queue: durable `dedupeKey`, lease recovery, `QueueDeferError` (no attempt - burned), dedicated `ai` queue worker (2 per minute). -- Field AI: `ai: { action, sourceFields, mode: "suggestion" }` on - text/textarea, validated at definition and boot; shared assist routes; - review-before-accept UI with stale-source and newer-edit detection. -- Quick Ask: NDJSON streaming, bounded context, plain-text nodes, one-step - undo, upper-bound estimate before running. -- Translation freshness: `core_ai_translation_sources` source/target - fingerprints, recorded only after a save (`onSaved` on the content form). - -## Completed - -- Stage 1–4: registry, usageCost/pricing, runner, history, budgets, points, - policies, reservations (commit `40b10c79`). -- Stage 5: AdminCP (overview, models & pricing, actions, access, history, - settings) and `/settings/ai`; admin/user APIs; maintenance cron (lease - expiry, cost reconciliation with audited adjustments, retention). -- Stage 6–7: multilingual ALT, resolver, automatic generation, sweep, queue - reliability, S3/Supabase/Local trusted reads. -- Stage 8: shared AI field assistance (blog excerpt, example plugin article). -- Stage 9: Quick Ask. -- Stage 10: translation freshness and optional pre-publication AI review. -- CI: PostgreSQL service so integration tests run. -- Review round: config-only pricing, role-form AI tab, user AI card, actions - data table with titles/icons, test runs removed. - -## Checks - -- `packages/vitnode`: `tsc --noEmit` clean; eslint clean on changed files. -- Core suite with real PostgreSQL: 8469 passed before the last fixes; AI - suites re-run after every change (see final report for the last full run). -- Real PostgreSQL integration: ledger concurrency (9), routes and - maintenance (10), ALT end to end (10). Removing the `FOR UPDATE` lock makes - the concurrency tests fail (mutation-checked). -- Blog plugin: tsc clean, eslint clean, 22 tests passed. -- Browser (Playwright, Chromium): all six AdminCP AI pages and `/settings/ai` - render at 1280px and 390px without horizontal scroll. -- Docs: all AI pages compile as MDX; prettier clean. - -## Known limitations - -- Streaming does not retry or fall back once a stream has started. -- Prices change only by editing `vitnode.api.config.ts` and deploying. -- ALT base descriptions are written in English, then translated. -- A crash mid-call may pay for one repeated call; exactly-once is not - promised. Uncertain calls are settled by maintenance at full reservation - and corrected if the provider reports the billed cost later. -- The AdminCP assist/translation-source routes rely on the action's AI - permission + `authorize()` / content `can_edit` instead of a separate - `ai:*` staff permission (documented in code). - -## Next task - -Wait for review on draft PR #843. diff --git a/apps/api/eslint.config.mjs b/apps/api/eslint.config.mjs deleted file mode 100644 index 0cb56cef6c..0000000000 --- a/apps/api/eslint.config.mjs +++ /dev/null @@ -1,20 +0,0 @@ -import eslintVitNode from "@vitnode/config/eslint"; -import { fileURLToPath } from "node:url"; -import { dirname } from "node:path"; - -const __dirname = dirname(fileURLToPath(import.meta.url)); - -export default [ - ...eslintVitNode, - { - ignores: ["drizzle.config.ts"], - }, - { - languageOptions: { - parserOptions: { - project: "./tsconfig.json", - tsconfigRootDir: __dirname, - }, - }, - }, -]; diff --git a/apps/api/oxlint.config.ts b/apps/api/oxlint.config.ts new file mode 100644 index 0000000000..5ac608d53d --- /dev/null +++ b/apps/api/oxlint.config.ts @@ -0,0 +1,7 @@ +import vitnode, { ignorePatterns } from "@vitnode/config/oxlint"; +import { defineConfig } from "oxlint"; + +export default defineConfig({ + extends: [vitnode], + ignorePatterns: [...ignorePatterns, "drizzle.config.ts"], +}); diff --git a/apps/api/package.json b/apps/api/package.json index 039789d6f5..c2ede591c5 100644 --- a/apps/api/package.json +++ b/apps/api/package.json @@ -11,8 +11,8 @@ "dev:email": "email dev --dir src/emails", "build": "vitnode build", "start": "vitnode start", - "lint": "eslint .", - "lint:fix": "eslint . --fix", + "lint": "oxlint --type-aware", + "lint:fix": "oxlint --type-aware --fix", "i18n:create": "vitnode i18n create", "i18n:check": "vitnode i18n check", "i18n:delete": "vitnode i18n delete", @@ -20,8 +20,8 @@ "i18n:update:ai": "vitnode i18n update-ai" }, "dependencies": { - "@ai-sdk/anthropic": "^4.0.70", - "@ai-sdk/google": "^4.0.87", + "@ai-sdk/anthropic": "^4.0.75", + "@ai-sdk/google": "^4.0.90", "@hono/zod-openapi": "^1.6.3", "@hono/zod-validator": "^0.9.1", "@vitnode/core": "workspace:*", @@ -29,17 +29,17 @@ "@vitnode/supabase-storage": "workspace:*", "drizzle-kit": "1.0.0-rc.4", "drizzle-orm": "1.0.0-rc.4", - "hono": "^4.13.12", + "hono": "^4.13.13", "react": "^19.3.0", "react-dom": "^19.3.0", - "use-intl": "^4.14.8", + "use-intl": "^4.14.9", "ws": "^8.22.0", "zod": "^4.6.5" }, "devDependencies": { "@hono/node-server": "^2.1.3", - "@react-email/ui": "^6.11.0", - "@types/node": "^26.6.3", + "@react-email/ui": "^6.11.1", + "@types/node": "^26.6.4", "@types/react": "^19.3.0", "@types/react-dom": "^19.3.0", "@types/ws": "^8.18.2", @@ -47,9 +47,10 @@ "@vitnode/config": "workspace:*", "@vitnode/example": "workspace:*", "@vitnode/nodemailer": "workspace:*", - "dotenv": "^18.0.5", - "eslint": "^10.11.0", - "react-email": "^6.11.0", + "dotenv": "^18.0.6", + "oxlint": "^1.87.0", + "oxlint-tsgolint": "^7.0.2003", + "react-email": "^6.11.1", "tsc-alias": "^1.9.7", "tsx": "^4.23.15", "typescript": "^6.0.3" diff --git a/apps/web/.cta.json b/apps/web/.cta.json index d42f130320..379679749c 100644 --- a/apps/web/.cta.json +++ b/apps/web/.cta.json @@ -13,8 +13,5 @@ "routerOnly": false, "version": 1, "framework": "react", - "chosenAddOns": [ - "eslint", - "nitro" - ] -} \ No newline at end of file + "chosenAddOns": ["nitro"] +} diff --git a/apps/web/.oxfmtrc.json b/apps/web/.oxfmtrc.json new file mode 100644 index 0000000000..7dacf39bfb --- /dev/null +++ b/apps/web/.oxfmtrc.json @@ -0,0 +1,18 @@ +{ + "semi": false, + "singleQuote": true, + "trailingComma": "all", + "printWidth": 80, + "sortPackageJson": false, + "ignorePatterns": [ + "**/node_modules", + "**/dist", + "**/.output", + "**/.nitro", + "**/.tanstack", + "**/.vercel", + "**/.turbo", + "**/*.gen.ts", + "**/*.gen.d.ts" + ] +} diff --git a/apps/web/eslint.config.mjs b/apps/web/eslint.config.mjs deleted file mode 100644 index e22e029fe7..0000000000 --- a/apps/web/eslint.config.mjs +++ /dev/null @@ -1,64 +0,0 @@ -import eslintVitNode from "@vitnode/config/eslint"; -import eslintVitNodeReact from "@vitnode/config/eslint.react"; -import { fileURLToPath } from "node:url"; -import { dirname } from "node:path"; - -const __dirname = dirname(fileURLToPath(import.meta.url)); - -export default [ - ...eslintVitNode, - ...eslintVitNodeReact, - { - // Build output, not source. `eslint .` walks these otherwise and every file - // in them fails to parse: they are outside `tsconfig.json`'s `include`. - ignores: [ - ".nitro/**", - ".output/**", - ".tanstack/**", - "dist/**", - "src/routeTree.gen.ts", - "src/plugin-routes.gen.ts", - "src/admin-nav.gen.ts", - "src/api-registry.gen.ts", - "src/content-registry.gen.ts", - "src/package-messages.gen.ts", - "scripts/**", - "prettier.config.js", - ], - }, - { - languageOptions: { - parserOptions: { - project: "./tsconfig.json", - tsconfigRootDir: __dirname, - }, - }, - }, - { - /* - * `src/tests` runs on Node's own test runner, whose `describe` and `it` - * return promises the runner itself awaits. - * - * `void`-ing every one of them would be noise, and awaiting them is wrong - - * the suite would then be sequenced by hand. `allowForKnownSafeCalls` is - * typescript-eslint's own answer for exactly this, and it names the three - * functions from `node:test` rather than exempting the directory, so a - * genuinely floating promise in a test still fails the lint. - */ - files: ["src/tests/**/*.ts"], - rules: { - "@typescript-eslint/no-floating-promises": [ - "error", - { - allowForKnownSafeCalls: [ - { - from: "package", - name: ["describe", "it", "test"], - package: "node:test", - }, - ], - }, - ], - }, - }, -]; diff --git a/apps/web/oxlint.config.ts b/apps/web/oxlint.config.ts new file mode 100644 index 0000000000..5fd4d99509 --- /dev/null +++ b/apps/web/oxlint.config.ts @@ -0,0 +1,35 @@ +import vitnode, { ignorePatterns } from '@vitnode/config/oxlint' +import vitnodeReact from '@vitnode/config/oxlint.react' +import { defineConfig } from 'oxlint' + +export default defineConfig({ + extends: [vitnode, vitnodeReact], + ignorePatterns: [ + ...ignorePatterns, + '.nitro/**', + '.output/**', + '.tanstack/**', + 'dist/**', + 'src/*.gen.ts', + 'scripts/**', + ], + overrides: [ + { + files: ['src/tests/**/*.ts'], + rules: { + 'typescript/no-floating-promises': [ + 'error', + { + allowForKnownSafeCalls: [ + { + from: 'package', + name: ['describe', 'it', 'test'], + package: 'node:test', + }, + ], + }, + ], + }, + }, + ], +}) diff --git a/apps/web/package.json b/apps/web/package.json index ea8dd00e85..5f821250d9 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -7,12 +7,12 @@ "dev": "pnpm --filter api db:prepare && vitnode dev --port 3000", "build": "vitnode build", "preview": "vite preview", - "lint": "eslint .", - "format": "prettier --write . && eslint --fix", - "check": "prettier --check .", + "lint": "oxlint --type-aware", + "format": "oxfmt .", + "check": "oxfmt --check .", "start": "vitnode start", "typecheck": "tsc --noEmit", - "lint:fix": "eslint . --fix" + "lint:fix": "oxlint --type-aware --fix" }, "dependencies": { "@hono/zod-openapi": "^1.6.3", @@ -20,8 +20,8 @@ "@tanstack/charts": "^1.0.0", "@tanstack/react-devtools": "^0.10.13", "@tanstack/react-form": "^1.33.5", - "@tanstack/react-query": "^5.104.0", - "@tanstack/react-query-devtools": "^5.104.0", + "@tanstack/react-query": "^5.104.1", + "@tanstack/react-query-devtools": "^5.104.1", "@tanstack/react-router": "^1.170.41", "@tanstack/react-router-devtools": "^1.167.2", "@tanstack/react-router-ssr-query": "^1.167.3", @@ -31,43 +31,44 @@ "@vitnode/example": "workspace:*", "@vitnode/supabase-storage": "workspace:*", "d3-shape": "^3.2.0", - "dotenv": "^18.0.5", + "dotenv": "^18.0.6", "drizzle-kit": "1.0.0-rc.4", "drizzle-orm": "1.0.0-rc.4", - "fumadocs-core": "^16.15.17", - "fumadocs-mdx": "^15.4.5", - "fumadocs-ui": "^16.15.17", - "hono": "^4.13.12", - "lucide-react": "^1.49.0", - "motion": "^13.4.6", + "fumadocs-core": "^16.16.2", + "fumadocs-mdx": "^15.4.6", + "fumadocs-ui": "^16.16.2", + "hono": "^4.13.13", + "lucide-react": "^1.52.0", + "motion": "^14.0.0", "nitro": "3.0.260903-beta", "react": "^19.3.0", "react-dom": "^19.3.0", - "shadcn": "^4.21.0", + "shadcn": "^4.21.4", "sonner": "^2.0.8", "tailwindcss": "^4.3.3", "tslib": "^2.8.1", - "use-intl": "^4.14.8", + "use-intl": "^4.14.9", "zod": "^4.6.5" }, "devDependencies": { "@tanstack/devtools-vite": "^0.8.5", - "@tanstack/eslint-config": "^0.4.0", "@tanstack/router-cli": "^1.167.40", "@types/d3-shape": "^3.2.0", "@types/mdx": "^2.0.14", - "@types/node": "^26.6.3", + "@types/node": "^26.6.4", "@types/react": "^19.3.0", "@types/react-dom": "^19.3.0", - "@vitejs/plugin-react": "^6.1.1", + "@vitejs/plugin-react": "^6.1.2", "@vitnode/config": "workspace:*", "cn": "^0.4.0", - "eslint": "^10.11.0", "jiti": "^2.7.0", - "jsdom": "^30.1.1", + "jsdom": "^30.1.2", + "oxfmt": "^0.72.0", + "oxlint": "^1.87.0", + "oxlint-tsgolint": "^7.0.2003", "tw-animate-css": "^1.4.0", "typescript": "^6.0.2", - "vite": "^8.3.1" + "vite": "^8.3.3" }, "pnpm": { "onlyBuiltDependencies": [ diff --git a/apps/web/prettier.config.js b/apps/web/prettier.config.js deleted file mode 100644 index aea1c4804b..0000000000 --- a/apps/web/prettier.config.js +++ /dev/null @@ -1,10 +0,0 @@ -// @ts-check - -/** @type {import('prettier').Config} */ -const config = { - semi: false, - singleQuote: true, - trailingComma: "all", -}; - -export default config; diff --git a/apps/web/src/admin-nav.gen.ts b/apps/web/src/admin-nav.gen.ts index 4ebfbbad60..3399647d89 100644 --- a/apps/web/src/admin-nav.gen.ts +++ b/apps/web/src/admin-nav.gen.ts @@ -1,4 +1,4 @@ -/* eslint-disable */ +/* oxlint-disable */ // This file is generated by VitNode. Do not edit it, and do not format it. // diff --git a/apps/web/src/api-registry.gen.ts b/apps/web/src/api-registry.gen.ts index af4dd16273..5a9977b0a7 100644 --- a/apps/web/src/api-registry.gen.ts +++ b/apps/web/src/api-registry.gen.ts @@ -1,4 +1,4 @@ -/* eslint-disable */ +/* oxlint-disable */ // This file is generated by VitNode. Do not edit it, and do not format it. // diff --git a/apps/web/src/blocks.gen.ts b/apps/web/src/blocks.gen.ts index 6e6f4829bc..7586692e83 100644 --- a/apps/web/src/blocks.gen.ts +++ b/apps/web/src/blocks.gen.ts @@ -1,4 +1,4 @@ -/* eslint-disable */ +/* oxlint-disable */ // This file is generated by VitNode. Do not edit it, and do not format it. // diff --git a/apps/web/src/content-modules.gen.ts b/apps/web/src/content-modules.gen.ts index 3d7b6a31ba..bf8b1912f6 100644 --- a/apps/web/src/content-modules.gen.ts +++ b/apps/web/src/content-modules.gen.ts @@ -1,4 +1,4 @@ -/* eslint-disable */ +/* oxlint-disable */ // This file is generated by VitNode. Do not edit it, and do not format it. // diff --git a/apps/web/src/content-registry.gen.ts b/apps/web/src/content-registry.gen.ts index 08f1cc0ef5..7e5a9a5aa9 100644 --- a/apps/web/src/content-registry.gen.ts +++ b/apps/web/src/content-registry.gen.ts @@ -1,4 +1,4 @@ -/* eslint-disable */ +/* oxlint-disable */ // This file is generated by VitNode. Do not edit it, and do not format it. // diff --git a/apps/web/src/docs/examples/date-picker-range.tsx b/apps/web/src/docs/examples/date-picker-range.tsx index 3048214787..3472ac98e2 100644 --- a/apps/web/src/docs/examples/date-picker-range.tsx +++ b/apps/web/src/docs/examples/date-picker-range.tsx @@ -31,6 +31,7 @@ const PRESETS = [ export default function DatePickerRangeExample() { const id = React.useId() + const [today] = React.useState(() => new Date()) const [preset, setPreset] = React.useState('last-7-days') const [range, setRange] = React.useState(() => resolve('last-7-days')) @@ -40,8 +41,8 @@ export default function DatePickerRangeExample() { activePreset={preset} align="start" - disabledDays={{ after: new Date() }} - endMonth={new Date()} + disabledDays={{ after: today }} + endMonth={today} id={id} onChange={(next) => { setPreset(null) diff --git a/apps/web/src/docs/shell-content.tsx b/apps/web/src/docs/shell-content.tsx index 738804e1d9..21c7e85734 100644 --- a/apps/web/src/docs/shell-content.tsx +++ b/apps/web/src/docs/shell-content.tsx @@ -38,31 +38,29 @@ export const DocsShellContent = ({ { active: 'nested-url', text: 'Documentation', url: '/docs' }, ]} nav={{ mode: 'top', title: }} - sidebar={{ - tabs: { - transform(option) { - const tab = docsSectionOf(option.url) - if (!(tab && option.icon)) return option + slots={{ themeSwitch: ThemeSwitcher }} + tabs={{ + transform(option) { + const tab = docsSectionOf(option.url) + if (!(tab && option.icon)) return option - const color = `var(--${tab}-color, var(--color-fd-foreground))` + const color = `var(--${tab}-color, var(--color-fd-foreground))` - return { - ...option, - icon: ( -
- {option.icon} -
- ), - } - }, + return { + ...option, + icon: ( +
+ {option.icon} +
+ ), + } }, }} - slots={{ themeSwitch: ThemeSwitcher }} tree={pageTree} > {children} diff --git a/apps/web/src/package-messages.gen.ts b/apps/web/src/package-messages.gen.ts index 0c45d7a1b8..8ddfb5874d 100644 --- a/apps/web/src/package-messages.gen.ts +++ b/apps/web/src/package-messages.gen.ts @@ -1,4 +1,4 @@ -/* eslint-disable */ +/* oxlint-disable */ // This file is generated by VitNode. Do not edit it, and do not format it. // diff --git a/apps/web/src/plugin-routes.gen.ts b/apps/web/src/plugin-routes.gen.ts index 227b65d170..c7ce13eae9 100644 --- a/apps/web/src/plugin-routes.gen.ts +++ b/apps/web/src/plugin-routes.gen.ts @@ -1,4 +1,4 @@ -/* eslint-disable */ +/* oxlint-disable */ // This file is generated by VitNode. Do not edit it, and do not format it. // diff --git a/apps/web/tsconfig.json b/apps/web/tsconfig.json index d5eb1c717c..138e996d92 100644 --- a/apps/web/tsconfig.json +++ b/apps/web/tsconfig.json @@ -1,11 +1,5 @@ { - "include": [ - "**/*.ts", - "**/*.tsx", - "eslint.config.js", - "prettier.config.js", - "vite.config.js" - ], + "include": ["**/*.ts", "**/*.tsx", "vite.config.js"], "compilerOptions": { "target": "ES2022", diff --git a/oxfmt.config.mts b/oxfmt.config.mts new file mode 100644 index 0000000000..7ad0758ede --- /dev/null +++ b/oxfmt.config.mts @@ -0,0 +1,21 @@ +import vitnode from "@vitnode/config/oxfmt"; +import { defineConfig } from "oxfmt"; + +export default defineConfig({ + ...vitnode, + ignorePatterns: [ + "**/node_modules", + "**/dist", + "**/.output", + "**/.nitro", + "**/.tanstack", + "**/.vercel", + "**/.turbo", + "**/.next", + "**/*.gen.ts", + "**/*.gen.d.ts", + "pnpm-lock.yaml", + "packages/create-vitnode-app/copy-of-vitnode-app", + "packages/vitnode/test-fixtures", + ], +}); diff --git a/package.json b/package.json index eff796d360..8ac41d1b2f 100644 --- a/package.json +++ b/package.json @@ -11,8 +11,10 @@ "build": "turbo build", "start": "turbo start", "dev": "pnpm build:scripts && turbo build:plugins && turbo db:prepare && turbo dev", - "lint": "turbo lint", - "lint:fix": "turbo lint:fix", + "lint": "turbo lint && pnpm format:check", + "lint:fix": "turbo lint:fix && pnpm format", + "format": "oxfmt \"**/*.{js,mjs,cjs,jsx,ts,tsx,mts,cts}\"", + "format:check": "oxfmt --check \"**/*.{js,mjs,cjs,jsx,ts,tsx,mts,cts}\"", "test": "turbo test", "test:types": "turbo test:types", "i18n:create": "cd apps/api && pnpm run i18n:create", @@ -23,13 +25,12 @@ "doctor": "npx react-doctor@latest" }, "devDependencies": { - "@types/node": "^26.6.3", + "@types/node": "^26.6.4", "@vitnode/config": "workspace:*", - "prettier": "^3.9.9", - "prettier-plugin-tailwindcss": "^0.8.1", - "react-doctor": "^0.9.14", + "oxfmt": "^0.72.0", + "react-doctor": "^0.9.17", "tsx": "^4.23.15", - "turbo": "^2.11.5", + "turbo": "^2.11.7", "typescript": "^6.0.3", "zod": "^4.6.5" }, diff --git a/packages/config/README.md b/packages/config/README.md index 8dcad62802..aa753f70a5 100644 --- a/packages/config/README.md +++ b/packages/config/README.md @@ -1,6 +1,6 @@ -# (VitNode) ESLint Config +# (VitNode) Config -This package provides a default ESLint configuration, TypeScript configuration, and Prettier configuration for VitNode projects. +This package provides a default Oxlint configuration, TypeScript configuration, and Oxfmt configuration for VitNode projects.


@@ -17,12 +17,32 @@ This package provides a default ESLint configuration, TypeScript configuration, ## Usage -### ESLint (eslint.config.mjs) +### Oxlint (oxlint.config.ts) -```js -import eslintVitNode from "@vitnode/config/eslint"; +Install `oxlint` and `oxlint-tsgolint`, then extend the shared config. Add `@vitnode/config/oxlint.react` for React projects. -export default [...eslintVitNode]; +```ts +import vitnode, { ignorePatterns } from "@vitnode/config/oxlint"; +import vitnodeReact from "@vitnode/config/oxlint.react"; +import { defineConfig } from "oxlint"; + +export default defineConfig({ + extends: [vitnode, vitnodeReact], + ignorePatterns: [...ignorePatterns, ".output/**"], +}); +``` + +`ignorePatterns` are not inherited through `extends`, so spread the exported list into your own. + +Run it with type-aware rules enabled: + +```json +{ + "scripts": { + "lint": "oxlint --type-aware", + "lint:fix": "oxlint --type-aware --fix" + } +} ``` ### TypeScript (tsconfig.json) @@ -33,18 +53,27 @@ export default [...eslintVitNode]; } ``` -### Prettier (.prettierrc.mjs) +### Oxfmt (oxfmt.config.ts) + +Install `oxfmt`, then spread the shared config. Oxfmt is a Prettier-compatible formatter, minus the waiting. -```js -import vitnodePrettier from "@vitnode/config/prettierrc"; +```ts +import vitnode from "@vitnode/config/oxfmt"; +import { defineConfig } from "oxfmt"; + +export default defineConfig({ + ...vitnode, + ignorePatterns: [".output", "dist"], +}); +``` -/** - * @see https://prettier.io/docs/en/configuration.html - * @type {import("prettier").Config} - */ -const config = { - ...vitnodePrettier, -}; +No Prettier plugins needed: Tailwind class sorting is built in (`sortTailwindcss`, including classes inside `cn()`). -export default config; +```json +{ + "scripts": { + "format": "oxfmt", + "format:check": "oxfmt --check" + } +} ``` diff --git a/packages/config/eslint.config.mjs b/packages/config/eslint.config.mjs deleted file mode 100644 index c8c005f1b9..0000000000 --- a/packages/config/eslint.config.mjs +++ /dev/null @@ -1,127 +0,0 @@ -// @ts-check - -import eslint from "@eslint/js"; -import perfectionist from "eslint-plugin-perfectionist"; -import eslintPluginPrettierRecommended from "eslint-plugin-prettier/recommended"; -import tsEslint from "typescript-eslint"; - -export default [ - { - ignores: [ - "dist", - ".prettierrc.mjs", - "node_modules", - "eslint.config.mjs", - "postcss.config.mjs", - ".turbo", - "global.d.ts", - "tsup.config.ts", - "*.test.tsx", - "drizzle.config.ts", - "cli.mjs", - ], - }, - eslint.configs.recommended, - ...tsEslint.configs.stylisticTypeChecked, - ...tsEslint.configs.strictTypeChecked, - eslintPluginPrettierRecommended, - perfectionist.configs["recommended-natural"], - { files: ["**/*.{js,mjs,cjs,jsx,mjsx,ts,tsx,mtsx}"] }, - { - rules: { - "perfectionist/sort-array-includes": "warn", - "@typescript-eslint/consistent-type-imports": "error", - "@typescript-eslint/no-confusing-void-expression": "off", - "@typescript-eslint/no-unnecessary-type-parameters": "off", - "@typescript-eslint/no-misused-spread": "off", - "@typescript-eslint/no-generated-empty-object-type": "off", - "perfectionist/sort-decorators": "warn", - "perfectionist/sort-modules": "off", - "perfectionist/sort-switch-case": "warn", - "@typescript-eslint/no-unnecessary-condition": "off", - "perfectionist/sort-named-exports": "warn", - "perfectionist/sort-enums": "warn", - "perfectionist/sort-exports": "warn", - "@typescript-eslint/no-dynamic-delete": "off", - "perfectionist/sort-named-imports": "warn", - "perfectionist/sort-intersection-types": "warn", - "perfectionist/sort-interfaces": "warn", - "perfectionist/sort-union-types": "warn", - "perfectionist/sort-object-types": "warn", - "perfectionist/sort-jsx-props": "warn", - "perfectionist/sort-imports": "warn", - "@typescript-eslint/no-unsafe-call": "off", - "perfectionist/sort-objects": "off", - "perfectionist/sort-classes": [ - "warn", - { - groups: [ - "constructor", - "static-block", - "index-signature", - "static-property", - ["protected-property", "protected-accessor-property"], - ["private-property", "private-accessor-property"], - ["property", "accessor-property"], - "static-method", - "protected-method", - "private-method", - "method", - ["get-method", "set-method"], - "unknown", - ], - }, - ], - "no-console": "error", - "consistent-return": "off", - "@typescript-eslint/no-unused-vars": [ - "warn", - { - ignoreRestSiblings: false, - caughtErrorsIgnorePattern: "^_", - varsIgnorePattern: "^_", - argsIgnorePattern: "^_", - }, - ], - "@typescript-eslint/no-empty-function": "off", - "@typescript-eslint/unbound-method": "off", - "@typescript-eslint/no-misused-promises": "off", - "@typescript-eslint/no-unsafe-return": "off", - "@typescript-eslint/no-unsafe-assignment": "off", - "@typescript-eslint/no-unsafe-member-access": "off", - "@typescript-eslint/no-useless-constructor": "off", - "@typescript-eslint/prefer-readonly": "warn", - "@typescript-eslint/require-array-sort-compare": "error", - "@typescript-eslint/promise-function-async": "error", - "@typescript-eslint/no-extraneous-class": "off", - "@typescript-eslint/restrict-template-expressions": "off", - "@typescript-eslint/consistent-type-exports": "error", - "@typescript-eslint/no-unnecessary-qualifier": "error", - "@typescript-eslint/no-useless-empty-export": "error", - "@typescript-eslint/method-signature-style": "warn", - "newline-before-return": "warn", - "no-restricted-imports": [ - "error", - { - name: "drizzle-orm/mysql-core", - message: "Please import from `drizzle-orm/pg-core` instead.", - }, - ], - }, - }, - { - // A plugin's route tree - and only that file - is one - // `lazy(() => import("./pages/my-page"))` per route, which is VitNode's - // documented API: the callback is *stored*, never called here, so - // `promise-function-async` would ask every plugin author to write - // `async () => await import(...)` for a promise nobody in the file awaits. - // - // `**/src/routes.ts` rather than `**/routes.ts`, because the parent - // directory is what makes it a route tree: a plugin's is `src/routes.ts`, - // which is what its `/routes` export subpath resolves to. Any other - // `routes.ts` - `src/content/server/routes.ts`, an API module's - keeps the - // rule, and should. - files: ["**/src/routes.ts", "**/src/routes.tsx"], - rules: { "@typescript-eslint/promise-function-async": "off" }, - }, -]; diff --git a/packages/config/eslint.react.config.mjs b/packages/config/eslint.react.config.mjs deleted file mode 100644 index 96a5599bd8..0000000000 --- a/packages/config/eslint.react.config.mjs +++ /dev/null @@ -1,47 +0,0 @@ -// @ts-check - -import eslintReact from "@eslint-react/eslint-plugin"; -import hooksPlugin from "eslint-plugin-react-hooks"; -import reactYouMightNotNeedAnEffect from "eslint-plugin-react-you-might-not-need-an-effect"; -import jsxA11y from "eslint-plugin-jsx-a11y"; -import { plugin as shadcn } from "@shadcn/lint"; - -export default [ - reactYouMightNotNeedAnEffect.configs.recommended, - eslintReact.configs.recommended, - { - files: ["**/*.{js,mjs,cjs,ts,jsx,tsx}"], - settings: { - react: { - version: "detect", - }, - }, - languageOptions: { - parserOptions: { - ecmaFeatures: { - jsx: true, - }, - }, - }, - }, - { - plugins: { - "react-hooks": hooksPlugin, - "jsx-a11y": jsxA11y, - shadcn, - }, - rules: { - "react/react-in-jsx-scope": "off", - ...hooksPlugin.configs.recommended.rules, - }, - }, - { files: ["**/*.{js,mjs,cjs,jsx,mjsx,ts,tsx,mtsx}"] }, - { - rules: { - "@eslint-react/no-leaked-conditional-rendering": "error", - "react-hooks/exhaustive-deps": "off", - "@eslint-react/no-context-provider": "off", - "@eslint-react/no-unstable-default-props": "off", - }, - }, -]; diff --git a/packages/config/oxfmt.config.d.mts b/packages/config/oxfmt.config.d.mts new file mode 100644 index 0000000000..bd5ebe79de --- /dev/null +++ b/packages/config/oxfmt.config.d.mts @@ -0,0 +1,5 @@ +import type { OxfmtConfig } from "oxfmt"; + +declare const config: OxfmtConfig; + +export default config; diff --git a/packages/config/oxfmt.config.mjs b/packages/config/oxfmt.config.mjs new file mode 100644 index 0000000000..0e636c2cea --- /dev/null +++ b/packages/config/oxfmt.config.mjs @@ -0,0 +1,12 @@ +import { defineConfig } from "oxfmt"; + +export default defineConfig({ + singleQuote: false, + arrowParens: "avoid", + trailingComma: "all", + printWidth: 80, + sortPackageJson: false, + sortTailwindcss: { + functions: ["cn"], + }, +}); diff --git a/packages/config/oxlint.config.d.mts b/packages/config/oxlint.config.d.mts new file mode 100644 index 0000000000..9a19fcbd2f --- /dev/null +++ b/packages/config/oxlint.config.d.mts @@ -0,0 +1,7 @@ +import type { OxlintConfig } from "oxlint"; + +export declare const ignorePatterns: string[]; + +declare const config: OxlintConfig; + +export default config; diff --git a/packages/config/oxlint.config.mjs b/packages/config/oxlint.config.mjs new file mode 100644 index 0000000000..f611ef7044 --- /dev/null +++ b/packages/config/oxlint.config.mjs @@ -0,0 +1,390 @@ +import { defineConfig } from "oxlint"; +import { fileURLToPath } from "node:url"; + +const resolvePlugin = specifier => + fileURLToPath(import.meta.resolve(specifier)); + +export const ignorePatterns = [ + "dist", + "oxfmt.config.ts", + "oxfmt.config.mts", + "node_modules", + "oxlint.config.ts", + "postcss.config.mjs", + ".turbo", + "global.d.ts", + "tsup.config.ts", + "*.test.tsx", + "drizzle.config.ts", + "cli.mjs", + "**/*.gen.ts", + "**/*.gen.d.ts", +]; + +export default defineConfig({ + plugins: ["typescript", "unicorn"], + jsPlugins: [resolvePlugin("eslint-plugin-perfectionist")], + categories: { + correctness: "off", + }, + env: { + builtin: true, + }, + rules: { + "constructor-super": "error", + "for-direction": "error", + "getter-return": "error", + "no-async-promise-executor": "error", + "no-case-declarations": "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", + "no-debugger": "error", + "no-delete-var": "error", + "no-dupe-class-members": "error", + "no-dupe-else-if": "error", + "no-dupe-keys": "error", + "no-duplicate-case": "error", + "no-empty": "error", + "no-empty-character-class": "error", + "no-empty-pattern": "error", + "no-empty-static-block": "error", + "no-ex-assign": "error", + "no-extra-boolean-cast": "error", + "no-fallthrough": "error", + "no-func-assign": "error", + "no-global-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", + "no-redeclare": "error", + "no-regex-spaces": "error", + "no-self-assign": "error", + "no-setter-return": "error", + "no-shadow-restricted-names": "error", + "no-sparse-arrays": "error", + "no-this-before-super": "error", + "no-unassigned-vars": "error", + "no-unreachable": "error", + "no-unsafe-finally": "error", + "no-unsafe-negation": "error", + "no-unsafe-optional-chaining": "error", + "no-unused-labels": "error", + "no-unused-private-class-members": "error", + "no-unused-vars": [ + "warn", + { + ignoreRestSiblings: false, + caughtErrorsIgnorePattern: "^_", + varsIgnorePattern: "^_", + argsIgnorePattern: "^_", + }, + ], + "no-useless-backreference": "error", + "no-useless-catch": "error", + "no-useless-escape": "error", + "no-with": "error", + "preserve-caught-error": "error", + "require-yield": "error", + "use-isnan": "error", + "valid-typeof": "error", + "no-array-constructor": "error", + "no-unused-expressions": "error", + "perfectionist/sort-variable-declarations": [ + "error", + { + type: "natural", + order: "asc", + }, + ], + "perfectionist/sort-intersection-types": [ + "warn", + { + type: "natural", + order: "asc", + }, + ], + "perfectionist/sort-import-attributes": [ + "error", + { + type: "natural", + order: "asc", + }, + ], + "perfectionist/sort-export-attributes": [ + "error", + { + type: "natural", + order: "asc", + }, + ], + "perfectionist/sort-heritage-clauses": [ + "error", + { + type: "natural", + order: "asc", + }, + ], + "perfectionist/sort-array-includes": [ + "warn", + { + type: "natural", + order: "asc", + }, + ], + "perfectionist/sort-named-imports": [ + "warn", + { + type: "natural", + order: "asc", + }, + ], + "perfectionist/sort-named-exports": [ + "warn", + { + type: "natural", + order: "asc", + }, + ], + "perfectionist/sort-object-types": [ + "warn", + { + type: "natural", + order: "asc", + }, + ], + "perfectionist/sort-union-types": [ + "warn", + { + type: "natural", + order: "asc", + }, + ], + "perfectionist/sort-switch-case": [ + "warn", + { + type: "natural", + order: "asc", + }, + ], + "perfectionist/sort-decorators": [ + "warn", + { + type: "natural", + order: "asc", + }, + ], + "perfectionist/sort-interfaces": [ + "warn", + { + type: "natural", + order: "asc", + }, + ], + "perfectionist/sort-jsx-props": [ + "warn", + { + type: "natural", + order: "asc", + }, + ], + "perfectionist/sort-classes": [ + "warn", + { + groups: [ + "constructor", + "static-block", + "index-signature", + "static-property", + ["protected-property", "protected-accessor-property"], + ["private-property", "private-accessor-property"], + ["property", "accessor-property"], + "static-method", + "protected-method", + "private-method", + "method", + ["get-method", "set-method"], + "unknown", + ], + }, + ], + "perfectionist/sort-exports": [ + "warn", + { + type: "natural", + order: "asc", + }, + ], + "perfectionist/sort-enums": [ + "warn", + { + type: "natural", + order: "asc", + }, + ], + "perfectionist/sort-sets": [ + "error", + { + type: "natural", + order: "asc", + }, + ], + "perfectionist/sort-maps": [ + "error", + { + type: "natural", + order: "asc", + }, + ], + "no-console": "error", + "no-restricted-imports": [ + "error", + { + name: "drizzle-orm/mysql-core", + message: "Please import from `drizzle-orm/pg-core` instead.", + }, + ], + "typescript/adjacent-overload-signatures": "error", + "typescript/array-type": "error", + "typescript/ban-tslint-comment": "error", + "typescript/class-literal-property-style": "error", + "typescript/consistent-generic-constructors": "error", + "typescript/consistent-indexed-object-style": "error", + "typescript/consistent-type-assertions": "error", + "typescript/consistent-type-definitions": "error", + "typescript/dot-notation": "error", + "typescript/no-confusing-non-null-assertion": "error", + "typescript/no-inferrable-types": "error", + "typescript/non-nullable-type-assertion-style": "error", + "typescript/prefer-find": "error", + "typescript/prefer-for-of": "error", + "typescript/prefer-function-type": "error", + "typescript/prefer-includes": "error", + "typescript/prefer-nullish-coalescing": "error", + "typescript/prefer-regexp-exec": "error", + "typescript/prefer-string-starts-ends-with": "error", + "typescript/await-thenable": "error", + "typescript/ban-ts-comment": [ + "error", + { + minimumDescriptionLength: 10, + }, + ], + "typescript/no-array-delete": "error", + "typescript/no-base-to-string": "error", + "typescript/no-deprecated": "error", + "typescript/no-duplicate-enum-values": "error", + "typescript/no-duplicate-type-constituents": "error", + "typescript/no-empty-object-type": "error", + "typescript/no-explicit-any": "error", + "typescript/no-extra-non-null-assertion": "error", + "typescript/no-floating-promises": "error", + "typescript/no-for-in-array": "error", + "typescript/no-implied-eval": "error", + "typescript/no-invalid-void-type": "error", + "typescript/no-meaningless-void-operator": "error", + "typescript/no-misused-new": "error", + "typescript/no-mixed-enums": "error", + "typescript/no-namespace": "error", + "typescript/no-non-null-asserted-nullish-coalescing": "error", + "typescript/no-non-null-asserted-optional-chain": "error", + "typescript/no-non-null-assertion": "error", + "typescript/no-redundant-type-constituents": "error", + "typescript/no-require-imports": "error", + "typescript/no-this-alias": "error", + "typescript/no-unnecessary-boolean-literal-compare": "error", + "typescript/no-unnecessary-template-expression": "error", + "typescript/no-unnecessary-type-arguments": "error", + "typescript/no-unnecessary-type-assertion": "error", + "typescript/no-unnecessary-type-constraint": "error", + "typescript/no-unnecessary-type-conversion": "error", + "typescript/no-unsafe-argument": "error", + "typescript/no-unsafe-declaration-merging": "error", + "typescript/no-unsafe-enum-comparison": "error", + "typescript/no-unsafe-function-type": "error", + "typescript/no-unsafe-unary-minus": "error", + "typescript/no-useless-default-assignment": "error", + "typescript/no-wrapper-object-types": "error", + "typescript/only-throw-error": "error", + "typescript/prefer-as-const": "error", + "typescript/prefer-literal-enum-member": "error", + "typescript/prefer-namespace-keyword": "error", + "typescript/prefer-promise-reject-errors": "error", + "typescript/prefer-reduce-type-parameter": "error", + "typescript/prefer-return-this-type": "error", + "typescript/related-getter-setter-pairs": "error", + "typescript/require-await": "error", + "typescript/restrict-plus-operands": [ + "error", + { + allowAny: false, + allowBoolean: false, + allowNullish: false, + allowNumberAndString: false, + allowRegExp: false, + }, + ], + "typescript/return-await": ["error", "error-handling-correctness-only"], + "typescript/triple-slash-reference": "error", + "typescript/unified-signatures": "error", + "typescript/use-unknown-in-catch-callback-variable": "error", + "typescript/consistent-type-imports": "error", + "typescript/prefer-readonly": "warn", + "typescript/require-array-sort-compare": "error", + "typescript/promise-function-async": "error", + "typescript/consistent-type-exports": "error", + "typescript/no-unnecessary-qualifier": "error", + "typescript/no-useless-empty-export": "error", + "typescript/method-signature-style": "warn", + "perfectionist/sort-imports": [ + "warn", + { + type: "natural", + order: "asc", + }, + ], + }, + overrides: [ + { + files: ["**/*.ts", "**/*.tsx", "**/*.mts", "**/*.cts"], + rules: { + "constructor-super": "off", + "getter-return": "off", + "no-class-assign": "off", + "no-const-assign": "off", + "no-dupe-class-members": "off", + "no-dupe-keys": "off", + "no-func-assign": "off", + "no-import-assign": "off", + "no-new-native-nonconstructor": "off", + "no-obj-calls": "off", + "no-redeclare": "off", + "no-setter-return": "off", + "no-this-before-super": "off", + "no-unreachable": "off", + "no-unsafe-negation": "off", + "no-var": "error", + "no-with": "off", + "prefer-const": "error", + "prefer-rest-params": "error", + "prefer-spread": "error", + }, + }, + { + files: ["**/src/routes.ts", "**/src/routes.tsx"], + rules: { + "typescript/promise-function-async": "off", + }, + }, + ], +}); diff --git a/packages/config/oxlint.react.config.d.mts b/packages/config/oxlint.react.config.d.mts new file mode 100644 index 0000000000..b1ca2e0961 --- /dev/null +++ b/packages/config/oxlint.react.config.d.mts @@ -0,0 +1,5 @@ +import type { OxlintConfig } from "oxlint"; + +declare const config: OxlintConfig; + +export default config; diff --git a/packages/config/oxlint.react.config.mjs b/packages/config/oxlint.react.config.mjs new file mode 100644 index 0000000000..0cbcd8689e --- /dev/null +++ b/packages/config/oxlint.react.config.mjs @@ -0,0 +1,1291 @@ +import { defineConfig } from "oxlint"; +import { fileURLToPath } from "node:url"; + +const resolvePlugin = specifier => + fileURLToPath(import.meta.resolve(specifier)); + +export default defineConfig({ + plugins: ["react"], + jsPlugins: [resolvePlugin("@eslint-react/eslint-plugin")], + settings: { + "react-x": { + version: "detect", + importSource: "react", + polymorphicPropName: "as", + }, + }, + rules: { + "@eslint-react/error-boundaries": "error", + "@eslint-react/exhaustive-deps": "warn", + "@eslint-react/no-access-state-in-setstate": "error", + "@eslint-react/no-array-index-key": "warn", + "@eslint-react/no-children-count": "warn", + "@eslint-react/no-children-for-each": "warn", + "@eslint-react/no-children-map": "warn", + "@eslint-react/no-children-only": "warn", + "@eslint-react/no-children-to-array": "warn", + "@eslint-react/no-clone-element": "warn", + "@eslint-react/no-component-will-mount": "error", + "@eslint-react/no-component-will-receive-props": "error", + "@eslint-react/no-component-will-update": "error", + "@eslint-react/no-create-ref": "error", + "@eslint-react/no-direct-mutation-state": "error", + "@eslint-react/no-forward-ref": "warn", + "@eslint-react/no-missing-key": "error", + "@eslint-react/no-nested-component-definitions": "error", + "@eslint-react/no-nested-lazy-component-declarations": "error", + "@eslint-react/no-set-state-in-component-did-mount": "warn", + "@eslint-react/no-set-state-in-component-did-update": "warn", + "@eslint-react/no-set-state-in-component-will-update": "warn", + "@eslint-react/no-unnecessary-use-prefix": "warn", + "@eslint-react/no-unsafe-component-will-mount": "warn", + "@eslint-react/no-unsafe-component-will-receive-props": "warn", + "@eslint-react/no-unsafe-component-will-update": "warn", + "@eslint-react/no-unused-class-component-members": "warn", + "@eslint-react/no-use-context": "warn", + "@eslint-react/purity": "warn", + "@eslint-react/rules-of-hooks": "error", + "@eslint-react/set-state-in-effect": "warn", + "@eslint-react/set-state-in-render": "error", + "@eslint-react/static-components": "error", + "@eslint-react/unsupported-syntax": "error", + "@eslint-react/use-memo": "error", + "@eslint-react/use-state": "warn", + "@eslint-react/jsx-no-children-prop": "warn", + "@eslint-react/jsx-no-children-prop-with-children": "error", + "@eslint-react/jsx-no-comment-textnodes": "warn", + "@eslint-react/jsx-no-key-after-spread": "error", + "@eslint-react/jsx-no-leaked-dollar": "warn", + "@eslint-react/jsx-no-leaked-semicolon": "warn", + "@eslint-react/jsx-no-namespace": "error", + "@eslint-react/rsc-function-definition": "error", + "@eslint-react/dom-no-dangerously-set-innerhtml": "warn", + "@eslint-react/dom-no-dangerously-set-innerhtml-with-children": "error", + "@eslint-react/dom-no-find-dom-node": "error", + "@eslint-react/dom-no-flush-sync": "error", + "@eslint-react/dom-no-hydrate": "error", + "@eslint-react/dom-no-render": "error", + "@eslint-react/dom-no-render-return-value": "error", + "@eslint-react/dom-no-script-url": "warn", + "@eslint-react/dom-no-unsafe-iframe-sandbox": "warn", + "@eslint-react/dom-no-use-form-state": "error", + "@eslint-react/dom-no-void-elements-with-children": "error", + "@eslint-react/web-api-no-leaked-event-listener": "warn", + "@eslint-react/web-api-no-leaked-fetch": "warn", + "@eslint-react/web-api-no-leaked-intersection-observer": "warn", + "@eslint-react/web-api-no-leaked-interval": "warn", + "@eslint-react/web-api-no-leaked-resize-observer": "warn", + "@eslint-react/web-api-no-leaked-timeout": "warn", + "@eslint-react/naming-convention-context-name": "warn", + "@eslint-react/naming-convention-id-name": "warn", + "@eslint-react/naming-convention-ref-name": "warn", + "@eslint-react/no-leaked-conditional-rendering": "off", + "react/rules-of-hooks": "error", + "react/static-components": "error", + "react/use-memo": "error", + "react/preserve-manual-memoization": "error", + "react/incompatible-library": "warn", + "react/immutability": "error", + "react/globals": "error", + "react/refs": "error", + "react/set-state-in-effect": "error", + "react/error-boundaries": "error", + "react/purity": "error", + "react/set-state-in-render": "error", + "react/unsupported-syntax": "warn", + }, + overrides: [ + { + files: ["**/*.{js,jsx,mjs,cjs,ts,tsx,mts,cts}"], + rules: { + "react-you-might-not-need-an-effect/no-derived-state": "warn", + "react-you-might-not-need-an-effect/no-chain-state-updates": "warn", + "react-you-might-not-need-an-effect/no-event-handler": "warn", + "react-you-might-not-need-an-effect/no-adjust-state-on-prop-change": + "warn", + "react-you-might-not-need-an-effect/no-reset-all-state-on-prop-change": + "warn", + "react-you-might-not-need-an-effect/no-pass-live-state-to-parent": + "warn", + "react-you-might-not-need-an-effect/no-pass-data-to-parent": "warn", + "react-you-might-not-need-an-effect/no-external-store-subscription": + "warn", + "react-you-might-not-need-an-effect/no-initialize-state": "warn", + }, + jsPlugins: [ + resolvePlugin("eslint-plugin-react-you-might-not-need-an-effect"), + ], + globals: { + AbortController: "readonly", + AbortSignal: "readonly", + AbsoluteOrientationSensor: "readonly", + AbstractRange: "readonly", + Accelerometer: "readonly", + addEventListener: "readonly", + ai: "readonly", + AI: "readonly", + AICreateMonitor: "readonly", + AITextSession: "readonly", + alert: "readonly", + AnalyserNode: "readonly", + Animation: "readonly", + AnimationEffect: "readonly", + AnimationEvent: "readonly", + AnimationPlaybackEvent: "readonly", + AnimationTimeline: "readonly", + AsyncDisposableStack: "readonly", + atob: "readonly", + Attr: "readonly", + Audio: "readonly", + AudioBuffer: "readonly", + AudioBufferSourceNode: "readonly", + AudioContext: "readonly", + AudioData: "readonly", + AudioDecoder: "readonly", + AudioDestinationNode: "readonly", + AudioEncoder: "readonly", + AudioListener: "readonly", + AudioNode: "readonly", + AudioParam: "readonly", + AudioParamMap: "readonly", + AudioProcessingEvent: "readonly", + AudioScheduledSourceNode: "readonly", + AudioSinkInfo: "readonly", + AudioWorklet: "readonly", + AudioWorkletGlobalScope: "readonly", + AudioWorkletNode: "readonly", + AudioWorkletProcessor: "readonly", + AuthenticatorAssertionResponse: "readonly", + AuthenticatorAttestationResponse: "readonly", + AuthenticatorResponse: "readonly", + BackgroundFetchManager: "readonly", + BackgroundFetchRecord: "readonly", + BackgroundFetchRegistration: "readonly", + BarcodeDetector: "readonly", + BarProp: "readonly", + BaseAudioContext: "readonly", + BatteryManager: "readonly", + BeforeUnloadEvent: "readonly", + BiquadFilterNode: "readonly", + Blob: "readonly", + BlobEvent: "readonly", + Bluetooth: "readonly", + BluetoothCharacteristicProperties: "readonly", + BluetoothDevice: "readonly", + BluetoothRemoteGATTCharacteristic: "readonly", + BluetoothRemoteGATTDescriptor: "readonly", + BluetoothRemoteGATTServer: "readonly", + BluetoothRemoteGATTService: "readonly", + BluetoothUUID: "readonly", + blur: "readonly", + BroadcastChannel: "readonly", + BrowserCaptureMediaStreamTrack: "readonly", + btoa: "readonly", + ByteLengthQueuingStrategy: "readonly", + Cache: "readonly", + caches: "readonly", + CacheStorage: "readonly", + cancelAnimationFrame: "readonly", + cancelIdleCallback: "readonly", + CanvasCaptureMediaStream: "readonly", + CanvasCaptureMediaStreamTrack: "readonly", + CanvasGradient: "readonly", + CanvasPattern: "readonly", + CanvasRenderingContext2D: "readonly", + CaptureController: "readonly", + CaretPosition: "readonly", + CDATASection: "readonly", + ChannelMergerNode: "readonly", + ChannelSplitterNode: "readonly", + ChapterInformation: "readonly", + CharacterBoundsUpdateEvent: "readonly", + CharacterData: "readonly", + clearInterval: "readonly", + clearTimeout: "readonly", + clientInformation: "readonly", + Clipboard: "readonly", + ClipboardChangeEvent: "readonly", + ClipboardEvent: "readonly", + ClipboardItem: "readonly", + close: "readonly", + closed: "readonly", + CloseEvent: "readonly", + CloseWatcher: "readonly", + CommandEvent: "readonly", + Comment: "readonly", + CompositionEvent: "readonly", + CompressionStream: "readonly", + confirm: "readonly", + console: "readonly", + ConstantSourceNode: "readonly", + ContentVisibilityAutoStateChangeEvent: "readonly", + ConvolverNode: "readonly", + CookieChangeEvent: "readonly", + CookieDeprecationLabel: "readonly", + cookieStore: "readonly", + CookieStore: "readonly", + CookieStoreManager: "readonly", + CountQueuingStrategy: "readonly", + createImageBitmap: "readonly", + CreateMonitor: "readonly", + Credential: "readonly", + credentialless: "readonly", + CredentialsContainer: "readonly", + CropTarget: "readonly", + crossOriginIsolated: "readonly", + crypto: "readonly", + Crypto: "readonly", + CryptoKey: "readonly", + CSPViolationReportBody: "readonly", + CSS: "readonly", + CSSAnimation: "readonly", + CSSConditionRule: "readonly", + CSSContainerRule: "readonly", + CSSCounterStyleRule: "readonly", + CSSFontFaceRule: "readonly", + CSSFontFeatureValuesRule: "readonly", + CSSFontPaletteValuesRule: "readonly", + CSSFunctionDeclarations: "readonly", + CSSFunctionDescriptors: "readonly", + CSSFunctionRule: "readonly", + CSSGroupingRule: "readonly", + CSSImageValue: "readonly", + CSSImportRule: "readonly", + CSSKeyframeRule: "readonly", + CSSKeyframesRule: "readonly", + CSSKeywordValue: "readonly", + CSSLayerBlockRule: "readonly", + CSSLayerStatementRule: "readonly", + CSSMarginRule: "readonly", + CSSMathClamp: "readonly", + CSSMathInvert: "readonly", + CSSMathMax: "readonly", + CSSMathMin: "readonly", + CSSMathNegate: "readonly", + CSSMathProduct: "readonly", + CSSMathSum: "readonly", + CSSMathValue: "readonly", + CSSMatrixComponent: "readonly", + CSSMediaRule: "readonly", + CSSNamespaceRule: "readonly", + CSSNestedDeclarations: "readonly", + CSSNumericArray: "readonly", + CSSNumericValue: "readonly", + CSSPageDescriptors: "readonly", + CSSPageRule: "readonly", + CSSPerspective: "readonly", + CSSPositionTryDescriptors: "readonly", + CSSPositionTryRule: "readonly", + CSSPositionValue: "readonly", + CSSPropertyRule: "readonly", + CSSRotate: "readonly", + CSSRule: "readonly", + CSSRuleList: "readonly", + CSSScale: "readonly", + CSSScopeRule: "readonly", + CSSSkew: "readonly", + CSSSkewX: "readonly", + CSSSkewY: "readonly", + CSSStartingStyleRule: "readonly", + CSSStyleDeclaration: "readonly", + CSSStyleRule: "readonly", + CSSStyleSheet: "readonly", + CSSStyleValue: "readonly", + CSSSupportsRule: "readonly", + CSSTransformComponent: "readonly", + CSSTransformValue: "readonly", + CSSTransition: "readonly", + CSSTranslate: "readonly", + CSSUnitValue: "readonly", + CSSUnparsedValue: "readonly", + CSSVariableReferenceValue: "readonly", + CSSViewTransitionRule: "readonly", + currentFrame: "readonly", + currentTime: "readonly", + CustomElementRegistry: "readonly", + customElements: "readonly", + CustomEvent: "readonly", + CustomStateSet: "readonly", + DataTransfer: "readonly", + DataTransferItem: "readonly", + DataTransferItemList: "readonly", + DecompressionStream: "readonly", + DelayNode: "readonly", + DelegatedInkTrailPresenter: "readonly", + DeviceMotionEvent: "readonly", + DeviceMotionEventAcceleration: "readonly", + DeviceMotionEventRotationRate: "readonly", + DeviceOrientationEvent: "readonly", + devicePixelRatio: "readonly", + DevicePosture: "readonly", + DigitalCredential: "readonly", + dispatchEvent: "readonly", + DisposableStack: "readonly", + document: "readonly", + Document: "readonly", + DocumentFragment: "readonly", + documentPictureInPicture: "readonly", + DocumentPictureInPicture: "readonly", + DocumentPictureInPictureEvent: "readonly", + DocumentTimeline: "readonly", + DocumentType: "readonly", + DOMError: "readonly", + DOMException: "readonly", + DOMImplementation: "readonly", + DOMMatrix: "readonly", + DOMMatrixReadOnly: "readonly", + DOMParser: "readonly", + DOMPoint: "readonly", + DOMPointReadOnly: "readonly", + DOMQuad: "readonly", + DOMRect: "readonly", + DOMRectList: "readonly", + DOMRectReadOnly: "readonly", + DOMStringList: "readonly", + DOMStringMap: "readonly", + DOMTokenList: "readonly", + DragEvent: "readonly", + DynamicsCompressorNode: "readonly", + EditContext: "readonly", + Element: "readonly", + ElementInternals: "readonly", + EncodedAudioChunk: "readonly", + EncodedVideoChunk: "readonly", + ErrorEvent: "readonly", + event: "readonly", + Event: "readonly", + EventCounts: "readonly", + EventSource: "readonly", + EventTarget: "readonly", + external: "readonly", + External: "readonly", + EyeDropper: "readonly", + FeaturePolicy: "readonly", + FederatedCredential: "readonly", + fence: "readonly", + Fence: "readonly", + FencedFrameConfig: "readonly", + fetch: "readonly", + fetchLater: "readonly", + FetchLaterResult: "readonly", + File: "readonly", + FileList: "readonly", + FileReader: "readonly", + FileSystem: "readonly", + FileSystemDirectoryEntry: "readonly", + FileSystemDirectoryHandle: "readonly", + FileSystemDirectoryReader: "readonly", + FileSystemEntry: "readonly", + FileSystemFileEntry: "readonly", + FileSystemFileHandle: "readonly", + FileSystemHandle: "readonly", + FileSystemObserver: "readonly", + FileSystemWritableFileStream: "readonly", + find: "readonly", + focus: "readonly", + FocusEvent: "readonly", + FontData: "readonly", + FontFace: "readonly", + FontFaceSet: "readonly", + FontFaceSetLoadEvent: "readonly", + FormData: "readonly", + FormDataEvent: "readonly", + FragmentDirective: "readonly", + frameElement: "readonly", + frames: "readonly", + GainNode: "readonly", + Gamepad: "readonly", + GamepadAxisMoveEvent: "readonly", + GamepadButton: "readonly", + GamepadButtonEvent: "readonly", + GamepadEvent: "readonly", + GamepadHapticActuator: "readonly", + GamepadPose: "readonly", + Geolocation: "readonly", + GeolocationCoordinates: "readonly", + GeolocationPosition: "readonly", + GeolocationPositionError: "readonly", + getComputedStyle: "readonly", + getScreenDetails: "readonly", + getSelection: "readonly", + GPU: "readonly", + GPUAdapter: "readonly", + GPUAdapterInfo: "readonly", + GPUBindGroup: "readonly", + GPUBindGroupLayout: "readonly", + GPUBuffer: "readonly", + GPUBufferUsage: "readonly", + GPUCanvasContext: "readonly", + GPUColorWrite: "readonly", + GPUCommandBuffer: "readonly", + GPUCommandEncoder: "readonly", + GPUCompilationInfo: "readonly", + GPUCompilationMessage: "readonly", + GPUComputePassEncoder: "readonly", + GPUComputePipeline: "readonly", + GPUDevice: "readonly", + GPUDeviceLostInfo: "readonly", + GPUError: "readonly", + GPUExternalTexture: "readonly", + GPUInternalError: "readonly", + GPUMapMode: "readonly", + GPUOutOfMemoryError: "readonly", + GPUPipelineError: "readonly", + GPUPipelineLayout: "readonly", + GPUQuerySet: "readonly", + GPUQueue: "readonly", + GPURenderBundle: "readonly", + GPURenderBundleEncoder: "readonly", + GPURenderPassEncoder: "readonly", + GPURenderPipeline: "readonly", + GPUSampler: "readonly", + GPUShaderModule: "readonly", + GPUShaderStage: "readonly", + GPUSupportedFeatures: "readonly", + GPUSupportedLimits: "readonly", + GPUTexture: "readonly", + GPUTextureUsage: "readonly", + GPUTextureView: "readonly", + GPUUncapturedErrorEvent: "readonly", + GPUValidationError: "readonly", + GravitySensor: "readonly", + Gyroscope: "readonly", + HashChangeEvent: "readonly", + Headers: "readonly", + HID: "readonly", + HIDConnectionEvent: "readonly", + HIDDevice: "readonly", + HIDInputReportEvent: "readonly", + Highlight: "readonly", + HighlightRegistry: "readonly", + history: "readonly", + History: "readonly", + HTMLAllCollection: "readonly", + HTMLAnchorElement: "readonly", + HTMLAreaElement: "readonly", + HTMLAudioElement: "readonly", + HTMLBaseElement: "readonly", + HTMLBodyElement: "readonly", + HTMLBRElement: "readonly", + HTMLButtonElement: "readonly", + HTMLCanvasElement: "readonly", + HTMLCollection: "readonly", + HTMLDataElement: "readonly", + HTMLDataListElement: "readonly", + HTMLDetailsElement: "readonly", + HTMLDialogElement: "readonly", + HTMLDirectoryElement: "readonly", + HTMLDivElement: "readonly", + HTMLDListElement: "readonly", + HTMLDocument: "readonly", + HTMLElement: "readonly", + HTMLEmbedElement: "readonly", + HTMLFencedFrameElement: "readonly", + HTMLFieldSetElement: "readonly", + HTMLFontElement: "readonly", + HTMLFormControlsCollection: "readonly", + HTMLFormElement: "readonly", + HTMLFrameElement: "readonly", + HTMLFrameSetElement: "readonly", + HTMLHeadElement: "readonly", + HTMLHeadingElement: "readonly", + HTMLHRElement: "readonly", + HTMLHtmlElement: "readonly", + HTMLIFrameElement: "readonly", + HTMLImageElement: "readonly", + HTMLInputElement: "readonly", + HTMLLabelElement: "readonly", + HTMLLegendElement: "readonly", + HTMLLIElement: "readonly", + HTMLLinkElement: "readonly", + HTMLMapElement: "readonly", + HTMLMarqueeElement: "readonly", + HTMLMediaElement: "readonly", + HTMLMenuElement: "readonly", + HTMLMetaElement: "readonly", + HTMLMeterElement: "readonly", + HTMLModElement: "readonly", + HTMLObjectElement: "readonly", + HTMLOListElement: "readonly", + HTMLOptGroupElement: "readonly", + HTMLOptionElement: "readonly", + HTMLOptionsCollection: "readonly", + HTMLOutputElement: "readonly", + HTMLParagraphElement: "readonly", + HTMLParamElement: "readonly", + HTMLPictureElement: "readonly", + HTMLPreElement: "readonly", + HTMLProgressElement: "readonly", + HTMLQuoteElement: "readonly", + HTMLScriptElement: "readonly", + HTMLSelectedContentElement: "readonly", + HTMLSelectElement: "readonly", + HTMLSlotElement: "readonly", + HTMLSourceElement: "readonly", + HTMLSpanElement: "readonly", + HTMLStyleElement: "readonly", + HTMLTableCaptionElement: "readonly", + HTMLTableCellElement: "readonly", + HTMLTableColElement: "readonly", + HTMLTableElement: "readonly", + HTMLTableRowElement: "readonly", + HTMLTableSectionElement: "readonly", + HTMLTemplateElement: "readonly", + HTMLTextAreaElement: "readonly", + HTMLTimeElement: "readonly", + HTMLTitleElement: "readonly", + HTMLTrackElement: "readonly", + HTMLUListElement: "readonly", + HTMLUnknownElement: "readonly", + HTMLVideoElement: "readonly", + IDBCursor: "readonly", + IDBCursorWithValue: "readonly", + IDBDatabase: "readonly", + IDBFactory: "readonly", + IDBIndex: "readonly", + IDBKeyRange: "readonly", + IDBObjectStore: "readonly", + IDBOpenDBRequest: "readonly", + IDBRecord: "readonly", + IDBRequest: "readonly", + IDBTransaction: "readonly", + IDBVersionChangeEvent: "readonly", + IdentityCredential: "readonly", + IdentityCredentialError: "readonly", + IdentityProvider: "readonly", + IdleDeadline: "readonly", + IdleDetector: "readonly", + IIRFilterNode: "readonly", + Image: "readonly", + ImageBitmap: "readonly", + ImageBitmapRenderingContext: "readonly", + ImageCapture: "readonly", + ImageData: "readonly", + ImageDecoder: "readonly", + ImageTrack: "readonly", + ImageTrackList: "readonly", + indexedDB: "readonly", + Ink: "readonly", + innerHeight: "readonly", + innerWidth: "readonly", + InputDeviceCapabilities: "readonly", + InputDeviceInfo: "readonly", + InputEvent: "readonly", + IntegrityViolationReportBody: "readonly", + InterestEvent: "readonly", + IntersectionObserver: "readonly", + IntersectionObserverEntry: "readonly", + isSecureContext: "readonly", + Keyboard: "readonly", + KeyboardEvent: "readonly", + KeyboardLayoutMap: "readonly", + KeyframeEffect: "readonly", + LanguageDetector: "readonly", + LargestContentfulPaint: "readonly", + LaunchParams: "readonly", + launchQueue: "readonly", + LaunchQueue: "readonly", + LayoutShift: "readonly", + LayoutShiftAttribution: "readonly", + length: "readonly", + LinearAccelerationSensor: "readonly", + localStorage: "readonly", + location: "writable", + Location: "readonly", + locationbar: "readonly", + Lock: "readonly", + LockManager: "readonly", + matchMedia: "readonly", + MathMLElement: "readonly", + MediaCapabilities: "readonly", + MediaCapabilitiesInfo: "readonly", + MediaDeviceInfo: "readonly", + MediaDevices: "readonly", + MediaElementAudioSourceNode: "readonly", + MediaEncryptedEvent: "readonly", + MediaError: "readonly", + MediaKeyError: "readonly", + MediaKeyMessageEvent: "readonly", + MediaKeys: "readonly", + MediaKeySession: "readonly", + MediaKeyStatusMap: "readonly", + MediaKeySystemAccess: "readonly", + MediaList: "readonly", + MediaMetadata: "readonly", + MediaQueryList: "readonly", + MediaQueryListEvent: "readonly", + MediaRecorder: "readonly", + MediaRecorderErrorEvent: "readonly", + MediaSession: "readonly", + MediaSource: "readonly", + MediaSourceHandle: "readonly", + MediaStream: "readonly", + MediaStreamAudioDestinationNode: "readonly", + MediaStreamAudioSourceNode: "readonly", + MediaStreamEvent: "readonly", + MediaStreamTrack: "readonly", + MediaStreamTrackAudioSourceNode: "readonly", + MediaStreamTrackAudioStats: "readonly", + MediaStreamTrackEvent: "readonly", + MediaStreamTrackGenerator: "readonly", + MediaStreamTrackProcessor: "readonly", + MediaStreamTrackVideoStats: "readonly", + menubar: "readonly", + MessageChannel: "readonly", + MessageEvent: "readonly", + MessagePort: "readonly", + MIDIAccess: "readonly", + MIDIConnectionEvent: "readonly", + MIDIInput: "readonly", + MIDIInputMap: "readonly", + MIDIMessageEvent: "readonly", + MIDIOutput: "readonly", + MIDIOutputMap: "readonly", + MIDIPort: "readonly", + MimeType: "readonly", + MimeTypeArray: "readonly", + model: "readonly", + ModelGenericSession: "readonly", + ModelManager: "readonly", + MouseEvent: "readonly", + moveBy: "readonly", + moveTo: "readonly", + MutationEvent: "readonly", + MutationObserver: "readonly", + MutationRecord: "readonly", + name: "readonly", + NamedNodeMap: "readonly", + NavigateEvent: "readonly", + navigation: "readonly", + Navigation: "readonly", + NavigationActivation: "readonly", + NavigationCurrentEntryChangeEvent: "readonly", + NavigationDestination: "readonly", + NavigationHistoryEntry: "readonly", + NavigationPrecommitController: "readonly", + NavigationPreloadManager: "readonly", + NavigationTransition: "readonly", + navigator: "readonly", + Navigator: "readonly", + NavigatorLogin: "readonly", + NavigatorManagedData: "readonly", + NavigatorUAData: "readonly", + NetworkInformation: "readonly", + Node: "readonly", + NodeFilter: "readonly", + NodeIterator: "readonly", + NodeList: "readonly", + Notification: "readonly", + NotifyPaintEvent: "readonly", + NotRestoredReasonDetails: "readonly", + NotRestoredReasons: "readonly", + Observable: "readonly", + OfflineAudioCompletionEvent: "readonly", + OfflineAudioContext: "readonly", + offscreenBuffering: "readonly", + OffscreenCanvas: "readonly", + OffscreenCanvasRenderingContext2D: "readonly", + onabort: "writable", + onafterprint: "writable", + onanimationcancel: "writable", + onanimationend: "writable", + onanimationiteration: "writable", + onanimationstart: "writable", + onappinstalled: "writable", + onauxclick: "writable", + onbeforeinput: "writable", + onbeforeinstallprompt: "writable", + onbeforematch: "writable", + onbeforeprint: "writable", + onbeforetoggle: "writable", + onbeforeunload: "writable", + onbeforexrselect: "writable", + onblur: "writable", + oncancel: "writable", + oncanplay: "writable", + oncanplaythrough: "writable", + onchange: "writable", + onclick: "writable", + onclose: "writable", + oncommand: "writable", + oncontentvisibilityautostatechange: "writable", + oncontextlost: "writable", + oncontextmenu: "writable", + oncontextrestored: "writable", + oncopy: "writable", + oncuechange: "writable", + oncut: "writable", + ondblclick: "writable", + ondevicemotion: "writable", + ondeviceorientation: "writable", + ondeviceorientationabsolute: "writable", + ondrag: "writable", + ondragend: "writable", + ondragenter: "writable", + ondragleave: "writable", + ondragover: "writable", + ondragstart: "writable", + ondrop: "writable", + ondurationchange: "writable", + onemptied: "writable", + onended: "writable", + onerror: "writable", + onfocus: "writable", + onformdata: "writable", + ongamepadconnected: "writable", + ongamepaddisconnected: "writable", + ongotpointercapture: "writable", + onhashchange: "writable", + oninput: "writable", + oninvalid: "writable", + onkeydown: "writable", + onkeypress: "writable", + onkeyup: "writable", + onlanguagechange: "writable", + onload: "writable", + onloadeddata: "writable", + onloadedmetadata: "writable", + onloadstart: "writable", + onlostpointercapture: "writable", + onmessage: "writable", + onmessageerror: "writable", + onmousedown: "writable", + onmouseenter: "writable", + onmouseleave: "writable", + onmousemove: "writable", + onmouseout: "writable", + onmouseover: "writable", + onmouseup: "writable", + onmousewheel: "writable", + onoffline: "writable", + ononline: "writable", + onpagehide: "writable", + onpagereveal: "writable", + onpageshow: "writable", + onpageswap: "writable", + onpaste: "writable", + onpause: "writable", + onplay: "writable", + onplaying: "writable", + onpointercancel: "writable", + onpointerdown: "writable", + onpointerenter: "writable", + onpointerleave: "writable", + onpointermove: "writable", + onpointerout: "writable", + onpointerover: "writable", + onpointerrawupdate: "writable", + onpointerup: "writable", + onpopstate: "writable", + onprogress: "writable", + onratechange: "writable", + onrejectionhandled: "writable", + onreset: "writable", + onresize: "writable", + onscroll: "writable", + onscrollend: "writable", + onscrollsnapchange: "writable", + onscrollsnapchanging: "writable", + onsearch: "writable", + onsecuritypolicyviolation: "writable", + onseeked: "writable", + onseeking: "writable", + onselect: "writable", + onselectionchange: "writable", + onselectstart: "writable", + onslotchange: "writable", + onstalled: "writable", + onstorage: "writable", + onsubmit: "writable", + onsuspend: "writable", + ontimeupdate: "writable", + ontoggle: "writable", + ontransitioncancel: "writable", + ontransitionend: "writable", + ontransitionrun: "writable", + ontransitionstart: "writable", + onunhandledrejection: "writable", + onunload: "writable", + onvolumechange: "writable", + onwaiting: "writable", + onwheel: "writable", + open: "readonly", + opener: "readonly", + Option: "readonly", + OrientationSensor: "readonly", + origin: "readonly", + originAgentCluster: "readonly", + OscillatorNode: "readonly", + OTPCredential: "readonly", + outerHeight: "readonly", + outerWidth: "readonly", + OverconstrainedError: "readonly", + PageRevealEvent: "readonly", + PageSwapEvent: "readonly", + PageTransitionEvent: "readonly", + pageXOffset: "readonly", + pageYOffset: "readonly", + PannerNode: "readonly", + parent: "readonly", + PasswordCredential: "readonly", + Path2D: "readonly", + PaymentAddress: "readonly", + PaymentManager: "readonly", + PaymentMethodChangeEvent: "readonly", + PaymentRequest: "readonly", + PaymentRequestUpdateEvent: "readonly", + PaymentResponse: "readonly", + performance: "readonly", + Performance: "readonly", + PerformanceElementTiming: "readonly", + PerformanceEntry: "readonly", + PerformanceEventTiming: "readonly", + PerformanceLongAnimationFrameTiming: "readonly", + PerformanceLongTaskTiming: "readonly", + PerformanceMark: "readonly", + PerformanceMeasure: "readonly", + PerformanceNavigation: "readonly", + PerformanceNavigationTiming: "readonly", + PerformanceObserver: "readonly", + PerformanceObserverEntryList: "readonly", + PerformancePaintTiming: "readonly", + PerformanceResourceTiming: "readonly", + PerformanceScriptTiming: "readonly", + PerformanceServerTiming: "readonly", + PerformanceTiming: "readonly", + PeriodicSyncManager: "readonly", + PeriodicWave: "readonly", + Permissions: "readonly", + PermissionStatus: "readonly", + PERSISTENT: "readonly", + personalbar: "readonly", + PictureInPictureEvent: "readonly", + PictureInPictureWindow: "readonly", + Plugin: "readonly", + PluginArray: "readonly", + PointerEvent: "readonly", + PopStateEvent: "readonly", + postMessage: "readonly", + Presentation: "readonly", + PresentationAvailability: "readonly", + PresentationConnection: "readonly", + PresentationConnectionAvailableEvent: "readonly", + PresentationConnectionCloseEvent: "readonly", + PresentationConnectionList: "readonly", + PresentationReceiver: "readonly", + PresentationRequest: "readonly", + PressureObserver: "readonly", + PressureRecord: "readonly", + print: "readonly", + ProcessingInstruction: "readonly", + Profiler: "readonly", + ProgressEvent: "readonly", + PromiseRejectionEvent: "readonly", + prompt: "readonly", + ProtectedAudience: "readonly", + PublicKeyCredential: "readonly", + PushManager: "readonly", + PushSubscription: "readonly", + PushSubscriptionOptions: "readonly", + queryLocalFonts: "readonly", + queueMicrotask: "readonly", + QuotaExceededError: "readonly", + RadioNodeList: "readonly", + Range: "readonly", + ReadableByteStreamController: "readonly", + ReadableStream: "readonly", + ReadableStreamBYOBReader: "readonly", + ReadableStreamBYOBRequest: "readonly", + ReadableStreamDefaultController: "readonly", + ReadableStreamDefaultReader: "readonly", + registerProcessor: "readonly", + RelativeOrientationSensor: "readonly", + RemotePlayback: "readonly", + removeEventListener: "readonly", + ReportBody: "readonly", + reportError: "readonly", + ReportingObserver: "readonly", + Request: "readonly", + requestAnimationFrame: "readonly", + requestIdleCallback: "readonly", + resizeBy: "readonly", + ResizeObserver: "readonly", + ResizeObserverEntry: "readonly", + ResizeObserverSize: "readonly", + resizeTo: "readonly", + Response: "readonly", + RestrictionTarget: "readonly", + RTCCertificate: "readonly", + RTCDataChannel: "readonly", + RTCDataChannelEvent: "readonly", + RTCDtlsTransport: "readonly", + RTCDTMFSender: "readonly", + RTCDTMFToneChangeEvent: "readonly", + RTCEncodedAudioFrame: "readonly", + RTCEncodedVideoFrame: "readonly", + RTCError: "readonly", + RTCErrorEvent: "readonly", + RTCIceCandidate: "readonly", + RTCIceTransport: "readonly", + RTCPeerConnection: "readonly", + RTCPeerConnectionIceErrorEvent: "readonly", + RTCPeerConnectionIceEvent: "readonly", + RTCRtpReceiver: "readonly", + RTCRtpScriptTransform: "readonly", + RTCRtpSender: "readonly", + RTCRtpTransceiver: "readonly", + RTCSctpTransport: "readonly", + RTCSessionDescription: "readonly", + RTCStatsReport: "readonly", + RTCTrackEvent: "readonly", + sampleRate: "readonly", + scheduler: "readonly", + Scheduler: "readonly", + Scheduling: "readonly", + screen: "readonly", + Screen: "readonly", + ScreenDetailed: "readonly", + ScreenDetails: "readonly", + screenLeft: "readonly", + ScreenOrientation: "readonly", + screenTop: "readonly", + screenX: "readonly", + screenY: "readonly", + ScriptProcessorNode: "readonly", + scroll: "readonly", + scrollbars: "readonly", + scrollBy: "readonly", + ScrollTimeline: "readonly", + scrollTo: "readonly", + scrollX: "readonly", + scrollY: "readonly", + SecurityPolicyViolationEvent: "readonly", + Selection: "readonly", + self: "readonly", + Sensor: "readonly", + SensorErrorEvent: "readonly", + Serial: "readonly", + SerialPort: "readonly", + ServiceWorker: "readonly", + ServiceWorkerContainer: "readonly", + ServiceWorkerRegistration: "readonly", + sessionStorage: "readonly", + setInterval: "readonly", + setTimeout: "readonly", + ShadowRoot: "readonly", + sharedStorage: "readonly", + SharedStorage: "readonly", + SharedStorageAppendMethod: "readonly", + SharedStorageClearMethod: "readonly", + SharedStorageDeleteMethod: "readonly", + SharedStorageModifierMethod: "readonly", + SharedStorageSetMethod: "readonly", + SharedStorageWorklet: "readonly", + SharedWorker: "readonly", + showDirectoryPicker: "readonly", + showOpenFilePicker: "readonly", + showSaveFilePicker: "readonly", + SnapEvent: "readonly", + SourceBuffer: "readonly", + SourceBufferList: "readonly", + SpeechGrammar: "readonly", + SpeechGrammarList: "readonly", + SpeechRecognition: "readonly", + SpeechRecognitionErrorEvent: "readonly", + SpeechRecognitionEvent: "readonly", + SpeechRecognitionPhrase: "readonly", + speechSynthesis: "readonly", + SpeechSynthesis: "readonly", + SpeechSynthesisErrorEvent: "readonly", + SpeechSynthesisEvent: "readonly", + SpeechSynthesisUtterance: "readonly", + SpeechSynthesisVoice: "readonly", + StaticRange: "readonly", + status: "readonly", + statusbar: "readonly", + StereoPannerNode: "readonly", + stop: "readonly", + Storage: "readonly", + StorageBucket: "readonly", + StorageBucketManager: "readonly", + StorageEvent: "readonly", + StorageManager: "readonly", + structuredClone: "readonly", + styleMedia: "readonly", + StylePropertyMap: "readonly", + StylePropertyMapReadOnly: "readonly", + StyleSheet: "readonly", + StyleSheetList: "readonly", + SubmitEvent: "readonly", + Subscriber: "readonly", + SubtleCrypto: "readonly", + Summarizer: "readonly", + SuppressedError: "readonly", + SVGAElement: "readonly", + SVGAngle: "readonly", + SVGAnimatedAngle: "readonly", + SVGAnimatedBoolean: "readonly", + SVGAnimatedEnumeration: "readonly", + SVGAnimatedInteger: "readonly", + SVGAnimatedLength: "readonly", + SVGAnimatedLengthList: "readonly", + SVGAnimatedNumber: "readonly", + SVGAnimatedNumberList: "readonly", + SVGAnimatedPreserveAspectRatio: "readonly", + SVGAnimatedRect: "readonly", + SVGAnimatedString: "readonly", + SVGAnimatedTransformList: "readonly", + SVGAnimateElement: "readonly", + SVGAnimateMotionElement: "readonly", + SVGAnimateTransformElement: "readonly", + SVGAnimationElement: "readonly", + SVGCircleElement: "readonly", + SVGClipPathElement: "readonly", + SVGComponentTransferFunctionElement: "readonly", + SVGDefsElement: "readonly", + SVGDescElement: "readonly", + SVGElement: "readonly", + SVGEllipseElement: "readonly", + SVGFEBlendElement: "readonly", + SVGFEColorMatrixElement: "readonly", + SVGFEComponentTransferElement: "readonly", + SVGFECompositeElement: "readonly", + SVGFEConvolveMatrixElement: "readonly", + SVGFEDiffuseLightingElement: "readonly", + SVGFEDisplacementMapElement: "readonly", + SVGFEDistantLightElement: "readonly", + SVGFEDropShadowElement: "readonly", + SVGFEFloodElement: "readonly", + SVGFEFuncAElement: "readonly", + SVGFEFuncBElement: "readonly", + SVGFEFuncGElement: "readonly", + SVGFEFuncRElement: "readonly", + SVGFEGaussianBlurElement: "readonly", + SVGFEImageElement: "readonly", + SVGFEMergeElement: "readonly", + SVGFEMergeNodeElement: "readonly", + SVGFEMorphologyElement: "readonly", + SVGFEOffsetElement: "readonly", + SVGFEPointLightElement: "readonly", + SVGFESpecularLightingElement: "readonly", + SVGFESpotLightElement: "readonly", + SVGFETileElement: "readonly", + SVGFETurbulenceElement: "readonly", + SVGFilterElement: "readonly", + SVGForeignObjectElement: "readonly", + SVGGElement: "readonly", + SVGGeometryElement: "readonly", + SVGGradientElement: "readonly", + SVGGraphicsElement: "readonly", + SVGImageElement: "readonly", + SVGLength: "readonly", + SVGLengthList: "readonly", + SVGLinearGradientElement: "readonly", + SVGLineElement: "readonly", + SVGMarkerElement: "readonly", + SVGMaskElement: "readonly", + SVGMatrix: "readonly", + SVGMetadataElement: "readonly", + SVGMPathElement: "readonly", + SVGNumber: "readonly", + SVGNumberList: "readonly", + SVGPathElement: "readonly", + SVGPatternElement: "readonly", + SVGPoint: "readonly", + SVGPointList: "readonly", + SVGPolygonElement: "readonly", + SVGPolylineElement: "readonly", + SVGPreserveAspectRatio: "readonly", + SVGRadialGradientElement: "readonly", + SVGRect: "readonly", + SVGRectElement: "readonly", + SVGScriptElement: "readonly", + SVGSetElement: "readonly", + SVGStopElement: "readonly", + SVGStringList: "readonly", + SVGStyleElement: "readonly", + SVGSVGElement: "readonly", + SVGSwitchElement: "readonly", + SVGSymbolElement: "readonly", + SVGTextContentElement: "readonly", + SVGTextElement: "readonly", + SVGTextPathElement: "readonly", + SVGTextPositioningElement: "readonly", + SVGTitleElement: "readonly", + SVGTransform: "readonly", + SVGTransformList: "readonly", + SVGTSpanElement: "readonly", + SVGUnitTypes: "readonly", + SVGUseElement: "readonly", + SVGViewElement: "readonly", + SyncManager: "readonly", + TaskAttributionTiming: "readonly", + TaskController: "readonly", + TaskPriorityChangeEvent: "readonly", + TaskSignal: "readonly", + TEMPORARY: "readonly", + Text: "readonly", + TextDecoder: "readonly", + TextDecoderStream: "readonly", + TextEncoder: "readonly", + TextEncoderStream: "readonly", + TextEvent: "readonly", + TextFormat: "readonly", + TextFormatUpdateEvent: "readonly", + TextMetrics: "readonly", + TextTrack: "readonly", + TextTrackCue: "readonly", + TextTrackCueList: "readonly", + TextTrackList: "readonly", + TextUpdateEvent: "readonly", + TimeEvent: "readonly", + TimeRanges: "readonly", + ToggleEvent: "readonly", + toolbar: "readonly", + top: "readonly", + Touch: "readonly", + TouchEvent: "readonly", + TouchList: "readonly", + TrackEvent: "readonly", + TransformStream: "readonly", + TransformStreamDefaultController: "readonly", + TransitionEvent: "readonly", + Translator: "readonly", + TreeWalker: "readonly", + TrustedHTML: "readonly", + TrustedScript: "readonly", + TrustedScriptURL: "readonly", + TrustedTypePolicy: "readonly", + TrustedTypePolicyFactory: "readonly", + trustedTypes: "readonly", + UIEvent: "readonly", + URL: "readonly", + URLPattern: "readonly", + URLSearchParams: "readonly", + USB: "readonly", + USBAlternateInterface: "readonly", + USBConfiguration: "readonly", + USBConnectionEvent: "readonly", + USBDevice: "readonly", + USBEndpoint: "readonly", + USBInterface: "readonly", + USBInTransferResult: "readonly", + USBIsochronousInTransferPacket: "readonly", + USBIsochronousInTransferResult: "readonly", + USBIsochronousOutTransferPacket: "readonly", + USBIsochronousOutTransferResult: "readonly", + USBOutTransferResult: "readonly", + UserActivation: "readonly", + ValidityState: "readonly", + VideoColorSpace: "readonly", + VideoDecoder: "readonly", + VideoEncoder: "readonly", + VideoFrame: "readonly", + VideoPlaybackQuality: "readonly", + viewport: "readonly", + Viewport: "readonly", + ViewTimeline: "readonly", + ViewTransition: "readonly", + ViewTransitionTypeSet: "readonly", + VirtualKeyboard: "readonly", + VirtualKeyboardGeometryChangeEvent: "readonly", + VisibilityStateEntry: "readonly", + visualViewport: "readonly", + VisualViewport: "readonly", + VTTCue: "readonly", + VTTRegion: "readonly", + WakeLock: "readonly", + WakeLockSentinel: "readonly", + WaveShaperNode: "readonly", + WebAssembly: "readonly", + WebGL2RenderingContext: "readonly", + WebGLActiveInfo: "readonly", + WebGLBuffer: "readonly", + WebGLContextEvent: "readonly", + WebGLFramebuffer: "readonly", + WebGLObject: "readonly", + WebGLProgram: "readonly", + WebGLQuery: "readonly", + WebGLRenderbuffer: "readonly", + WebGLRenderingContext: "readonly", + WebGLSampler: "readonly", + WebGLShader: "readonly", + WebGLShaderPrecisionFormat: "readonly", + WebGLSync: "readonly", + WebGLTexture: "readonly", + WebGLTransformFeedback: "readonly", + WebGLUniformLocation: "readonly", + WebGLVertexArrayObject: "readonly", + WebSocket: "readonly", + WebSocketError: "readonly", + WebSocketStream: "readonly", + WebTransport: "readonly", + WebTransportBidirectionalStream: "readonly", + WebTransportDatagramDuplexStream: "readonly", + WebTransportError: "readonly", + WebTransportReceiveStream: "readonly", + WebTransportSendStream: "readonly", + WGSLLanguageFeatures: "readonly", + WheelEvent: "readonly", + when: "readonly", + window: "readonly", + Window: "readonly", + WindowControlsOverlay: "readonly", + WindowControlsOverlayGeometryChangeEvent: "readonly", + Worker: "readonly", + Worklet: "readonly", + WorkletGlobalScope: "readonly", + WritableStream: "readonly", + WritableStreamDefaultController: "readonly", + WritableStreamDefaultWriter: "readonly", + XMLDocument: "readonly", + XMLHttpRequest: "readonly", + XMLHttpRequestEventTarget: "readonly", + XMLHttpRequestUpload: "readonly", + XMLSerializer: "readonly", + XPathEvaluator: "readonly", + XPathExpression: "readonly", + XPathResult: "readonly", + XRAnchor: "readonly", + XRAnchorSet: "readonly", + XRBoundedReferenceSpace: "readonly", + XRCamera: "readonly", + XRCPUDepthInformation: "readonly", + XRDepthInformation: "readonly", + XRDOMOverlayState: "readonly", + XRFrame: "readonly", + XRHand: "readonly", + XRHitTestResult: "readonly", + XRHitTestSource: "readonly", + XRInputSource: "readonly", + XRInputSourceArray: "readonly", + XRInputSourceEvent: "readonly", + XRInputSourcesChangeEvent: "readonly", + XRJointPose: "readonly", + XRJointSpace: "readonly", + XRLayer: "readonly", + XRLightEstimate: "readonly", + XRLightProbe: "readonly", + XRPose: "readonly", + XRRay: "readonly", + XRReferenceSpace: "readonly", + XRReferenceSpaceEvent: "readonly", + XRRenderState: "readonly", + XRRigidTransform: "readonly", + XRSession: "readonly", + XRSessionEvent: "readonly", + XRSpace: "readonly", + XRSystem: "readonly", + XRTransientInputHitTestResult: "readonly", + XRTransientInputHitTestSource: "readonly", + XRView: "readonly", + XRViewerPose: "readonly", + XRViewport: "readonly", + XRWebGLBinding: "readonly", + XRWebGLDepthInformation: "readonly", + XRWebGLLayer: "readonly", + XSLTProcessor: "readonly", + }, + }, + ], +}); diff --git a/packages/config/package.json b/packages/config/package.json index d0421e3225..2856b9a9c8 100644 --- a/packages/config/package.json +++ b/packages/config/package.json @@ -1,7 +1,7 @@ { "name": "@vitnode/config", "version": "2.0.0-canary.13", - "description": "ESLint, Prettier, TypeScript (TSConfig) config for VitNode", + "description": "Oxlint, Oxfmt, TypeScript (TSConfig) config for VitNode", "author": "VitNode Team", "license": "MIT", "homepage": "https://vitnode.com", @@ -14,48 +14,46 @@ "vitnode", "typescript", "tsconfig", - "eslint", - "prettier" + "oxlint", + "oxfmt" ], "type": "module", "exports": { - "./eslint": { - "import": "./eslint.config.mjs", - "default": "./eslint.config.mjs" + "./oxlint": { + "types": "./oxlint.config.d.mts", + "import": "./oxlint.config.mjs", + "default": "./oxlint.config.mjs" }, - "./eslint.react": { - "import": "./eslint.react.config.mjs", - "default": "./eslint.react.config.mjs" + "./oxlint.react": { + "types": "./oxlint.react.config.d.mts", + "import": "./oxlint.react.config.mjs", + "default": "./oxlint.react.config.mjs" }, "./tsconfig": { "import": "./tsconfig.json", "default": "./tsconfig.json" }, - "./prettierrc": { - "import": "./prettierrc.mjs", - "default": "./prettierrc.mjs" + "./oxfmt": { + "types": "./oxfmt.config.d.mts", + "import": "./oxfmt.config.mjs", + "default": "./oxfmt.config.mjs" } }, "peerDependencies": { - "eslint": "^10.0.0", - "prettier": "^3.x.x", + "oxfmt": "^0.72.0", + "oxlint": "^1.87.0", + "oxlint-tsgolint": "^7.0.2003", "typescript": "6.0.x" }, "devDependencies": { - "eslint": "^10.11.0", + "oxfmt": "^0.72.0", + "oxlint": "^1.87.0", + "oxlint-tsgolint": "^7.0.2003", "typescript": "^6.0.3" }, "dependencies": { - "@eslint-react/eslint-plugin": "^5.23.3", - "@eslint/js": "^10.0.1", - "@shadcn/lint": "^0.2.0", - "eslint-config-prettier": "^10.1.8", - "eslint-plugin-jsx-a11y": "^6.10.2", + "@eslint-react/eslint-plugin": "^5.24.8", "eslint-plugin-perfectionist": "^5.12.1", - "eslint-plugin-prettier": "^5.5.6", - "eslint-plugin-react-hooks": "^7.1.1", - "eslint-plugin-react-you-might-not-need-an-effect": "^1.0.2", - "prettier-plugin-tailwindcss": "^0.8.1", - "typescript-eslint": "^8.71.0" + "eslint-plugin-react-you-might-not-need-an-effect": "^1.0.2" } } diff --git a/packages/config/prettierrc.mjs b/packages/config/prettierrc.mjs deleted file mode 100644 index 258811f10e..0000000000 --- a/packages/config/prettierrc.mjs +++ /dev/null @@ -1,14 +0,0 @@ -/** - * @see https://prettier.io/docs/en/configuration.html - * @type {import("prettier").Config} - */ -const config = { - singleQuote: false, - arrowParens: "avoid", - trailingComma: "all", - printWidth: 80, - plugins: ["prettier-plugin-tailwindcss"], - tailwindFunctions: ["cn"], -}; - -export default config; diff --git a/packages/create-vitnode-app/README.md b/packages/create-vitnode-app/README.md index 7b7d71d6b8..094d717651 100644 --- a/packages/create-vitnode-app/README.md +++ b/packages/create-vitnode-app/README.md @@ -63,23 +63,45 @@ The generator creates the package and adds its workspace dependency. Enable the feature by registering it in the host’s `vitnode.config.ts`: ```ts -import { myPlugin } from '@acme/my-plugin/config' +import { myPlugin } from "@acme/my-plugin/config"; -plugins: [myPlugin()] +plugins: [myPlugin()]; ``` ## Options -| Option | Description | -| --- | --- | -| `--package-manager` | Choose `npm` or `pnpm` for the generated project. | -| `--eslint` | Include ESLint and Prettier configuration. | -| `--skip-install` | Skip dependency installation after scaffolding. | -| `--skip-git` | Skip initializing a git repository (created on `main` after install). | -| `--mode` | Choose `singleApp`, `apiMonorepo`, or `onlyApi`. | -| `--monorepo` | Create a workspace layout for plugins and multiple applications. | -| `--docker` | Include local Docker services. | -| `--plugin` | Create a VitNode plugin package. | +| Option | Description | +| ------------------- | --------------------------------------------------------------------- | +| `--package-manager` | Choose `npm` or `pnpm` for the generated project. | +| `--oxlint` | Include Oxlint and Oxfmt configuration. | +| `--skip-install` | Skip dependency installation after scaffolding. | +| `--skip-git` | Skip initializing a git repository (created on `main` after install). | +| `--mode` | Choose `singleApp`, `apiMonorepo`, or `onlyApi`. | +| `--monorepo` | Create a workspace layout for plugins and multiple applications. | +| `--docker` | Include local Docker services. | +| `--plugin` | Create a VitNode plugin package. | + +## Linting + +With `--oxlint` (or "yes" at the Oxlint & Oxfmt prompt), every app gets an +`oxlint.config.ts` built on `@vitnode/config/oxlint`, an `oxfmt.config.ts` built +on `@vitnode/config/oxfmt`, and these scripts: + +```json +{ + "lint": "oxlint --type-aware", + "lint:fix": "oxlint --type-aware --fix", + "format": "oxfmt" +} +``` + +`format` lives at the project root (or the app root outside a monorepo); run +`oxfmt --check` in CI. `--type-aware` runs the TypeScript-powered rules through +`oxlint-tsgolint`, which is installed for you. + +Oxfmt is Prettier-compatible, so your code looks the same, just formatted much +faster. There are no Prettier plugins to install: Tailwind class sorting is +built in. Read the [VitNode documentation](https://vitnode.com/docs/dev) for setup, plugins, deployment, and AdminCP guides. diff --git a/packages/create-vitnode-app/copy-of-vitnode-app/api-single-app/src/vitnode.api.config.ts b/packages/create-vitnode-app/copy-of-vitnode-app/api-single-app/src/vitnode.api.config.ts index dee9f22c9d..5add4731ae 100644 --- a/packages/create-vitnode-app/copy-of-vitnode-app/api-single-app/src/vitnode.api.config.ts +++ b/packages/create-vitnode-app/copy-of-vitnode-app/api-single-app/src/vitnode.api.config.ts @@ -1,5 +1,5 @@ -import { buildApiConfig } from "@vitnode/core/vitnode.config"; import { coreRelations } from "@vitnode/core/database/relations"; +import { buildApiConfig } from "@vitnode/core/vitnode.config"; import { drizzle } from "drizzle-orm/postgres-js"; import { contentModules } from "./content-modules.gen"; diff --git a/packages/create-vitnode-app/copy-of-vitnode-app/api/src/index.ts b/packages/create-vitnode-app/copy-of-vitnode-app/api/src/index.ts index 571ad9363f..2a9d3e3e5e 100644 --- a/packages/create-vitnode-app/copy-of-vitnode-app/api/src/index.ts +++ b/packages/create-vitnode-app/copy-of-vitnode-app/api/src/index.ts @@ -21,7 +21,7 @@ const server = serve( info => { const initMessage = "\x1b[34m[VitNode]\x1b[0m"; - // eslint-disable-next-line no-console + // oxlint-disable-next-line no-console console.log( `${initMessage} API server is running on http://localhost:${info.port}`, ); diff --git a/packages/create-vitnode-app/copy-of-vitnode-app/api/src/vitnode.api.config.ts b/packages/create-vitnode-app/copy-of-vitnode-app/api/src/vitnode.api.config.ts index a587b6f2c2..b66817d438 100644 --- a/packages/create-vitnode-app/copy-of-vitnode-app/api/src/vitnode.api.config.ts +++ b/packages/create-vitnode-app/copy-of-vitnode-app/api/src/vitnode.api.config.ts @@ -1,6 +1,6 @@ +import { coreRelations } from "@vitnode/core/database/relations"; import { buildApiConfig } from "@vitnode/core/vitnode.config"; import { config } from "dotenv"; -import { coreRelations } from "@vitnode/core/database/relations"; import { drizzle } from "drizzle-orm/postgres-js"; config({ diff --git a/packages/create-vitnode-app/copy-of-vitnode-app/eslint-react/.prettierrc.mjs b/packages/create-vitnode-app/copy-of-vitnode-app/eslint-react/.prettierrc.mjs deleted file mode 100644 index d3fc42bb41..0000000000 --- a/packages/create-vitnode-app/copy-of-vitnode-app/eslint-react/.prettierrc.mjs +++ /dev/null @@ -1,11 +0,0 @@ -import vitnodePrettier from "@vitnode/config/prettierrc"; - -/** - * @see https://prettier.io/docs/en/configuration.html - * @type {import("prettier").Config} - */ -const config = { - ...vitnodePrettier, -}; - -export default config; diff --git a/packages/create-vitnode-app/copy-of-vitnode-app/eslint-react/eslint.config.mjs b/packages/create-vitnode-app/copy-of-vitnode-app/eslint-react/eslint.config.mjs deleted file mode 100644 index b1ce26beb5..0000000000 --- a/packages/create-vitnode-app/copy-of-vitnode-app/eslint-react/eslint.config.mjs +++ /dev/null @@ -1,19 +0,0 @@ -import eslintVitNode from "@vitnode/config/eslint"; -import eslintVitNodeReact from "@vitnode/config/eslint.react"; -import { fileURLToPath } from "node:url"; -import { dirname } from "node:path"; - -const __dirname = dirname(fileURLToPath(import.meta.url)); - -export default [ - ...eslintVitNode, - ...eslintVitNodeReact, - { - languageOptions: { - parserOptions: { - project: "./tsconfig.json", - tsconfigRootDir: __dirname, - }, - }, - }, -]; diff --git a/packages/create-vitnode-app/copy-of-vitnode-app/eslint/.prettierrc.mjs b/packages/create-vitnode-app/copy-of-vitnode-app/eslint/.prettierrc.mjs deleted file mode 100644 index d3fc42bb41..0000000000 --- a/packages/create-vitnode-app/copy-of-vitnode-app/eslint/.prettierrc.mjs +++ /dev/null @@ -1,11 +0,0 @@ -import vitnodePrettier from "@vitnode/config/prettierrc"; - -/** - * @see https://prettier.io/docs/en/configuration.html - * @type {import("prettier").Config} - */ -const config = { - ...vitnodePrettier, -}; - -export default config; diff --git a/packages/create-vitnode-app/copy-of-vitnode-app/eslint/eslint.config.mjs b/packages/create-vitnode-app/copy-of-vitnode-app/eslint/eslint.config.mjs deleted file mode 100644 index b1ce26beb5..0000000000 --- a/packages/create-vitnode-app/copy-of-vitnode-app/eslint/eslint.config.mjs +++ /dev/null @@ -1,19 +0,0 @@ -import eslintVitNode from "@vitnode/config/eslint"; -import eslintVitNodeReact from "@vitnode/config/eslint.react"; -import { fileURLToPath } from "node:url"; -import { dirname } from "node:path"; - -const __dirname = dirname(fileURLToPath(import.meta.url)); - -export default [ - ...eslintVitNode, - ...eslintVitNodeReact, - { - languageOptions: { - parserOptions: { - project: "./tsconfig.json", - tsconfigRootDir: __dirname, - }, - }, - }, -]; diff --git a/packages/create-vitnode-app/copy-of-vitnode-app/oxlint-react/oxfmt.config.ts b/packages/create-vitnode-app/copy-of-vitnode-app/oxlint-react/oxfmt.config.ts new file mode 100644 index 0000000000..d038661313 --- /dev/null +++ b/packages/create-vitnode-app/copy-of-vitnode-app/oxlint-react/oxfmt.config.ts @@ -0,0 +1,7 @@ +import vitnode from "@vitnode/config/oxfmt"; +import { defineConfig } from "oxfmt"; + +export default defineConfig({ + ...vitnode, + ignorePatterns: [".nitro", ".output", ".tanstack", "dist", "src/*.gen.ts"], +}); diff --git a/packages/create-vitnode-app/copy-of-vitnode-app/oxlint-react/oxlint.config.ts b/packages/create-vitnode-app/copy-of-vitnode-app/oxlint-react/oxlint.config.ts new file mode 100644 index 0000000000..1d4f831823 --- /dev/null +++ b/packages/create-vitnode-app/copy-of-vitnode-app/oxlint-react/oxlint.config.ts @@ -0,0 +1,14 @@ +import vitnode, { ignorePatterns } from "@vitnode/config/oxlint"; +import vitnodeReact from "@vitnode/config/oxlint.react"; +import { defineConfig } from "oxlint"; + +export default defineConfig({ + extends: [vitnode, vitnodeReact], + ignorePatterns: [ + ...ignorePatterns, + ".nitro/**", + ".output/**", + ".tanstack/**", + "src/*.gen.ts", + ], +}); diff --git a/packages/create-vitnode-app/copy-of-vitnode-app/oxlint/oxfmt.config.ts b/packages/create-vitnode-app/copy-of-vitnode-app/oxlint/oxfmt.config.ts new file mode 100644 index 0000000000..3106f5fde0 --- /dev/null +++ b/packages/create-vitnode-app/copy-of-vitnode-app/oxlint/oxfmt.config.ts @@ -0,0 +1,7 @@ +import vitnode from "@vitnode/config/oxfmt"; +import { defineConfig } from "oxfmt"; + +export default defineConfig({ + ...vitnode, + ignorePatterns: ["dist"], +}); diff --git a/packages/create-vitnode-app/copy-of-vitnode-app/oxlint/oxlint.config.ts b/packages/create-vitnode-app/copy-of-vitnode-app/oxlint/oxlint.config.ts new file mode 100644 index 0000000000..cc255d0ebc --- /dev/null +++ b/packages/create-vitnode-app/copy-of-vitnode-app/oxlint/oxlint.config.ts @@ -0,0 +1,7 @@ +import vitnode, { ignorePatterns } from "@vitnode/config/oxlint"; +import { defineConfig } from "oxlint"; + +export default defineConfig({ + extends: [vitnode], + ignorePatterns, +}); diff --git a/packages/create-vitnode-app/copy-of-vitnode-app/root/tsconfig.json b/packages/create-vitnode-app/copy-of-vitnode-app/root/tsconfig.json index d5eb1c717c..87c5696168 100644 --- a/packages/create-vitnode-app/copy-of-vitnode-app/root/tsconfig.json +++ b/packages/create-vitnode-app/copy-of-vitnode-app/root/tsconfig.json @@ -2,8 +2,6 @@ "include": [ "**/*.ts", "**/*.tsx", - "eslint.config.js", - "prettier.config.js", "vite.config.js" ], diff --git a/packages/create-vitnode-app/eslint.config.mjs b/packages/create-vitnode-app/eslint.config.mjs deleted file mode 100644 index eafa423838..0000000000 --- a/packages/create-vitnode-app/eslint.config.mjs +++ /dev/null @@ -1,25 +0,0 @@ -import eslintVitNode from "@vitnode/config/eslint"; -import { fileURLToPath } from "node:url"; -import { dirname } from "node:path"; - -const __dirname = dirname(fileURLToPath(import.meta.url)); - -export default [ - ...eslintVitNode, - { - rules: { - "no-console": "off", - }, - }, - { - ignores: ["copy-of-vitnode-app", "copy-of-vitnode-plugin"], - }, - { - languageOptions: { - parserOptions: { - project: "./tsconfig.json", - tsconfigRootDir: __dirname, - }, - }, - }, -]; diff --git a/packages/create-vitnode-app/oxlint.config.ts b/packages/create-vitnode-app/oxlint.config.ts new file mode 100644 index 0000000000..7250b11b22 --- /dev/null +++ b/packages/create-vitnode-app/oxlint.config.ts @@ -0,0 +1,14 @@ +import vitnode, { ignorePatterns } from "@vitnode/config/oxlint"; +import { defineConfig } from "oxlint"; + +export default defineConfig({ + extends: [vitnode], + rules: { + "no-console": "off", + }, + ignorePatterns: [ + ...ignorePatterns, + "copy-of-vitnode-app", + "copy-of-vitnode-plugin", + ], +}); diff --git a/packages/create-vitnode-app/package.json b/packages/create-vitnode-app/package.json index 0e9e098012..137b9e6505 100644 --- a/packages/create-vitnode-app/package.json +++ b/packages/create-vitnode-app/package.json @@ -17,15 +17,13 @@ "files": [ "dist", "copy-of-vitnode-app", - "copy-of-vitnode-plugin", - "eslint", - "eslint-react" + "copy-of-vitnode-plugin" ], "scripts": { "build:scripts": "tsc -p tsconfig.build.json && node dist/src/prepare/prepare.js", "start:scripts": "node dist/src/index.js", - "lint": "eslint .", - "lint:fix": "eslint . --fix", + "lint": "oxlint --type-aware", + "lint:fix": "oxlint --type-aware --fix", "test": "vitest run", "test:watch": "vitest" }, @@ -37,18 +35,19 @@ "typescript" ], "dependencies": { - "@inquirer/prompts": "^8.7.2", + "@inquirer/prompts": "^8.7.3", "commander": "^15.0.0", "ora": "^9.4.1", "picocolors": "^1.1.1", "validate-npm-package-name": "^8.0.0" }, "devDependencies": { - "@types/node": "^26.6.3", + "@types/node": "^26.6.4", "@types/prompts": "^2.4.9", "@types/validate-npm-package-name": "^4.0.2", "@vitnode/config": "workspace:*", - "eslint": "^10.11.0", + "oxlint": "^1.87.0", + "oxlint-tsgolint": "^7.0.2003", "typescript": "^6.0.3", "vitest": "^5.0.3" } diff --git a/packages/create-vitnode-app/src/create/create-package-json.test.ts b/packages/create-vitnode-app/src/create/create-package-json.test.ts index 9bbdcb58f1..2bfa9a9ea5 100644 --- a/packages/create-vitnode-app/src/create/create-package-json.test.ts +++ b/packages/create-vitnode-app/src/create/create-package-json.test.ts @@ -1,6 +1,12 @@ import { describe, expect, it } from "vitest"; -import { apiScripts, i18nCliCommand } from "./create-package-json.js"; +import { + apiScripts, + i18nCliCommand, + rootScripts, + singleAppScripts, + webScripts, +} from "./create-package-json.js"; describe("generated scripts", () => { it("map each i18n script to its vitnode i18n subcommand", () => { @@ -25,4 +31,40 @@ describe("generated scripts", () => { start: "vitnode start", }); }); + + it("lint every app with type-aware Oxlint when Oxlint is chosen", () => { + const oxlint = { + lint: "oxlint --type-aware", + "lint:fix": "oxlint --type-aware --fix", + }; + + expect(apiScripts("pnpm", true, false, false, "app")).toMatchObject(oxlint); + expect(singleAppScripts(true, false, "app")).toMatchObject(oxlint); + expect(webScripts(true)).toMatchObject(oxlint); + }); + + it("add the Oxfmt format script to the root, the single app and a standalone API", () => { + expect(singleAppScripts(true, false, "app")).toHaveProperty( + "format", + "oxfmt", + ); + expect(apiScripts("pnpm", true, false, true, "app")).toHaveProperty( + "format", + ); + expect(rootScripts(true, false, "app", "pnpm", "apps/web")).toMatchObject({ + lint: "turbo lint", + format: "oxfmt", + }); + expect(apiScripts("pnpm", true, false, false, "app")).not.toHaveProperty( + "format", + ); + expect(webScripts(true)).not.toHaveProperty("format"); + }); + + it("skip lint and format scripts without Oxlint", () => { + const scripts = singleAppScripts(false, false, "app"); + + expect(scripts).not.toHaveProperty("lint"); + expect(scripts).not.toHaveProperty("format"); + }); }); diff --git a/packages/create-vitnode-app/src/create/create-package-json.ts b/packages/create-vitnode-app/src/create/create-package-json.ts index b1934a6efb..0aa6cfa186 100644 --- a/packages/create-vitnode-app/src/create/create-package-json.ts +++ b/packages/create-vitnode-app/src/create/create-package-json.ts @@ -23,9 +23,17 @@ const paths = (root: string) => ({ /** * Shared blocks */ -const eslintScripts = { - lint: "eslint .", - "lint:fix": "eslint . --fix", +const oxlintScripts = { + lint: "oxlint --type-aware", + "lint:fix": "oxlint --type-aware --fix", +}; +const formatScripts = { + format: "oxfmt", +}; +const oxcDevDeps = { + oxfmt: versionsPackageJson.oxfmt, + oxlint: versionsPackageJson.oxlint, + "oxlint-tsgolint": versionsPackageJson.oxlintTsgolint, }; const i18nCommands = [ "i18n:create", @@ -72,7 +80,7 @@ const dockerDevScript = (appName: string) => * script, so nothing in this line makes the frontend own migrations. */ export const rootScripts = ( - enableEslint: boolean, + enableOxlint: boolean, enableDocker: boolean, appName: string, pm: string, @@ -85,9 +93,10 @@ export const rootScripts = ( build: "turbo build", start: "turbo start", ...i18nRootScripts(pm, i18nAppDir), - ...withIf(enableEslint, { + ...withIf(enableOxlint, { lint: "turbo lint", "lint:fix": "turbo lint:fix", + ...formatScripts, }), ...withIf(enableDocker, { "docker:dev": dockerDevScript(appName) }), }); @@ -109,7 +118,7 @@ export const rootScripts = ( */ export const apiScripts = ( pm: string, - eslint: boolean, + oxlint: boolean, docker: boolean, onlyApi: boolean, appName: string, @@ -124,7 +133,8 @@ export const apiScripts = ( start: "vitnode start", "dev:email": "email dev --dir src/emails", ...i18nScripts, - ...withIf(eslint, eslintScripts), + ...withIf(oxlint, oxlintScripts), + ...withIf(oxlint && onlyApi, formatScripts), ...withIf(docker && onlyApi, { "docker:dev": dockerDevScript(appName) }), }; }; @@ -156,7 +166,7 @@ export const apiScripts = ( * It never touches a plugin page - see `@vitnode/core/framework/vite`. */ export const singleAppScripts = ( - eslint: boolean, + oxlint: boolean, docker: boolean, appName: string, ) => ({ @@ -167,35 +177,25 @@ export const singleAppScripts = ( build: "vitnode build", start: "vitnode start", ...i18nScripts, - ...withIf(eslint, eslintScripts), + ...withIf(oxlint, { ...oxlintScripts, ...formatScripts }), ...withIf(docker, { "docker:dev": dockerDevScript(appName) }), }); -export const webScripts = (eslint: boolean) => ({ +export const webScripts = (oxlint: boolean) => ({ dev: "vitnode dev", build: "vitnode build", start: "vitnode start", ...i18nScripts, - ...withIf(eslint, eslintScripts), + ...withIf(oxlint, oxlintScripts), }); /** * Dependency builders */ -const baseDevDeps = (eslint: boolean, includePrettier: boolean) => ({ +const rootDevDeps = (oxlint: boolean) => ({ "@types/node": versionsPackageJson.typesNode, - "@vitnode/config": "", // filled with local version dynamically - ...withIf(eslint, { - eslint: versionsPackageJson.eslint, - ...withIf(includePrettier, { - prettier: versionsPackageJson.prettier, - "prettier-plugin-tailwindcss": versionsPackageJson.prettierTailwind, - }), - }), -}); - -const rootDevDeps = (eslint: boolean) => ({ - ...baseDevDeps(eslint, true), + "@vitnode/config": "", + ...withIf(oxlint, oxcDevDeps), turbo: versionsPackageJson.turbo, typescript: versionsPackageJson.typescript, zod: versionsPackageJson.zod, @@ -215,7 +215,7 @@ const apiDeps = { zod: versionsPackageJson.zod, }; -const apiDevDeps = (pm: string, eslint: boolean) => ({ +const apiDevDeps = (pm: string, oxlint: boolean) => ({ "@hono/node-server": "^2.0", "@react-email/ui": versionsPackageJson.reactEmailUi, ...(pm === "bun" ? { "@types/bun": versionsPackageJson.typesBun } : {}), @@ -225,10 +225,7 @@ const apiDevDeps = (pm: string, eslint: boolean) => ({ cn: versionsPackageJson.cn, "@vitnode/config": "", dotenv: versionsPackageJson.dotenv, - ...withIf(eslint, { - eslint: versionsPackageJson.eslint, - // Prettier in API only when onlyApi + eslint in original code – we'll preserve by passing include later if needed - }), + ...withIf(oxlint, oxcDevDeps), "tsc-alias": versionsPackageJson.tscAlias, tsx: versionsPackageJson.tsx, typescript: versionsPackageJson.typescript, @@ -281,14 +278,10 @@ const tanstackWebDevDeps = { vite: versionsPackageJson.vite, }; -const singleAppDevDeps = (eslint: boolean) => ({ +const singleAppDevDeps = (oxlint: boolean) => ({ ...tanstackWebDevDeps, "@react-email/ui": versionsPackageJson.reactEmailUi, - ...withIf(eslint, { - eslint: versionsPackageJson.eslint, - prettier: versionsPackageJson.prettier, - "prettier-plugin-tailwindcss": versionsPackageJson.prettierTailwind, - }), + ...withIf(oxlint, oxcDevDeps), turbo: versionsPackageJson.turbo, }); @@ -297,10 +290,10 @@ const webDeps = { shadcn: versionsPackageJson.shadcn, }; -const webDevDeps = (eslint: boolean) => ({ +const webDevDeps = (oxlint: boolean) => ({ ...tanstackWebDevDeps, "class-variance-authority": versionsPackageJson.cva, - ...withIf(eslint, { eslint: versionsPackageJson.eslint }), + ...withIf(oxlint, oxcDevDeps), }); /** @@ -310,16 +303,16 @@ export const createPackageJSON = async ({ appName, packageManager, root, - eslint, + oxlint, docker, mode, monorepo, }: { appName: string; docker?: boolean; - eslint: boolean; mode: Mode; monorepo?: boolean; + oxlint: boolean; packageManager: string; root: string; }) => { @@ -338,14 +331,14 @@ export const createPackageJSON = async ({ name: appName, private: true, scripts: rootScripts( - eslint, + oxlint, !!docker, appName, packageManager, isSingleApp ? "apps/web" : "apps/api", ), devDependencies: { - ...rootDevDeps(eslint), + ...rootDevDeps(oxlint), "@vitnode/config": vitnodeVersionRange, }, packageManager: pmSpec, @@ -363,7 +356,7 @@ export const createPackageJSON = async ({ type: "module", scripts: apiScripts( packageManager, - eslint, + oxlint, !!docker, mode === "onlyApi", appName, @@ -373,14 +366,8 @@ export const createPackageJSON = async ({ "@vitnode/core": vitnodeVersionRange, }, devDependencies: { - ...apiDevDeps(packageManager, eslint), + ...apiDevDeps(packageManager, oxlint), "@vitnode/config": vitnodeVersionRange, - ...(eslint && mode === "onlyApi" - ? { - prettier: versionsPackageJson.prettier, - "prettier-plugin-tailwindcss": versionsPackageJson.prettierTailwind, - } - : {}), // TS pipeline pieces when not using Bun for dev ...(packageManager === "bun" ? {} : {}), }, @@ -393,13 +380,13 @@ export const createPackageJSON = async ({ version: "0.1.0", private: true, type: "module", - scripts: singleAppScripts(eslint, !!docker, appName), + scripts: singleAppScripts(oxlint, !!docker, appName), dependencies: { ...singleAppDeps, "@vitnode/core": vitnodeVersionRange, }, devDependencies: { - ...singleAppDevDeps(eslint), + ...singleAppDevDeps(oxlint), "@vitnode/config": vitnodeVersionRange, }, packageManager: pmSpec, @@ -417,13 +404,13 @@ export const createPackageJSON = async ({ version: "0.1.0", private: true, type: "module", - scripts: webScripts(eslint), + scripts: webScripts(oxlint), dependencies: { ...webDeps, "@vitnode/core": vitnodeVersionRange, }, devDependencies: { - ...webDevDeps(eslint), + ...webDevDeps(oxlint), "@vitnode/config": vitnodeVersionRange, }, }; diff --git a/packages/create-vitnode-app/src/create/create-vitnode.ts b/packages/create-vitnode-app/src/create/create-vitnode.ts index 48ce521fa5..a238262bfd 100644 --- a/packages/create-vitnode-app/src/create/create-vitnode.ts +++ b/packages/create-vitnode-app/src/create/create-vitnode.ts @@ -34,7 +34,7 @@ export const createVitNode = async ({ root, appName, packageManager, - eslint, + oxlint, git, install, docker, @@ -164,26 +164,26 @@ export const createVitNode = async ({ ); } - if (eslint) { - spinner.text = "Copying ESLint & Prettier files..."; + if (oxlint) { + spinner.text = "Copying Oxlint & Oxfmt files..."; if (monorepo) { if (existsSync(monorepoStructure.api)) { - await cp(join(templatePath, "eslint"), monorepoStructure.api, { + await cp(join(templatePath, "oxlint"), monorepoStructure.api, { recursive: true, }); } if (existsSync(monorepoStructure.web)) { - await cp(join(templatePath, "eslint-react"), monorepoStructure.web, { + await cp(join(templatePath, "oxlint-react"), monorepoStructure.web, { recursive: true, }); } } else { if (mode === "onlyApi") { - await cp(join(templatePath, "eslint"), root, { + await cp(join(templatePath, "oxlint"), root, { recursive: true, }); } else if (mode === "singleApp") { - await cp(join(templatePath, "eslint-react"), root, { + await cp(join(templatePath, "oxlint-react"), root, { recursive: true, }); } @@ -212,7 +212,7 @@ export const createVitNode = async ({ root, appName, packageManager, - eslint, + oxlint, docker, mode, monorepo, diff --git a/packages/create-vitnode-app/src/create/package-versions.ts b/packages/create-vitnode-app/src/create/package-versions.ts index 788f411f77..bf7e4fca86 100644 --- a/packages/create-vitnode-app/src/create/package-versions.ts +++ b/packages/create-vitnode-app/src/create/package-versions.ts @@ -8,17 +8,17 @@ export const versionsPackageJson = { typescript: "^6.0", tsx: "^4.23", tscAlias: "^1.9", - eslint: "^10.11", - prettier: "^3.9", - prettierTailwind: "^0.8", + oxlint: "^1.87", + oxlintTsgolint: "^7.0.2003", + oxfmt: "^0.72.0", tailwind: "^4.2", twAnimateCss: "^1.4.0", cn: "^0.4.0", react: "^19.3", reactDom: "^19.3", - useIntl: "^4.14.8", - lucide: "^1.49", + useIntl: "^4.14.9", + lucide: "^1.52", sonner: "^2.0.8", dotenv: "^18.0", diff --git a/packages/create-vitnode-app/src/helpers/init-git.ts b/packages/create-vitnode-app/src/helpers/init-git.ts index 99940ade6e..2bf6644a01 100644 --- a/packages/create-vitnode-app/src/helpers/init-git.ts +++ b/packages/create-vitnode-app/src/helpers/init-git.ts @@ -4,7 +4,10 @@ import { join } from "node:path"; import { spawnCommand } from "./spawn-command.js"; export type InitGitResult = - "already-in-repository" | "created" | "failed" | "git-unavailable"; + | "already-in-repository" + | "created" + | "failed" + | "git-unavailable"; export const DEFAULT_GIT_BRANCH = "main"; diff --git a/packages/create-vitnode-app/src/index.ts b/packages/create-vitnode-app/src/index.ts index c67152ba97..55d61bf408 100644 --- a/packages/create-vitnode-app/src/index.ts +++ b/packages/create-vitnode-app/src/index.ts @@ -49,7 +49,7 @@ const init = async () => { "Specify the package manager to use", ).choices(["npm", "pnpm", "bun"]), ); - program.option("--eslint", "Initialize with ESLint & Prettier config."); + program.option("--oxlint", "Initialize with Oxlint & Oxfmt config."); program.option( "--skip-install", "Skip installing packages after initializing the project.", diff --git a/packages/create-vitnode-app/src/plugin/create/add-plugin-to-config.ts b/packages/create-vitnode-app/src/plugin/create/add-plugin-to-config.ts index 09373394f3..443ffd0d83 100644 --- a/packages/create-vitnode-app/src/plugin/create/add-plugin-to-config.ts +++ b/packages/create-vitnode-app/src/plugin/create/add-plugin-to-config.ts @@ -11,7 +11,10 @@ import { } from "./route-templates.js"; export type RegisterPluginStatus = - "already-registered" | "no-config-call" | "no-plugins-array" | "registered"; + | "already-registered" + | "no-config-call" + | "no-plugins-array" + | "registered"; export interface RegisterPluginResult { source: string; diff --git a/packages/create-vitnode-app/src/plugin/create/create-package-json.test.ts b/packages/create-vitnode-app/src/plugin/create/create-package-json.test.ts new file mode 100644 index 0000000000..2b565093c9 --- /dev/null +++ b/packages/create-vitnode-app/src/plugin/create/create-package-json.test.ts @@ -0,0 +1,16 @@ +import { describe, expect, it } from "vitest"; + +import { pluginScripts } from "./create-package-json.js"; + +describe("pluginScripts", () => { + it("lints the plugin itself with type-aware Oxlint", () => { + expect(pluginScripts(true)).toMatchObject({ + lint: "oxlint --type-aware", + "lint:fix": "oxlint --type-aware --fix", + }); + }); + + it("has no lint scripts without Oxlint", () => { + expect(pluginScripts(false)).not.toHaveProperty("lint"); + }); +}); diff --git a/packages/create-vitnode-app/src/plugin/create/create-package-json.ts b/packages/create-vitnode-app/src/plugin/create/create-package-json.ts index 83d4a622e5..439a9a5179 100644 --- a/packages/create-vitnode-app/src/plugin/create/create-package-json.ts +++ b/packages/create-vitnode-app/src/plugin/create/create-package-json.ts @@ -10,23 +10,23 @@ import { pluginPackageExports } from "./route-templates.js"; const writeJson = async (path: string, data: unknown) => writeFile(path, JSON.stringify(data, null, 2)); -export const pluginScripts = (eslint: boolean) => ({ +export const pluginScripts = (oxlint: boolean) => ({ "build:plugins": "vitnode build", dev: "vitnode dev", test: "vitest run", "test:watch": "vitest", - ...withIf(eslint, { - lint: "turbo lint", - "lint:fix": "turbo lint:fix", + ...withIf(oxlint, { + lint: "oxlint --type-aware", + "lint:fix": "oxlint --type-aware --fix", }), }); export const createPluginPackageJSON = async ({ pluginName, pluginPath, - eslint, + oxlint, }: { - eslint: boolean; + oxlint: boolean; pluginName: string; pluginPath: string; }) => { @@ -37,7 +37,7 @@ export const createPluginPackageJSON = async ({ version: "0.1.0", private: true, type: "module", - scripts: pluginScripts(eslint), + scripts: pluginScripts(oxlint), exports: pluginPackageExports(), dependencies: { "@hono/zod-openapi": versionsPackageJson.honoZodOpenapi, @@ -62,8 +62,9 @@ export const createPluginPackageJSON = async ({ "@types/react-dom": versionsPackageJson.typesReactDom, "@vitnode/config": vitnodeVersionRange, cn: versionsPackageJson.cn, - ...withIf(eslint, { - eslint: versionsPackageJson.eslint, + ...withIf(oxlint, { + oxlint: versionsPackageJson.oxlint, + "oxlint-tsgolint": versionsPackageJson.oxlintTsgolint, }), "tsc-alias": versionsPackageJson.tscAlias, typescript: versionsPackageJson.typescript, diff --git a/packages/create-vitnode-app/src/plugin/create/create-plugin-vitnode.ts b/packages/create-vitnode-app/src/plugin/create/create-plugin-vitnode.ts index 01c192b909..e6f7c6a304 100644 --- a/packages/create-vitnode-app/src/plugin/create/create-plugin-vitnode.ts +++ b/packages/create-vitnode-app/src/plugin/create/create-plugin-vitnode.ts @@ -117,9 +117,9 @@ export const createPluginVitNode = async ({ pluginPath, pluginName, install, - eslint, + oxlint, }: CreatePluginCliReturn & { - eslint: boolean; + oxlint: boolean; pluginName: string; pluginPath: string; }) => { @@ -173,31 +173,31 @@ export const createPluginVitNode = async ({ await createPluginPackageJSON({ pluginName, pluginPath, - eslint, + oxlint, }); - if (eslint) { - spinner.text = "Setting up ESLint..."; - const templateEslintPath = join( + if (oxlint) { + spinner.text = "Setting up Oxlint..."; + const templateOxlintPath = join( __dirname, "..", "..", "..", "..", "copy-of-vitnode-app", - "eslint-react", + "oxlint-react", ); - if (!existsSync(templateEslintPath)) { + if (!existsSync(templateOxlintPath)) { spinner.fail( - `\n${color.red("Error!")} ESLint template path ${color.cyan( - templateEslintPath, + `\n${color.red("Error!")} Oxlint template path ${color.cyan( + templateOxlintPath, )} does not exist.`, ); process.exit(1); } - await cp(templateEslintPath, pluginPath, { recursive: true }); + await cp(templateOxlintPath, pluginPath, { recursive: true }); } // Find the root of the monorepo (where turbo.json is located) diff --git a/packages/create-vitnode-app/src/plugin/index.ts b/packages/create-vitnode-app/src/plugin/index.ts index 4373cca0ca..fb48a1ae24 100644 --- a/packages/create-vitnode-app/src/plugin/index.ts +++ b/packages/create-vitnode-app/src/plugin/index.ts @@ -35,13 +35,13 @@ export const createPlugin = async ({ }); } - const { pluginName, pluginPath, eslint } = + const { pluginName, pluginPath, oxlint } = await validationProjectForPlugin(name); const options = await createPluginQuestionsCli(program); await createPluginVitNode({ pluginName, pluginPath, - eslint, + oxlint, ...options, }); }; diff --git a/packages/create-vitnode-app/src/plugin/validation.ts b/packages/create-vitnode-app/src/plugin/validation.ts index c5ee653c7c..2e2e5c5317 100644 --- a/packages/create-vitnode-app/src/plugin/validation.ts +++ b/packages/create-vitnode-app/src/plugin/validation.ts @@ -75,7 +75,7 @@ export const validationProjectForPlugin = async (projectPath: string) => { process.exit(1); } - let eslint = false; + let oxlint = false; try { const packageJson: PackageJSON = JSON.parse( @@ -95,9 +95,9 @@ export const validationProjectForPlugin = async (projectPath: string) => { process.exit(1); } - eslint = !!( - packageJson.dependencies?.eslint ?? - packageJson.devDependencies?.eslint ?? + oxlint = !!( + packageJson.dependencies?.oxlint ?? + packageJson.devDependencies?.oxlint ?? false ); } catch (error) { @@ -155,5 +155,5 @@ export const validationProjectForPlugin = async (projectPath: string) => { process.exit(1); } - return { pluginName, pluginPath, eslint }; + return { pluginName, pluginPath, oxlint }; }; diff --git a/packages/create-vitnode-app/src/questions.ts b/packages/create-vitnode-app/src/questions.ts index 2007275272..0f862c064f 100644 --- a/packages/create-vitnode-app/src/questions.ts +++ b/packages/create-vitnode-app/src/questions.ts @@ -7,11 +7,11 @@ import { getAvailablePackageManagers } from "./helpers/get-available-package-man export interface CreateCliReturn { docker?: boolean; - eslint: boolean; git: boolean; install: boolean; mode: "apiMonorepo" | "onlyApi" | "singleApp"; monorepo?: boolean; + oxlint: boolean; packageManager: string; } @@ -21,7 +21,7 @@ export const createQuestionsCli = async ( const optionsFromProgram = program.opts(); const options: CreateCliReturn = { packageManager: optionsFromProgram.packageManager, - eslint: optionsFromProgram.eslint, + oxlint: optionsFromProgram.oxlint, git: !optionsFromProgram.skipGit, install: !optionsFromProgram.skipInstall, docker: optionsFromProgram.docker, @@ -89,9 +89,9 @@ export const createQuestionsCli = async ( }); } - if (optionsFromProgram.eslint === undefined) { - options.eslint = await confirm({ - message: `Would you like to use ${color.blue("ESLint & Prettier")}?`, + if (optionsFromProgram.oxlint === undefined) { + options.oxlint = await confirm({ + message: `Would you like to use ${color.blue("Oxlint & Oxfmt")}?`, }); } diff --git a/packages/elasticsearch/.npmignore b/packages/elasticsearch/.npmignore index 4acef1b9b0..83f4308b4c 100644 --- a/packages/elasticsearch/.npmignore +++ b/packages/elasticsearch/.npmignore @@ -3,4 +3,4 @@ /node_modules /tsconfig.json /.swcrc -/eslint.config.mjs +/oxlint.config.ts diff --git a/packages/elasticsearch/eslint.config.mjs b/packages/elasticsearch/eslint.config.mjs deleted file mode 100644 index 8c0f6171df..0000000000 --- a/packages/elasticsearch/eslint.config.mjs +++ /dev/null @@ -1,17 +0,0 @@ -import eslintVitNode from "@vitnode/config/eslint"; -import { fileURLToPath } from "node:url"; -import { dirname } from "node:path"; - -const __dirname = dirname(fileURLToPath(import.meta.url)); - -export default [ - ...eslintVitNode, - { - languageOptions: { - parserOptions: { - project: "./tsconfig.json", - tsconfigRootDir: __dirname, - }, - }, - }, -]; diff --git a/packages/elasticsearch/oxlint.config.ts b/packages/elasticsearch/oxlint.config.ts new file mode 100644 index 0000000000..cc255d0ebc --- /dev/null +++ b/packages/elasticsearch/oxlint.config.ts @@ -0,0 +1,7 @@ +import vitnode, { ignorePatterns } from "@vitnode/config/oxlint"; +import { defineConfig } from "oxlint"; + +export default defineConfig({ + extends: [vitnode], + ignorePatterns, +}); diff --git a/packages/elasticsearch/package.json b/packages/elasticsearch/package.json index 078e753943..ac57420fb9 100644 --- a/packages/elasticsearch/package.json +++ b/packages/elasticsearch/package.json @@ -26,8 +26,8 @@ "scripts": { "build:plugins": "vitnode build", "dev:plugins": "vitnode dev", - "lint": "eslint .", - "lint:fix": "eslint . --fix" + "lint": "oxlint --type-aware", + "lint:fix": "oxlint --type-aware --fix" }, "dependencies": { "@elastic/elasticsearch": "^9.5.1" @@ -37,7 +37,8 @@ "@swc/core": "^1.16.13", "@vitnode/config": "workspace:*", "@vitnode/core": "workspace:*", - "eslint": "^10.11.0", + "oxlint": "^1.87.0", + "oxlint-tsgolint": "^7.0.2003", "tsc-alias": "^1.9.7", "typescript": "^6.0.3" } diff --git a/packages/node-cron/.npmignore b/packages/node-cron/.npmignore index 10004b73c0..1ec76b9bc1 100644 --- a/packages/node-cron/.npmignore +++ b/packages/node-cron/.npmignore @@ -3,4 +3,4 @@ /node_modules /tsconfig.json /.swcrc -/eslint.config.mjs \ No newline at end of file +/oxlint.config.ts \ No newline at end of file diff --git a/packages/node-cron/eslint.config.mjs b/packages/node-cron/eslint.config.mjs deleted file mode 100644 index 8c0f6171df..0000000000 --- a/packages/node-cron/eslint.config.mjs +++ /dev/null @@ -1,17 +0,0 @@ -import eslintVitNode from "@vitnode/config/eslint"; -import { fileURLToPath } from "node:url"; -import { dirname } from "node:path"; - -const __dirname = dirname(fileURLToPath(import.meta.url)); - -export default [ - ...eslintVitNode, - { - languageOptions: { - parserOptions: { - project: "./tsconfig.json", - tsconfigRootDir: __dirname, - }, - }, - }, -]; diff --git a/packages/node-cron/oxlint.config.ts b/packages/node-cron/oxlint.config.ts new file mode 100644 index 0000000000..cc255d0ebc --- /dev/null +++ b/packages/node-cron/oxlint.config.ts @@ -0,0 +1,7 @@ +import vitnode, { ignorePatterns } from "@vitnode/config/oxlint"; +import { defineConfig } from "oxlint"; + +export default defineConfig({ + extends: [vitnode], + ignorePatterns, +}); diff --git a/packages/node-cron/package.json b/packages/node-cron/package.json index 209fdf4cc9..59800775f1 100644 --- a/packages/node-cron/package.json +++ b/packages/node-cron/package.json @@ -27,8 +27,8 @@ "scripts": { "build:plugins": "vitnode build", "dev:plugins": "vitnode dev", - "lint": "eslint .", - "lint:fix": "eslint . --fix" + "lint": "oxlint --type-aware", + "lint:fix": "oxlint --type-aware --fix" }, "dependencies": { "node-cron": "^4.6.0" @@ -38,7 +38,8 @@ "@swc/core": "^1.16.13", "@vitnode/config": "workspace:*", "@vitnode/core": "workspace:*", - "eslint": "^10.11.0", + "oxlint": "^1.87.0", + "oxlint-tsgolint": "^7.0.2003", "tsc-alias": "^1.9.7", "typescript": "^6.0.3" } diff --git a/packages/nodemailer/.npmignore b/packages/nodemailer/.npmignore index 10004b73c0..1ec76b9bc1 100644 --- a/packages/nodemailer/.npmignore +++ b/packages/nodemailer/.npmignore @@ -3,4 +3,4 @@ /node_modules /tsconfig.json /.swcrc -/eslint.config.mjs \ No newline at end of file +/oxlint.config.ts \ No newline at end of file diff --git a/packages/nodemailer/eslint.config.mjs b/packages/nodemailer/eslint.config.mjs deleted file mode 100644 index 8c0f6171df..0000000000 --- a/packages/nodemailer/eslint.config.mjs +++ /dev/null @@ -1,17 +0,0 @@ -import eslintVitNode from "@vitnode/config/eslint"; -import { fileURLToPath } from "node:url"; -import { dirname } from "node:path"; - -const __dirname = dirname(fileURLToPath(import.meta.url)); - -export default [ - ...eslintVitNode, - { - languageOptions: { - parserOptions: { - project: "./tsconfig.json", - tsconfigRootDir: __dirname, - }, - }, - }, -]; diff --git a/packages/nodemailer/oxlint.config.ts b/packages/nodemailer/oxlint.config.ts new file mode 100644 index 0000000000..cc255d0ebc --- /dev/null +++ b/packages/nodemailer/oxlint.config.ts @@ -0,0 +1,7 @@ +import vitnode, { ignorePatterns } from "@vitnode/config/oxlint"; +import { defineConfig } from "oxlint"; + +export default defineConfig({ + extends: [vitnode], + ignorePatterns, +}); diff --git a/packages/nodemailer/package.json b/packages/nodemailer/package.json index 60a218dd20..5a25785159 100644 --- a/packages/nodemailer/package.json +++ b/packages/nodemailer/package.json @@ -26,11 +26,11 @@ "scripts": { "build:plugins": "vitnode build", "dev:plugins": "vitnode dev", - "lint": "eslint .", - "lint:fix": "eslint . --fix" + "lint": "oxlint --type-aware", + "lint:fix": "oxlint --type-aware --fix" }, "dependencies": { - "nodemailer": "^10.0.13" + "nodemailer": "^10.0.16" }, "devDependencies": { "@swc/cli": "^0.8.1", @@ -38,7 +38,8 @@ "@types/nodemailer": "^8.0.2", "@vitnode/config": "workspace:*", "@vitnode/core": "workspace:*", - "eslint": "^10.11.0", + "oxlint": "^1.87.0", + "oxlint-tsgolint": "^7.0.2003", "tsc-alias": "^1.9.7", "typescript": "^6.0.3" } diff --git a/packages/resend/.npmignore b/packages/resend/.npmignore index 10004b73c0..1ec76b9bc1 100644 --- a/packages/resend/.npmignore +++ b/packages/resend/.npmignore @@ -3,4 +3,4 @@ /node_modules /tsconfig.json /.swcrc -/eslint.config.mjs \ No newline at end of file +/oxlint.config.ts \ No newline at end of file diff --git a/packages/resend/eslint.config.mjs b/packages/resend/eslint.config.mjs deleted file mode 100644 index 8c0f6171df..0000000000 --- a/packages/resend/eslint.config.mjs +++ /dev/null @@ -1,17 +0,0 @@ -import eslintVitNode from "@vitnode/config/eslint"; -import { fileURLToPath } from "node:url"; -import { dirname } from "node:path"; - -const __dirname = dirname(fileURLToPath(import.meta.url)); - -export default [ - ...eslintVitNode, - { - languageOptions: { - parserOptions: { - project: "./tsconfig.json", - tsconfigRootDir: __dirname, - }, - }, - }, -]; diff --git a/packages/resend/oxlint.config.ts b/packages/resend/oxlint.config.ts new file mode 100644 index 0000000000..cc255d0ebc --- /dev/null +++ b/packages/resend/oxlint.config.ts @@ -0,0 +1,7 @@ +import vitnode, { ignorePatterns } from "@vitnode/config/oxlint"; +import { defineConfig } from "oxlint"; + +export default defineConfig({ + extends: [vitnode], + ignorePatterns, +}); diff --git a/packages/resend/package.json b/packages/resend/package.json index fb08e94874..45f00cab1e 100644 --- a/packages/resend/package.json +++ b/packages/resend/package.json @@ -25,18 +25,19 @@ "scripts": { "build:plugins": "vitnode build", "dev:plugins": "vitnode dev", - "lint": "eslint .", - "lint:fix": "eslint . --fix" + "lint": "oxlint --type-aware", + "lint:fix": "oxlint --type-aware --fix" }, "dependencies": { - "resend": "^6.31.0" + "resend": "^6.32.1" }, "devDependencies": { "@swc/cli": "^0.8.1", "@swc/core": "^1.16.13", "@vitnode/config": "workspace:*", "@vitnode/core": "workspace:*", - "eslint": "^10.11.0", + "oxlint": "^1.87.0", + "oxlint-tsgolint": "^7.0.2003", "tsc-alias": "^1.9.7", "typescript": "^6.0.3" } diff --git a/packages/s3/.npmignore b/packages/s3/.npmignore index 4acef1b9b0..83f4308b4c 100644 --- a/packages/s3/.npmignore +++ b/packages/s3/.npmignore @@ -3,4 +3,4 @@ /node_modules /tsconfig.json /.swcrc -/eslint.config.mjs +/oxlint.config.ts diff --git a/packages/s3/eslint.config.mjs b/packages/s3/eslint.config.mjs deleted file mode 100644 index 8c0f6171df..0000000000 --- a/packages/s3/eslint.config.mjs +++ /dev/null @@ -1,17 +0,0 @@ -import eslintVitNode from "@vitnode/config/eslint"; -import { fileURLToPath } from "node:url"; -import { dirname } from "node:path"; - -const __dirname = dirname(fileURLToPath(import.meta.url)); - -export default [ - ...eslintVitNode, - { - languageOptions: { - parserOptions: { - project: "./tsconfig.json", - tsconfigRootDir: __dirname, - }, - }, - }, -]; diff --git a/packages/s3/oxlint.config.ts b/packages/s3/oxlint.config.ts new file mode 100644 index 0000000000..cc255d0ebc --- /dev/null +++ b/packages/s3/oxlint.config.ts @@ -0,0 +1,7 @@ +import vitnode, { ignorePatterns } from "@vitnode/config/oxlint"; +import { defineConfig } from "oxlint"; + +export default defineConfig({ + extends: [vitnode], + ignorePatterns, +}); diff --git a/packages/s3/package.json b/packages/s3/package.json index b717682f25..9de184d764 100644 --- a/packages/s3/package.json +++ b/packages/s3/package.json @@ -27,18 +27,19 @@ "scripts": { "build:plugins": "vitnode build", "dev:plugins": "vitnode dev", - "lint": "eslint .", - "lint:fix": "eslint . --fix" + "lint": "oxlint --type-aware", + "lint:fix": "oxlint --type-aware --fix" }, "dependencies": { - "@aws-sdk/client-s3": "^3.1144.0" + "@aws-sdk/client-s3": "^3.1147.0" }, "devDependencies": { "@swc/cli": "^0.8.1", "@swc/core": "^1.16.13", "@vitnode/config": "workspace:*", "@vitnode/core": "workspace:*", - "eslint": "^10.11.0", + "oxlint": "^1.87.0", + "oxlint-tsgolint": "^7.0.2003", "tsc-alias": "^1.9.7", "typescript": "^6.0.3" } diff --git a/packages/supabase-storage/.npmignore b/packages/supabase-storage/.npmignore index 4acef1b9b0..83f4308b4c 100644 --- a/packages/supabase-storage/.npmignore +++ b/packages/supabase-storage/.npmignore @@ -3,4 +3,4 @@ /node_modules /tsconfig.json /.swcrc -/eslint.config.mjs +/oxlint.config.ts diff --git a/packages/supabase-storage/eslint.config.mjs b/packages/supabase-storage/eslint.config.mjs deleted file mode 100644 index 8c0f6171df..0000000000 --- a/packages/supabase-storage/eslint.config.mjs +++ /dev/null @@ -1,17 +0,0 @@ -import eslintVitNode from "@vitnode/config/eslint"; -import { fileURLToPath } from "node:url"; -import { dirname } from "node:path"; - -const __dirname = dirname(fileURLToPath(import.meta.url)); - -export default [ - ...eslintVitNode, - { - languageOptions: { - parserOptions: { - project: "./tsconfig.json", - tsconfigRootDir: __dirname, - }, - }, - }, -]; diff --git a/packages/supabase-storage/oxlint.config.ts b/packages/supabase-storage/oxlint.config.ts new file mode 100644 index 0000000000..cc255d0ebc --- /dev/null +++ b/packages/supabase-storage/oxlint.config.ts @@ -0,0 +1,7 @@ +import vitnode, { ignorePatterns } from "@vitnode/config/oxlint"; +import { defineConfig } from "oxlint"; + +export default defineConfig({ + extends: [vitnode], + ignorePatterns, +}); diff --git a/packages/supabase-storage/package.json b/packages/supabase-storage/package.json index 018c8bd3aa..e1818f3cb6 100644 --- a/packages/supabase-storage/package.json +++ b/packages/supabase-storage/package.json @@ -26,18 +26,19 @@ "scripts": { "build:plugins": "vitnode build", "dev:plugins": "vitnode dev", - "lint": "eslint .", - "lint:fix": "eslint . --fix" + "lint": "oxlint --type-aware", + "lint:fix": "oxlint --type-aware --fix" }, "dependencies": { - "@supabase/storage-js": "^2.117.2" + "@supabase/storage-js": "^2.117.3" }, "devDependencies": { "@swc/cli": "^0.8.1", "@swc/core": "^1.16.13", "@vitnode/config": "workspace:*", "@vitnode/core": "workspace:*", - "eslint": "^10.11.0", + "oxlint": "^1.87.0", + "oxlint-tsgolint": "^7.0.2003", "tsc-alias": "^1.9.7", "typescript": "^6.0.3" } diff --git a/packages/vitnode/eslint.config.mjs b/packages/vitnode/eslint.config.mjs deleted file mode 100644 index f6923d4ee5..0000000000 --- a/packages/vitnode/eslint.config.mjs +++ /dev/null @@ -1,29 +0,0 @@ -import eslintVitNode from "@vitnode/config/eslint"; -import eslintVitNodeReact from "@vitnode/config/eslint.react"; -import { fileURLToPath } from "node:url"; -import { dirname } from "node:path"; - -const __dirname = dirname(fileURLToPath(import.meta.url)); - -export default [ - ...eslintVitNode, - ...eslintVitNodeReact, - { - /** - * Fixtures a test reads as text. - * - * They are kept outside `src` and outside `tsconfig.json`'s `include` on - * purpose, and the typed rules need a file to be in the project - so ESLint - * has to skip them. - */ - ignores: ["test-fixtures/**"], - }, - { - languageOptions: { - parserOptions: { - project: "./tsconfig.json", - tsconfigRootDir: __dirname, - }, - }, - }, -]; diff --git a/packages/vitnode/oxlint.config.ts b/packages/vitnode/oxlint.config.ts new file mode 100644 index 0000000000..a9ebdb5790 --- /dev/null +++ b/packages/vitnode/oxlint.config.ts @@ -0,0 +1,8 @@ +import vitnode, { ignorePatterns } from "@vitnode/config/oxlint"; +import vitnodeReact from "@vitnode/config/oxlint.react"; +import { defineConfig } from "oxlint"; + +export default defineConfig({ + extends: [vitnode, vitnodeReact], + ignorePatterns: [...ignorePatterns, "test-fixtures/**"], +}); diff --git a/packages/vitnode/package.json b/packages/vitnode/package.json index 230161d937..fe4aab1e0a 100644 --- a/packages/vitnode/package.json +++ b/packages/vitnode/package.json @@ -40,7 +40,7 @@ "drizzle-kit": "^1.0.0-rc.4", "drizzle-orm": "^1.0.0-rc.4", "hono": "^4.9.x", - "motion": "^13.x.x", + "motion": "^14.x.x", "react": "^19.2.x", "react-dom": "^19.2.x", "typescript": "^6.x.x", @@ -50,33 +50,34 @@ "devDependencies": { "@hono/zod-openapi": "^1.6.3", "@hono/zod-validator": "^0.9.1", - "@react-email/ui": "^6.11.0", + "@react-email/ui": "^6.11.1", "@swc/cli": "^0.8.1", "@swc/core": "^1.16.13", "@tanstack/react-form": "^1.33.5", - "@tanstack/react-query": "^5.104.0", + "@tanstack/react-query": "^5.104.1", "@tanstack/react-router": "^1.170.41", "@tanstack/react-start": "^1.168.60", "@testing-library/dom": "^10.4.2", "@testing-library/react": "^16.3.3", "@types/d3-shape": "^3.2.0", - "@types/node": "^26.6.3", + "@types/node": "^26.6.4", "@types/react": "^19.3.0", "@types/react-dom": "^19.3.0", "@types/sanitize-html": "^2.16.2", - "@vitejs/plugin-react": "^6.1.1", + "@vitejs/plugin-react": "^6.1.2", "@vitest/coverage-v8": "^5.0.3", "@vitnode/config": "workspace:*", "drizzle-kit": "1.0.0-rc.4", "drizzle-orm": "1.0.0-rc.4", - "eslint": "^10.11.0", - "hono": "^4.13.12", + "hono": "^4.13.13", "jiti": "^2.7.0", - "jsdom": "^30.1.1", - "lucide-react": "^1.49.0", + "jsdom": "^30.1.2", + "lucide-react": "^1.52.0", + "oxlint": "^1.87.0", + "oxlint-tsgolint": "^7.0.2003", "react": "^19.3.0", "react-dom": "^19.3.0", - "react-email": "^6.11.0", + "react-email": "^6.11.1", "sonner": "^2.0.8", "tailwindcss": "^4.3.3", "tsc-alias": "^1.9.7", @@ -84,7 +85,7 @@ "tsx": "^4.23.15", "tw-animate-css": "^1.4.0", "typescript": "^6.0.3", - "vite": "^8.3.1", + "vite": "^8.3.3", "vitest": "^5.0.3", "zod": "^4.6.5" }, @@ -215,8 +216,8 @@ "test:watch": "vitest", "test:coverage": "vitest run --coverage", "test:types": "vitest run --typecheck.only", - "lint": "eslint .", - "lint:fix": "eslint . --fix" + "lint": "oxlint --type-aware", + "lint:fix": "oxlint --type-aware --fix" }, "type": "module", "dependencies": { @@ -227,7 +228,7 @@ "@dnd-kit/utilities": "^3.2.2", "@ferrucc-io/emoji-picker": "^0.1.2", "@hono/swagger-ui": "^0.6.1", - "@inquirer/prompts": "^8.7.2", + "@inquirer/prompts": "^8.7.3", "@simplewebauthn/browser": "^14.0.0", "@simplewebauthn/server": "^14.0.3", "@tanstack/charts": "^1.0.0", @@ -245,7 +246,7 @@ "@tiptap/react": "^3.31.4", "@tiptap/starter-kit": "^3.31.4", "@tiptap/suggestion": "^3.31.4", - "ai": "^7.0.124", + "ai": "^7.0.131", "class-variance-authority": "^0.7.1", "cmdk": "^1.1.1", "cn": "^0.4.0", @@ -253,24 +254,24 @@ "cron-parser": "^5.10.1", "d3-shape": "^3.2.0", "date-fns": "^4.4.0", - "dotenv": "^18.0.5", + "dotenv": "^18.0.6", "embla-carousel-react": "^8.6.0", "input-otp": "^1.5.0", "jiti": "^2.7.0", - "motion": "^13.4.6", + "motion": "^14.0.0", "picocolors": "^1.1.1", "postgres": "^3.4.9", "rate-limiter-flexible": "^11.2.1", "react-colorful": "^5.8.1", "react-day-picker": "^10.0.2", - "react-resizable-panels": "^4.14.1", + "react-resizable-panels": "^4.14.2", "react-scan": "^0.5.7", "redis": "^6.3.0", - "sanitize-html": "^2.17.7", - "shadcn": "^4.21.0", + "sanitize-html": "^2.18.0", + "shadcn": "^4.21.4", "sharp": "^0.35.5", "use-debounce": "^10.1.1", - "use-intl": "^4.14.8" + "use-intl": "^4.14.9" }, "peerDependenciesMeta": { "@tanstack/react-query": { diff --git a/packages/vitnode/scripts/cli/commands/dev.test.ts b/packages/vitnode/scripts/cli/commands/dev.test.ts index 7ec058a0c4..922318774e 100644 --- a/packages/vitnode/scripts/cli/commands/dev.test.ts +++ b/packages/vitnode/scripts/cli/commands/dev.test.ts @@ -387,7 +387,8 @@ describe("the dev request log", () => { const { lines, ui } = plainUi(); const plugin = createDevReporter(ui, { defaultPort: 3000, root: "/app" }); let middleware: - ((req: unknown, res: unknown, next: () => void) => void) | undefined; + | ((req: unknown, res: unknown, next: () => void) => void) + | undefined; (plugin.configureServer as (server: unknown) => void)({ middlewares: { use: (fn: typeof middleware) => (middleware = fn) }, }); diff --git a/packages/vitnode/scripts/cli/ui/capture-output.ts b/packages/vitnode/scripts/cli/ui/capture-output.ts index 594a961603..9e34a609e8 100644 --- a/packages/vitnode/scripts/cli/ui/capture-output.ts +++ b/packages/vitnode/scripts/cli/ui/capture-output.ts @@ -27,7 +27,8 @@ export const captureProcessOutput = (): OutputCapture => { typeof chunk === "string" ? chunk : Buffer.from(chunk).toString("utf8"), ); const callback = rest.find(arg => typeof arg === "function") as - (() => void) | undefined; + | (() => void) + | undefined; callback?.(); return true; diff --git a/packages/vitnode/scripts/i18n-update-ai.ts b/packages/vitnode/scripts/i18n-update-ai.ts index 529a1b276a..dcb871caa9 100644 --- a/packages/vitnode/scripts/i18n-update-ai.ts +++ b/packages/vitnode/scripts/i18n-update-ai.ts @@ -210,7 +210,7 @@ const translateBatch = async ({ model, output: Output.array({ element: z.string() }), temperature: 0, - system: [ + instructions: [ "You are a professional software localization translator.", `Translate each string from English into ${languageName} (${code}).`, "Input is a JSON array of strings. Return a JSON array of the same length, in the same order - one translation per input string, and nothing else.", diff --git a/packages/vitnode/src/api/lib/pagination-cursor.ts b/packages/vitnode/src/api/lib/pagination-cursor.ts index a35e859f38..ebe1d80e3c 100644 --- a/packages/vitnode/src/api/lib/pagination-cursor.ts +++ b/packages/vitnode/src/api/lib/pagination-cursor.ts @@ -18,7 +18,12 @@ export interface PaginationCursor { } type CursorKind = - "bigint" | "boolean" | "number" | "string" | "temporal" | "uuid"; + | "bigint" + | "boolean" + | "number" + | "string" + | "temporal" + | "uuid"; const KIND_BY_DATA_TYPE: Record = { bigint: "bigint", diff --git a/packages/vitnode/src/api/lib/permission-staff.ts b/packages/vitnode/src/api/lib/permission-staff.ts index dd4c4802a1..5b9d686b97 100644 --- a/packages/vitnode/src/api/lib/permission-staff.ts +++ b/packages/vitnode/src/api/lib/permission-staff.ts @@ -1,5 +1,6 @@ export type PermissionStaffEntryInput = - string | { dependsOn?: string[]; permission: string }; + | string + | { dependsOn?: string[]; permission: string }; /** * Author-facing module map - what a plugin declares in its API config. diff --git a/packages/vitnode/src/api/models/email.ts b/packages/vitnode/src/api/models/email.ts index caa948a1b8..3086963b72 100644 --- a/packages/vitnode/src/api/models/email.ts +++ b/packages/vitnode/src/api/models/email.ts @@ -52,7 +52,8 @@ export type EmailModelSendArgs = { locale?: string; replyTo?: string; subject: - ((props: Pick) => string) | string; + | ((props: Pick) => string) + | string; } & (EmailModelSendArgsWithEmail | EmailModelSendArgsWithUser); export interface BuiltEmail { diff --git a/packages/vitnode/src/api/models/passkey-store.ts b/packages/vitnode/src/api/models/passkey-store.ts index d95540aee7..ec774a98b9 100644 --- a/packages/vitnode/src/api/models/passkey-store.ts +++ b/packages/vitnode/src/api/models/passkey-store.ts @@ -9,7 +9,9 @@ import { import { core_users, core_users_sso } from "@/database/users"; export type PasskeyCeremony = - "admin_sign_in" | "authentication" | "registration"; + | "admin_sign_in" + | "authentication" + | "registration"; export interface PasskeyRecord { aaguid: null | string; diff --git a/packages/vitnode/src/api/models/sso-connection-store.ts b/packages/vitnode/src/api/models/sso-connection-store.ts index bbcb863936..06ed928d2d 100644 --- a/packages/vitnode/src/api/models/sso-connection-store.ts +++ b/packages/vitnode/src/api/models/sso-connection-store.ts @@ -66,7 +66,10 @@ export interface SsoAccountProfile { } export type SsoLinkOutcome = - "already_linked" | "linked" | "provider_in_use" | "taken"; + | "already_linked" + | "linked" + | "provider_in_use" + | "taken"; export type SsoDisconnectOutcome = "blocked" | "disconnected" | "not_found"; diff --git a/packages/vitnode/src/api/models/sso-connection.ts b/packages/vitnode/src/api/models/sso-connection.ts index 969d2e3cb4..8536c60ad7 100644 --- a/packages/vitnode/src/api/models/sso-connection.ts +++ b/packages/vitnode/src/api/models/sso-connection.ts @@ -72,7 +72,11 @@ export class SsoConnectionError extends Error { } export type SsoFieldOutcome = - "failed" | "missing" | "not_allowed" | "unchanged" | "updated"; + | "failed" + | "missing" + | "not_allowed" + | "unchanged" + | "updated"; export type SsoFieldOutcomes = Partial< Record @@ -769,11 +773,13 @@ export class SsoConnectionModel { if (!providerId) continue; const adapter = this.adapters.find(one => one.id === providerId); - if (!( - connected.has(providerId) && - adapter && - supportedProfileFields(adapter).includes(field) - )) { + if ( + !( + connected.has(providerId) && + adapter && + supportedProfileFields(adapter).includes(field) + ) + ) { throw new SsoConnectionError("invalid_source", 400); } } diff --git a/packages/vitnode/src/api/modules/admin/users/routes/show.route.test.ts b/packages/vitnode/src/api/modules/admin/users/routes/show.route.test.ts index 83dd165694..3d687ad8ad 100644 --- a/packages/vitnode/src/api/modules/admin/users/routes/show.route.test.ts +++ b/packages/vitnode/src/api/modules/admin/users/routes/show.route.test.ts @@ -30,7 +30,10 @@ const CAN_VIEW: PermissionsStaffArgs = { }; type TargetShape = - "admin" | "member" | "moderator" | "root via a secondary role"; + | "admin" + | "member" + | "moderator" + | "root via a secondary role"; const entryRow = (entry: Record) => ({ permissions: [], diff --git a/packages/vitnode/src/blocks/types.ts b/packages/vitnode/src/blocks/types.ts index 6eb642f890..72e9daaf71 100644 --- a/packages/vitnode/src/blocks/types.ts +++ b/packages/vitnode/src/blocks/types.ts @@ -137,7 +137,10 @@ export interface BlockRegistry { } export type BlockRenderFallbackReason = - "invalid-data" | "not-allowed" | "unknown-type" | "unknown-variant"; + | "invalid-data" + | "not-allowed" + | "unknown-type" + | "unknown-variant"; export interface BlockRenderFallbackProps { instance: AnyBlockInstance; diff --git a/packages/vitnode/src/components/form/fields/file-order.ts b/packages/vitnode/src/components/form/fields/file-order.ts index 2a3dd74781..33e85ba4d6 100644 --- a/packages/vitnode/src/components/form/fields/file-order.ts +++ b/packages/vitnode/src/components/form/fields/file-order.ts @@ -19,7 +19,8 @@ export interface QueuedFileUpload { /** One row of a file collection: a stored file, or a slot still uploading. */ export type FileGalleryToken = - { id: number; kind: "file" } | { kind: "pending"; order: number }; + | { id: number; kind: "file" } + | { kind: "pending"; order: number }; export type FileUploadAnchor = null | number; diff --git a/packages/vitnode/src/components/switchers/langs/language-switcher-menu.tsx b/packages/vitnode/src/components/switchers/langs/language-switcher-menu.tsx index 928ea801a6..6e15278655 100644 --- a/packages/vitnode/src/components/switchers/langs/language-switcher-menu.tsx +++ b/packages/vitnode/src/components/switchers/langs/language-switcher-menu.tsx @@ -22,7 +22,8 @@ interface LanguageSwitcherPendingProps { } export type LanguageSwitcherMenuProps = ( - LanguageSwitcherPendingProps | LanguageSwitcherReadyProps + | LanguageSwitcherPendingProps + | LanguageSwitcherReadyProps ) & { isPending?: boolean; options: LocaleConfig[]; diff --git a/packages/vitnode/src/components/table/data-table-content.tsx b/packages/vitnode/src/components/table/data-table-content.tsx index d0e209bfff..c3455825f3 100644 --- a/packages/vitnode/src/components/table/data-table-content.tsx +++ b/packages/vitnode/src/components/table/data-table-content.tsx @@ -50,7 +50,8 @@ interface DisplayColumnDef extends ColumnDefBase { } export type ColumnDef = - AccessorColumnDef | DisplayColumnDef; + | AccessorColumnDef + | DisplayColumnDef; export type DataTableProps = Omit< React.ComponentProps, diff --git a/packages/vitnode/src/components/tiptap/toolbar/actions/headings-action.tsx b/packages/vitnode/src/components/tiptap/toolbar/actions/headings-action.tsx index 0748adefb7..181cfcf323 100644 --- a/packages/vitnode/src/components/tiptap/toolbar/actions/headings-action.tsx +++ b/packages/vitnode/src/components/tiptap/toolbar/actions/headings-action.tsx @@ -83,7 +83,10 @@ export const HeadingsAction = () => { editor.chain().focus().setParagraph().run(); } else { const level = parseInt(item.value.split("-")[1]) as - 1 | 2 | 3 | 4; + | 1 + | 2 + | 3 + | 4; editor.chain().focus().toggleHeading({ level }).run(); } }} diff --git a/packages/vitnode/src/components/ui/calendar.tsx b/packages/vitnode/src/components/ui/calendar.tsx index de3a4baf56..e4578877a5 100644 --- a/packages/vitnode/src/components/ui/calendar.tsx +++ b/packages/vitnode/src/components/ui/calendar.tsx @@ -250,6 +250,7 @@ const CalendarDayButton = ({ const ref = React.useRef(null); React.useEffect(() => { + // eslint-disable-next-line react-you-might-not-need-an-effect/no-event-handler if (modifiers.focused) ref.current?.focus(); }, [modifiers.focused]); diff --git a/packages/vitnode/src/content/admin/spec.ts b/packages/vitnode/src/content/admin/spec.ts index c77aeba43a..289f836e17 100644 --- a/packages/vitnode/src/content/admin/spec.ts +++ b/packages/vitnode/src/content/admin/spec.ts @@ -704,7 +704,9 @@ export const buildFormSchemaFromSpec = ( // a shared `baseFieldSchema` cannot see. if (fieldSpec.kind === "group") { const current = values?.[fieldSpec.name] as - null | Record | undefined; + | null + | Record + | undefined; const object = leafObjectSchema(fieldSpec, current ?? undefined); const nullable: z.ZodType = fieldSpec.nullable ? object.nullable() diff --git a/packages/vitnode/src/content/define-admin.ts b/packages/vitnode/src/content/define-admin.ts index 4ba2a54f30..20aa4f9d57 100644 --- a/packages/vitnode/src/content/define-admin.ts +++ b/packages/vitnode/src/content/define-admin.ts @@ -392,7 +392,8 @@ export const resolveAdmin = ( const thumbnailField = admin.list?.thumbnailField ?? null; if (thumbnailField !== null) { const descriptor = fields[thumbnailField] as - ContentFieldDescriptor | undefined; + | ContentFieldDescriptor + | undefined; if ( descriptor?.kind !== "file" || descriptor.multiple || diff --git a/packages/vitnode/src/content/define.ts b/packages/vitnode/src/content/define.ts index 2c4298fbc1..41366dffe0 100644 --- a/packages/vitnode/src/content/define.ts +++ b/packages/vitnode/src/content/define.ts @@ -168,8 +168,8 @@ export const defineContentType = < // intersection member is not an inference site, so inferring the object is // the only way the three `enabled` literals survive. TEditorial extends - ContentEditorialConfig | { enabled: false } = - { enabled: false }, + | ContentEditorialConfig + | { enabled: false } = { enabled: false }, // The whole `localization` argument, inferred as one type, for the same reason // `TSearch` and `TEditorial` are: an intersection member is not an inference // site, so this is the only way the `enabled` literal survives - and every diff --git a/packages/vitnode/src/content/events.test-d.ts b/packages/vitnode/src/content/events.test-d.ts index f35a0cbea8..ef407a1682 100644 --- a/packages/vitnode/src/content/events.test-d.ts +++ b/packages/vitnode/src/content/events.test-d.ts @@ -13,9 +13,7 @@ type ArticleEvents = ContentEventsFor; // known, which is exactly what makes the whole approach viable. declare module "../api/models/events" { // eslint-disable-next-line @typescript-eslint/no-empty-object-type -- the members come from the mapped type - interface VitNodeEvents extends ContentEventsFor< - typeof testArticleContentType - > {} + interface VitNodeEvents extends ArticleEvents {} } describe("content events", () => { diff --git a/packages/vitnode/src/content/files.ts b/packages/vitnode/src/content/files.ts index 84589ba3c3..2e7c021cc0 100644 --- a/packages/vitnode/src/content/files.ts +++ b/packages/vitnode/src/content/files.ts @@ -45,7 +45,9 @@ export const zodContentFileDescriptor = z.strictObject({ }); export type ContentFileFieldValue = - ContentFileDescriptor | ContentFileDescriptor[] | null; + | ContentFileDescriptor + | ContentFileDescriptor[] + | null; /** The response schema for {@link ContentFileFieldValue}. */ export const zodContentFileFieldValue = z.union([ diff --git a/packages/vitnode/src/content/paths.ts b/packages/vitnode/src/content/paths.ts index edd46bf881..f0c3296a16 100644 --- a/packages/vitnode/src/content/paths.ts +++ b/packages/vitnode/src/content/paths.ts @@ -98,7 +98,8 @@ export const isContentFileCollection = ( /** Every descriptor that can be the near side of a generated junction table. */ export type ContentCollectionReference = - ContentFileField | ContentReferenceField; + | ContentFileField + | ContentReferenceField; /** The to-many reference descriptor, or `null` when the field is not one. */ export const asContentReferenceCollection = ( diff --git a/packages/vitnode/src/content/revisions.ts b/packages/vitnode/src/content/revisions.ts index 1f710489a3..14f5f4023f 100644 --- a/packages/vitnode/src/content/revisions.ts +++ b/packages/vitnode/src/content/revisions.ts @@ -56,7 +56,8 @@ export interface ContentTranslationRevisionSnapshot { } export type ContentAnyRevisionSnapshot = - ContentRevisionSnapshot | ContentTranslationRevisionSnapshot; + | ContentRevisionSnapshot + | ContentTranslationRevisionSnapshot; /** One revision as the history list shows it - metadata, never the snapshot. */ export interface ContentRevisionMeta { diff --git a/packages/vitnode/src/content/server/file-reference-http-errors.test.ts b/packages/vitnode/src/content/server/file-reference-http-errors.test.ts index f1cba4dd87..01d6b05817 100644 --- a/packages/vitnode/src/content/server/file-reference-http-errors.test.ts +++ b/packages/vitnode/src/content/server/file-reference-http-errors.test.ts @@ -350,7 +350,8 @@ describe("the OpenAPI contract for that 400", () => { return ( entry?.route.responses?.[400] as - undefined | { content?: Record } + | undefined + | { content?: Record } )?.content?.["application/json"]?.schema; }; diff --git a/packages/vitnode/src/content/server/model.ts b/packages/vitnode/src/content/server/model.ts index ef46724074..ec504354f2 100644 --- a/packages/vitnode/src/content/server/model.ts +++ b/packages/vitnode/src/content/server/model.ts @@ -69,7 +69,8 @@ export interface ContentModel { | undefined; publicService: - ((c: Context) => ContentPublicService) | undefined; + | ((c: Context) => ContentPublicService) + | undefined; /** The definition's schemas, re-typed for this concrete content type. */ schemas: ContentSchemas; /** Typed repository bound to the request's database handle. */ @@ -95,13 +96,14 @@ export interface ContentModel { translationSchemas: ContentTranslationSchemas | null; translationService: - ((c: Context) => ContentTranslationModel) | undefined; + | ((c: Context) => ContentTranslationModel) + | undefined; translationTable: ContentTranslationTableFor | null; } -export type AnyContentModel = ContentModel< - // Deliberately `any` rather than `AnyContentTypeDefinition`, and +export type AnyContentModel = + ContentModel`, `findMany` returns // `ContentListRow` - so it is genuinely invariant. It only ever @@ -120,8 +122,7 @@ export type AnyContentModel = ContentModel< // against it, which is the comparison being avoided. Read the definition // back through `contentDefinitionOf` instead. // eslint-disable-next-line @typescript-eslint/no-explicit-any - any ->; + any>; export const contentDefinitionOf = ( model: AnyContentModel, diff --git a/packages/vitnode/src/content/server/search-sync.ts b/packages/vitnode/src/content/server/search-sync.ts index 9a716a7922..d1e3c2ceaa 100644 --- a/packages/vitnode/src/content/server/search-sync.ts +++ b/packages/vitnode/src/content/server/search-sync.ts @@ -23,7 +23,12 @@ import { /** Which mutation just returned. Not an event name: nothing is emitted here. */ export type ContentSearchOperation = - "create" | "delete" | "publish" | "restore" | "unpublish" | "update"; + | "create" + | "delete" + | "publish" + | "restore" + | "unpublish" + | "update"; export interface ContentSearchSyncInput { advanced?: Record; diff --git a/packages/vitnode/src/content/server/table.test-d.ts b/packages/vitnode/src/content/server/table.test-d.ts index 10709e708e..6e2c18aac0 100644 --- a/packages/vitnode/src/content/server/table.test-d.ts +++ b/packages/vitnode/src/content/server/table.test-d.ts @@ -11,7 +11,6 @@ import { createContentTable } from "./table"; const categories = createContentTable(testCategoryContentType); -// eslint-disable-next-line @typescript-eslint/no-unused-vars -- read as a type const articles = createContentTable(testArticleContentType, { references: { category: () => categories.id }, }); diff --git a/packages/vitnode/src/content/server/translation-advanced-revisions.test.ts b/packages/vitnode/src/content/server/translation-advanced-revisions.test.ts index aaa31ae41f..dfd4e63275 100644 --- a/packages/vitnode/src/content/server/translation-advanced-revisions.test.ts +++ b/packages/vitnode/src/content/server/translation-advanced-revisions.test.ts @@ -480,9 +480,7 @@ describe("restoring a localized group", () => { }); expect(model.update.mock.calls[0][2]).not.toHaveProperty("status"); - expect((outcome?.row as unknown as { status: string }).status).toBe( - "published", - ); + expect(outcome?.row).toHaveProperty("status", "published"); // The version still moves forward, and the new revision records the state. expect(outcome?.version).toBe(2); expect(revisions.written[0].snapshot.publication?.status).toBe("published"); diff --git a/packages/vitnode/src/content/types.ts b/packages/vitnode/src/content/types.ts index 7596924a9d..a9cfb7b5a1 100644 --- a/packages/vitnode/src/content/types.ts +++ b/packages/vitnode/src/content/types.ts @@ -2004,4 +2004,5 @@ export type ContentPublicFilterInput = Partial< * allowlist error. */ export type ContentPublicOrderableFieldName = - "publishedAt" | PublicFlatName>; + | "publishedAt" + | PublicFlatName>; diff --git a/packages/vitnode/src/editor/block-picker/catalog.ts b/packages/vitnode/src/editor/block-picker/catalog.ts index 0a2be06c57..2c962ef40b 100644 --- a/packages/vitnode/src/editor/block-picker/catalog.ts +++ b/packages/vitnode/src/editor/block-picker/catalog.ts @@ -52,7 +52,10 @@ export interface MergedBlockCatalog { } export type BlockCatalogNotice = - "empty" | "no_results" | "none_installed" | null; + | "empty" + | "no_results" + | "none_installed" + | null; export const LAYOUT_CATALOG_GROUP_ID = "layout"; diff --git a/packages/vitnode/src/editor/zones/drop-state.ts b/packages/vitnode/src/editor/zones/drop-state.ts index 3b021218bd..9a4b776e79 100644 --- a/packages/vitnode/src/editor/zones/drop-state.ts +++ b/packages/vitnode/src/editor/zones/drop-state.ts @@ -1,5 +1,9 @@ export type ZoneDropState = - "idle" | "inserting" | "over" | "rejected" | "targeting"; + | "idle" + | "inserting" + | "over" + | "rejected" + | "targeting"; export interface ZoneDropStateArgs { active: boolean; diff --git a/packages/vitnode/src/framework/admin-nav/generate.test.ts b/packages/vitnode/src/framework/admin-nav/generate.test.ts index c0029071b6..aea6617ba7 100644 --- a/packages/vitnode/src/framework/admin-nav/generate.test.ts +++ b/packages/vitnode/src/framework/admin-nav/generate.test.ts @@ -104,7 +104,7 @@ describe("generateAdminNavSource", () => { it("tells whoever opens it not to edit it", () => { const source = generateAdminNavSource([]); - expect(source.startsWith("/* eslint-disable */")).toBe(true); + expect(source.startsWith("/* oxlint-disable */")).toBe(true); expect(source).toContain("generated by VitNode"); }); }); diff --git a/packages/vitnode/src/framework/admin-nav/generate.ts b/packages/vitnode/src/framework/admin-nav/generate.ts index 330ea34c77..f6313d1e4f 100644 --- a/packages/vitnode/src/framework/admin-nav/generate.ts +++ b/packages/vitnode/src/framework/admin-nav/generate.ts @@ -8,7 +8,7 @@ const TYPES_SPECIFIER = "@vitnode/core/lib/plugin"; /** Where the generated file imports the projection's one consumer from. */ const RUNTIME_SPECIFIER = "@vitnode/core/tanstack/admin"; -const HEADER = `/* eslint-disable */ +const HEADER = `/* oxlint-disable */ // This file is generated by VitNode. Do not edit it, and do not format it. // diff --git a/packages/vitnode/src/framework/api-registry/generate.ts b/packages/vitnode/src/framework/api-registry/generate.ts index 9a94723e77..b3d344b0c5 100644 --- a/packages/vitnode/src/framework/api-registry/generate.ts +++ b/packages/vitnode/src/framework/api-registry/generate.ts @@ -7,7 +7,7 @@ export const API_REGISTRY_SPECIFIER = "@vitnode/core/lib/fetcher/registry"; /** The one type every plugin's `config.api.ts` exports for this file to read. */ export const API_PLUGIN_TYPE = "VitNodeApiPlugin"; -const HEADER = `/* eslint-disable */ +const HEADER = `/* oxlint-disable */ // This file is generated by VitNode. Do not edit it, and do not format it. // @@ -80,7 +80,7 @@ export const PLUGIN_API_REGISTRY_PATH = "types/api-registry.gen.d.ts"; /** What that file imports, relative to itself. */ export const PLUGIN_API_CONFIG_SPECIFIER = "../src/config.api"; -const PLUGIN_HEADER = `/* eslint-disable */ +const PLUGIN_HEADER = `/* oxlint-disable */ // This file is generated by VitNode. Do not edit it, and do not format it. // diff --git a/packages/vitnode/src/framework/blocks-registry/generate.test.ts b/packages/vitnode/src/framework/blocks-registry/generate.test.ts index aa30a33173..c2292ebefd 100644 --- a/packages/vitnode/src/framework/blocks-registry/generate.test.ts +++ b/packages/vitnode/src/framework/blocks-registry/generate.test.ts @@ -52,7 +52,7 @@ describe("generateBlocksRegistrySource", () => { it("marks itself generated so nobody edits or formats it", () => { expect(generateBlocksRegistrySource([core])).toMatch( - /^\/\* eslint-disable \*\/\n\n\/\/ This file is generated by VitNode\./, + /^\/\* oxlint-disable \*\/\n\n\/\/ This file is generated by VitNode\./, ); }); }); diff --git a/packages/vitnode/src/framework/blocks-registry/generate.ts b/packages/vitnode/src/framework/blocks-registry/generate.ts index 57922693a7..ed02ef8d4d 100644 --- a/packages/vitnode/src/framework/blocks-registry/generate.ts +++ b/packages/vitnode/src/framework/blocks-registry/generate.ts @@ -6,7 +6,7 @@ const TYPES_SPECIFIER = "@vitnode/core/widgets"; const RUNTIME_SPECIFIER = "@vitnode/core/widgets"; -const HEADER = `/* eslint-disable */ +const HEADER = `/* oxlint-disable */ // This file is generated by VitNode. Do not edit it, and do not format it. // diff --git a/packages/vitnode/src/framework/content-modules/generate.ts b/packages/vitnode/src/framework/content-modules/generate.ts index 582c079748..4749b820d5 100644 --- a/packages/vitnode/src/framework/content-modules/generate.ts +++ b/packages/vitnode/src/framework/content-modules/generate.ts @@ -5,7 +5,7 @@ export interface ResolvedContentModule { specifier: string; } -const HEADER = `/* eslint-disable */ +const HEADER = `/* oxlint-disable */ // This file is generated by VitNode. Do not edit it, and do not format it. // diff --git a/packages/vitnode/src/framework/content-registry/generate.test.ts b/packages/vitnode/src/framework/content-registry/generate.test.ts index 9b8eae15ee..c096e3ca6a 100644 --- a/packages/vitnode/src/framework/content-registry/generate.test.ts +++ b/packages/vitnode/src/framework/content-registry/generate.test.ts @@ -155,7 +155,7 @@ describe("generateContentRegistrySource", () => { it("tells whoever opens it not to edit it", () => { const source = generateContentRegistrySource([]); - expect(source.startsWith("/* eslint-disable */")).toBe(true); + expect(source.startsWith("/* oxlint-disable */")).toBe(true); expect(source).toContain("generated by VitNode"); }); }); diff --git a/packages/vitnode/src/framework/content-registry/generate.ts b/packages/vitnode/src/framework/content-registry/generate.ts index cad3ba64e9..eb39ca1c90 100644 --- a/packages/vitnode/src/framework/content-registry/generate.ts +++ b/packages/vitnode/src/framework/content-registry/generate.ts @@ -8,7 +8,7 @@ const TYPES_SPECIFIER = "@vitnode/core/lib/plugin"; /** Where the generated file imports the projection's one consumer from. */ const RUNTIME_SPECIFIER = "@vitnode/core/content"; -const HEADER = `/* eslint-disable */ +const HEADER = `/* oxlint-disable */ // This file is generated by VitNode. Do not edit it, and do not format it. // diff --git a/packages/vitnode/src/framework/package-messages/generate.test.ts b/packages/vitnode/src/framework/package-messages/generate.test.ts index 0343f47b97..072595ed66 100644 --- a/packages/vitnode/src/framework/package-messages/generate.test.ts +++ b/packages/vitnode/src/framework/package-messages/generate.test.ts @@ -35,7 +35,7 @@ describe("generatePackageMessagesSource", () => { it("tells whoever opens it not to edit it", () => { const source = generatePackageMessagesSource([]); - expect(source.startsWith("/* eslint-disable */")).toBe(true); + expect(source.startsWith("/* oxlint-disable */")).toBe(true); expect(source).toContain("generated by VitNode"); }); diff --git a/packages/vitnode/src/framework/package-messages/generate.ts b/packages/vitnode/src/framework/package-messages/generate.ts index 4b47d00668..43e6f8d238 100644 --- a/packages/vitnode/src/framework/package-messages/generate.ts +++ b/packages/vitnode/src/framework/package-messages/generate.ts @@ -6,7 +6,7 @@ import { CORE_LOCALE_FILES, CORE_PLUGIN_ID } from "./core.js"; /** Where the generated file imports its type from. */ const TYPES_SPECIFIER = "@vitnode/core/lib/i18n/types"; -const HEADER = `/* eslint-disable */ +const HEADER = `/* oxlint-disable */ // This file is generated by VitNode. Do not edit it, and do not format it. // diff --git a/packages/vitnode/src/framework/plugin-routes/generate.test.ts b/packages/vitnode/src/framework/plugin-routes/generate.test.ts index 25c0f0c9ab..ca2f7d8662 100644 --- a/packages/vitnode/src/framework/plugin-routes/generate.test.ts +++ b/packages/vitnode/src/framework/plugin-routes/generate.test.ts @@ -8,7 +8,7 @@ import { generatePluginRoutesSource } from "./generate.js"; const modules = (...pluginIds: string[]): ResolvedPluginRoutesModule[] => pluginIds.map(pluginId => ({ pluginId, specifier: `${pluginId}/routes` })); -const HEADER = `/* eslint-disable */ +const HEADER = `/* oxlint-disable */ // This file is generated by VitNode. Do not edit it, and do not format it. // diff --git a/packages/vitnode/src/framework/plugin-routes/generate.ts b/packages/vitnode/src/framework/plugin-routes/generate.ts index 117a7e6ca9..bccb0b372c 100644 --- a/packages/vitnode/src/framework/plugin-routes/generate.ts +++ b/packages/vitnode/src/framework/plugin-routes/generate.ts @@ -8,7 +8,7 @@ import { /** Where the generated file imports its type from. */ const TYPES_SPECIFIER = "@vitnode/core/routing"; -const HEADER = `/* eslint-disable */ +const HEADER = `/* oxlint-disable */ // This file is generated by VitNode. Do not edit it, and do not format it. // diff --git a/packages/vitnode/src/framework/vite/projections.test.ts b/packages/vitnode/src/framework/vite/projections.test.ts index b34cba2a13..4657b71b10 100644 --- a/packages/vitnode/src/framework/vite/projections.test.ts +++ b/packages/vitnode/src/framework/vite/projections.test.ts @@ -248,7 +248,7 @@ describe("the generated bytes are canonical as written", () => { FILES.forEach(file => { expect(generated[file]).toContain("generated by VitNode"); expect(generated[file]).toContain("do not format it"); - expect(generated[file].startsWith("/* eslint-disable */")).toBe(true); + expect(generated[file].startsWith("/* oxlint-disable */")).toBe(true); }); }); diff --git a/packages/vitnode/src/framework/vite/tailwind-sources.ts b/packages/vitnode/src/framework/vite/tailwind-sources.ts index df9f0c7462..22fcbe86b0 100644 --- a/packages/vitnode/src/framework/vite/tailwind-sources.ts +++ b/packages/vitnode/src/framework/vite/tailwind-sources.ts @@ -55,7 +55,7 @@ const buildsTailwind = ( code: string, id: string, readStylesheet: (path: string) => null | string, - seen: Set = new Set(), + seen = new Set(), ): boolean => { if (TAILWIND_IMPORT.test(code)) return true; diff --git a/packages/vitnode/src/lib/ai/assist-client.ts b/packages/vitnode/src/lib/ai/assist-client.ts index e301b150a5..7cec892863 100644 --- a/packages/vitnode/src/lib/ai/assist-client.ts +++ b/packages/vitnode/src/lib/ai/assist-client.ts @@ -23,7 +23,8 @@ export const AI_CLIENT_ERROR_CODES = [ ] as const; export type AiClientErrorCode = - "unknown" | (typeof AI_CLIENT_ERROR_CODES)[number]; + | "unknown" + | (typeof AI_CLIENT_ERROR_CODES)[number]; export class AiRequestError extends Error { constructor(code: AiClientErrorCode, status: number) { diff --git a/packages/vitnode/src/lib/ai/suggestion.ts b/packages/vitnode/src/lib/ai/suggestion.ts index 75f3403d6c..9dde301bb7 100644 --- a/packages/vitnode/src/lib/ai/suggestion.ts +++ b/packages/vitnode/src/lib/ai/suggestion.ts @@ -2,7 +2,9 @@ import { fingerprint } from "@/content/hash"; import { getLangValue, upsertLangValue } from "@/lib/helpers/multi-lang"; type FieldValue = - string | undefined | { languageCode: string; value: string }[]; + | string + | undefined + | { languageCode: string; value: string }[]; export const fieldTextOf = (value: unknown, language: string): string => typeof value === "string" || Array.isArray(value) diff --git a/packages/vitnode/src/lib/ai/translation-freshness.ts b/packages/vitnode/src/lib/ai/translation-freshness.ts index 4af6b33e5e..a0d70692ed 100644 --- a/packages/vitnode/src/lib/ai/translation-freshness.ts +++ b/packages/vitnode/src/lib/ai/translation-freshness.ts @@ -2,7 +2,11 @@ import { fingerprint } from "@/content/hash"; import { getLangValue } from "@/lib/helpers/multi-lang"; export type TranslationFreshness = - "edited" | "fresh" | "missing" | "outdated" | "untracked"; + | "edited" + | "fresh" + | "missing" + | "outdated" + | "untracked"; export interface TranslationSourceRecord { field: string; @@ -12,7 +16,9 @@ export interface TranslationSourceRecord { } type FieldValue = - string | undefined | { languageCode: string; value: string }[]; + | string + | undefined + | { languageCode: string; value: string }[]; const textOf = (value: unknown, locale: string): string => typeof value === "string" || Array.isArray(value) diff --git a/packages/vitnode/src/lib/colors.ts b/packages/vitnode/src/lib/colors.ts index 8728dfa03c..673d897b40 100644 --- a/packages/vitnode/src/lib/colors.ts +++ b/packages/vitnode/src/lib/colors.ts @@ -1,4 +1,3 @@ -/* eslint-disable no-useless-assignment */ export interface HslColor { h: number; l: number; diff --git a/packages/vitnode/src/lib/emoji-icon.ts b/packages/vitnode/src/lib/emoji-icon.ts index f23628d3af..997a2fefd8 100644 --- a/packages/vitnode/src/lib/emoji-icon.ts +++ b/packages/vitnode/src/lib/emoji-icon.ts @@ -1,5 +1,6 @@ export type EmojiIconValue = - { type: "emoji"; value: string } | { type: "icon"; value: string }; + | { type: "emoji"; value: string } + | { type: "icon"; value: string }; export const EMOJI_ICON_MAX_LENGTH = 64; diff --git a/packages/vitnode/src/lib/fetcher/contract.ts b/packages/vitnode/src/lib/fetcher/contract.ts index 9ec3af0d0a..606c74578e 100644 --- a/packages/vitnode/src/lib/fetcher/contract.ts +++ b/packages/vitnode/src/lib/fetcher/contract.ts @@ -114,8 +114,9 @@ type EndpointsOfModule< M extends ApiModuleContract, > = M extends ApiModuleContract ? IsTypedModule extends true - ? | EndpointsOfModules> - | EndpointsOfRoutes + ? + | EndpointsOfModules> + | EndpointsOfRoutes : never : never; diff --git a/packages/vitnode/src/lib/files/resolve-alt.ts b/packages/vitnode/src/lib/files/resolve-alt.ts index adaaf3e19a..cdbded38bc 100644 --- a/packages/vitnode/src/lib/files/resolve-alt.ts +++ b/packages/vitnode/src/lib/files/resolve-alt.ts @@ -4,7 +4,11 @@ export interface ImageAltOccurrence { } export type ImageAltSource = - "decorative" | "fallback" | "file" | "missing" | "occurrence"; + | "decorative" + | "fallback" + | "file" + | "missing" + | "occurrence"; export interface ResolvedImageAlt { alt: string; diff --git a/packages/vitnode/src/lib/i18n/locale-routing.ts b/packages/vitnode/src/lib/i18n/locale-routing.ts index f9e0115f41..9bcf9eeed7 100644 --- a/packages/vitnode/src/lib/i18n/locale-routing.ts +++ b/packages/vitnode/src/lib/i18n/locale-routing.ts @@ -41,7 +41,11 @@ export interface LocaleHostContext { } export type ResolvedLocaleSource = - "accept-language" | "cookie" | "default" | "domain" | "prefix"; + | "accept-language" + | "cookie" + | "default" + | "domain" + | "prefix"; export interface ResolvedPublicPathname { internalPathname: string; diff --git a/packages/vitnode/src/tanstack/admin/ai/route-search.ts b/packages/vitnode/src/tanstack/admin/ai/route-search.ts index 6bde0a54dd..908aad2247 100644 --- a/packages/vitnode/src/tanstack/admin/ai/route-search.ts +++ b/packages/vitnode/src/tanstack/admin/ai/route-search.ts @@ -58,7 +58,8 @@ export type AiHistoryRouteSearch = AiHistoryFilters & >; export type UncheckedAiHistorySearch = - AiHistoryRouteSearch | Record; + | AiHistoryRouteSearch + | Record; const KEY_PATTERN = /^[\w@:./-]{1,255}$/; diff --git a/packages/vitnode/src/tanstack/admin/search-index/route-search.ts b/packages/vitnode/src/tanstack/admin/search-index/route-search.ts index 3bd26b30e7..cad39aec30 100644 --- a/packages/vitnode/src/tanstack/admin/search-index/route-search.ts +++ b/packages/vitnode/src/tanstack/admin/search-index/route-search.ts @@ -5,7 +5,8 @@ export interface SearchIndexRouteSearch { /** A search as it arrives, before anything has checked it. */ export type UncheckedSearchIndexSearch = - Record | SearchIndexRouteSearch; + | Record + | SearchIndexRouteSearch; export const normalizeSearchIndexRouteSearch = ( input: UncheckedSearchIndexSearch, diff --git a/packages/vitnode/src/tanstack/admin/state.ts b/packages/vitnode/src/tanstack/admin/state.ts index 9fb1f54e2d..f6924c43a2 100644 --- a/packages/vitnode/src/tanstack/admin/state.ts +++ b/packages/vitnode/src/tanstack/admin/state.ts @@ -22,7 +22,8 @@ export const ADMIN_HOME_PATH = "/admin/core"; export const ADMIN_RETURN_TO_PARAM = "returnTo"; export type AdminAccess = - AdminSessionDenied | AdminSessionGranted; + | AdminSessionDenied + | AdminSessionGranted; /** The API answered `200`: this browser holds an admin session. */ export interface AdminSessionGranted { @@ -36,11 +37,13 @@ export interface AdminSessionDenied { } export type AdminSessionFailure = - { httpStatus?: number; status: "api_error" } | { status: "network_error" }; + | { httpStatus?: number; status: "api_error" } + | { status: "network_error" }; /** Everything a read of the admin session endpoint can produce. */ export type AdminSessionRead = - AdminAccess | AdminSessionFailure; + | AdminAccess + | AdminSessionFailure; /** Whether a read produced a decision rather than a failure. */ export const isAdminAccess = ( diff --git a/packages/vitnode/src/tanstack/admin/tab-presence.ts b/packages/vitnode/src/tanstack/admin/tab-presence.ts index 94056adfeb..801f10ae9f 100644 --- a/packages/vitnode/src/tanstack/admin/tab-presence.ts +++ b/packages/vitnode/src/tanstack/admin/tab-presence.ts @@ -24,7 +24,8 @@ export const isAdminTabHeartbeatFresh = ( }; export type AdminTabHeartbeat = - { available: false } | { available: true; heartbeat: null | string }; + | { available: false } + | { available: true; heartbeat: null | string }; export const readAdminTabHeartbeat = (): AdminTabHeartbeat => { try { diff --git a/packages/vitnode/src/tanstack/admin/table-search.ts b/packages/vitnode/src/tanstack/admin/table-search.ts index 33352ef17c..9186175206 100644 --- a/packages/vitnode/src/tanstack/admin/table-search.ts +++ b/packages/vitnode/src/tanstack/admin/table-search.ts @@ -24,7 +24,8 @@ export interface AdminTableRouteSearch { } export type UncheckedAdminTableSearch = - AdminTableRouteSearch | Record; + | AdminTableRouteSearch + | Record; const rawParamsOf = ( input: UncheckedAdminTableSearch, diff --git a/packages/vitnode/src/tanstack/auth/contract.ts b/packages/vitnode/src/tanstack/auth/contract.ts index 71df8e3d78..c76d617576 100644 --- a/packages/vitnode/src/tanstack/auth/contract.ts +++ b/packages/vitnode/src/tanstack/auth/contract.ts @@ -46,14 +46,16 @@ export const ssoCallbackInputSchema = z.object({ export type SsoCallbackInput = z.infer; export type SignInResult = - { ok: false; reason: "access_denied" | "server_error" } | { ok: true }; + | { ok: false; reason: "access_denied" | "server_error" } + | { ok: true }; export type PasskeySignInOptions = z.infer< typeof zodPasskeyAuthenticationOptionsSchema >; export type PasskeySignInOptionsBody = - PasskeySignInOptions | { error: PasskeyErrorCode }; + | PasskeySignInOptions + | { error: PasskeyErrorCode }; export interface PasskeySignInInput { response: z.input; @@ -75,7 +77,8 @@ export type AdminPasskeySignInResult = | { ok: true }; export type SignOutResult = - { ok: false; reason: "server_error" } | { ok: true }; + | { ok: false; reason: "server_error" } + | { ok: true }; export type SsoStartResult = | { ok: false; reason: "server_error" | "unknown_provider" } diff --git a/packages/vitnode/src/tanstack/auth/recovery.ts b/packages/vitnode/src/tanstack/auth/recovery.ts index 2e5fd04ff2..6df1a8b805 100644 --- a/packages/vitnode/src/tanstack/auth/recovery.ts +++ b/packages/vitnode/src/tanstack/auth/recovery.ts @@ -22,7 +22,8 @@ export const normalizePasswordResetSearch = ( }; export type PasswordResetMode = - { link: RecoveryLink; mode: "change" } | { mode: "request" }; + | { link: RecoveryLink; mode: "change" } + | { mode: "request" }; export const passwordResetMode = ( search: PasswordResetSearch, diff --git a/packages/vitnode/src/tanstack/breadcrumb/model.ts b/packages/vitnode/src/tanstack/breadcrumb/model.ts index aa9d68211a..a9dfc37696 100644 --- a/packages/vitnode/src/tanstack/breadcrumb/model.ts +++ b/packages/vitnode/src/tanstack/breadcrumb/model.ts @@ -30,7 +30,8 @@ export interface RouteBreadcrumbDeferred { } export type RouteBreadcrumb = - RouteBreadcrumbDeclaration | RouteBreadcrumbDeferred; + | RouteBreadcrumbDeclaration + | RouteBreadcrumbDeferred; export const breadcrumbDeferred = ( resolve: RouteBreadcrumbDeferred["resolve"], diff --git a/packages/vitnode/src/tanstack/files/route-search.ts b/packages/vitnode/src/tanstack/files/route-search.ts index 4c24b13408..bc9371e152 100644 --- a/packages/vitnode/src/tanstack/files/route-search.ts +++ b/packages/vitnode/src/tanstack/files/route-search.ts @@ -22,7 +22,8 @@ export interface MyFilesRouteSearch { } export type UncheckedMyFilesSearch = - MyFilesRouteSearch | Record; + | MyFilesRouteSearch + | Record; const rawParamsOf = (input: UncheckedMyFilesSearch): RawMyFilesParams => ({ cursor: asSearchValue(input.cursor), diff --git a/packages/vitnode/src/tanstack/plugin-routes/plugin-routes.test.ts b/packages/vitnode/src/tanstack/plugin-routes/plugin-routes.test.ts index 2599b80ad2..04844b9553 100644 --- a/packages/vitnode/src/tanstack/plugin-routes/plugin-routes.test.ts +++ b/packages/vitnode/src/tanstack/plugin-routes/plugin-routes.test.ts @@ -428,7 +428,8 @@ describe("a nested plugin subtree", () => { // once a router initialises it - and no router is created here. for (const child of layout.children ?? []) { const parentOf = (child as AnyRoute).options.getParentRoute as - (() => AnyRoute) | undefined; + | (() => AnyRoute) + | undefined; expect(parentOf?.()).toBe(layout); } @@ -609,7 +610,8 @@ describe("a plugin route's loader", () => { const container = (tree.children ?? []).find( (child: AnyRoute) => optionsOf(child).id === PLUGIN_ROUTES_ROUTE_ID, ); - const loader = (container?.children?.[0] as AnyRoute).options.loader as ( + const [mounted] = (container?.children ?? []) as AnyRoute[]; + const loader = mounted.options.loader as ( args: unknown, ) => Promise<{ data: unknown; search: unknown }>; @@ -665,7 +667,8 @@ describe("a plugin route's loader", () => { const container = (tree.children ?? []).find( (child: AnyRoute) => optionsOf(child).id === PLUGIN_ROUTES_ROUTE_ID, ); - const loader = (container?.children?.[0] as AnyRoute).options.loader as ( + const [mounted] = (container?.children ?? []) as AnyRoute[]; + const loader = mounted.options.loader as ( args: unknown, ) => Promise; @@ -817,7 +820,8 @@ describe("a route's eager search schema", () => { const container = (tree.children ?? []).find( (child: AnyRoute) => optionsOf(child).id === PLUGIN_ROUTES_ROUTE_ID, ); - const loader = (container?.children?.[0] as AnyRoute).options.loader as ( + const [mounted] = (container?.children ?? []) as AnyRoute[]; + const loader = mounted.options.loader as ( args: unknown, ) => Promise<{ search: unknown }>; @@ -856,7 +860,8 @@ describe("a plugin route's head", () => { const container = (tree.children ?? []).find( (child: AnyRoute) => optionsOf(child).id === PLUGIN_ROUTES_ROUTE_ID, ); - const head = (container?.children?.[0] as AnyRoute).options.head as ( + const [mounted] = (container?.children ?? []) as AnyRoute[]; + const head = mounted.options.head as ( args: unknown, ) => Promise<{ meta?: { content?: string; title?: string }[] }>; diff --git a/packages/vitnode/src/tests/staff-permissions.ts b/packages/vitnode/src/tests/staff-permissions.ts index 137d0bfd80..f8cad48900 100644 --- a/packages/vitnode/src/tests/staff-permissions.ts +++ b/packages/vitnode/src/tests/staff-permissions.ts @@ -24,7 +24,8 @@ export const grantStaffPermissions = async ( userId, }: { permissions: - PermissionsStaffArgs[] | (StaffPermissionSet & { staff?: boolean }); + | PermissionsStaffArgs[] + | (StaffPermissionSet & { staff?: boolean }); type?: PermissionStaffType; userId: number; }, diff --git a/packages/vitnode/src/views/admin/views/content/actions/content-form.tsx b/packages/vitnode/src/views/admin/views/content/actions/content-form.tsx index f0f72c12e4..0473630f19 100644 --- a/packages/vitnode/src/views/admin/views/content/actions/content-form.tsx +++ b/packages/vitnode/src/views/admin/views/content/actions/content-form.tsx @@ -179,7 +179,8 @@ const ContentFormFields = ({ ); const files = data?.files as - Record | undefined; + | Record + | undefined; const localizedFields = React.useMemo( () => contentLocalizedFieldNames(spec), diff --git a/packages/vitnode/src/views/admin/views/content/form/skeleton.tsx b/packages/vitnode/src/views/admin/views/content/form/skeleton.tsx index ddfdb82a54..4932922a55 100644 --- a/packages/vitnode/src/views/admin/views/content/form/skeleton.tsx +++ b/packages/vitnode/src/views/admin/views/content/form/skeleton.tsx @@ -13,7 +13,12 @@ import { ContentFormProvider } from "./context"; import { ContentFormHeader, ContentFormSection } from "./layout-primitives"; export type ContentFormSkeletonControl = - "editor" | "input" | "list" | "media" | "switch" | "textarea"; + | "editor" + | "input" + | "list" + | "media" + | "switch" + | "textarea"; interface ContentFormSkeletonField { control: ContentFormSkeletonControl; diff --git a/packages/vitnode/src/views/admin/views/core/shared/admin-mutation.ts b/packages/vitnode/src/views/admin/views/core/shared/admin-mutation.ts index 01e5147c00..7bf0ca4030 100644 --- a/packages/vitnode/src/views/admin/views/core/shared/admin-mutation.ts +++ b/packages/vitnode/src/views/admin/views/core/shared/admin-mutation.ts @@ -4,7 +4,8 @@ export interface AdminMutationError { } export type AdminMutationResult = - { data: TData } | { error: AdminMutationError }; + | { data: TData } + | { error: AdminMutationError }; /** A thrown `500`, an unreachable API, and a rejected fetch all land here. */ export const ADMIN_MUTATION_UNREACHABLE = 500; diff --git a/packages/vitnode/src/views/auth/passkeys/webauthn.ts b/packages/vitnode/src/views/auth/passkeys/webauthn.ts index 8117cec9a9..1e87a85e1c 100644 --- a/packages/vitnode/src/views/auth/passkeys/webauthn.ts +++ b/packages/vitnode/src/views/auth/passkeys/webauthn.ts @@ -14,7 +14,10 @@ import { import React from "react"; export type PasskeyCeremonyFailure = - "already_registered" | "cancelled" | "failed" | "unsupported"; + | "already_registered" + | "cancelled" + | "failed" + | "unsupported"; export type PasskeyCeremonyResult = | { failure: PasskeyCeremonyFailure; ok: false } diff --git a/packages/vitnode/src/views/auth/password-reset/change-password-form/schema.ts b/packages/vitnode/src/views/auth/password-reset/change-password-form/schema.ts index 275fb3a09d..59b39786ec 100644 --- a/packages/vitnode/src/views/auth/password-reset/change-password-form/schema.ts +++ b/packages/vitnode/src/views/auth/password-reset/change-password-form/schema.ts @@ -22,7 +22,8 @@ export type ChangePasswordFormValues = z.infer; export type ChangePasswordSubmitValues = RecoveryLink & { password: string }; export type ChangePasswordMutationResult = - undefined | { message: "internal_server_error" | "invalid_token" }; + | undefined + | { message: "internal_server_error" | "invalid_token" }; export const changePasswordFormOutcome = ( result: ChangePasswordMutationResult, diff --git a/packages/vitnode/src/views/auth/password-reset/form/schema.ts b/packages/vitnode/src/views/auth/password-reset/form/schema.ts index 73cc2ab554..9c29128e18 100644 --- a/packages/vitnode/src/views/auth/password-reset/form/schema.ts +++ b/packages/vitnode/src/views/auth/password-reset/form/schema.ts @@ -25,7 +25,8 @@ export interface PasswordResetSubmitValues { } export type PasswordResetMutationResult = - undefined | { message: "Internal Server Error" }; + | undefined + | { message: "Internal Server Error" }; export const passwordResetFormOutcome = ( result: PasswordResetMutationResult, diff --git a/packages/vitnode/src/views/auth/settings/passkeys/passkeys-mutations.ts b/packages/vitnode/src/views/auth/settings/passkeys/passkeys-mutations.ts index b94fd945e9..27afb6b86d 100644 --- a/packages/vitnode/src/views/auth/settings/passkeys/passkeys-mutations.ts +++ b/packages/vitnode/src/views/auth/settings/passkeys/passkeys-mutations.ts @@ -14,12 +14,14 @@ export type AddPasskeyFailure = | PasskeyCeremonyFailure; export type AddPasskeyResult = - { failure: AddPasskeyFailure; ok: false } | { ok: true; passkey: Passkey }; + | { failure: AddPasskeyFailure; ok: false } + | { ok: true; passkey: Passkey }; export type AddPasskey = () => Promise; export type RenamePasskeyResult = - { failure: "not_found" | "server_error"; ok: false } | { ok: true }; + | { failure: "not_found" | "server_error"; ok: false } + | { ok: true }; export type RenamePasskey = (args: { id: number; diff --git a/packages/vitnode/src/views/auth/settings/settings-nav.ts b/packages/vitnode/src/views/auth/settings/settings-nav.ts index 816eff1753..afcb87b991 100644 --- a/packages/vitnode/src/views/auth/settings/settings-nav.ts +++ b/packages/vitnode/src/views/auth/settings/settings-nav.ts @@ -4,7 +4,12 @@ import { normalizeUrl } from "@/lib/utils"; export const SETTINGS_ROOT_HREF = "/settings"; export type SettingsNavKey = - "ai" | "devices" | "notifications" | "overview" | "security" | "sso"; + | "ai" + | "devices" + | "notifications" + | "overview" + | "security" + | "sso"; export interface SettingsNavItem { href: string; diff --git a/packages/vitnode/src/views/auth/settings/sso/sso-connections-mutations.ts b/packages/vitnode/src/views/auth/settings/sso/sso-connections-mutations.ts index a9c949430f..110cc09aff 100644 --- a/packages/vitnode/src/views/auth/settings/sso/sso-connections-mutations.ts +++ b/packages/vitnode/src/views/auth/settings/sso/sso-connections-mutations.ts @@ -37,7 +37,8 @@ export type StartSsoConnectionFailure = | "server_error"; export type StartSsoConnectionResult = - { failure: StartSsoConnectionFailure; ok: false } | { ok: true; url: string }; + | { failure: StartSsoConnectionFailure; ok: false } + | { ok: true; url: string }; export type StartSsoConnection = (args: { fields?: SsoProfileField[]; @@ -181,7 +182,8 @@ export const disconnectSsoConnectionInBrowser: DisconnectSsoConnection = }; export type SaveSsoPreferencesResult = - { failure: "invalid_source" | "server_error"; ok: false } | { ok: true }; + | { failure: "invalid_source" | "server_error"; ok: false } + | { ok: true }; export type SaveSsoPreferences = (args: { sources: Partial; @@ -214,7 +216,11 @@ export const saveSsoPreferencesInBrowser: SaveSsoPreferences = async ({ }; export type SsoFieldOutcome = - "failed" | "missing" | "not_allowed" | "unchanged" | "updated"; + | "failed" + | "missing" + | "not_allowed" + | "unchanged" + | "updated"; export type ApplySsoImportResult = | { diff --git a/packages/vitnode/src/views/auth/sign-in/form/schema.ts b/packages/vitnode/src/views/auth/sign-in/form/schema.ts index e457d7f48d..2bb8f28751 100644 --- a/packages/vitnode/src/views/auth/sign-in/form/schema.ts +++ b/packages/vitnode/src/views/auth/sign-in/form/schema.ts @@ -8,7 +8,8 @@ export interface SignInFormMessages { } export type SignInMutationResult = - undefined | { message: "access_denied" | "Internal Server Error" }; + | undefined + | { message: "access_denied" | "Internal Server Error" }; /** What the form renders after a failed attempt, or nothing at all. */ export type SignInFormError = "" | "access_denied"; diff --git a/packages/vitnode/src/views/auth/sso/callback/sso-callback-result.ts b/packages/vitnode/src/views/auth/sso/callback/sso-callback-result.ts index 549d77bb8b..9a981aad62 100644 --- a/packages/vitnode/src/views/auth/sso/callback/sso-callback-result.ts +++ b/packages/vitnode/src/views/auth/sso/callback/sso-callback-result.ts @@ -3,7 +3,8 @@ import type { SSOLinkOffer } from "../link/schema"; export type SSOCallbackFailure = "email_exists" | "unknown"; export type SSOCallbackResult = - undefined | { failure?: SSOCallbackFailure; offer?: SSOLinkOffer }; + | undefined + | { failure?: SSOCallbackFailure; offer?: SSOLinkOffer }; export const ssoCallbackResultFromStatus = ( status: number, diff --git a/packages/vitnode/src/views/auth/sso/icon.ts b/packages/vitnode/src/views/auth/sso/icon.ts index dd2e02278f..17fa548dec 100644 --- a/packages/vitnode/src/views/auth/sso/icon.ts +++ b/packages/vitnode/src/views/auth/sso/icon.ts @@ -1,5 +1,6 @@ export type SSOIconSource = - { kind: "image"; src: string } | { kind: "svg"; markup: string }; + | { kind: "image"; src: string } + | { kind: "svg"; markup: string }; const MAX_ICON_LENGTH = 16_384; diff --git a/packages/vitnode/src/views/layouts/theme/header/user/user-header-model.ts b/packages/vitnode/src/views/layouts/theme/header/user/user-header-model.ts index 49bfbfa97c..6fb1426699 100644 --- a/packages/vitnode/src/views/layouts/theme/header/user/user-header-model.ts +++ b/packages/vitnode/src/views/layouts/theme/header/user/user-header-model.ts @@ -43,7 +43,10 @@ export interface UserHeaderMenuItem { } export type UserHeaderMenuItemKey = - "admin_cp" | "files" | "my_profile" | "settings"; + | "admin_cp" + | "files" + | "my_profile" + | "settings"; /** * The signed-in visitor's menu, grouped exactly as it is drawn. diff --git a/plugins/blog/.npmignore b/plugins/blog/.npmignore index 832f1b7ed0..dd2f7d7a2d 100644 --- a/plugins/blog/.npmignore +++ b/plugins/blog/.npmignore @@ -15,4 +15,5 @@ /vitest.config.ts /tsconfig.json /scripts -/config \ No newline at end of file +/config +/oxlint.config.ts diff --git a/plugins/blog/eslint.config.mjs b/plugins/blog/eslint.config.mjs deleted file mode 100644 index b1ce26beb5..0000000000 --- a/plugins/blog/eslint.config.mjs +++ /dev/null @@ -1,19 +0,0 @@ -import eslintVitNode from "@vitnode/config/eslint"; -import eslintVitNodeReact from "@vitnode/config/eslint.react"; -import { fileURLToPath } from "node:url"; -import { dirname } from "node:path"; - -const __dirname = dirname(fileURLToPath(import.meta.url)); - -export default [ - ...eslintVitNode, - ...eslintVitNodeReact, - { - languageOptions: { - parserOptions: { - project: "./tsconfig.json", - tsconfigRootDir: __dirname, - }, - }, - }, -]; diff --git a/plugins/blog/oxlint.config.ts b/plugins/blog/oxlint.config.ts new file mode 100644 index 0000000000..92810844cf --- /dev/null +++ b/plugins/blog/oxlint.config.ts @@ -0,0 +1,8 @@ +import vitnode, { ignorePatterns } from "@vitnode/config/oxlint"; +import vitnodeReact from "@vitnode/config/oxlint.react"; +import { defineConfig } from "oxlint"; + +export default defineConfig({ + extends: [vitnode, vitnodeReact], + ignorePatterns, +}); diff --git a/plugins/blog/package.json b/plugins/blog/package.json index e4721a9ead..fa9e4107b1 100644 --- a/plugins/blog/package.json +++ b/plugins/blog/package.json @@ -30,8 +30,8 @@ "build:plugins": "vitnode build", "dev": "vitnode dev", "dev:email": "email dev --dir src/emails", - "lint": "eslint .", - "lint:fix": "eslint . --fix", + "lint": "oxlint --type-aware", + "lint:fix": "oxlint --type-aware --fix", "test": "vitest run", "test:watch": "vitest" }, @@ -40,29 +40,30 @@ "@tanstack/react-form": "^1.33.5", "@tanstack/react-router": "^1.170.41", "@vitnode/core": "workspace:*", - "ai": "^7.0.124", + "ai": "^7.0.131", "drizzle-kit": "1.0.0-rc.4", "drizzle-orm": "1.0.0-rc.4", - "hono": "^4.13.12", - "lucide-react": "^1.49.0", + "hono": "^4.13.13", + "lucide-react": "^1.52.0", "react": "^19.3.0", "react-dom": "^19.3.0", - "react-email": "^6.11.0", + "react-email": "^6.11.1", "sonner": "^2.0.8", - "use-intl": "^4.14.8", + "use-intl": "^4.14.9", "zod": "^4.6.5" }, "devDependencies": { - "@react-email/ui": "^6.11.0", + "@react-email/ui": "^6.11.1", "@swc/cli": "^0.8.1", "@swc/core": "^1.16.13", "@types/react": "^19.3.0", "@types/react-dom": "^19.3.0", - "@vitejs/plugin-react": "^6.1.1", + "@vitejs/plugin-react": "^6.1.2", "@vitnode/config": "workspace:*", "cn": "^0.4.0", - "eslint": "^10.11.0", - "jsdom": "^30.1.1", + "jsdom": "^30.1.2", + "oxlint": "^1.87.0", + "oxlint-tsgolint": "^7.0.2003", "postgres": "^3.4.9", "tsc-alias": "^1.9.7", "typescript": "^6.0.3", diff --git a/plugins/blog/types/api-registry.gen.d.ts b/plugins/blog/types/api-registry.gen.d.ts index f6a8627b11..90d62ed2e6 100644 --- a/plugins/blog/types/api-registry.gen.d.ts +++ b/plugins/blog/types/api-registry.gen.d.ts @@ -1,4 +1,4 @@ -/* eslint-disable */ +/* oxlint-disable */ // This file is generated by VitNode. Do not edit it, and do not format it. // diff --git a/plugins/example/.npmignore b/plugins/example/.npmignore index 832f1b7ed0..dd2f7d7a2d 100644 --- a/plugins/example/.npmignore +++ b/plugins/example/.npmignore @@ -15,4 +15,5 @@ /vitest.config.ts /tsconfig.json /scripts -/config \ No newline at end of file +/config +/oxlint.config.ts diff --git a/plugins/example/eslint.config.mjs b/plugins/example/eslint.config.mjs deleted file mode 100644 index b1ce26beb5..0000000000 --- a/plugins/example/eslint.config.mjs +++ /dev/null @@ -1,19 +0,0 @@ -import eslintVitNode from "@vitnode/config/eslint"; -import eslintVitNodeReact from "@vitnode/config/eslint.react"; -import { fileURLToPath } from "node:url"; -import { dirname } from "node:path"; - -const __dirname = dirname(fileURLToPath(import.meta.url)); - -export default [ - ...eslintVitNode, - ...eslintVitNodeReact, - { - languageOptions: { - parserOptions: { - project: "./tsconfig.json", - tsconfigRootDir: __dirname, - }, - }, - }, -]; diff --git a/plugins/example/oxlint.config.ts b/plugins/example/oxlint.config.ts new file mode 100644 index 0000000000..92810844cf --- /dev/null +++ b/plugins/example/oxlint.config.ts @@ -0,0 +1,8 @@ +import vitnode, { ignorePatterns } from "@vitnode/config/oxlint"; +import vitnodeReact from "@vitnode/config/oxlint.react"; +import { defineConfig } from "oxlint"; + +export default defineConfig({ + extends: [vitnode, vitnodeReact], + ignorePatterns, +}); diff --git a/plugins/example/package.json b/plugins/example/package.json index a7e55dec4c..51c9330567 100644 --- a/plugins/example/package.json +++ b/plugins/example/package.json @@ -16,8 +16,8 @@ "scripts": { "build:plugins": "vitnode build", "dev": "vitnode dev", - "lint": "eslint .", - "lint:fix": "eslint . --fix", + "lint": "oxlint --type-aware", + "lint:fix": "oxlint --type-aware --fix", "test": "vitest run", "test:watch": "vitest" }, @@ -27,12 +27,12 @@ "@vitnode/core": "workspace:*", "drizzle-kit": "1.0.0-rc.4", "drizzle-orm": "1.0.0-rc.4", - "hono": "^4.13.12", - "lucide-react": "^1.49.0", + "hono": "^4.13.13", + "lucide-react": "^1.52.0", "react": "^19.3.0", "react-dom": "^19.3.0", "sonner": "^2.0.8", - "use-intl": "^4.14.8", + "use-intl": "^4.14.9", "zod": "^4.6.5" }, "devDependencies": { @@ -42,7 +42,8 @@ "@types/react-dom": "^19.3.0", "@vitnode/config": "workspace:*", "cn": "^0.4.0", - "eslint": "^10.11.0", + "oxlint": "^1.87.0", + "oxlint-tsgolint": "^7.0.2003", "postgres": "^3.4.9", "tsc-alias": "^1.9.7", "typescript": "^6.0.3", diff --git a/plugins/example/types/api-registry.gen.d.ts b/plugins/example/types/api-registry.gen.d.ts index 7f1a69947f..7c796dda0a 100644 --- a/plugins/example/types/api-registry.gen.d.ts +++ b/plugins/example/types/api-registry.gen.d.ts @@ -1,4 +1,4 @@ -/* eslint-disable */ +/* oxlint-disable */ // This file is generated by VitNode. Do not edit it, and do not format it. // diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b054137b09..fd576c97e1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,26 +11,23 @@ importers: .: devDependencies: '@types/node': - specifier: ^26.6.3 - version: 26.6.3 + specifier: ^26.6.4 + version: 26.6.4 '@vitnode/config': specifier: workspace:* version: link:packages/config - prettier: - specifier: ^3.9.9 - version: 3.9.9 - prettier-plugin-tailwindcss: - specifier: ^0.8.1 - version: 0.8.1(prettier@3.9.9) + oxfmt: + specifier: ^0.72.0 + version: 0.72.0 react-doctor: - specifier: ^0.9.14 - version: 0.9.14(@opentelemetry/core@2.11.0(@opentelemetry/api@1.9.1))(eslint@10.11.0(jiti@2.7.0))(react@19.3.0) + specifier: ^0.9.17 + version: 0.9.17(@opentelemetry/core@2.12.0(@opentelemetry/api@1.9.1))(eslint@10.11.0(jiti@2.7.0))(oxlint-tsgolint@7.0.2003)(react@19.3.0) tsx: specifier: ^4.23.15 version: 4.23.15 turbo: - specifier: ^2.11.5 - version: 2.11.5 + specifier: ^2.11.7 + version: 2.11.7 typescript: specifier: ^6.0.3 version: 6.0.3 @@ -41,17 +38,17 @@ importers: apps/api: dependencies: '@ai-sdk/anthropic': - specifier: ^4.0.70 - version: 4.0.70(zod@4.6.5) + specifier: ^4.0.75 + version: 4.0.75(zod@4.6.5) '@ai-sdk/google': - specifier: ^4.0.87 - version: 4.0.87(zod@4.6.5) + specifier: ^4.0.90 + version: 4.0.90(zod@4.6.5) '@hono/zod-openapi': specifier: ^1.6.3 - version: 1.6.3(hono@4.13.12)(zod@4.6.5) + version: 1.6.3(hono@4.13.13)(zod@4.6.5) '@hono/zod-validator': specifier: ^0.9.1 - version: 0.9.1(hono@4.13.12)(zod@4.6.5) + version: 0.9.1(hono@4.13.13)(zod@4.6.5) '@vitnode/core': specifier: workspace:* version: link:../../packages/vitnode @@ -68,8 +65,8 @@ importers: specifier: 1.0.0-rc.4 version: 1.0.0-rc.4(@opentelemetry/api@1.9.1)(postgres@3.4.9)(zod@4.6.5) hono: - specifier: ^4.13.12 - version: 4.13.12 + specifier: ^4.13.13 + version: 4.13.13 react: specifier: ^19.3.0 version: 19.3.0 @@ -77,8 +74,8 @@ importers: specifier: ^19.3.0 version: 19.3.0(react@19.3.0) use-intl: - specifier: ^4.14.8 - version: 4.14.8(@types/react@19.3.0)(react@19.3.0) + specifier: ^4.14.9 + version: 4.14.9(@types/react@19.3.0)(react@19.3.0) ws: specifier: ^8.22.0 version: 8.22.0 @@ -88,13 +85,13 @@ importers: devDependencies: '@hono/node-server': specifier: ^2.1.3 - version: 2.1.3(hono@4.13.12) + version: 2.1.3(hono@4.13.13) '@react-email/ui': - specifier: ^6.11.0 - version: 6.11.0(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.61.1)(@types/node@26.6.3)(babel-plugin-react-compiler@1.0.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + specifier: ^6.11.1 + version: 6.11.1(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.61.1)(@types/node@26.6.4)(babel-plugin-react-compiler@1.0.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@types/node': - specifier: ^26.6.3 - version: 26.6.3 + specifier: ^26.6.4 + version: 26.6.4 '@types/react': specifier: ^19.3.0 version: 19.3.0 @@ -117,14 +114,17 @@ importers: specifier: workspace:* version: link:../../packages/nodemailer dotenv: - specifier: ^18.0.5 - version: 18.0.5 - eslint: - specifier: ^10.11.0 - version: 10.11.0(jiti@2.7.0) + specifier: ^18.0.6 + version: 18.0.6 + oxlint: + specifier: ^1.87.0 + version: 1.87.0(oxlint-tsgolint@7.0.2003) + oxlint-tsgolint: + specifier: ^7.0.2003 + version: 7.0.2003 react-email: - specifier: ^6.11.0 - version: 6.11.0(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + specifier: ^6.11.1 + version: 6.11.1(react-dom@19.3.0(react@19.3.0))(react@19.3.0) tsc-alias: specifier: ^1.9.7 version: 1.9.7 @@ -139,25 +139,25 @@ importers: dependencies: '@hono/zod-openapi': specifier: ^1.6.3 - version: 1.6.3(hono@4.13.12)(zod@4.6.5) + version: 1.6.3(hono@4.13.13)(zod@4.6.5) '@tailwindcss/vite': specifier: ^4.3.3 - version: 4.3.3(vite@8.3.1(@types/node@26.6.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) + version: 4.3.3(vite@8.3.3(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) '@tanstack/charts': specifier: ^1.0.0 - version: 1.0.0(preact@10.29.8)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(solid-js@1.9.15) + version: 1.0.0(preact@10.29.8)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(solid-js@1.9.17) '@tanstack/react-devtools': specifier: ^0.10.13 - version: 0.10.13(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(csstype@3.2.3)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(solid-js@1.9.15) + version: 0.10.13(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(csstype@3.2.3)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(solid-js@1.9.17) '@tanstack/react-form': specifier: ^1.33.5 - version: 1.33.5(@tanstack/react-start@1.168.60(crossws@0.4.12(srvx@1.0.5))(esbuild@0.28.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.12)(rollup@4.63.5)(vite@8.3.1(@types/node@26.6.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)))(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + version: 1.33.5(@tanstack/react-start@1.168.60(crossws@0.4.12(srvx@1.0.5))(esbuild@0.28.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.13)(rollup@4.63.5)(vite@8.3.3(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)))(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@tanstack/react-query': - specifier: ^5.104.0 - version: 5.104.0(react@19.3.0) + specifier: ^5.104.1 + version: 5.104.1(react@19.3.0) '@tanstack/react-query-devtools': - specifier: ^5.104.0 - version: 5.104.0(@tanstack/react-query@5.104.0(react@19.3.0))(@types/react@19.3.0)(csstype@3.2.3)(react@19.3.0) + specifier: ^5.104.1 + version: 5.104.1(@tanstack/react-query@5.104.1(react@19.3.0))(@types/react@19.3.0)(csstype@3.2.3)(react@19.3.0) '@tanstack/react-router': specifier: ^1.170.41 version: 1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0) @@ -166,10 +166,10 @@ importers: version: 1.167.2(@tanstack/react-router@1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(@tanstack/router-core@1.171.34)(csstype@3.2.3)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@tanstack/react-router-ssr-query': specifier: ^1.167.3 - version: 1.167.3(@tanstack/query-core@5.104.0)(@tanstack/react-query@5.104.0(react@19.3.0))(@tanstack/react-router@1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(@tanstack/router-core@1.171.34)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + version: 1.167.3(@tanstack/query-core@5.104.1)(@tanstack/react-query@5.104.1(react@19.3.0))(@tanstack/react-router@1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(@tanstack/router-core@1.171.34)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@tanstack/react-start': specifier: ^1.168.60 - version: 1.168.60(crossws@0.4.12(srvx@1.0.5))(esbuild@0.28.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.12)(rollup@4.63.5)(vite@8.3.1(@types/node@26.6.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) + version: 1.168.60(crossws@0.4.12(srvx@1.0.5))(esbuild@0.28.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.13)(rollup@4.63.5)(vite@8.3.3(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) '@vitnode/blog': specifier: workspace:* version: link:../../plugins/blog @@ -186,8 +186,8 @@ importers: specifier: ^3.2.0 version: 3.2.0 dotenv: - specifier: ^18.0.5 - version: 18.0.5 + specifier: ^18.0.6 + version: 18.0.6 drizzle-kit: specifier: 1.0.0-rc.4 version: 1.0.0-rc.4 @@ -195,23 +195,23 @@ importers: specifier: 1.0.0-rc.4 version: 1.0.0-rc.4(@opentelemetry/api@1.9.1)(postgres@3.4.9)(zod@4.6.5) fumadocs-core: - specifier: ^16.15.17 - version: 16.15.17(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.49.0(@types/react@19.3.0)(react@19.3.0))(next@16.3.3(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.61.1)(@types/node@26.6.3)(babel-plugin-react-compiler@1.0.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(zod@4.6.5) + specifier: ^16.16.2 + version: 16.16.2(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.52.0(@types/react@19.3.0)(react@19.3.0))(next@16.3.3(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.61.1)(@types/node@26.6.4)(babel-plugin-react-compiler@1.0.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(zod@4.6.5) fumadocs-mdx: - specifier: ^15.4.5 - version: 15.4.5(@types/mdast@4.0.4)(@types/mdx@2.0.14)(@types/react@19.3.0)(fumadocs-core@16.15.17(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.49.0(@types/react@19.3.0)(react@19.3.0))(next@16.3.3(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.61.1)(@types/node@26.6.3)(babel-plugin-react-compiler@1.0.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(zod@4.6.5))(next@16.3.3(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.61.1)(@types/node@26.6.3)(babel-plugin-react-compiler@1.0.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(react@19.3.0)(rolldown@1.2.12)(vite@8.3.1(@types/node@26.6.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) + specifier: ^15.4.6 + version: 15.4.6(@types/mdast@4.0.4)(@types/mdx@2.0.14)(@types/react@19.3.0)(fumadocs-core@16.16.2(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.52.0(@types/react@19.3.0)(react@19.3.0))(next@16.3.3(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.61.1)(@types/node@26.6.4)(babel-plugin-react-compiler@1.0.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(zod@4.6.5))(next@16.3.3(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.61.1)(@types/node@26.6.4)(babel-plugin-react-compiler@1.0.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(react@19.3.0)(rolldown@1.2.13)(vite@8.3.3(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) fumadocs-ui: - specifier: ^16.15.17 - version: 16.15.17(@types/mdx@2.0.14)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(fumadocs-core@16.15.17(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.49.0(@types/react@19.3.0)(react@19.3.0))(next@16.3.3(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.61.1)(@types/node@26.6.3)(babel-plugin-react-compiler@1.0.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(zod@4.6.5))(next@16.3.3(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.61.1)(@types/node@26.6.3)(babel-plugin-react-compiler@1.0.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(tailwindcss@4.3.3) + specifier: ^16.16.2 + version: 16.16.2(@types/mdx@2.0.14)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(fumadocs-core@16.16.2(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.52.0(@types/react@19.3.0)(react@19.3.0))(next@16.3.3(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.61.1)(@types/node@26.6.4)(babel-plugin-react-compiler@1.0.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(zod@4.6.5))(next@16.3.3(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.61.1)(@types/node@26.6.4)(babel-plugin-react-compiler@1.0.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(tailwindcss@4.3.3) hono: - specifier: ^4.13.12 - version: 4.13.12 + specifier: ^4.13.13 + version: 4.13.13 lucide-react: - specifier: ^1.49.0 - version: 1.49.0(@types/react@19.3.0)(react@19.3.0) + specifier: ^1.52.0 + version: 1.52.0(@types/react@19.3.0)(react@19.3.0) motion: - specifier: ^13.4.6 - version: 13.4.6(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + specifier: ^14.0.0 + version: 14.0.0(react-dom@19.3.0(react@19.3.0))(react@19.3.0) nitro: specifier: 3.0.260903-beta version: 3.0.260903-beta @@ -222,8 +222,8 @@ importers: specifier: ^19.3.0 version: 19.3.0(react@19.3.0) shadcn: - specifier: ^4.21.0 - version: 4.21.0(typescript@6.0.3) + specifier: ^4.21.4 + version: 4.21.4 sonner: specifier: ^2.0.8 version: 2.0.8(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) @@ -234,18 +234,15 @@ importers: specifier: ^2.8.1 version: 2.8.1 use-intl: - specifier: ^4.14.8 - version: 4.14.8(@types/react@19.3.0)(react@19.3.0) + specifier: ^4.14.9 + version: 4.14.9(@types/react@19.3.0)(react@19.3.0) zod: specifier: ^4.6.5 version: 4.6.5 devDependencies: '@tanstack/devtools-vite': specifier: ^0.8.5 - version: 0.8.5(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.3)(vite@8.3.1(@types/node@26.6.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) - '@tanstack/eslint-config': - specifier: ^0.4.0 - version: 0.4.0(@typescript-eslint/utils@8.71.0(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + version: 0.8.5(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.3)(vite@8.3.3(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) '@tanstack/router-cli': specifier: ^1.167.40 version: 1.167.40 @@ -256,8 +253,8 @@ importers: specifier: ^2.0.14 version: 2.0.14 '@types/node': - specifier: ^26.6.3 - version: 26.6.3 + specifier: ^26.6.4 + version: 26.6.4 '@types/react': specifier: ^19.3.0 version: 19.3.0 @@ -265,23 +262,29 @@ importers: specifier: ^19.3.0 version: 19.3.0(@types/react@19.3.0) '@vitejs/plugin-react': - specifier: ^6.1.1 - version: 6.1.1(babel-plugin-react-compiler@1.0.0)(vite@8.3.1(@types/node@26.6.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) + specifier: ^6.1.2 + version: 6.1.2(babel-plugin-react-compiler@1.0.0)(vite@8.3.3(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) '@vitnode/config': specifier: workspace:* version: link:../../packages/config cn: specifier: ^0.4.0 version: 0.4.0 - eslint: - specifier: ^10.11.0 - version: 10.11.0(jiti@2.7.0) jiti: specifier: ^2.7.0 version: 2.7.0 jsdom: - specifier: ^30.1.1 - version: 30.1.1 + specifier: ^30.1.2 + version: 30.1.2 + oxfmt: + specifier: ^0.72.0 + version: 0.72.0 + oxlint: + specifier: ^1.87.0 + version: 1.87.0(oxlint-tsgolint@7.0.2003) + oxlint-tsgolint: + specifier: ^7.0.2003 + version: 7.0.2003 tw-animate-css: specifier: ^1.4.0 version: 1.4.0 @@ -289,51 +292,30 @@ importers: specifier: ^6.0.2 version: 6.0.3 vite: - specifier: ^8.3.1 - version: 8.3.1(@types/node@26.6.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) + specifier: ^8.3.3 + version: 8.3.3(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) packages/config: dependencies: '@eslint-react/eslint-plugin': - specifier: ^5.23.3 - version: 5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - '@eslint/js': - specifier: ^10.0.1 - version: 10.0.1(eslint@10.11.0(jiti@2.7.0)) - '@shadcn/lint': - specifier: ^0.2.0 - version: 0.2.0(@typescript-eslint/parser@8.71.0(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.11.0(jiti@2.7.0)) - eslint-config-prettier: - specifier: ^10.1.8 - version: 10.1.8(eslint@10.11.0(jiti@2.7.0)) - eslint-plugin-jsx-a11y: - specifier: ^6.10.2 - version: 6.10.2(eslint@10.11.0(jiti@2.7.0)) + specifier: ^5.24.8 + version: 5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) eslint-plugin-perfectionist: specifier: ^5.12.1 version: 5.12.1(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - eslint-plugin-prettier: - specifier: ^5.5.6 - version: 5.5.6(eslint-config-prettier@10.1.8(eslint@10.11.0(jiti@2.7.0)))(eslint@10.11.0(jiti@2.7.0))(prettier@3.9.9) - eslint-plugin-react-hooks: - specifier: ^7.1.1 - version: 7.1.1(eslint@10.11.0(jiti@2.7.0)) eslint-plugin-react-you-might-not-need-an-effect: specifier: ^1.0.2 version: 1.0.2(eslint@10.11.0(jiti@2.7.0)) - prettier: - specifier: ^3.x.x - version: 3.9.9 - prettier-plugin-tailwindcss: - specifier: ^0.8.1 - version: 0.8.1(prettier@3.9.9) - typescript-eslint: - specifier: ^8.71.0 - version: 8.71.0(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) devDependencies: - eslint: - specifier: ^10.11.0 - version: 10.11.0(jiti@2.7.0) + oxfmt: + specifier: ^0.72.0 + version: 0.72.0 + oxlint: + specifier: ^1.87.0 + version: 1.87.0(oxlint-tsgolint@7.0.2003) + oxlint-tsgolint: + specifier: ^7.0.2003 + version: 7.0.2003 typescript: specifier: ^6.0.3 version: 6.0.3 @@ -341,8 +323,8 @@ importers: packages/create-vitnode-app: dependencies: '@inquirer/prompts': - specifier: ^8.7.2 - version: 8.7.2(@types/node@26.6.3) + specifier: ^8.7.3 + version: 8.7.3(@types/node@26.6.4) commander: specifier: ^15.0.0 version: 15.0.0 @@ -357,8 +339,8 @@ importers: version: 8.0.0 devDependencies: '@types/node': - specifier: ^26.6.3 - version: 26.6.3 + specifier: ^26.6.4 + version: 26.6.4 '@types/prompts': specifier: ^2.4.9 version: 2.4.9 @@ -368,15 +350,18 @@ importers: '@vitnode/config': specifier: workspace:* version: link:../config - eslint: - specifier: ^10.11.0 - version: 10.11.0(jiti@2.7.0) + oxlint: + specifier: ^1.87.0 + version: 1.87.0(oxlint-tsgolint@7.0.2003) + oxlint-tsgolint: + specifier: ^7.0.2003 + version: 7.0.2003 typescript: specifier: ^6.0.3 version: 6.0.3 vitest: specifier: ^5.0.3 - version: 5.0.3(@opentelemetry/api@1.9.1)(@types/node@26.6.3)(@vitest/coverage-v8@5.0.3)(jsdom@30.1.1)(vite@8.3.1(@types/node@26.6.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) + version: 5.0.3(@opentelemetry/api@1.9.1)(@types/node@26.6.4)(@vitest/coverage-v8@5.0.3)(jsdom@30.1.2)(vite@8.3.3(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) packages/elasticsearch: dependencies: @@ -396,9 +381,12 @@ importers: '@vitnode/core': specifier: workspace:* version: link:../vitnode - eslint: - specifier: ^10.11.0 - version: 10.11.0(jiti@2.7.0) + oxlint: + specifier: ^1.87.0 + version: 1.87.0(oxlint-tsgolint@7.0.2003) + oxlint-tsgolint: + specifier: ^7.0.2003 + version: 7.0.2003 tsc-alias: specifier: ^1.9.7 version: 1.9.7 @@ -424,9 +412,12 @@ importers: '@vitnode/core': specifier: workspace:* version: link:../vitnode - eslint: - specifier: ^10.11.0 - version: 10.11.0(jiti@2.7.0) + oxlint: + specifier: ^1.87.0 + version: 1.87.0(oxlint-tsgolint@7.0.2003) + oxlint-tsgolint: + specifier: ^7.0.2003 + version: 7.0.2003 tsc-alias: specifier: ^1.9.7 version: 1.9.7 @@ -437,8 +428,8 @@ importers: packages/nodemailer: dependencies: nodemailer: - specifier: ^10.0.13 - version: 10.0.13 + specifier: ^10.0.16 + version: 10.0.16 devDependencies: '@swc/cli': specifier: ^0.8.1 @@ -455,9 +446,12 @@ importers: '@vitnode/core': specifier: workspace:* version: link:../vitnode - eslint: - specifier: ^10.11.0 - version: 10.11.0(jiti@2.7.0) + oxlint: + specifier: ^1.87.0 + version: 1.87.0(oxlint-tsgolint@7.0.2003) + oxlint-tsgolint: + specifier: ^7.0.2003 + version: 7.0.2003 tsc-alias: specifier: ^1.9.7 version: 1.9.7 @@ -468,8 +462,8 @@ importers: packages/resend: dependencies: resend: - specifier: ^6.31.0 - version: 6.31.0(@react-email/render@2.1.0(react-dom@19.3.0(react@19.3.0))(react@19.3.0)) + specifier: ^6.32.1 + version: 6.32.1(@react-email/render@2.1.0(react-dom@19.3.0(react@19.3.0))(react@19.3.0)) devDependencies: '@swc/cli': specifier: ^0.8.1 @@ -483,9 +477,12 @@ importers: '@vitnode/core': specifier: workspace:* version: link:../vitnode - eslint: - specifier: ^10.11.0 - version: 10.11.0(jiti@2.7.0) + oxlint: + specifier: ^1.87.0 + version: 1.87.0(oxlint-tsgolint@7.0.2003) + oxlint-tsgolint: + specifier: ^7.0.2003 + version: 7.0.2003 tsc-alias: specifier: ^1.9.7 version: 1.9.7 @@ -496,8 +493,8 @@ importers: packages/s3: dependencies: '@aws-sdk/client-s3': - specifier: ^3.1144.0 - version: 3.1144.0 + specifier: ^3.1147.0 + version: 3.1147.0 devDependencies: '@swc/cli': specifier: ^0.8.1 @@ -511,9 +508,12 @@ importers: '@vitnode/core': specifier: workspace:* version: link:../vitnode - eslint: - specifier: ^10.11.0 - version: 10.11.0(jiti@2.7.0) + oxlint: + specifier: ^1.87.0 + version: 1.87.0(oxlint-tsgolint@7.0.2003) + oxlint-tsgolint: + specifier: ^7.0.2003 + version: 7.0.2003 tsc-alias: specifier: ^1.9.7 version: 1.9.7 @@ -524,8 +524,8 @@ importers: packages/supabase-storage: dependencies: '@supabase/storage-js': - specifier: ^2.117.2 - version: 2.117.2 + specifier: ^2.117.3 + version: 2.117.3 devDependencies: '@swc/cli': specifier: ^0.8.1 @@ -539,9 +539,12 @@ importers: '@vitnode/core': specifier: workspace:* version: link:../vitnode - eslint: - specifier: ^10.11.0 - version: 10.11.0(jiti@2.7.0) + oxlint: + specifier: ^1.87.0 + version: 1.87.0(oxlint-tsgolint@7.0.2003) + oxlint-tsgolint: + specifier: ^7.0.2003 + version: 7.0.2003 tsc-alias: specifier: ^1.9.7 version: 1.9.7 @@ -571,10 +574,10 @@ importers: version: 0.1.2(@babel/core@7.29.7)(@babel/template@7.29.7)(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(tailwindcss@4.3.3) '@hono/swagger-ui': specifier: ^0.6.1 - version: 0.6.1(hono@4.13.12) + version: 0.6.1(hono@4.13.13) '@inquirer/prompts': - specifier: ^8.7.2 - version: 8.7.2(@types/node@26.6.3) + specifier: ^8.7.3 + version: 8.7.3(@types/node@26.6.4) '@simplewebauthn/browser': specifier: ^14.0.0 version: 14.0.0 @@ -583,7 +586,7 @@ importers: version: 14.0.3 '@tanstack/charts': specifier: ^1.0.0 - version: 1.0.0(preact@10.29.8)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(solid-js@1.9.15) + version: 1.0.0(preact@10.29.8)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(solid-js@1.9.17) '@tiptap/extension-audio': specifier: ^3.31.4 version: 3.31.4(@tiptap/core@3.31.4(@tiptap/pm@3.31.4)) @@ -627,8 +630,8 @@ importers: specifier: ^3.31.4 version: 3.31.4(@floating-ui/dom@1.8.0)(@tiptap/core@3.31.4(@tiptap/pm@3.31.4))(@tiptap/pm@3.31.4) ai: - specifier: ^7.0.124 - version: 7.0.124(zod@4.6.5) + specifier: ^7.0.131 + version: 7.0.131(zod@4.6.5) class-variance-authority: specifier: ^0.7.1 version: 0.7.1 @@ -651,8 +654,8 @@ importers: specifier: ^4.4.0 version: 4.4.0 dotenv: - specifier: ^18.0.5 - version: 18.0.5 + specifier: ^18.0.6 + version: 18.0.6 embla-carousel-react: specifier: ^8.6.0 version: 8.6.0(react@19.3.0) @@ -663,8 +666,8 @@ importers: specifier: ^2.7.0 version: 2.7.0 motion: - specifier: ^13.4.6 - version: 13.4.6(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + specifier: ^14.0.0 + version: 14.0.0(react-dom@19.3.0(react@19.3.0))(react@19.3.0) picocolors: specifier: ^1.1.1 version: 1.1.1 @@ -681,39 +684,39 @@ importers: specifier: ^10.0.2 version: 10.0.2(@types/react@19.3.0)(react@19.3.0) react-resizable-panels: - specifier: ^4.14.1 - version: 4.14.1(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + specifier: ^4.14.2 + version: 4.14.2(react-dom@19.3.0(react@19.3.0))(react@19.3.0) react-scan: specifier: ^0.5.7 - version: 0.5.7(@opentelemetry/core@2.11.0(@opentelemetry/api@1.9.1))(esbuild@0.27.7)(eslint@10.11.0(jiti@2.7.0))(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.12)(rollup@4.63.5)(vite@8.3.1(@types/node@26.6.3)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) + version: 0.5.7(@opentelemetry/core@2.12.0(@opentelemetry/api@1.9.1))(esbuild@0.27.7)(eslint@10.11.0(jiti@2.7.0))(oxlint-tsgolint@7.0.2003)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.12)(rollup@4.63.5)(vite@8.3.3(@types/node@26.6.4)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) redis: specifier: ^6.3.0 version: 6.3.0(@opentelemetry/api@1.9.1) sanitize-html: - specifier: ^2.17.7 - version: 2.17.7 + specifier: ^2.18.0 + version: 2.18.0 shadcn: - specifier: ^4.21.0 - version: 4.21.0(typescript@6.0.3) + specifier: ^4.21.4 + version: 4.21.4 sharp: specifier: ^0.35.5 - version: 0.35.5(@types/node@26.6.3) + version: 0.35.5(@types/node@26.6.4) use-debounce: specifier: ^10.1.1 version: 10.1.1(react@19.3.0) use-intl: - specifier: ^4.14.8 - version: 4.14.8(@types/react@19.3.0)(react@19.3.0) + specifier: ^4.14.9 + version: 4.14.9(@types/react@19.3.0)(react@19.3.0) devDependencies: '@hono/zod-openapi': specifier: ^1.6.3 - version: 1.6.3(hono@4.13.12)(zod@4.6.5) + version: 1.6.3(hono@4.13.13)(zod@4.6.5) '@hono/zod-validator': specifier: ^0.9.1 - version: 0.9.1(hono@4.13.12)(zod@4.6.5) + version: 0.9.1(hono@4.13.13)(zod@4.6.5) '@react-email/ui': - specifier: ^6.11.0 - version: 6.11.0(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.61.1)(@types/node@26.6.3)(babel-plugin-react-compiler@1.0.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + specifier: ^6.11.1 + version: 6.11.1(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.61.1)(@types/node@26.6.4)(babel-plugin-react-compiler@1.0.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@swc/cli': specifier: ^0.8.1 version: 0.8.1(@swc/core@1.16.13(@swc/helpers@0.5.23))(chokidar@5.0.0) @@ -722,16 +725,16 @@ importers: version: 1.16.13(@swc/helpers@0.5.23) '@tanstack/react-form': specifier: ^1.33.5 - version: 1.33.5(@tanstack/react-start@1.168.60(crossws@0.4.12(srvx@1.0.5))(esbuild@0.27.7)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.12)(rollup@4.63.5)(vite@8.3.1(@types/node@26.6.3)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)))(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + version: 1.33.5(@tanstack/react-start@1.168.60(crossws@0.4.12(srvx@1.0.5))(esbuild@0.27.7)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.13)(rollup@4.63.5)(vite@8.3.3(@types/node@26.6.4)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)))(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@tanstack/react-query': - specifier: ^5.104.0 - version: 5.104.0(react@19.3.0) + specifier: ^5.104.1 + version: 5.104.1(react@19.3.0) '@tanstack/react-router': specifier: ^1.170.41 version: 1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@tanstack/react-start': specifier: ^1.168.60 - version: 1.168.60(crossws@0.4.12(srvx@1.0.5))(esbuild@0.27.7)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.12)(rollup@4.63.5)(vite@8.3.1(@types/node@26.6.3)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) + version: 1.168.60(crossws@0.4.12(srvx@1.0.5))(esbuild@0.27.7)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.13)(rollup@4.63.5)(vite@8.3.3(@types/node@26.6.4)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) '@testing-library/dom': specifier: ^10.4.2 version: 10.4.2 @@ -742,8 +745,8 @@ importers: specifier: ^3.2.0 version: 3.2.0 '@types/node': - specifier: ^26.6.3 - version: 26.6.3 + specifier: ^26.6.4 + version: 26.6.4 '@types/react': specifier: ^19.3.0 version: 19.3.0 @@ -754,8 +757,8 @@ importers: specifier: ^2.16.2 version: 2.16.2 '@vitejs/plugin-react': - specifier: ^6.1.1 - version: 6.1.1(babel-plugin-react-compiler@1.0.0)(vite@8.3.1(@types/node@26.6.3)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) + specifier: ^6.1.2 + version: 6.1.2(babel-plugin-react-compiler@1.0.0)(vite@8.3.3(@types/node@26.6.4)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) '@vitest/coverage-v8': specifier: ^5.0.3 version: 5.0.3(vitest@5.0.3) @@ -768,18 +771,21 @@ importers: drizzle-orm: specifier: 1.0.0-rc.4 version: 1.0.0-rc.4(@opentelemetry/api@1.9.1)(postgres@3.4.9)(zod@4.6.5) - eslint: - specifier: ^10.11.0 - version: 10.11.0(jiti@2.7.0) hono: - specifier: ^4.13.12 - version: 4.13.12 + specifier: ^4.13.13 + version: 4.13.13 jsdom: - specifier: ^30.1.1 - version: 30.1.1 + specifier: ^30.1.2 + version: 30.1.2 lucide-react: - specifier: ^1.49.0 - version: 1.49.0(@types/react@19.3.0)(react@19.3.0) + specifier: ^1.52.0 + version: 1.52.0(@types/react@19.3.0)(react@19.3.0) + oxlint: + specifier: ^1.87.0 + version: 1.87.0(oxlint-tsgolint@7.0.2003) + oxlint-tsgolint: + specifier: ^7.0.2003 + version: 7.0.2003 react: specifier: ^19.3.0 version: 19.3.0 @@ -787,8 +793,8 @@ importers: specifier: ^19.3.0 version: 19.3.0(react@19.3.0) react-email: - specifier: ^6.11.0 - version: 6.11.0(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + specifier: ^6.11.1 + version: 6.11.1(react-dom@19.3.0(react@19.3.0))(react@19.3.0) sonner: specifier: ^2.0.8 version: 2.0.8(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) @@ -800,7 +806,7 @@ importers: version: 1.9.7 tsup: specifier: ^8.5.1 - version: 8.5.1(@swc/core@1.16.13(@swc/helpers@0.5.23))(jiti@2.7.0)(postcss@8.5.28)(tsx@4.23.15)(typescript@6.0.3)(yaml@2.9.1) + version: 8.5.1(@swc/core@1.16.13(@swc/helpers@0.5.23))(jiti@2.7.0)(postcss@8.5.29)(tsx@4.23.15)(typescript@6.0.3)(yaml@2.9.1) tsx: specifier: ^4.23.15 version: 4.23.15 @@ -811,11 +817,11 @@ importers: specifier: ^6.0.3 version: 6.0.3 vite: - specifier: ^8.3.1 - version: 8.3.1(@types/node@26.6.3)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) + specifier: ^8.3.3 + version: 8.3.3(@types/node@26.6.4)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) vitest: specifier: ^5.0.3 - version: 5.0.3(@opentelemetry/api@1.9.1)(@types/node@26.6.3)(@vitest/coverage-v8@5.0.3)(jsdom@30.1.1)(vite@8.3.1(@types/node@26.6.3)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) + version: 5.0.3(@opentelemetry/api@1.9.1)(@types/node@26.6.4)(@vitest/coverage-v8@5.0.3)(jsdom@30.1.2)(vite@8.3.3(@types/node@26.6.4)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) zod: specifier: ^4.6.5 version: 4.6.5 @@ -824,10 +830,10 @@ importers: dependencies: '@hono/zod-openapi': specifier: ^1.6.3 - version: 1.6.3(hono@4.13.12)(zod@4.6.5) + version: 1.6.3(hono@4.13.13)(zod@4.6.5) '@tanstack/react-form': specifier: ^1.33.5 - version: 1.33.5(@tanstack/react-start@1.168.60(crossws@0.4.12(srvx@1.0.5))(esbuild@0.28.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.12)(rollup@4.63.5)(vite@8.3.1(@types/node@26.6.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)))(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + version: 1.33.5(@tanstack/react-start@1.168.60(crossws@0.4.12(srvx@1.0.5))(esbuild@0.28.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.13)(rollup@4.63.5)(vite@8.3.3(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)))(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@tanstack/react-router': specifier: ^1.170.41 version: 1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0) @@ -835,8 +841,8 @@ importers: specifier: workspace:* version: link:../../packages/vitnode ai: - specifier: ^7.0.124 - version: 7.0.124(zod@4.6.5) + specifier: ^7.0.131 + version: 7.0.131(zod@4.6.5) drizzle-kit: specifier: 1.0.0-rc.4 version: 1.0.0-rc.4 @@ -844,11 +850,11 @@ importers: specifier: 1.0.0-rc.4 version: 1.0.0-rc.4(@opentelemetry/api@1.9.1)(postgres@3.4.9)(zod@4.6.5) hono: - specifier: ^4.13.12 - version: 4.13.12 + specifier: ^4.13.13 + version: 4.13.13 lucide-react: - specifier: ^1.49.0 - version: 1.49.0(@types/react@19.3.0)(react@19.3.0) + specifier: ^1.52.0 + version: 1.52.0(@types/react@19.3.0)(react@19.3.0) react: specifier: ^19.3.0 version: 19.3.0 @@ -856,21 +862,21 @@ importers: specifier: ^19.3.0 version: 19.3.0(react@19.3.0) react-email: - specifier: ^6.11.0 - version: 6.11.0(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + specifier: ^6.11.1 + version: 6.11.1(react-dom@19.3.0(react@19.3.0))(react@19.3.0) sonner: specifier: ^2.0.8 version: 2.0.8(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) use-intl: - specifier: ^4.14.8 - version: 4.14.8(@types/react@19.3.0)(react@19.3.0) + specifier: ^4.14.9 + version: 4.14.9(@types/react@19.3.0)(react@19.3.0) zod: specifier: ^4.6.5 version: 4.6.5 devDependencies: '@react-email/ui': - specifier: ^6.11.0 - version: 6.11.0(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.61.1)(@types/node@26.6.3)(babel-plugin-react-compiler@1.0.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + specifier: ^6.11.1 + version: 6.11.1(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.61.1)(@types/node@26.6.4)(babel-plugin-react-compiler@1.0.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@swc/cli': specifier: ^0.8.1 version: 0.8.1(@swc/core@1.16.13(@swc/helpers@0.5.23))(chokidar@5.0.0) @@ -884,20 +890,23 @@ importers: specifier: ^19.3.0 version: 19.3.0(@types/react@19.3.0) '@vitejs/plugin-react': - specifier: ^6.1.1 - version: 6.1.1(babel-plugin-react-compiler@1.0.0)(vite@8.3.1(@types/node@26.6.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) + specifier: ^6.1.2 + version: 6.1.2(babel-plugin-react-compiler@1.0.0)(vite@8.3.3(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) '@vitnode/config': specifier: workspace:* version: link:../../packages/config cn: specifier: ^0.4.0 version: 0.4.0 - eslint: - specifier: ^10.11.0 - version: 10.11.0(jiti@2.7.0) jsdom: - specifier: ^30.1.1 - version: 30.1.1 + specifier: ^30.1.2 + version: 30.1.2 + oxlint: + specifier: ^1.87.0 + version: 1.87.0(oxlint-tsgolint@7.0.2003) + oxlint-tsgolint: + specifier: ^7.0.2003 + version: 7.0.2003 postgres: specifier: ^3.4.9 version: 3.4.9 @@ -909,16 +918,16 @@ importers: version: 6.0.3 vitest: specifier: ^5.0.3 - version: 5.0.3(@opentelemetry/api@1.9.1)(@types/node@26.6.3)(@vitest/coverage-v8@5.0.3)(jsdom@30.1.1)(vite@8.3.1(@types/node@26.6.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) + version: 5.0.3(@opentelemetry/api@1.9.1)(@types/node@26.6.4)(@vitest/coverage-v8@5.0.3)(jsdom@30.1.2)(vite@8.3.3(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) plugins/example: dependencies: '@hono/zod-openapi': specifier: ^1.6.3 - version: 1.6.3(hono@4.13.12)(zod@4.6.5) + version: 1.6.3(hono@4.13.13)(zod@4.6.5) '@tanstack/react-form': specifier: ^1.33.5 - version: 1.33.5(@tanstack/react-start@1.168.60(crossws@0.4.12(srvx@1.0.5))(esbuild@0.28.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.12)(rollup@4.63.5)(vite@8.3.1(@types/node@26.6.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)))(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + version: 1.33.5(@tanstack/react-start@1.168.60(crossws@0.4.12(srvx@1.0.5))(esbuild@0.28.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.13)(rollup@4.63.5)(vite@8.3.3(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)))(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@vitnode/core': specifier: workspace:* version: link:../../packages/vitnode @@ -929,11 +938,11 @@ importers: specifier: 1.0.0-rc.4 version: 1.0.0-rc.4(@opentelemetry/api@1.9.1)(postgres@3.4.9)(zod@4.6.5) hono: - specifier: ^4.13.12 - version: 4.13.12 + specifier: ^4.13.13 + version: 4.13.13 lucide-react: - specifier: ^1.49.0 - version: 1.49.0(@types/react@19.3.0)(react@19.3.0) + specifier: ^1.52.0 + version: 1.52.0(@types/react@19.3.0)(react@19.3.0) react: specifier: ^19.3.0 version: 19.3.0 @@ -944,8 +953,8 @@ importers: specifier: ^2.0.8 version: 2.0.8(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) use-intl: - specifier: ^4.14.8 - version: 4.14.8(@types/react@19.3.0)(react@19.3.0) + specifier: ^4.14.9 + version: 4.14.9(@types/react@19.3.0)(react@19.3.0) zod: specifier: ^4.6.5 version: 4.6.5 @@ -968,9 +977,12 @@ importers: cn: specifier: ^0.4.0 version: 0.4.0 - eslint: - specifier: ^10.11.0 - version: 10.11.0(jiti@2.7.0) + oxlint: + specifier: ^1.87.0 + version: 1.87.0(oxlint-tsgolint@7.0.2003) + oxlint-tsgolint: + specifier: ^7.0.2003 + version: 7.0.2003 postgres: specifier: ^3.4.9 version: 3.4.9 @@ -982,44 +994,44 @@ importers: version: 6.0.3 vitest: specifier: ^5.0.3 - version: 5.0.3(@opentelemetry/api@1.9.1)(@types/node@26.6.3)(@vitest/coverage-v8@5.0.3)(jsdom@30.1.1)(vite@8.3.1(@types/node@26.6.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) + version: 5.0.3(@opentelemetry/api@1.9.1)(@types/node@26.6.4)(@vitest/coverage-v8@5.0.3)(jsdom@30.1.2)(vite@8.3.3(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) packages: - '@ai-sdk/anthropic@4.0.70': - resolution: {integrity: sha512-uCuMH4CCL3DXOL0mXyyzfV7KSIPc+ka6X7qiq5HT9hkBdMMJF9SLzfSKOshoLHiSc/xSnFYWLHwlBxMMlaITrg==} + '@ai-sdk/anthropic@4.0.75': + resolution: {integrity: sha512-4cj+Wf12DnKUAQsQFkk3W5hU3KYP8bGBjdNsji3fmLm1txrgDBQF3urpgltsik8lfUTa6nkKQYOmPrQgPXKMFw==} engines: {node: '>=22'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/gateway@4.0.102': - resolution: {integrity: sha512-kAVldt8D2AVSs7BjBZTRWHcFF71lPH8ouS6/QVlFCnKcUsShjXMdRwW6es5BfxyGewHbXfSirSc8j6efKSkIdA==} + '@ai-sdk/gateway@4.0.107': + resolution: {integrity: sha512-Z/e4lbywscQ86JHi+vgIE7paPzvCSypJFIQugADWpWZXGkQ3iZ6M08rqkjDNhj3y6Gi7O3A/sSL/Ib3LoVZv6w==} engines: {node: '>=22'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/google@4.0.87': - resolution: {integrity: sha512-s0tWc+QeSce7O2ZLm+VWSRQy16dGfqEcMIUxEWh+LFvXX3h0TLH8jxCQ2H1qhiBgTta+6A97eHPhBlRFu1xy+g==} + '@ai-sdk/google@4.0.90': + resolution: {integrity: sha512-XQNKWT6CwcgARdqTUZn0j89y0gvDMR0k2j2qhOg7ffoL+6MNViQ9t3ALoleAAKo10yMLFE7Ato0Fk+RD14i2kg==} engines: {node: '>=22'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/provider-utils@5.0.53': - resolution: {integrity: sha512-VVe6UDd0y0/B4TfauuKKzcppqvhTmSluwwUVT4WG2/8h7gFbyFm7PM4UGM+ZXe3/RI6bv+Vl1cw/7aiBoQqdxg==} + '@ai-sdk/provider-utils@5.0.56': + resolution: {integrity: sha512-F7/U1YpVXEfSxRHbxScm0PVdr9lN6GaUWHnt8ws2UjuGeuxWHqCkV25dGpHAkpDHkuIXoC+aak/OqSylKSJmHw==} engines: {node: '>=22'} peerDependencies: zod: ^3.25.76 || ^4.1.8 - '@ai-sdk/provider@4.0.21': - resolution: {integrity: sha512-UpbC9C1oht8dhfKPbVXSLRZS3DI8uk8n5v2uMjBPNIYGsC2kL045ywq7D8Hh9KgnH9rP5W/GxQdYtWScRouqlA==} + '@ai-sdk/provider@4.0.24': + resolution: {integrity: sha512-iztFqJTdxNN0ZzqZAAnVPMhRMaL1bfQFa3GIPAffWQ0+dP2FXIkyMD8kHeEI7EpB/C6TR45cqOkrS7YZZ1sATA==} engines: {node: '>=22'} - '@asamuzakjp/css-color@7.1.2': - resolution: {integrity: sha512-99DHAnXDB5z6EEK+9GMpVI7Mw4oxj97dY5bpOzMnjADQWxI8rN6TvTduuFLUhUMlS7/CfVZ06tcZsus6cltnNw==} + '@asamuzakjp/css-color@7.1.3': + resolution: {integrity: sha512-1t1U8Cm3RBl9vh3RAZhjkPaduzLSvQJRToRrxpGR/eDRW99mOREleuu+mWfiFa795bUzjwht7NgphCKTs2ianQ==} engines: {node: ^22.22.2 || ^24.15.0 || >=26.0.0} - '@asamuzakjp/dom-selector@9.2.2': - resolution: {integrity: sha512-lSWTBMjAcmu2xn5yEDU7jh6QDV+C8GEKtdJ4pIQhXh26RkKQ7S3FuQlt+zZkUbTdJ4d3XyV1kPI/G0zWXxqaqw==} + '@asamuzakjp/dom-selector@9.2.4': + resolution: {integrity: sha512-YnVzxDxLaqL0t7Q4wfcgHZjg55Wm6y5EaO7Bhu3q9J7wq/8iw3PhsnWiOQhYekx4VexnbkgWpTT6n+QIV7kczw==} engines: {node: ^22.22.2 || ^24.15.0 || >=26.0.0} '@asteasolutions/zod-to-openapi@9.1.0': @@ -1034,8 +1046,8 @@ packages: resolution: {integrity: sha512-x12Q17KYlJAd3nKf8LV5LV0vt8sh8/6YfQLGPtrGnQf/tW4jqxPGq5GPpuVitpQYM3eUR4XB7CbxZf751NMbLw==} engines: {node: '>=20.0.0'} - '@aws-sdk/client-s3@3.1144.0': - resolution: {integrity: sha512-CAicFlKAuCAUEU1tIptCTh6Eikr4rig9CWYwofZdEuJm9i24XNclgCspV4DKXlOY2nK2AMGHRt88oxmwDdNW7w==} + '@aws-sdk/client-s3@3.1147.0': + resolution: {integrity: sha512-uTrcJxnJKPr8bc1z7cMxopYSQyAm2dPfiMK+UiBr51L8MzimDxHbW/d9GR6X/LFbWDpMzfFPLhB4UohDrCSaPQ==} engines: {node: '>=20.0.0'} '@aws-sdk/core@3.978.1': @@ -1180,8 +1192,8 @@ packages: resolution: {integrity: sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==} engines: {node: '>=6.9.0'} - '@babel/helpers@7.29.7': - resolution: {integrity: sha512-1k2lAGRMfHTcwuNYcCNUmaUffmQv8KWMfh2iJUUeRlwlwH4FdNG7mfPI10NPfLHJFThE4Tyr4mv7kTNZOiPuBg==} + '@babel/helpers@7.29.10': + resolution: {integrity: sha512-EMCx3AGZ3WfAl6ht7AyQoPm2Lh+BGYEMdc4Q6Hf7uSCDOZFuLq44qNwL+iaim8VlyYhRAo4X43+weadK8ZB4Yg==} engines: {node: '>=6.9.0'} '@babel/parser@7.29.2': @@ -1189,8 +1201,8 @@ packages: engines: {node: '>=6.0.0'} hasBin: true - '@babel/parser@7.29.8': - resolution: {integrity: sha512-E8lTAYNB1KW+FH+VGJuZM1ioAx2E6oVlvQFRrf5P8ZZmsiJXYAD9vTFV7yyEURNzgh1dFqMZuO6tUwcARbqFCA==} + '@babel/parser@7.29.9': + resolution: {integrity: sha512-CjXrNHTnvqBVqHgdBysY3vk2T8tpJHb5/RMeHJBTyVa9xgugCB0CJTx/3oO8RV2QRQP391RWpB7D6hLjm8V9uA==} engines: {node: '>=6.0.0'} hasBin: true @@ -1278,8 +1290,8 @@ packages: '@borewit/text-codec@0.2.2': resolution: {integrity: sha512-DDaRehssg1aNrH4+2hnj1B7vnUGEjU6OIlyRdkMd0aUdIUvKXrJfXsy8LVtXAy7DRvYVluWbMspsRhz2lcW0mQ==} - '@bramus/specificity@2.4.2': - resolution: {integrity: sha512-ctxtJ/eA+t+6q2++vj5j7FYX3nRu311q1wfYH3xjlLOsczhlhxAg2FWNUXhpGvAw3BWo1xBcvOV6/YLc2r5FJw==} + '@bramus/specificity@2.4.3': + resolution: {integrity: sha512-0GEz8qJWokkUVYQYRukmkSHIFNoBH8QTreeHrAFbvz1XFYc3Y+puhMs8PQ5x8GNugiC2l5jvDBXKLbBIByeSBw==} hasBin: true '@cacheable/memory@2.2.0': @@ -1297,28 +1309,28 @@ packages: resolution: {integrity: sha512-grhRy3OKmniaAEKXMjua5z/EODX0MSqBGjunw8+j/3HQjOnahs2AGhvEOIYVUWcU6ScApbhLhVrQTX8XqrMrow==} engines: {node: '>=20.19.0'} - '@csstools/css-calc@3.4.1': - resolution: {integrity: sha512-EtC7SoN1j6J4E4DCwg5QgbO5TGxgxIA1RXqe+W+qUM+BUcezx9wT+/tiQ/WO2yCX4i5X+Cuf9ciJ22aP4UEwWw==} + '@csstools/css-calc@3.4.3': + resolution: {integrity: sha512-iex20d8CHVkyvg6B7UKV7uHnI2Bqo9g+EFfT9E0y+GvTvhZ/DwONJ+9aKb1dlqm0ZiGsL5RXjp0fCoJYnkeDjA==} engines: {node: '>=20.19.0'} peerDependencies: - '@csstools/css-parser-algorithms': ^4.0.1 + '@csstools/css-parser-algorithms': ^4.0.2 '@csstools/css-tokenizer': ^4.0.2 - '@csstools/css-color-parser@4.2.4': - resolution: {integrity: sha512-DyefytAZ735mX4Dq/WcDAXFtXhaEFvme0ZS9tVEBAc2whxUthXr0R0L2rmEPm59SrMBkGrFzQviBXMs/UtnABQ==} + '@csstools/css-color-parser@4.2.6': + resolution: {integrity: sha512-iiPQ3iRWwnJkeEn6RIu6SJPr7hYrLz6XZ9s/QZl+2/LI5KQVjpl2fdmDSZKuD4xP6GMmMPgHFFXg6k1Wkz0Trg==} engines: {node: '>=20.19.0'} peerDependencies: - '@csstools/css-parser-algorithms': ^4.0.1 + '@csstools/css-parser-algorithms': ^4.0.2 '@csstools/css-tokenizer': ^4.0.2 - '@csstools/css-parser-algorithms@4.0.1': - resolution: {integrity: sha512-ShL8BqPfbKJrJiKFH0xBbN0i7Nrh9HXYRuF+pzyj93R/BL2YAsUxJeqANErzqM+0JGl7vjHp+3OIgd/DL69YIA==} + '@csstools/css-parser-algorithms@4.0.2': + resolution: {integrity: sha512-40cSKyMvK+tq4qz6Awrlye2WGuOKt3FwPgtGg6KTfbHOWNw+Rk1rzbAtZnZ6IBhsY491HLRnDXwoyBAijmmILA==} engines: {node: '>=20.19.0'} peerDependencies: '@csstools/css-tokenizer': ^4.0.2 - '@csstools/css-syntax-patches-for-csstree@1.1.14': - resolution: {integrity: sha512-HpbVXyrofRXpHpgkNIjU/3EWR4WJvOkO3emNK/L6X/mTJU7bGUI3AkkpoTNXznQLp0KRjLHELTGeKI5dIkI9JQ==} + '@csstools/css-syntax-patches-for-csstree@1.1.15': + resolution: {integrity: sha512-J0u7HkVl2nzSlhsiTOp4AmwcUQ3D+mGEEKfBy/7To5/y7F2OHwyLrXfrhR0SMgr4p5Lo+eaMVSeai24zUcBIxA==} peerDependencies: css-tree: ^3.2.1 peerDependenciesMeta: @@ -1383,24 +1395,15 @@ packages: resolution: {integrity: sha512-/lE1rEPoXWjbQD1pAFyI/zZuMU1XdsxYgfZIAbQGgDabhinKYpZbQh6Qc/dYS6tEPxHOqlJ/WSQvSHZap4+I+w==} engines: {node: '>=20'} - '@emnapi/core@1.10.0': - resolution: {integrity: sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==} - '@emnapi/core@1.11.2': resolution: {integrity: sha512-TC8MkTuZUtcTSiFeuC0ksCh9QIJ5+F21MvZ4Wn4ORfYaFJ/0dsiudv5tVkejgwZlwQ39jL9WWDe2lz8x0WglOA==} - '@emnapi/runtime@1.10.0': - resolution: {integrity: sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==} - '@emnapi/runtime@1.11.2': resolution: {integrity: sha512-kyOl3X0DuTiT1h2ft8r2fYO8JYtU9a9Xis/zBSiGArNaagCOWx90N1k2wxp18czFDH+OgcWGb5ZP/XMt3dcyPA==} '@emnapi/runtime@1.11.3': resolution: {integrity: sha512-Xz4Tpyki7XyrpbUK1jR1AhdAdaXyhhY4lZ3neLodmhpuWfy2PAQN5B46sAiU4liOXGLkHypn/qU+jvfWSCYYLA==} - '@emnapi/wasi-threads@1.2.1': - resolution: {integrity: sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==} - '@emnapi/wasi-threads@1.2.2': resolution: {integrity: sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA==} @@ -1416,12 +1419,6 @@ packages: cpu: [ppc64] os: [aix] - '@esbuild/aix-ppc64@0.28.1': - resolution: {integrity: sha512-Svl7tq8k/08+p6CXPpRjQ1fKX+1odH/BQbb48fV6fj3CWHhsoIOoY87w1oHXm0qEpkIK3ZfVgp0hed3XBXzXMQ==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [aix] - '@esbuild/aix-ppc64@0.28.2': resolution: {integrity: sha512-XExcO+dvLKvVtNTibSTBej1NCAbaGhWn9Ww1ZPx80qsahhPFe/8jgWP0IchNe0F3HwkU7n8ejhH8bjonqht8mQ==} engines: {node: '>=18'} @@ -1440,12 +1437,6 @@ packages: cpu: [arm64] os: [android] - '@esbuild/android-arm64@0.28.1': - resolution: {integrity: sha512-34EGEbCIAgosYz6goLcopX6Mo7NyGv9tfwEM2/7Ce2VcVRk568iSvniGWcUXIy7wEDR1wzolcxcriFVrWYcwBg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [android] - '@esbuild/android-arm64@0.28.2': resolution: {integrity: sha512-5YfKeeI8qWfBZIX+u2xZC3Zlb3Os/gLS2sbEKM+I4ZOcsWmHS2WLysCcQZDAFRslDUU5Oiq44gf6PYN1vGwG5A==} engines: {node: '>=18'} @@ -1464,12 +1455,6 @@ packages: cpu: [arm] os: [android] - '@esbuild/android-arm@0.28.1': - resolution: {integrity: sha512-0k2F129Xdio1TdJfzJ8sy1Q47vUD2NnwdhiAf7drUN1EBTfPf4hsFCtmMgu/6m8JSzsBrlmVjudMBQqOfG8usQ==} - engines: {node: '>=18'} - cpu: [arm] - os: [android] - '@esbuild/android-arm@0.28.2': resolution: {integrity: sha512-kXXoiPVVGQcnIYGOeaovwOURpniDBpSq4A03qkQ+BMQqtGG6HYap3xne9C1O1yo4TR3qxlCX5IqqmX6fFo2Lqg==} engines: {node: '>=18'} @@ -1488,12 +1473,6 @@ packages: cpu: [x64] os: [android] - '@esbuild/android-x64@0.28.1': - resolution: {integrity: sha512-dbwY7ltSMDWsRatcRpCnES4F+im88OCUgGZjy52shC7GqHRE/cYlxNbB4Z4UpJswpcc4Qxd2oE/ufM0p61IKng==} - engines: {node: '>=18'} - cpu: [x64] - os: [android] - '@esbuild/android-x64@0.28.2': resolution: {integrity: sha512-O387ite7SzUyCcy3JQX4P4bLtEA7bLLkx+esve5JHnyYfNTxcVpXZo9jhdB0lTKN44gztELTdU7nS8Nr16Fs1Q==} engines: {node: '>=18'} @@ -1512,12 +1491,6 @@ packages: cpu: [arm64] os: [darwin] - '@esbuild/darwin-arm64@0.28.1': - resolution: {integrity: sha512-TZbWkQY7kvTAXbXUT7uVACR5cMHsDiSz9z7ZKAX/RTq/WJEk3QyRr0wZpNhBDX+/0CtdqUIJlOiodQcta6tY3Q==} - engines: {node: '>=18'} - cpu: [arm64] - os: [darwin] - '@esbuild/darwin-arm64@0.28.2': resolution: {integrity: sha512-n4KqkOQrraxHJcgjM1RvwbigfQKIKJVpM7xp+KsxiyUSrRdIXnt73VhrPAx0fV44hgfmIVKjxMN9J1t5jySVkw==} engines: {node: '>=18'} @@ -1536,12 +1509,6 @@ packages: cpu: [x64] os: [darwin] - '@esbuild/darwin-x64@0.28.1': - resolution: {integrity: sha512-zfdzgK9ACBNZLI/CyHTOx81SyNbM6YXn7rxSgX97VjyiPl9W1i4Ka4fgKECEoFCKGpvBj5qArWIGgQjOwkgskQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [darwin] - '@esbuild/darwin-x64@0.28.2': resolution: {integrity: sha512-uq6suIWYP37qzGddBKPw5QEQPi6HiLGsO7UmkpfyaYNQ3D+rN6w6WfwH+nuqcGXWvawGwxOEroO4YGnFh95azw==} engines: {node: '>=18'} @@ -1560,12 +1527,6 @@ packages: cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-arm64@0.28.1': - resolution: {integrity: sha512-wG2EA8ENdEI0qhkSZMjfqrdY+ziCYCPMmtZjjIwOmXFjmyzEHn+UUxk5of+SYsjtfs3VpnlC7QLzSI5hY/rOAw==} - engines: {node: '>=18'} - cpu: [arm64] - os: [freebsd] - '@esbuild/freebsd-arm64@0.28.2': resolution: {integrity: sha512-n+I0BTSRIoy+d6RPKnEVwql5UwBJolytvY4mAOIEJorKlqgPII8ix6slVVrfZ5Tnj7glIZvloylbB/EJPMWEXw==} engines: {node: '>=18'} @@ -1584,12 +1545,6 @@ packages: cpu: [x64] os: [freebsd] - '@esbuild/freebsd-x64@0.28.1': - resolution: {integrity: sha512-i7dZ9vQgnvSCzi/rYCXNgtF/U+eKZNJBzu3eTQbRgHnM7tNSizLOkRFAl3qzVc/Op/u5YkHHa4pf/3DOYHthLQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [freebsd] - '@esbuild/freebsd-x64@0.28.2': resolution: {integrity: sha512-78XJTJkvPs0kz2w61301PJjXl4g7q3JqiYMZ/M/yVI73EHBrCRTgkhu9oqG7vPqq+a/yadEW8aD+agKlk5xrmg==} engines: {node: '>=18'} @@ -1608,12 +1563,6 @@ packages: cpu: [arm64] os: [linux] - '@esbuild/linux-arm64@0.28.1': - resolution: {integrity: sha512-yHs+0uc8+nvEAfAfxrWQKK5peSNzBc4PegcMO0EJ2hT71uA7vB8Ihg2e77R2P7SG5uYjPbHlLLmve4LLLRCf0g==} - engines: {node: '>=18'} - cpu: [arm64] - os: [linux] - '@esbuild/linux-arm64@0.28.2': resolution: {integrity: sha512-pW4AC0P3it8c7do9MVM4p51FzHzdM/TZrerurgRcHJ2WTa1VQ1CIq18xncfpBJw4ojkiZZrKW2yIBWBP92j6Ug==} engines: {node: '>=18'} @@ -1632,12 +1581,6 @@ packages: cpu: [arm] os: [linux] - '@esbuild/linux-arm@0.28.1': - resolution: {integrity: sha512-qVXBOHQS+d5Y722GwJzJUtOLlX7km3CraOaGormF1pDtPd2C/l1SHRPgjLunLGe51Sh5YYWKMFDyV4SxgMQYTQ==} - engines: {node: '>=18'} - cpu: [arm] - os: [linux] - '@esbuild/linux-arm@0.28.2': resolution: {integrity: sha512-XlDnu2q5yoqems+xay6wSAcg9DDD7K9RLKZEBOMZm3ckNpJBvOX20tSfby8KfrrhINDyv9V2YVZKY/SpoGJI8w==} engines: {node: '>=18'} @@ -1656,12 +1599,6 @@ packages: cpu: [ia32] os: [linux] - '@esbuild/linux-ia32@0.28.1': - resolution: {integrity: sha512-d1z4ZuP0ajrfz/FhGT4vv278rX8KnPPJx8i5+AtK7TYbx9Le9F1hyzurZpkEyjkGa9dUGhQow4C1NmeGvqxN2w==} - engines: {node: '>=18'} - cpu: [ia32] - os: [linux] - '@esbuild/linux-ia32@0.28.2': resolution: {integrity: sha512-CYbnj78HsIeA+DhgUKgFCfvNsTHFhMMrinUrMZpDXJXKN8T3XViTZ/+wtHeVxEWY8ewSzTFN+nRmSwO2tZaLUQ==} engines: {node: '>=18'} @@ -1680,12 +1617,6 @@ packages: cpu: [loong64] os: [linux] - '@esbuild/linux-loong64@0.28.1': - resolution: {integrity: sha512-M5sRjUVZrkm1OAPR3dlOYzNmN+loZKGVi1VUQGrwuqLcbR6qeAz+famMhjASeH3YVKvZz+zT1jlh/keC3Rj/lg==} - engines: {node: '>=18'} - cpu: [loong64] - os: [linux] - '@esbuild/linux-loong64@0.28.2': resolution: {integrity: sha512-buwkd8nsph4R+ajRvw0qM5Hja/TXQow3ptzWO2EbG/cqcIkHloRrdlBtQlshyYGTNFvfkfJ5tpPLVkY4DtsPfQ==} engines: {node: '>=18'} @@ -1704,12 +1635,6 @@ packages: cpu: [mips64el] os: [linux] - '@esbuild/linux-mips64el@0.28.1': - resolution: {integrity: sha512-mRObBZeHh2OxcBFPWE/FjylkRgZdYuiTR3vaTozquCGOH14iP9oN4x4Ge81CoIDYQrXmIxpFumJBu5MtZpnQJQ==} - engines: {node: '>=18'} - cpu: [mips64el] - os: [linux] - '@esbuild/linux-mips64el@0.28.2': resolution: {integrity: sha512-ZVykbDyk7519VwiNb9Lcj9m8XM6v5V9uKPvrEMkkEedVewf+0itkhahp4HDpgERXhwLRpWFypsGbG/J8s0QjJA==} engines: {node: '>=18'} @@ -1728,12 +1653,6 @@ packages: cpu: [ppc64] os: [linux] - '@esbuild/linux-ppc64@0.28.1': - resolution: {integrity: sha512-slScBsMAb3GFDcdrCgLwZtPYRoH2H/youv10QiZyRjmsP48fznoveWytSgCI/R0ZcUgpc0ZhIUEx6LHts8yrfQ==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [linux] - '@esbuild/linux-ppc64@0.28.2': resolution: {integrity: sha512-CAXl+Dtd9UUuJd8pKKdwh6MLm3MUMiqMPmhZ3tTSXPqfyQ3vDl6R5hZdZ/kYojK4ofXtdfSv1tFq8XzWx3heNQ==} engines: {node: '>=18'} @@ -1752,12 +1671,6 @@ packages: cpu: [riscv64] os: [linux] - '@esbuild/linux-riscv64@0.28.1': - resolution: {integrity: sha512-kw0owk1o0GFETUJyW0jc0G4Yzs0BHZn0JDZ8JRT088vjJYX777BAs1fDGxAC+q831qOs2DTC96mNsG2opdfyyQ==} - engines: {node: '>=18'} - cpu: [riscv64] - os: [linux] - '@esbuild/linux-riscv64@0.28.2': resolution: {integrity: sha512-GeXCej4IQtU1B+QlDV8W/RRvbzI3O/Stss+/bCXv4lZls5WGRtu2a+3JkA3i4qIUlMXpcHebWpF8AkJhATowuA==} engines: {node: '>=18'} @@ -1776,12 +1689,6 @@ packages: cpu: [s390x] os: [linux] - '@esbuild/linux-s390x@0.28.1': - resolution: {integrity: sha512-/lAIjX8aYFRByhh6L5rYtPEDRqa9de/4V/juOXcta5frjvzXO4/sqEtyytse0g3zZFuWu5cDN0MkLz2qRDD2Ag==} - engines: {node: '>=18'} - cpu: [s390x] - os: [linux] - '@esbuild/linux-s390x@0.28.2': resolution: {integrity: sha512-3H1weTYZPxt/WOhByszQZybS9w5lKzUn1FDMsgEChbHWQwHYQQRfBxgCcZvPhjHfKyJjIievvMmEUawJrdY9Dg==} engines: {node: '>=18'} @@ -1800,12 +1707,6 @@ packages: cpu: [x64] os: [linux] - '@esbuild/linux-x64@0.28.1': - resolution: {integrity: sha512-u/anNYF2mmVOEDwLtnQ1wOr3EZ9sTNGLWrsYGYwHWzGA3Si84IOkHXlbWTD1NB+9/1lcnweYKO54uhxZydNzfA==} - engines: {node: '>=18'} - cpu: [x64] - os: [linux] - '@esbuild/linux-x64@0.28.2': resolution: {integrity: sha512-4xTZr1FUmSoQW4XIWmit3tzQrUTZM+N3P0XV8xROKYF50XfI7xeO90+1bZvNwxIufQ9hDQVRJH5YhgPVF8A/HQ==} engines: {node: '>=18'} @@ -1824,12 +1725,6 @@ packages: cpu: [arm64] os: [netbsd] - '@esbuild/netbsd-arm64@0.28.1': - resolution: {integrity: sha512-oks0DYbLwWMmaakTsCb+zL4E+aHRVLom9IJZOAthMQEPiQmydXHkziYEsGYRx0uNV/IjEKGAV941JzH02pflqw==} - engines: {node: '>=18'} - cpu: [arm64] - os: [netbsd] - '@esbuild/netbsd-arm64@0.28.2': resolution: {integrity: sha512-sSATRjPeDBg3pdgHoQfoYBob11Kk1FGa9lui5RIHZCoCkJa9QKlvl3/vKz2usCmYYjs7ymJR/2Nnsqe+Hjt5nw==} engines: {node: '>=18'} @@ -1848,12 +1743,6 @@ packages: cpu: [x64] os: [netbsd] - '@esbuild/netbsd-x64@0.28.1': - resolution: {integrity: sha512-aeL6lAnN89Hz43Mlh1G8ARasbuoYvSITDEx0tHh5b7jJnHcssqgjy9Yx430GDpmCa6OyrKoS0aNRjKundRizGg==} - engines: {node: '>=18'} - cpu: [x64] - os: [netbsd] - '@esbuild/netbsd-x64@0.28.2': resolution: {integrity: sha512-lqnzCV+mM0gIADaKihiCg6ifgfU2L3h5E33rNQBN1Y4MaVGnzryzmvvf7UHxprpQdE8hpqLolJ9Rl+SkIRDpyw==} engines: {node: '>=18'} @@ -1872,12 +1761,6 @@ packages: cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-arm64@0.28.1': - resolution: {integrity: sha512-MEFJe5C3R8pwXdZ5Y21oo6m7ePiS0d9pWucn99O/wvyJZChoIQKrQDxKrGeW8F5+T0okTHesAmDeiHDTIq0V/Q==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openbsd] - '@esbuild/openbsd-arm64@0.28.2': resolution: {integrity: sha512-AL2qJILH7lNjrDmCQDvdxMfAUIv8KMNZOvrwAQ8i8//ntL9FflhOyMJ8OZSMBb8/AWXe3/5v5S20y3zCoZWKoQ==} engines: {node: '>=18'} @@ -1896,12 +1779,6 @@ packages: cpu: [x64] os: [openbsd] - '@esbuild/openbsd-x64@0.28.1': - resolution: {integrity: sha512-i/ZLIOafE0Z8cI/XANJAixoJL/uRAoS2xOA3rb0xN+KK0K177cMAsQYkzHtBrtMXAKuAc7HGgcWiZ/sRC1Nxgw==} - engines: {node: '>=18'} - cpu: [x64] - os: [openbsd] - '@esbuild/openbsd-x64@0.28.2': resolution: {integrity: sha512-QtiuPytchRyC4rwUKhexJdQKvDuZ6hWloi3igqPQNUJCS1/v9EiO3UTOXR6A3FoMo4fnAKbWJdqaIwhOzh8qEw==} engines: {node: '>=18'} @@ -1920,12 +1797,6 @@ packages: cpu: [arm64] os: [openharmony] - '@esbuild/openharmony-arm64@0.28.1': - resolution: {integrity: sha512-ge+Z7EXFNt2BO1oAMsVpiQ8EwndV9i1xXerAeTIK7AtPs3bKFXQM7nlRxDSIUIMeueR1CNXxqztLzdNeReKBJg==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openharmony] - '@esbuild/openharmony-arm64@0.28.2': resolution: {integrity: sha512-WkhYDmpTjLvGlScA1rwjRUmhl4k8oXR3cIbtqWmELgU/dFeHHlEllxDvdWcNJV9rbzCexB5vz8gtNewWLgCT7Q==} engines: {node: '>=18'} @@ -1944,12 +1815,6 @@ packages: cpu: [x64] os: [sunos] - '@esbuild/sunos-x64@0.28.1': - resolution: {integrity: sha512-BEjgtECkL3vY+SaSQ6nzVfiALUeFxpawyp8Jmf5PtYhf1Ug40N1h/hxlhts+f1FvSvarEigdxS3BlSMI2PJLcQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [sunos] - '@esbuild/sunos-x64@0.28.2': resolution: {integrity: sha512-GPMSkTOtMnv2U2F8gxe4Io6qmVs+YKyp832Etqqxr0hFngmXQ3rzwytelm3GIn7T4VviRUlf3sOgBOiTdvaf7g==} engines: {node: '>=18'} @@ -1968,12 +1833,6 @@ packages: cpu: [arm64] os: [win32] - '@esbuild/win32-arm64@0.28.1': - resolution: {integrity: sha512-lCv9eK/H6ZJWbE7bh2nw54CZ9M2nupBxJcTsdk/QQnWkdSjKGuxmmH8/GWrlT1eMmZfn4dGcCjRte397WqfQXA==} - engines: {node: '>=18'} - cpu: [arm64] - os: [win32] - '@esbuild/win32-arm64@0.28.2': resolution: {integrity: sha512-PIhhEkE9uPBleRBrQEJpUn7MBnibZzbGzYWPmY3x+YoVg/95zbjB4CxPPOQ8l5tYYM4mMaCthF8/1DIfBQQyWQ==} engines: {node: '>=18'} @@ -1992,12 +1851,6 @@ packages: cpu: [ia32] os: [win32] - '@esbuild/win32-ia32@0.28.1': - resolution: {integrity: sha512-zvb/mB2bSCoJOpoCBgYKKpX6YM6mJBlBUVUtVj41DlZJVEB6/0CKlRYxP5wWl1C1ILiCoAU5wZZ4q1P3qeS6Eg==} - engines: {node: '>=18'} - cpu: [ia32] - os: [win32] - '@esbuild/win32-ia32@0.28.2': resolution: {integrity: sha512-YmJbfTlvU7Sdn9BB+4PRES4oB6pxgS37MAONj+hBr/cpXS1aBPKXxNnDbu+QCWPj0o9dgyxeq79g6c5P8KeuYA==} engines: {node: '>=18'} @@ -2016,12 +1869,6 @@ packages: cpu: [x64] os: [win32] - '@esbuild/win32-x64@0.28.1': - resolution: {integrity: sha512-bm4Mowrv+GXMlpWX++EcXw/iLyd1o3+bJkC2DkWXYVvgZCqD/bSj9ctZeAMC3cIxgjRVR2Dufaiu4YPxr5gW1A==} - engines: {node: '>=18'} - cpu: [x64] - os: [win32] - '@esbuild/win32-x64@0.28.2': resolution: {integrity: sha512-5ebpxr3nWMzrL/rnUI755Jkuee0bHL/Gq0WTF9lvcpv73wAp5eu8MfBUgWK9bhWvZjj7yX8etf/8tI8Ney695g==} engines: {node: '>=18'} @@ -2038,8 +1885,8 @@ packages: resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint-react/ast@5.23.3': - resolution: {integrity: sha512-Vq06Cq2rxZ8fl5yvFnA8EmY740NRPpj56iZdxtV79rjw+wcej/gSMU5qiZStuBgDdH5+OqtWQ7pSwtUpjEhwug==} + '@eslint-react/ast@5.24.8': + resolution: {integrity: sha512-074VvYOnoqJcP7RYrX/SAo15WZd2Kx5+YtkuLfKInqDy2OxS/ClsO/MiIT3B2h667Rsjud4UoBtzViHjdySPXA==} engines: {node: '>=22.0.0'} peerDependencies: eslint: '*' @@ -2048,8 +1895,8 @@ packages: eslint: optional: true - '@eslint-react/core@5.23.3': - resolution: {integrity: sha512-eQMrhN/8xe4d5nlHTM/oGN1lrylKKAlWaKNhs4praDXzKBsEkD/xakNMtexLLQcvIAhIWijcyONnvVaNnnloHw==} + '@eslint-react/core@5.24.8': + resolution: {integrity: sha512-xe2LgY6inVqQ9yDY1BwzjbR2v+Uwi/lvX+GKCYibW+1btOph9aLAFH42AD14xi29TBJBSBQFkfBelymmgNa1Eg==} engines: {node: '>=22.0.0'} peerDependencies: eslint: '*' @@ -2058,8 +1905,8 @@ packages: eslint: optional: true - '@eslint-react/eslint-plugin@5.23.3': - resolution: {integrity: sha512-NmBm35wA7mkufZGAkDty0XrOoUuxlUHVlfJdlJ9spZR+C8gJjAoAOJ84hbT1HTaJE1tQ9oaaRphlt1fDXgX3Og==} + '@eslint-react/eslint-plugin@5.24.8': + resolution: {integrity: sha512-n3bcr3CPa8v+O6VplQcfArCpQjIngJoevprFlucFOnJnQx0zBwvlzvQ/SldbRQTc9g/z+6pYTzcf6w2A/3ULag==} engines: {node: '>=22.0.0'} peerDependencies: eslint: '*' @@ -2068,8 +1915,8 @@ packages: eslint: optional: true - '@eslint-react/eslint@5.23.3': - resolution: {integrity: sha512-U8nmfyAZNQk7QqTyhM94/IdD1LFP4XGRDrU6rHuhLZhVuRawbH1nhOvNAVpPLLXgwbZVcKCw7ErqXkW6+oOCRQ==} + '@eslint-react/eslint@5.24.8': + resolution: {integrity: sha512-tDzsk4DRLRcwaB7hi0POf7vqk0vxBbkdHWqhzGO6HbaLuKxkzJgtUtBslCcOC+T+zYY5Y1s0ebvuF7x5/QSPug==} engines: {node: '>=22.0.0'} peerDependencies: eslint: '*' @@ -2078,8 +1925,8 @@ packages: eslint: optional: true - '@eslint-react/jsx@5.23.3': - resolution: {integrity: sha512-FGP/olID5joSPbVABiLWwdAO1qJFukjDmhU9pLGzD0g6W/ggrV6xUuHlyWVfn3itIryrQZcJDk6ApoosxL68ng==} + '@eslint-react/jsx@5.24.8': + resolution: {integrity: sha512-nT1+jjIKbZpBZ1hH7E+tMBL+I+jXtjFIBkJHqCq8JXgTrn/ItVeuGz9groIJBU6Z4esD8XZ79FcO4eU9UhVwTQ==} engines: {node: '>=22.0.0'} peerDependencies: eslint: '*' @@ -2088,8 +1935,8 @@ packages: eslint: optional: true - '@eslint-react/shared@5.23.3': - resolution: {integrity: sha512-7x73B8OdB23+drDJNWf2efwYvirGgkzfJhfkF2fmdXjNI2iF1O+9xow5sErDv372+zOLamAhC2gybSNtlEwM/Q==} + '@eslint-react/shared@5.24.8': + resolution: {integrity: sha512-yL7MQTeVVuzOr+mwiB+TvKeHZr1gJ7SVdkxnysbRYTMKUuBZxz8kudkGLVvHXuIGgUNIkQQZgWNdkmhCpTNaUg==} engines: {node: '>=22.0.0'} peerDependencies: eslint: '*' @@ -2098,8 +1945,8 @@ packages: eslint: optional: true - '@eslint-react/var@5.23.3': - resolution: {integrity: sha512-BgNNb7325FW/kZHvZdgeai8mBl+ZwQ7LgTEvU9KBFP5hA0jDJ8Sta8vCI2Kt3fGqWyjYUXhMWrVEiMVhCcqjiA==} + '@eslint-react/var@5.24.8': + resolution: {integrity: sha512-3tqiKH+HYV07a5QDpIS6qu2/AFCVBLomTw2P2h3cd8iw3OgK0sSmgIaYnYmFbhgSKKDVdCxeQyS1tmxC4vT6Fg==} engines: {node: '>=22.0.0'} peerDependencies: eslint: '*' @@ -2116,23 +1963,10 @@ packages: resolution: {integrity: sha512-DObd/KKUsU+FaFv4PLxSRenpXfQWmPXXP3pPZ6/K1PCrMu2vQpMDMuQe/BqYeoLcz8ro0bVDF1RxOJgfVEdhUw==} 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.2.1': resolution: {integrity: sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} - '@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/object-schema@3.0.5': resolution: {integrity: sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} @@ -2179,8 +2013,8 @@ packages: '@formatjs/icu-messageformat-parser@3.5.18': resolution: {integrity: sha512-wX1efcL8d7K5QapOTRsP/OLTA/kpwe4LwqWyNxDNg5iRs8i9jJbCyxB5P8jc4KOW5oiLzz2DJr+BRY5xMV9+bA==} - '@formatjs/icu-messageformat-parser@3.5.20': - resolution: {integrity: sha512-DUzCb2iskGDKvLU7P+nz/rjpmN59luoTRbWHFFNYNnZTxWCKvwPI94rNll99TGZaI6XoTbDF0QGegk21GFrQZQ==} + '@formatjs/icu-messageformat-parser@3.5.21': + resolution: {integrity: sha512-Vnl7IOSyMRaP4Pjv48etkT2nlcIwzh4QWIa3hewzGlZZPBbft+TbMir4MijpDViOLN/1hvkGC10oYMuilsG+fw==} '@formatjs/icu-skeleton-parser@2.1.11': resolution: {integrity: sha512-j8cUmOJzVgkHuS0QiQ6ga76UIoLOFSAMWhs7aZJztH3aAdCOAE6vpC8KVvFB4cU10ON0y2/5oOVmPJ43s2lTwA==} @@ -2421,12 +2255,12 @@ packages: cpu: [x64] os: [win32] - '@inquirer/ansi@2.0.8': - resolution: {integrity: sha512-WpQM+Ti6Z40EFwwt+uL2p4UabT+W179zHp6HhLVOzfbwnVn05IPO/eXIZXGNqcT1jbQ15SujNLzQ39k4QPPxBQ==} + '@inquirer/ansi@2.0.9': + resolution: {integrity: sha512-0Ywt3S8tqM6TWUcsRlBFQ1x+X3/o8kktX0ZiKAnByYb9GFDknnOhse1PVtfiD2BXPI8ar+BWx9PV9R0lQIcygw==} engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} - '@inquirer/checkbox@5.2.5': - resolution: {integrity: sha512-bRt8J8m+Fot9CXv+zNQGXUq2ET0MggR1fPz7v6edN6MFYmsbfGnMmkmWZJEegMKqrAC8ej/o1sqisHZXZJMAfQ==} + '@inquirer/checkbox@5.2.6': + resolution: {integrity: sha512-XkOardciF3tow2NUlY6/Qjk1QqYa+6WpmVLTpxXl97Uv4erczDEZ+xg1j6LqBf0ekcRSUiICQA4nQXHHkVKQ9w==} engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} peerDependencies: '@types/node': '>=18' @@ -2434,8 +2268,8 @@ packages: '@types/node': optional: true - '@inquirer/confirm@6.3.2': - resolution: {integrity: sha512-Xvr/0HggjddPtGppuqVmxhTw+Hr8PvsZ/k0HmOEaAqQEt80OITNkFWnsdNmyT0/eM4Ab+iJLx2R8rctlEyfSVg==} + '@inquirer/confirm@6.3.3': + resolution: {integrity: sha512-ImOBgpl/sJTFp8naeSkNu4S0Sf8F8pxv3/CUx+LoBAdQvCVqFz6rSB2A/oZYsJge3+yphbEDxEkfaRNYq1OU0A==} engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} peerDependencies: '@types/node': '>=18' @@ -2443,8 +2277,8 @@ packages: '@types/node': optional: true - '@inquirer/core@12.0.3': - resolution: {integrity: sha512-wsSy0sznmXwkty+2PzZwx00Cazc/E0r0B7mAzdGROz2Ct+DFZXaK7WDjGZvgjRldxH5ZhFVfF2lgkYrqgOw2KA==} + '@inquirer/core@12.0.4': + resolution: {integrity: sha512-M5fB67y7jPObI45vhD82RskWwCSm0scOvenV/I6K8tIi2gfr9DXqQqJ+iw+Wi6SgapikdOiJibYzz1gW47fsDg==} engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} peerDependencies: '@types/node': '>=18' @@ -2452,8 +2286,8 @@ packages: '@types/node': optional: true - '@inquirer/editor@5.3.3': - resolution: {integrity: sha512-YsKkS2q63IiLtaDK/9nqzdComN97SDQrmKiyNggN+ceP4ty+Z6VwyTz3FpjeUWeW1Efss2xHFKCC9sx7hnrsxg==} + '@inquirer/editor@5.3.4': + resolution: {integrity: sha512-imzxQDfw26NpcJAubMj/dE5RjU9Mp80IcT+FzsD6YoxXmL8L1QYnAFdCNv7ccGWh//73+0YP+1kfhwnExdl2VQ==} engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} peerDependencies: '@types/node': '>=18' @@ -2461,8 +2295,8 @@ packages: '@types/node': optional: true - '@inquirer/expand@5.1.5': - resolution: {integrity: sha512-uHuXLmXW+TtIfT/9vSBotypAkqn1n34Ul+CLGPos/xANyO4Ff5xZzkYhbKR4NEcfVK4a9mHQOpwVZzluSHFRGw==} + '@inquirer/expand@5.1.6': + resolution: {integrity: sha512-JfiLKi7qGuHmcQO/DqR10UFEp054Y1FXZaszP5ZEfHhgHeuFoT5nNFQIXFhed/5/p07SbsV2tIJFwG/dg5+NmQ==} engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} peerDependencies: '@types/node': '>=18' @@ -2470,8 +2304,8 @@ packages: '@types/node': optional: true - '@inquirer/external-editor@3.0.5': - resolution: {integrity: sha512-f3QQJRIX5ZEneBHNUIuPjmbdzHnmRFJA8r2dkcb8q+OM5Uv5KtnuAttQumnrjcBVBM3mcTX1CkmtAkU58VRZxg==} + '@inquirer/external-editor@3.0.6': + resolution: {integrity: sha512-rWmw6WG8JZ7LMn/srXEylYGhL6EXXJeROE7/4x4GREh6NgzqJBDbIgpNGsYoLPfobeb4VZtEYzPGnT5EFNYhiQ==} engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} peerDependencies: '@types/node': '>=18' @@ -2483,8 +2317,8 @@ packages: resolution: {integrity: sha512-EAWgUTGQ/Umgga51dE3B2PUHbufuXarDfg86uVgoSgNHNNQnyFKcOrQLWVqYMghuSyHh8+2HUH0Js9cTC1WAdg==} engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} - '@inquirer/input@5.1.6': - resolution: {integrity: sha512-HtcJhB2QFVXbLuJ5S3syhNbTUVxYvwqV4VRBDkQceBloC9bmTViUoRFP5PbSaDZb3HzfPmpuU/gG4ybVBz4FHA==} + '@inquirer/input@5.1.7': + resolution: {integrity: sha512-Icrs9tuMBCxGI+lFYNO71VFOnqGO8IIrLIGqnTGh07X8jZ2la9QLAYxXcikHZQjjVhIZUtU2xyH89DVN/pPhVg==} engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} peerDependencies: '@types/node': '>=18' @@ -2492,8 +2326,8 @@ packages: '@types/node': optional: true - '@inquirer/number@4.2.3': - resolution: {integrity: sha512-6Yuwh1NGSbu1Lo4N1EWjXs1jKRntLg/ZCwhmeorEHde90v1XxAozdbd4Iu30eOQLW+6h1hp2O9ujNfLSbTPJnA==} + '@inquirer/number@4.2.4': + resolution: {integrity: sha512-C6g80U4U2+w2Vxa1CB0MN3a2WnQIfzLSUG0lduO3Au9GsirJsKATZkOwZPK+vZ1BlAlz+/Z5ParfQCS9E0svmg==} engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} peerDependencies: '@types/node': '>=18' @@ -2501,8 +2335,8 @@ packages: '@types/node': optional: true - '@inquirer/password@5.2.2': - resolution: {integrity: sha512-W9zYdyzogK+6110mqwaSJWCBu2yA5Q/OfnGSjjZB1bNpHlmUozXxTl0+QOZBNeVd6Qo81/qT75gW05gLAtITxw==} + '@inquirer/password@5.2.3': + resolution: {integrity: sha512-1Uo2qfI2K3wXbfunMpvwAzoZPIUf5iEETwDGqRVbswoorXGqYQJ/bfIJFeLj+pxjq+e2UFPNOmx+fsIl4Urigw==} engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} peerDependencies: '@types/node': '>=18' @@ -2510,8 +2344,8 @@ packages: '@types/node': optional: true - '@inquirer/prompts@8.7.2': - resolution: {integrity: sha512-QoRB4wFIjgH5iOhSjoIKMkTvSHDuV+O3OITlIqAYO0oK5x364GJILXiMBvlPiE+klg7Xx9tq5XVqQHcGUDYYPA==} + '@inquirer/prompts@8.7.3': + resolution: {integrity: sha512-DHK20kO+H5k/XcJQpHQUpVQbMYHHhZchlGWhZVMUV4WIuRuBW5744hipOtriE1vMqPLgnIyXFMHWKkIbTepa4Q==} engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} peerDependencies: '@types/node': '>=18' @@ -2519,8 +2353,8 @@ packages: '@types/node': optional: true - '@inquirer/rawlist@5.3.5': - resolution: {integrity: sha512-1oHky1ONfCOwNrnkQGDE1oaSij/3fI6HFMSf2H/WsGO2lEyDX9My82iggITSy9ddSZ8yk8j9v41OI0fVoSIoaA==} + '@inquirer/rawlist@5.3.6': + resolution: {integrity: sha512-2exExhQ5xTBqfN/rRlZkvM1Gm3b0eiLcWe2NqxWxe7qYmnU4M3j/n9TwzfPUb+Q7dAAz9TmBtDWWdF3jbp4ZLA==} engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} peerDependencies: '@types/node': '>=18' @@ -2528,8 +2362,8 @@ packages: '@types/node': optional: true - '@inquirer/search@4.3.3': - resolution: {integrity: sha512-fyuIU1Nbpvwlikjg3gXwJFDI11+EFjqQ7P+iByfmivIKQ1vmaykNrD/vy5unHuUqUpsOsnvJ25//tPF7E/RBRA==} + '@inquirer/search@4.3.4': + resolution: {integrity: sha512-xsk0UeFP04jsbEeFMzghjUaH2aHXyt+WykSajQzq/8qyBNHsgGYHea/sFwv5T08kW7Sp+KDX8aF124zPUIs1Ww==} engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} peerDependencies: '@types/node': '>=18' @@ -2537,8 +2371,8 @@ packages: '@types/node': optional: true - '@inquirer/select@5.2.5': - resolution: {integrity: sha512-9kc15hr8r/kI+3DO/xLog5nOzTz1jqsHXa6JBFzmQKhkoJ8Slda1I1L/uD8ZSZ9tF1yp79wwXe7mclvX1rqR2Q==} + '@inquirer/select@5.2.6': + resolution: {integrity: sha512-jFu7CFghlr0vpi/326a4wz6BGkJH9X3H/iIu+ahyV2Ja52ktqQE3fC9BYP47JKeSPQYGUv5xquE2Vp9PbepZ3g==} engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} peerDependencies: '@types/node': '>=18' @@ -2546,8 +2380,8 @@ packages: '@types/node': optional: true - '@inquirer/type@4.1.1': - resolution: {integrity: sha512-yJoHYrMnxIsJZCY+0Vb66Dy3he3kL3e2wOBKhoSwWWAzZAY82emlxwgprCtp6yRixvNRNq9ztfRWQYPNr3Go7A==} + '@inquirer/type@4.2.0': + resolution: {integrity: sha512-2rnHX8RPo4glJYqnFc/v3nQeIhDcjyRRyaT7MGcfL/8xv/8K03SXYoA2tX06WVSKywWOE/ncbG3dtuzLjR5TCQ==} engines: {node: '>=23.5.0 || ^22.13.0 || ^20.17.0'} peerDependencies: '@types/node': '>=18' @@ -2603,8 +2437,8 @@ packages: '@mdx-js/mdx@3.1.1': resolution: {integrity: sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ==} - '@modelcontextprotocol/sdk@1.31.0': - resolution: {integrity: sha512-UvTMgnNlnIBO/22ob2RcVGDlcvOslQs8T59+FTGdA0L27a39fdGF/EDETNtDVK4DZGpwomlsYpRdA8UXcVL/pw==} + '@modelcontextprotocol/sdk@1.32.1': + resolution: {integrity: sha512-2DdE+SJDtzLEEWzY1ZjY7Q+VcPhcV1KisD3zI4u0XZyktsjHum1mwbMI+JaulUBi2OZk+KJAi2uPXzxichPkdw==} engines: {node: '>=18'} peerDependencies: '@cfworker/json-schema': ^4.1.1 @@ -2740,6 +2574,13 @@ packages: '@emnapi/core': ^1.7.1 || ^2.0.0-alpha.4 '@emnapi/runtime': ^1.7.1 || ^2.0.0-alpha.4 + '@napi-rs/wasm-runtime@1.2.5': + resolution: {integrity: sha512-HshSvXzmBxNzqejd3k/KemgQ3hdREUYFRRrgxOZ+gPljDIsO2SDZrVZMd4Z/HsxudQbE62OVyVFE8z9BCurfjA==} + engines: {node: ^20.19.0 || ^22.13.0 || >=23.5.0} + peerDependencies: + '@emnapi/core': ^1.7.1 || ^2.0.0-alpha.4 + '@emnapi/runtime': ^1.7.1 || ^2.0.0-alpha.4 + '@neodrag/core@3.0.0-next.11': resolution: {integrity: sha512-3WQWxyrbxiaK9zS5JU2wJsW2gpoQlZBXVghduBh61JpqaeE0T0cte8R0qYK2RuJo3J2TYQYqxO19CpG/C1i5eg==} @@ -2846,26 +2687,32 @@ packages: peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.10.0' + '@opentelemetry/core@2.12.0': + resolution: {integrity: sha512-1HsSAuvT4/my0QrXWsyXFdWjKaPeCHsismKZgEEIb8NK13LP6DrMRlsUbvD/0F9mDWK3xDom9AMv3IscxgOnOQ==} + engines: {node: ^18.19.0 || >=20.6.0} + peerDependencies: + '@opentelemetry/api': '>=1.0.0 <1.10.0' + '@opentelemetry/instrumentation@0.220.0': resolution: {integrity: sha512-xQx3E2WxP1mDvKzxLxX+CTCtNLa560YJZ3087qYHerl2YmiKpv7AH+dAy7vmx+eVrZ5BwhfWUAVoKOoxCNHcpw==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/resources@2.11.0': - resolution: {integrity: sha512-Ie7+8q8MDF4FAEQCKVMTx3ReUvxiIAgIiiW3c9JdmP8+HMcDy20puT+AHjexnExgnbvBxjQ9fjkFDWrikJ2jQA==} + '@opentelemetry/resources@2.12.0': + resolution: {integrity: sha512-+rSRoOdln6NhXTVcBdHSlZxJDNzwxadeweK2ltZO3tVtfp6aklABc06xclDk6ovRR+EiGgIcSbh/6NgjFhnb3A==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.10.0' - '@opentelemetry/sdk-trace-base@2.11.0': - resolution: {integrity: sha512-H19x/TX/LZdqiYOjM7fqtSxwlplC5pgelavqbQdHbhdq0q/AI/TGkM2dfGuuynTXmJPeF2HoZVoPDu+TGoW78A==} + '@opentelemetry/sdk-trace-base@2.12.0': + resolution: {integrity: sha512-JOERgZCxRM06FEJ5kEWxlSRChah6MmXDx3KwCruqEv/iEyLkTokCSemf2y1w8oIHtfrr8EVTpzebq/31vn2Cpg==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.10.0' - '@opentelemetry/sdk-trace@2.11.0': - resolution: {integrity: sha512-fFnTqGm8/G73GQVnxYi7LXa1ZVYEUvgL6XI1LpvV0bPC7WQ/ZGgKxCSl8FnlZBKto9JHHEFTO6s6CUpvvtwFrA==} + '@opentelemetry/sdk-trace@2.12.0': + resolution: {integrity: sha512-ImVuRQ6faOsTi1Wna88s2avgrrf/iDgXPigIeynkUhjstMuoQUDOJXgkez2j1mlU4btjXcXBGa+q7qKFYR3GsA==} engines: {node: ^18.19.0 || >=20.6.0} peerDependencies: '@opentelemetry/api': '>=1.3.0 <1.10.0' @@ -3132,6 +2979,9 @@ packages: '@oxc-project/types@0.152.0': resolution: {integrity: sha512-oM/5rLBm2tPkg0iBgkH/FOeR3PCDpY19GTgAZjMFM8h9WI9VW7cLgzp6nwtarYKmovavIQZ+Fe/RKX/8C8O/Rw==} + '@oxc-project/types@0.153.0': + resolution: {integrity: sha512-jSNrRIyvPVLL5E1z/tS5zLAprosGz/FuI1PWwEOz59j3E4TTTzSpqKb/RDGqJhhW0QHYISGXxq582wGx6T11Tw==} + '@oxc-resolver/binding-android-arm-eabi@11.24.2': resolution: {integrity: sha512-y09e0L0SRI2OA2tUIrjBgoV3eH5hvUKXNkJqXmNo5V2WxIjyC7I7aJfRLMEVpA8yi95f90gFDvO0VMgrDw+vwA==} cpu: [arm] @@ -3235,171 +3085,445 @@ packages: cpu: [x64] os: [win32] - '@oxlint/binding-android-arm-eabi@1.81.0': - resolution: {integrity: sha512-IcCRsXiedJoJopY6mpZUBEeVFsUrutmrG7dZ87zMuKJlhg70Ora9bBl1WcCxZQtyI10YpnVdEso5oCg7YcfSHw==} + '@oxfmt/binding-android-arm-eabi@0.72.0': + resolution: {integrity: sha512-u4U1uaDOVBuorGNC/07NLm48nECHOiJJka002YGML16Md2DRvf38RGBt01lH60EOGvNlFVmbLoksQedNBoZHKw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [android] - '@oxlint/binding-android-arm64@1.81.0': - resolution: {integrity: sha512-GRrIPyTGVhx3L3h+0T5xT2A0jFAcdPv4+IfuXpGDLIdl6XeYhgg/zw72A5ILZoUgRqZuM8F1y+V/gfDriXSxzQ==} + '@oxfmt/binding-android-arm64@0.72.0': + resolution: {integrity: sha512-GCnM+Ae2mWOKC+92y3FOb6eZJeVnBAVz82e3lITUUg+kxukYKzBNAvJ/hhHIfa2A0md55SYYhdWPddSSy3KPVA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@oxlint/binding-darwin-arm64@1.81.0': - resolution: {integrity: sha512-qNQ9tXRgLuKbqSV1S2h9h4KPHjbovO7RRR2/enUOtHzTkFZ7B9X5zqqHJua8dRyc7dBy7Aoyq5pqTSLFVcAzGQ==} + '@oxfmt/binding-darwin-arm64@0.72.0': + resolution: {integrity: sha512-LjQ8tlevdtwraFlWC6AnQ1Forzde0clRmnsP3QmK+ydSElDt/J+5Jc+m+//Ly1G97aP7WCNUw110QMIUw2K7xA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@oxlint/binding-darwin-x64@1.81.0': - resolution: {integrity: sha512-q0QTm32jWga2Gv4j7IaVZN0jYMi9UV73sWVgFtDA4iIfqwMCLLZ3ve+9KwfYtsaKZSgQhmPaogeZWqDZpcY1Pw==} + '@oxfmt/binding-darwin-x64@0.72.0': + resolution: {integrity: sha512-+ZbcxhB1C34RQR5IldSyY6Z/yalJIxHXhP36PGE4sEq0f/lgL5jCLmOKoDeVm8dqd9gFGDsd1bNWHSGCAwdSkw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@oxlint/binding-freebsd-x64@1.81.0': - resolution: {integrity: sha512-/+8wVWDXEC7wHVAhOc59Fw/SkMc1arLkFD8iQCaSsmzenK1X4doFqquL9H1wrtGUzaiycVqkf/sSpcILK6W1UA==} + '@oxfmt/binding-freebsd-x64@0.72.0': + resolution: {integrity: sha512-yGPhA8sePEBFV9iGcprhyOk3Bz3fZshswMH3DpYIPZFLT1DG5LjiZ0j6AJQpSueaL6bUK0av1K+5+fe+ldy5EQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - '@oxlint/binding-linux-arm-gnueabihf@1.81.0': - resolution: {integrity: sha512-4xt422FEgioRq9hAL4Tq7fujGUWnc8z1BJ+Oi8RN8vB8axaP+sdK6a2xdlcQCCYnJg9QMuMFS0AucuIFx/EacA==} + '@oxfmt/binding-linux-arm-gnueabihf@0.72.0': + resolution: {integrity: sha512-/g5axuqFMcAtoQrFLR5EJEMDjR5Ea4GuzpdDmMpPWAgrF1DmL4kD1NPNVlpXEOxpFJnD6lPvLKYj1lzdlrfifA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@oxlint/binding-linux-arm-musleabihf@1.81.0': - resolution: {integrity: sha512-u3vna8KdGplH4DRCW9K54D68fcMo7IxVrkCJWwXnIhwtBdnDnYrmzOUA/XjmBlPpcLsgw9Z5BNdY4za9+Dj+MQ==} + '@oxfmt/binding-linux-arm-musleabihf@0.72.0': + resolution: {integrity: sha512-InVitdHbS09PM+w+WinIiyX37rC9R3L7lUP9mKy9uKTEDSUFaLjWsLoreRIxKivnv7Ndqc6Trvi+K+b6ZzhiJg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@oxlint/binding-linux-arm64-gnu@1.81.0': - resolution: {integrity: sha512-3j9k+gsYsE7nv71GWotXsqsa2l9/aJenD7dVHNt/CBvsb0SgRjSMnHFeP59IXUAl1wvVFhqGl2wJNMwWU3UBlA==} + '@oxfmt/binding-linux-arm64-gnu@0.72.0': + resolution: {integrity: sha512-WKjlyRAxpPjXoqeuwFBim5LscgvY+RNEiZ971C9JlRQZONhJTsXDki/oHFYQE+fzzRpzXh3owZvOdT3kNL2g+g==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [glibc] - '@oxlint/binding-linux-arm64-musl@1.81.0': - resolution: {integrity: sha512-k5iAp3dNxW0/uDCBY+WSm8jKB2szu7SkEQZdgRRpDXvuDd69vvDcqhB3A/pWCfCwXyenjNjFn9Td1fVoyAc+Yg==} + '@oxfmt/binding-linux-arm64-musl@0.72.0': + resolution: {integrity: sha512-poafnbsPpJhR+5Mbwpf8CscugTyiRAzjTOxRVn8ra3X2jnURs2xL5Du2xl5g2iW85lICMglpmLf8jDjZEbNgzQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [musl] - '@oxlint/binding-linux-ppc64-gnu@1.81.0': - resolution: {integrity: sha512-TFqLja3uYmVSte6nof9GWrex9Z8WgdZrNiLC6Te5rXGDqXB2y4j/26iFhwosXiAFqDhE9JJVuuCkDKLwptTn1g==} + '@oxfmt/binding-linux-ppc64-gnu@0.72.0': + resolution: {integrity: sha512-zNUi0gKRsO7S3IfPzsTbnm88OedPuX32hmZFWZRWHvWJlAoZRwVbeO6Nb3hng4vDgL7qUKp4TGqzPz1mhsycYg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] libc: [glibc] - '@oxlint/binding-linux-riscv64-gnu@1.81.0': - resolution: {integrity: sha512-UEcySvGS0NOVo7h7n7CYyJL9+6gFAh7Zc/ToDXVScFvzHSTIxtzkMVU30rmQ6+nQ1LF+UdiRDdJajpDu+OylLg==} + '@oxfmt/binding-linux-riscv64-gnu@0.72.0': + resolution: {integrity: sha512-qTY7z/iyF/rWI2HWwWMevXqZW5PZUOofUy2afK7v6rseXnpld3yjgyIk6pCux3DqWQ0lB+f5atvLJNBwzLvFsw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] libc: [glibc] - '@oxlint/binding-linux-riscv64-musl@1.81.0': - resolution: {integrity: sha512-H+diDbhD00+wI1IRP8Kz88x/lat+DgtoBJzoTthS16xkTJGNaEkfb8gzmd1rzc/2uDQQMl7GNl+JFUacVeWxIA==} + '@oxfmt/binding-linux-riscv64-musl@0.72.0': + resolution: {integrity: sha512-w18qfo8vEMD6EKEHtzTvjc6jH8yCyXIT1Bn7PFWJd0PpZyzH/VQDx4xvjCh0LGz6GRzqiezbisTdG9AoXtpkZQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] libc: [musl] - '@oxlint/binding-linux-s390x-gnu@1.81.0': - resolution: {integrity: sha512-8znJ/5TekjOKg1j1Acho4PJMdiAHLtlcXuWEiipOhAMV6rQcXdmDdXCbheyDczN6TjBwiNfjcP81k4AthrKRzw==} + '@oxfmt/binding-linux-s390x-gnu@0.72.0': + resolution: {integrity: sha512-grW8HwEir+vK7fCcq1ZgL3NHQCfZ1PidiERE9Hbf+24xGys+DoDaoqTht4ccfn0PcBwbViLkwkda/KNpJu2KRQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] libc: [glibc] - '@oxlint/binding-linux-x64-gnu@1.81.0': - resolution: {integrity: sha512-Q2Wj70yFsvn5QjlmifFzbj4H+kJy53bwqc41o1fzoM7MpLV1NIbhg/LpWXRfC6KOkSAdUx1Wd8VJsdPmhp/HRA==} + '@oxfmt/binding-linux-x64-gnu@0.72.0': + resolution: {integrity: sha512-wQJRQfWBRIn88Pkr449EUViwRayrYUScg7ty+Ihiem21mQ9BUA6S9e/4RAgyNk9lMag0KBouyKskjq61rOC0WQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [glibc] - '@oxlint/binding-linux-x64-musl@1.81.0': - resolution: {integrity: sha512-cPInHp/ddEe5qkyK2IiyQ8Q3Mp2oLLEhhsGgTK2oZx4L6+llGam1H1yBvJZ7qHfOXj8N3hxBS8sj4tO+gtFlIg==} + '@oxfmt/binding-linux-x64-musl@0.72.0': + resolution: {integrity: sha512-T1B0uQzafxuGPjjaPrZJ497nxoi1BiI65JfsYc56nNpmev3msfb/iaTmH2kQuNFqa8PKxpMlf3GhWrWBvBPORQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [musl] - '@oxlint/binding-openharmony-arm64@1.81.0': - resolution: {integrity: sha512-0CQxSX4ajqm07AHBf5U33qQzXKdd7wtq/oTL/7vpY6RNNuxrRi8W4bqUV1Jyu/vj+9KmxQyDhxfeVX1nQL6kfg==} + '@oxfmt/binding-openharmony-arm64@0.72.0': + resolution: {integrity: sha512-OKxxgTurl7+hypVplO8QRAbbQlwEs0j1Y6FZv+ZN2qNbdxQk2muMlzuJNBGTCWwxQ0rkkOD1uK/DW1fvzoUSJA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] - '@oxlint/binding-win32-arm64-msvc@1.81.0': - resolution: {integrity: sha512-l0hbeISm9673hVrrQU8j/p2M7YH9Ouoj7p7E/QM55NTrKVLP+P3PF8hLu+OY+x0VtGRW+ggiQKZqmdYps9H+TA==} + '@oxfmt/binding-win32-arm64-msvc@0.72.0': + resolution: {integrity: sha512-L78TKzURqvjuZOCo88ixMbPXf/RP7u31Y0cmjJ/KEmrHmfYhmhEvsDaTYPiyTRne64jUgCbADfY0YeoQk4/Xyw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@oxlint/binding-win32-ia32-msvc@1.81.0': - resolution: {integrity: sha512-ksqPP5jbFXcYreEQ7zdJh06rJQBymCTyGRCdaXjfcf2aG4f8KxUWY5wcgYHmaTK+FJ4bPG5sUAdOX+6trnH1JA==} + '@oxfmt/binding-win32-ia32-msvc@0.72.0': + resolution: {integrity: sha512-gQtFW+Ii8BWgtJTAD17TY/WsdNS5gUfAPov8iI1jeq4r9lRRYImmxPL08UU00/RLaCfBJwh2UgINnDY0iOiZ+A==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ia32] os: [win32] - '@oxlint/binding-win32-x64-msvc@1.81.0': - resolution: {integrity: sha512-IZuUCwGw9emG5JtCp+fYGB+Z4OWEoeEcM8R5BA1pYw63/ieYFVdcU2ylxTpHbVHSenZnsYE+ZZ20uHAJszQ4cA==} + '@oxfmt/binding-win32-x64-msvc@0.72.0': + resolution: {integrity: sha512-uhooIN+DCzWX5uH7mQkSVCsODqsGluGJ4n3ch4+mITtWKpESMDjUJUSDBAVFuYQDwqY2McPDKdKJbM0oZVW/Qw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] - '@peculiar/asn1-android@2.10.0': - resolution: {integrity: sha512-IHKdYL5MRW76DOQCv2HSE/vUMOf2jqH4E7yhtQYe/xx+RxpPiXfkUdhex0N4/s5crsnXCGftRNzy4RJn1s6CZA==} - engines: {node: '>=14'} - - '@peculiar/asn1-asym-key@2.10.0': - resolution: {integrity: sha512-1R8xUTeqcUTSMLFTTCzJyFuKiq3y25EQKs9DezUetJ8qMqbJyxo3XkzykiwwT/Xzlt5/vRzS/sW4M1r+pq1FTg==} - engines: {node: '>=14'} + '@oxlint-tsgolint/darwin-arm64@7.0.2003': + resolution: {integrity: sha512-TgV33rXr6ueXBwvc+0nssUkTBSXHJxv77I8p4RCjDjCnvexHtmoPiudVRDfj3S3puMDdeQdHW6jdUgUPy3nr/w==} + cpu: [arm64] + os: [darwin] - '@peculiar/asn1-cms@2.10.0': - resolution: {integrity: sha512-CkX0H4NCIOMHOU3rh2xXZywinYZ/EnJlaOlJiGI0e5L4XjFqHf4iH30LMbXWChVppdA9ljbanjtzQFOhDNfTWg==} - engines: {node: '>=14'} + '@oxlint-tsgolint/darwin-x64@7.0.2003': + resolution: {integrity: sha512-hY3FMAjIaPDdK3FNxyRXRfHPOFeoBn6dmnLyKZgQ2IbTTD1adXhl6PfCIqHhCPvurigv7nf7mYuWZZ19MmJzmg==} + cpu: [x64] + os: [darwin] - '@peculiar/asn1-csr@2.10.0': - resolution: {integrity: sha512-jTPTr/9rxKM+niQLMF3jiAMb0lWHUhUHIuSOhdGCIfpB4FAQYf9SoiXOgxP8bS/68IB+bj+1OHvVnDVCQfVUZw==} - engines: {node: '>=14'} + '@oxlint-tsgolint/linux-arm64@7.0.2003': + resolution: {integrity: sha512-eAET4JpyfBbg8SO0K74o4R55tEjVC292pIyxGOw2XGf8x/HrPNyxwQ478jMYOM54FIVOHc8sJ6VRHxluy6lucw==} + cpu: [arm64] + os: [linux] - '@peculiar/asn1-ecc@2.10.0': - resolution: {integrity: sha512-GFd3iOjFrWX+QWH2R2dO5QSJyyRGv9CIBKtRlGlPNCvb2RvmCbBDexe91MJgV76c69d998Xsa+CvuQ98seoiPg==} - engines: {node: '>=14'} + '@oxlint-tsgolint/linux-x64@7.0.2003': + resolution: {integrity: sha512-GXdyO/XyqDJ3s/llR/oOktLsYNjZtWSQBy0JMc+/0gsNPvTcseKPhn9c6KcFyWmnr6H4vljYALbujonqSzzEGw==} + cpu: [x64] + os: [linux] - '@peculiar/asn1-pfx@2.10.0': - resolution: {integrity: sha512-1y3QK9ZH1IPleAMmRoJlPS10eGkAWnULETW8zDFNUK1ffqpG7zmDY+kYBMYQgwlcQZ2iitLm2z2EBP0xzRXpaA==} - engines: {node: '>=14'} + '@oxlint-tsgolint/win32-arm64@7.0.2003': + resolution: {integrity: sha512-TWauXnPfet0VgpmrstoAK58eJ4gbuwPUuUTQmYQAzE/RG1CpnxXtrKUJULf6lyerPE4KN3gM+DflIA1hOH+38Q==} + cpu: [arm64] + os: [win32] - '@peculiar/asn1-pkcs8@2.10.0': - resolution: {integrity: sha512-Ri+BZT9bnwqlHWmhs7lvWjvJRxKev2hA2+4EbZajgeYWCbR8hyv0znF4DhsFouOhMj2nSDV/iGJ6DMQtwITnCw==} - engines: {node: '>=14'} + '@oxlint-tsgolint/win32-x64@7.0.2003': + resolution: {integrity: sha512-DoRmfe7j8VqNlukp8liRVW45GQDhzRccNenjD/pdzelgtffW47pCMd1xbJLkPaPbKnTwID3onn3VZlL7JbebEA==} + cpu: [x64] + os: [win32] - '@peculiar/asn1-pkcs9@2.10.0': - resolution: {integrity: sha512-XIXsbDQFezYk6fudczkuvawkRD4GNpISGCqfYhdkJlvcGF/RFknU+0DDJagOaJqBf+PdPzk4J9oMqDGcvfR9HQ==} - engines: {node: '>=14'} + '@oxlint/binding-android-arm-eabi@1.81.0': + resolution: {integrity: sha512-IcCRsXiedJoJopY6mpZUBEeVFsUrutmrG7dZ87zMuKJlhg70Ora9bBl1WcCxZQtyI10YpnVdEso5oCg7YcfSHw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [android] - '@peculiar/asn1-rsa@2.10.0': - resolution: {integrity: sha512-4Jvmwlh3gZAhNZ4/u7JSyLuce9hofOFZ4o3PYKAccCImGnyaT5CMym/ATgvAvqpOYFNW531oPZvJlEBhJy9VfA==} - engines: {node: '>=14'} + '@oxlint/binding-android-arm-eabi@1.87.0': + resolution: {integrity: sha512-22tVIHlB9898OYsBKmYB6He1MCSqdTmK1BVWuSNUTVrpS0KWNege+U9uEYqGJ+KatQag0r/oU44i3OOs46z7HQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [android] - '@peculiar/asn1-schema@2.10.0': - resolution: {integrity: sha512-GhokD41lV4gQrrLYm3wCkHfBOnJrnhDMgt4XeMW8gzfE1UdJqIuSwsE+ggf82XBjUXRJylcm+KIGQFa4utIVLw==} - engines: {node: '>=14'} + '@oxlint/binding-android-arm64@1.81.0': + resolution: {integrity: sha512-GRrIPyTGVhx3L3h+0T5xT2A0jFAcdPv4+IfuXpGDLIdl6XeYhgg/zw72A5ILZoUgRqZuM8F1y+V/gfDriXSxzQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] - '@peculiar/asn1-x509-attr@2.10.0': - resolution: {integrity: sha512-/85GtKOKmgvuSJNlaFfwGWNdRSZZ+hpF02NyM01XiCdzpaZONiBltDyfluFPvFx966CR+ZHNSG1jniwpy07oGg==} - engines: {node: '>=14'} + '@oxlint/binding-android-arm64@1.87.0': + resolution: {integrity: sha512-JfZQ3MWf74n8ov0DojZpkOduIubYJvZL5tbTMMhDutsal6u1xH1QuNpN+lK+EQwF8AeAfgwTR2fgh5U2br27XA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] + + '@oxlint/binding-darwin-arm64@1.81.0': + resolution: {integrity: sha512-qNQ9tXRgLuKbqSV1S2h9h4KPHjbovO7RRR2/enUOtHzTkFZ7B9X5zqqHJua8dRyc7dBy7Aoyq5pqTSLFVcAzGQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] + + '@oxlint/binding-darwin-arm64@1.87.0': + resolution: {integrity: sha512-rkx6Xvvw93z2GImVOyvbZwAZcoY0Z6MJW177XNsSB+i/CBsH7ANyelTp01VZyIkM3iSXtqKVb4+ptBgPHap5pQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] + + '@oxlint/binding-darwin-x64@1.81.0': + resolution: {integrity: sha512-q0QTm32jWga2Gv4j7IaVZN0jYMi9UV73sWVgFtDA4iIfqwMCLLZ3ve+9KwfYtsaKZSgQhmPaogeZWqDZpcY1Pw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] + + '@oxlint/binding-darwin-x64@1.87.0': + resolution: {integrity: sha512-cw5nYw7L/pQ2SgGBgOcg/Qo89llQre3vIc/kuBLhSICzu1r5s8L76H3ug6AIFsD98WpROj8/z5JVzkf4daxHaQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] + + '@oxlint/binding-freebsd-x64@1.81.0': + resolution: {integrity: sha512-/+8wVWDXEC7wHVAhOc59Fw/SkMc1arLkFD8iQCaSsmzenK1X4doFqquL9H1wrtGUzaiycVqkf/sSpcILK6W1UA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] + + '@oxlint/binding-freebsd-x64@1.87.0': + resolution: {integrity: sha512-x/SuznE6loRZK9gz9AS4ZmzNzSu+5KdeoCS+sVHhnrE8HM6AD8UyTjwldQTTqlXGvkwHASgB0NiTNOc3o3PdAg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] + + '@oxlint/binding-linux-arm-gnueabihf@1.81.0': + resolution: {integrity: sha512-4xt422FEgioRq9hAL4Tq7fujGUWnc8z1BJ+Oi8RN8vB8axaP+sdK6a2xdlcQCCYnJg9QMuMFS0AucuIFx/EacA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@oxlint/binding-linux-arm-gnueabihf@1.87.0': + resolution: {integrity: sha512-+JEDmCAXiiFmKhAjZhgAOwaHWY6WENOQ5QA+lFuY59tgsUCDOTRi46B+lENK6CWvtxsXpwkZXNOgpjAQcpIpnA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@oxlint/binding-linux-arm-musleabihf@1.81.0': + resolution: {integrity: sha512-u3vna8KdGplH4DRCW9K54D68fcMo7IxVrkCJWwXnIhwtBdnDnYrmzOUA/XjmBlPpcLsgw9Z5BNdY4za9+Dj+MQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@oxlint/binding-linux-arm-musleabihf@1.87.0': + resolution: {integrity: sha512-/uC9XqXLAC9AHFLNycwmSQEvKqGrOCgU+uXALI7gNW0DG81TJ/3T2eHnKdRvcb5R1gFEfjxDwI4e4zIa29rICQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@oxlint/binding-linux-arm64-gnu@1.81.0': + resolution: {integrity: sha512-3j9k+gsYsE7nv71GWotXsqsa2l9/aJenD7dVHNt/CBvsb0SgRjSMnHFeP59IXUAl1wvVFhqGl2wJNMwWU3UBlA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@oxlint/binding-linux-arm64-gnu@1.87.0': + resolution: {integrity: sha512-FTRYPsBy/M728vnUv7l+KAwSAa3Qi4BQbhVvy7NYuMTZ0sUa/OWsbMx79HVFw6u/5KWcaYayDsoOiv7xbevzDg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@oxlint/binding-linux-arm64-musl@1.81.0': + resolution: {integrity: sha512-k5iAp3dNxW0/uDCBY+WSm8jKB2szu7SkEQZdgRRpDXvuDd69vvDcqhB3A/pWCfCwXyenjNjFn9Td1fVoyAc+Yg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@oxlint/binding-linux-arm64-musl@1.87.0': + resolution: {integrity: sha512-6sC+N7IY0h1egd8SrYUGNN7CUyKJZ4bIZakKa7V7hfinf4jfi8Kq4+klJvFp5DqXcwMn44I5MeBwmJluO1odFg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@oxlint/binding-linux-ppc64-gnu@1.81.0': + resolution: {integrity: sha512-TFqLja3uYmVSte6nof9GWrex9Z8WgdZrNiLC6Te5rXGDqXB2y4j/26iFhwosXiAFqDhE9JJVuuCkDKLwptTn1g==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@oxlint/binding-linux-ppc64-gnu@1.87.0': + resolution: {integrity: sha512-d5Mnn+ICbhoJPi37Ccjy+86T5qfH2+mSTrTMBXNPfB+wqSWOayBBLLIrCXdUy1YssluCVdGkl+DO9w5r5ODmUA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@oxlint/binding-linux-riscv64-gnu@1.81.0': + resolution: {integrity: sha512-UEcySvGS0NOVo7h7n7CYyJL9+6gFAh7Zc/ToDXVScFvzHSTIxtzkMVU30rmQ6+nQ1LF+UdiRDdJajpDu+OylLg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@oxlint/binding-linux-riscv64-gnu@1.87.0': + resolution: {integrity: sha512-sf5YWuUo1Dx9loqWCgF8P278MycfcD4JHjDC/LV5j11L3Lqa4PFiwCjD6B8kP4AjsgZZkLn3xbpJEtZBaccs4Q==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@oxlint/binding-linux-riscv64-musl@1.81.0': + resolution: {integrity: sha512-H+diDbhD00+wI1IRP8Kz88x/lat+DgtoBJzoTthS16xkTJGNaEkfb8gzmd1rzc/2uDQQMl7GNl+JFUacVeWxIA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + libc: [musl] + + '@oxlint/binding-linux-riscv64-musl@1.87.0': + resolution: {integrity: sha512-+aCraYbmK3uU3P0rFojjeaK9pGY6JvBDXh/0CM+gPyWKmNmXmnFe0qj4qj02U4ibFpbd9Pa9CmDvIdjJUd29rA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + libc: [musl] + + '@oxlint/binding-linux-s390x-gnu@1.81.0': + resolution: {integrity: sha512-8znJ/5TekjOKg1j1Acho4PJMdiAHLtlcXuWEiipOhAMV6rQcXdmDdXCbheyDczN6TjBwiNfjcP81k4AthrKRzw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@oxlint/binding-linux-s390x-gnu@1.87.0': + resolution: {integrity: sha512-7rzbZQIljo6VLWVPqUyLa2P/WV3VFsJB4M52R4NCUJn1A50yjtUsHxiMHFL9opEKGFIiTbZ3VQzmtcJOPUq4NQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@oxlint/binding-linux-x64-gnu@1.81.0': + resolution: {integrity: sha512-Q2Wj70yFsvn5QjlmifFzbj4H+kJy53bwqc41o1fzoM7MpLV1NIbhg/LpWXRfC6KOkSAdUx1Wd8VJsdPmhp/HRA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@oxlint/binding-linux-x64-gnu@1.87.0': + resolution: {integrity: sha512-Dry46Fa+AXE/xt9J/YriujU1pU9mzfNWHGQwtOYibAFH8HLrKWCi93AhIGnuUMiwn2JbuBkRyz51f50Ly4r4ow==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@oxlint/binding-linux-x64-musl@1.81.0': + resolution: {integrity: sha512-cPInHp/ddEe5qkyK2IiyQ8Q3Mp2oLLEhhsGgTK2oZx4L6+llGam1H1yBvJZ7qHfOXj8N3hxBS8sj4tO+gtFlIg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [musl] + + '@oxlint/binding-linux-x64-musl@1.87.0': + resolution: {integrity: sha512-f/HMZez74gJvnRpGz+b5sdGyWrEgRLmFTXg9sNoqjPWogGxYHUhXKTKyMiYsu9rUGR2ciYqL3fk+Ua4JhMJbRA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [musl] + + '@oxlint/binding-openharmony-arm64@1.81.0': + resolution: {integrity: sha512-0CQxSX4ajqm07AHBf5U33qQzXKdd7wtq/oTL/7vpY6RNNuxrRi8W4bqUV1Jyu/vj+9KmxQyDhxfeVX1nQL6kfg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] + + '@oxlint/binding-openharmony-arm64@1.87.0': + resolution: {integrity: sha512-lEC6ZfPZm/07JlB7FsOWX9o1RiHlXiBW594LSUGuXmekC8LZmvUPP9XzE2WZcNxJi5cHA/Fw56o02c3JxgMA5g==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] + + '@oxlint/binding-win32-arm64-msvc@1.81.0': + resolution: {integrity: sha512-l0hbeISm9673hVrrQU8j/p2M7YH9Ouoj7p7E/QM55NTrKVLP+P3PF8hLu+OY+x0VtGRW+ggiQKZqmdYps9H+TA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + + '@oxlint/binding-win32-arm64-msvc@1.87.0': + resolution: {integrity: sha512-afBWKOD36dUiA9AenaiWpCg8xfyUVPYznyAAVXu413brK4RA5UI/Xoc4yfeGIT8G1a44MV+JR7hioryerBDzGQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + + '@oxlint/binding-win32-ia32-msvc@1.81.0': + resolution: {integrity: sha512-ksqPP5jbFXcYreEQ7zdJh06rJQBymCTyGRCdaXjfcf2aG4f8KxUWY5wcgYHmaTK+FJ4bPG5sUAdOX+6trnH1JA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ia32] + os: [win32] + + '@oxlint/binding-win32-ia32-msvc@1.87.0': + resolution: {integrity: sha512-daptNsEOuru4/nJTxV4DBHNJ5GepzmaBVQf+jjgKQGi9NRlZKik+RFq4hUL7ewsF1pwjKM+SkYaMbF82UwFGnw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ia32] + os: [win32] + + '@oxlint/binding-win32-x64-msvc@1.81.0': + resolution: {integrity: sha512-IZuUCwGw9emG5JtCp+fYGB+Z4OWEoeEcM8R5BA1pYw63/ieYFVdcU2ylxTpHbVHSenZnsYE+ZZ20uHAJszQ4cA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] + + '@oxlint/binding-win32-x64-msvc@1.87.0': + resolution: {integrity: sha512-k+m/EShyXE29J/r1fjk0HlAzhN5JhIvj044oSJkXTEkCLrWZQgXb/3r4q5LTw/eaKW/4GuMXG2xmiJs3s5rPNw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] + + '@peculiar/asn1-android@2.10.0': + resolution: {integrity: sha512-IHKdYL5MRW76DOQCv2HSE/vUMOf2jqH4E7yhtQYe/xx+RxpPiXfkUdhex0N4/s5crsnXCGftRNzy4RJn1s6CZA==} + engines: {node: '>=14'} + + '@peculiar/asn1-asym-key@2.10.0': + resolution: {integrity: sha512-1R8xUTeqcUTSMLFTTCzJyFuKiq3y25EQKs9DezUetJ8qMqbJyxo3XkzykiwwT/Xzlt5/vRzS/sW4M1r+pq1FTg==} + engines: {node: '>=14'} + + '@peculiar/asn1-cms@2.10.0': + resolution: {integrity: sha512-CkX0H4NCIOMHOU3rh2xXZywinYZ/EnJlaOlJiGI0e5L4XjFqHf4iH30LMbXWChVppdA9ljbanjtzQFOhDNfTWg==} + engines: {node: '>=14'} + + '@peculiar/asn1-csr@2.10.0': + resolution: {integrity: sha512-jTPTr/9rxKM+niQLMF3jiAMb0lWHUhUHIuSOhdGCIfpB4FAQYf9SoiXOgxP8bS/68IB+bj+1OHvVnDVCQfVUZw==} + engines: {node: '>=14'} + + '@peculiar/asn1-ecc@2.10.0': + resolution: {integrity: sha512-GFd3iOjFrWX+QWH2R2dO5QSJyyRGv9CIBKtRlGlPNCvb2RvmCbBDexe91MJgV76c69d998Xsa+CvuQ98seoiPg==} + engines: {node: '>=14'} + + '@peculiar/asn1-pfx@2.10.0': + resolution: {integrity: sha512-1y3QK9ZH1IPleAMmRoJlPS10eGkAWnULETW8zDFNUK1ffqpG7zmDY+kYBMYQgwlcQZ2iitLm2z2EBP0xzRXpaA==} + engines: {node: '>=14'} + + '@peculiar/asn1-pkcs8@2.10.0': + resolution: {integrity: sha512-Ri+BZT9bnwqlHWmhs7lvWjvJRxKev2hA2+4EbZajgeYWCbR8hyv0znF4DhsFouOhMj2nSDV/iGJ6DMQtwITnCw==} + engines: {node: '>=14'} + + '@peculiar/asn1-pkcs9@2.10.0': + resolution: {integrity: sha512-XIXsbDQFezYk6fudczkuvawkRD4GNpISGCqfYhdkJlvcGF/RFknU+0DDJagOaJqBf+PdPzk4J9oMqDGcvfR9HQ==} + engines: {node: '>=14'} + + '@peculiar/asn1-rsa@2.10.0': + resolution: {integrity: sha512-4Jvmwlh3gZAhNZ4/u7JSyLuce9hofOFZ4o3PYKAccCImGnyaT5CMym/ATgvAvqpOYFNW531oPZvJlEBhJy9VfA==} + engines: {node: '>=14'} + + '@peculiar/asn1-schema@2.10.0': + resolution: {integrity: sha512-GhokD41lV4gQrrLYm3wCkHfBOnJrnhDMgt4XeMW8gzfE1UdJqIuSwsE+ggf82XBjUXRJylcm+KIGQFa4utIVLw==} + engines: {node: '>=14'} + + '@peculiar/asn1-x509-attr@2.10.0': + resolution: {integrity: sha512-/85GtKOKmgvuSJNlaFfwGWNdRSZZ+hpF02NyM01XiCdzpaZONiBltDyfluFPvFx966CR+ZHNSG1jniwpy07oGg==} + engines: {node: '>=14'} '@peculiar/asn1-x509-post-quantum@2.10.0': resolution: {integrity: sha512-cXKcZ30wKbUkRK5RK4Z3W1imewXvHAB9apEAuIqJ0OOkOQCpJrwLOuN38QlsEXqOI+3gtUv8Kf3UZohUmCbf3w==} @@ -3416,10 +3540,6 @@ packages: resolution: {integrity: sha512-IYbg1R03CSQGWwl24kGyqrdVtixNSbRaDvBg1r5wyYjTP+VwPQkka1BzTgU5+vxiuwqg04OxdvdJ1xYYFIdUSA==} engines: {node: '>=20.0.0'} - '@pkgr/core@0.3.6': - resolution: {integrity: sha512-SEeaJLb3qBNF/OaXnaR1NmmBbFYk1zC0ZH/52fATcRPLFg/p791YrcyFFy44Bo9sLaGuSuLp5Q6axbb/O+v/RA==} - engines: {node: ^14.18.0 || >=16.0.0} - '@playwright/test@1.61.1': resolution: {integrity: sha512-8nKv6+0RJSL9FE4jYOEGXnPeM/Hg12qZpmqzZjRh3qM0Y7c3z1mrOTfFLids72RDQYVh9WpLEfR5WdpNX4fkig==} engines: {node: '>=18'} @@ -3439,8 +3559,8 @@ packages: '@radix-ui/primitive@1.1.7': resolution: {integrity: sha512-rqWnm76nYT8HoNNqEjpgJ7Pw/DrBj5iBTrmEPo6HTX5+VJyBNOqTdv4g89G63HuR5g0AaENoAcH7Is5fF2kZ8Q==} - '@radix-ui/react-accordion@1.2.20': - resolution: {integrity: sha512-jDhG9FvAEnlhnjrsINbNXcUa4G+L1KqSkJSunkbKEzFRcAb52jvM0PjPxPRvhe1HNc5F5yc0yzzWeeqlH4yBIg==} + '@radix-ui/react-accordion@1.2.21': + resolution: {integrity: sha512-2fmc6COuKLq2k3P7JZrOt9Zf8HT9nTQhHN5V+A3ih7ftqoyDcoEUrPoLq8ngr7QwTd7hpQ2xoUKWtvy1Xw9RAQ==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -3452,8 +3572,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-arrow@1.1.15': - resolution: {integrity: sha512-v4zggRcjadnI+ClKDuijlQEW4tw3NoaeHc/PwpKnLoLLKNUG4InLegkstooLcRIUWCs+8L22dGURCVuFfOKfnA==} + '@radix-ui/react-arrow@1.1.16': + resolution: {integrity: sha512-nXPI1tzJsnQw8oXvB2r49rO9TIbbJ8VFeaWDiBsqY8+iwO5xb7WjUsrXDagjAgPKTdhW8WODQnAltUhBx8I+sg==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -3465,8 +3585,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-collapsible@1.1.20': - resolution: {integrity: sha512-mcGesGplBnzN2sbvJETzpCNfSMyPnb29q1GRLU+Ib7bJrpIG2ywmRoh2V5VbA2uNvKikKUlVbAPks7JDjz4A8Q==} + '@radix-ui/react-collapsible@1.1.21': + resolution: {integrity: sha512-IzkusZHCZBnED5skW+b+syl8d+e3+zelvxZ2Ed9lfawqEBfa5osPj53sTJ+q/uNmGAj9e7wMYgyzwPu/luWJ4Q==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -3478,8 +3598,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-collection@1.1.15': - resolution: {integrity: sha512-9W+B9NPF0NaaPh/1NJd3+KqsnlLqU9H7T2rvww+fp+T/evVXdNAyYcnfRQZFOjkR1ajQp3yORlqnI8soawLvNA==} + '@radix-ui/react-collection@1.1.16': + resolution: {integrity: sha512-yEQrjfI5eBbeYEJXOASpm+gs9eNHY8+UjkZ81GzcuwdLrSMOlEM8jnGoGdeGo92oiBMkuwZUhHTsnsrDiJLcyA==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -3522,8 +3642,21 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-direction@1.1.4': - resolution: {integrity: sha512-5pzg4FGQNpExhnhT2zlrP1wZFaYCd1K0nYWoFAdcYoYK868IEigqMX3B3f8yIoRlAhAeDWciLI6ZdCKHF9P4Vg==} + '@radix-ui/react-dialog@1.2.0': + resolution: {integrity: sha512-l5CX8HdNL+9cc4s7HkNyplumSA3FIx68sg9dttBHKr286fRBwq1MBniDVTeI/tkof92/APntMQvC1YG1Khb0Cg==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-direction@1.1.5': + resolution: {integrity: sha512-/NlO/rOqQabmg+GGr86vCmbJVhqTv85NfM9g6Gknf/JVygXeZ6e6HM/RW1omerW9HsFtecwNqgEAKV6UqDsvpA==} peerDependencies: '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc @@ -3544,6 +3677,19 @@ packages: '@types/react-dom': optional: true + '@radix-ui/react-dismissable-layer@1.1.20': + resolution: {integrity: sha512-35WHRrycfnj2m4LvPiKMKHGLM3Y2WvUA744CkRdxjs1BGDX1c8PVMfmiSGTUwnHRbqdtIoxveYTXvcJSt7VfgQ==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + '@radix-ui/react-focus-guards@1.1.6': resolution: {integrity: sha512-RNOJjfZMTyBM6xYmV3IVGXkPjIhcBAuv48POevAXwrGJhkWZ9p1rFoIS1JFooPuT193AZmRsCPhpoVJxx6OPoQ==} peerDependencies: @@ -3566,6 +3712,19 @@ packages: '@types/react-dom': optional: true + '@radix-ui/react-focus-scope@1.2.0': + resolution: {integrity: sha512-I5S7vsAOozx2lWSBAyuXjWIJ/A8qx4fjbv6115WoaRYQSb1yZDaeNHonUAQzXyE8oD+0whJHbQRl4HIE2gQ0Xw==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + '@radix-ui/react-id@1.1.4': resolution: {integrity: sha512-TMQp2llA+RYn7JcjnrMnz7wN4pcVttPZnRZo52PLQsoLVKzNlVwUeHmfePgTgRluXFvlD3GD5g5MOVVTJCO0qA==} peerDependencies: @@ -3575,8 +3734,8 @@ packages: '@types/react': optional: true - '@radix-ui/react-navigation-menu@1.2.22': - resolution: {integrity: sha512-ou7iLEJ+yrhQndkkA4U21XIdS/CS45F4iXIkTZcb6/Ne9EMsOuDudVmCwmDnfFZZ+y1FZqXRNSIgBy+YMvZVZg==} + '@radix-ui/react-navigation-menu@1.3.0': + resolution: {integrity: sha512-hZqTqDwc8Z5aI4rGIyPqCSJ2JoSNorqX/F1/gqNHkZzWJO6JuYzL7hn5sWOZJjpkfT+cbxWWRbKVU/IeiOM9ag==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -3588,8 +3747,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-popover@1.1.23': - resolution: {integrity: sha512-mw58MrBlyHWFisTOYignD0vf/3gdcgAR+9of1s9G/38CbFiUwH1nCDkc0AUM9IrXFgN5Ue8n45j9WCgyM1sbiQ==} + '@radix-ui/react-popover@1.2.0': + resolution: {integrity: sha512-e70Nh+0iQ+hRAIM2nAGib5BhaDL2Rjlzxw9kIzsU2nz+t3/t82Z5qtPhY5nTnfj8FbmrU6RRIKH8RF3ynCe+vw==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -3601,8 +3760,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-popper@1.3.7': - resolution: {integrity: sha512-UsJrrd7w4wuKKTdvd/DNERVlwSlUcyXzjhyDwBk+3aPOsCjOY6ZSbxuw8E6lZTjjfP8Cpd0J8VVkrYUWyGYXyg==} + '@radix-ui/react-popper@1.3.8': + resolution: {integrity: sha512-y92/9iIdG1FyNvow0Y0qP5WJZ7oRTAKDVKCy9kJnhZfItwIKYtt0KKQeOhBKfXz0ETizduKwDRbrQHrTQScs5A==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -3627,6 +3786,19 @@ packages: '@types/react-dom': optional: true + '@radix-ui/react-portal@1.1.18': + resolution: {integrity: sha512-ygFIJ+QXNKf72AAq8x3hd22+ws7pYpmc1S0E4kW0Je+qD4qEb3FvxeKVQRGrVDMOkQaYfsB+Qs+KDh81a1gAOw==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + '@radix-ui/react-presence@1.1.10': resolution: {integrity: sha512-3wyzCQ6+ubRA+D4uv9m95JYLXxmOHp05qjrkjeA7uKHHtjpPggQzc6DAb0URl7j67oR0K2foO4ip27TiX037Bw==} peerDependencies: @@ -3640,6 +3812,19 @@ packages: '@types/react-dom': optional: true + '@radix-ui/react-presence@1.1.11': + resolution: {integrity: sha512-Z7/atlkab36Z8hm+V8zYc79r0W+tiOB1o0tun1By94JyadkekLQmtEAnBSP9XKXBNQsStoStS4+gX10JpS5akA==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + '@radix-ui/react-primitive@2.1.10': resolution: {integrity: sha512-MucOnzh6hR5mid6VpkbglRAMYMjKLqRnGBbjXkzjK52fuQDd1qbkx78a5P40mkcnVXJdEVxm26E9OPAiUq7nBg==} peerDependencies: @@ -3653,8 +3838,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-roving-focus@1.1.19': - resolution: {integrity: sha512-V9jI6hDjT7l3jsCQD9bLNvDLM3tH/gdbOTp7Tefp3hbbgCGQoK7tUvrWiRlcoBHIZ809ElXwNQwVo0B98LuTXQ==} + '@radix-ui/react-primitive@2.1.11': + resolution: {integrity: sha512-RzcaSw5aKl0OPhBJ1wbolKSF6nVvN+0o/QLeIVq+09npiPdnCkPggy2k6gI6yetxl4ZyrlBPYFgCB8BQJZwXcQ==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -3666,8 +3851,21 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-scroll-area@1.2.18': - resolution: {integrity: sha512-Zn5Cd171wxsO3Dfg8HaW6RifTb9CYTKQJHs/G4+LN1GfmJpaQMZQyQxMprVPHpaz7QY4l9BxK2JwQuzHsXC8nA==} + '@radix-ui/react-roving-focus@1.1.20': + resolution: {integrity: sha512-+ZjbkU21fTSJdn4nq/IFKUdKS+JSZHORBZ8ma1f6YpOMNzRt0xf3sVAWVK/+ktHCajPy4HYDsyHXZIZmOMxzIA==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + + '@radix-ui/react-scroll-area@1.3.0': + resolution: {integrity: sha512-1WSuAXaahfeLmFX/dfYo/ftg1filMfaWjVye2d40VlgtWMMq/NOVocfukZEXkG+dwrAoNI+qpo9bjhNSJ/XC8g==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -3688,8 +3886,17 @@ packages: '@types/react': optional: true - '@radix-ui/react-tabs@1.1.21': - resolution: {integrity: sha512-UKxJlZid7FVtsk/WTxj4i4uSEgj2Au+KBbS7SQyTlzMhhn+86Cz3tISZdTa87bfEfcuvZezf2ZsxD4xuEKtkog==} + '@radix-ui/react-slot@1.4.0': + resolution: {integrity: sha512-IuMVHZ+Ah5fkctu3X3qeFrV/ZrBcuWuDTFUUPfS/L5hvoTjzhp/HdWGE14CsQombPdEidsa33HVlYZXi49PZ1Q==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-tabs@1.1.22': + resolution: {integrity: sha512-GmVH+P3wx1ZPMuH7WajQzygZIbqgnsb5h8z4Ow3sQMuDqgcqISSBNom6MLVNJvfrkuJTtqfXc3ZolHjX+w0CHg==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -3764,8 +3971,8 @@ packages: '@types/react': optional: true - '@radix-ui/react-use-size@1.1.4': - resolution: {integrity: sha512-D3anSY15EJoxrihpsXI6SMrmmonnQtR2ni7arO+Lfdg3O95b9hNXxONk8jA5C8ANdF/h5HMAxejgs8PWJ6rlhw==} + '@radix-ui/react-use-size@1.1.5': + resolution: {integrity: sha512-V1McDQkMGzgivwqdu7u96APs7oi0Jvj9LTzgq3WWrDZqxWdAqU9yZnZQqk5OizGFR8badUQwZsrlao7MOlWYOA==} peerDependencies: '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc @@ -3773,8 +3980,8 @@ packages: '@types/react': optional: true - '@radix-ui/react-visually-hidden@1.2.11': - resolution: {integrity: sha512-NFS86RYYZb4/exihaESBGOpMJFz8MGLAfu3mOBSGByVnVPC9JPASfYubxd/8KbkQK0sYAv8lVQDEQukDX/qXvQ==} + '@radix-ui/react-visually-hidden@1.2.12': + resolution: {integrity: sha512-/iPLVHRBzKWvekN+5xaDmXw80f+nleYYceomVORrGjuJe0LF2SCbSH4f/LG4hu32q92QSuPZx4hmSACYBVBfzQ==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -3796,8 +4003,8 @@ packages: react: ^18.0 || ^19.0 || ^19.0.0-rc react-dom: ^18.0 || ^19.0 || ^19.0.0-rc - '@react-email/ui@6.11.0': - resolution: {integrity: sha512-6bS3hnXHv4Uq5pLEdcg3c1ntr/0yrWVuTMdi9OJGZecK2LCHF5a+J4eNQ4PuMgpP2FJDYhXIuF22aRe3L1nW3Q==} + '@react-email/ui@6.11.1': + resolution: {integrity: sha512-Toy+g7u+9USdFV3YKIUEK66c356+/LDumDnpz7eVdjgCC3TCDb/v6WcfTSoU+RSHRkpUQjl7B9MOtQ/dgj5yYQ==} '@react-grab/cli@0.2.0': resolution: {integrity: sha512-LVfA+j5cFT0Szd958WRD8W/B8ucCtz4ViiveDKWLqAwBkZFW9VRW1ZvwOUhp/M3SmVPtjDaRkW12GvAuTArP+Q==} @@ -3845,36 +4052,72 @@ packages: cpu: [arm] os: [android] + '@rolldown/binding-android-arm-eabi@1.2.13': + resolution: {integrity: sha512-Vu/NICrgdRvUOeaJZIyB2FP63s6fO/4ud5l8dXmxDx9yDyn+mN0y+gsvsVviSli+T361Aqo0h46EuMoobrwawA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [android] + '@rolldown/binding-android-arm64@1.2.12': resolution: {integrity: sha512-7KHFgQ5VJxIHcLlrwrc3Xbds7oTNQT7Pgi9gQCJKrd2VGab/UksIOYp6VD8MzCstGxOKMgNamPwUCfxPdP1OHg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] + '@rolldown/binding-android-arm64@1.2.13': + resolution: {integrity: sha512-6LEoIrGy5vvCd2boNnv2soPSUZj/PRvhp8R/t9KlX+mIZxThIE/ZqxrGXxmuNX0FuvQFvLdZr7S4HrYpYBVhEQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] + '@rolldown/binding-darwin-arm64@1.2.12': resolution: {integrity: sha512-3YIhqHD96nA5SaYNRBR16HnGv4oavZvXfD/ayHM+oYZ0WD/8lBAtf6zQua4kEyAvpqrluKXl0lnOBoiNby7x9w==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] + '@rolldown/binding-darwin-arm64@1.2.13': + resolution: {integrity: sha512-CaJSRzlQ6Q+zkDMVA9OkVxBjVoPRCDEE3v0FSJ9kIQBgRjFApA3Si4ijhbNVUji7ZJt+PfO0e46qy4nPInHUPA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] + '@rolldown/binding-darwin-x64@1.2.12': resolution: {integrity: sha512-UuuJ35MFw4gmFOrE9pEqIV+K3syIKveph+Qc1/ljHZVdoDW4pz/JHR/eMVom+TZGl/5OOvGJOWaOCVt3ZfqhxA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] + '@rolldown/binding-darwin-x64@1.2.13': + resolution: {integrity: sha512-e4r340I5hxSzJkD3YJBxgzq/rJ3wwxwdLLb2FPt1Zpyem20nrQPT11DDEEkazwxaHumH8wpglsp/Ozgj/wT6mw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] + '@rolldown/binding-freebsd-x64@1.2.12': resolution: {integrity: sha512-uMvssit0a4W+/7D8CbHUvG719mH3R2jwXAlh/XcPvuHTE0g++LymF88DCGNX0HM2rBOn0xrzgXktIB6fLSJBTQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] + '@rolldown/binding-freebsd-x64@1.2.13': + resolution: {integrity: sha512-hoBWDZ4/K/mJKVMbsgUd1jfpA2DiOrJ54mpegObU9TBHBBrtX4FLIXJJQRDPZ/2Dn91GvPob+Z2hwKJzf4E5SQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] + '@rolldown/binding-linux-arm-gnueabihf@1.2.12': resolution: {integrity: sha512-XcFu0R0xWnwzSf4IQgFH1rJIckPN1pLy2R+4r9IDB7Yfu/ys9cVqfa4pBrMHj7a3gl8mIR4nRNPg0e5IvEVs6g==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] + '@rolldown/binding-linux-arm-gnueabihf@1.2.13': + resolution: {integrity: sha512-oF9fZu3vTWnTiVAkDFxU9PJLt1nh20K9RRpuHsR7ZnE2L7XookBbDBVLojCVSLGbvtSlxeUNnjAj6DbNsKyzbg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + '@rolldown/binding-linux-arm64-gnu@1.2.12': resolution: {integrity: sha512-260UrKgn8tz39ak+SMDOirKzr7V04M9dWPw5llW00SwBivCZoWcRBKV1d8cXnRkUmSZA3BdiUmBHWk7734Ulpw==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3882,6 +4125,13 @@ packages: os: [linux] libc: [glibc] + '@rolldown/binding-linux-arm64-gnu@1.2.13': + resolution: {integrity: sha512-DTpb/+jMiqWMPgphn4ksW1zW+XLJ6dJJ9FMvnIk9I291LhCctMPhMYJrP5t9p6C9qa3KXadDdUEZHBaPh3kNxQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [glibc] + '@rolldown/binding-linux-arm64-musl@1.2.12': resolution: {integrity: sha512-5YK1I9SqDkbPgc1IA8BgDl34suqUS2q0KWnBrirm0E51YjOs6eo6dV6jbQfNE/argHRSvd0QUGgtpIoYx+WWpw==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3889,6 +4139,13 @@ packages: os: [linux] libc: [musl] + '@rolldown/binding-linux-arm64-musl@1.2.13': + resolution: {integrity: sha512-xU+Kvv9N2A3SY35zFh1FWWNjxbadE/BKeqnkXe7vScU4GZsw757BlVmDLITZEq8DPpk6m7uoDYkK7P+x/uU5Ow==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [musl] + '@rolldown/binding-linux-ppc64-gnu@1.2.12': resolution: {integrity: sha512-Rkcrmp7eFRg74yL5fXEU91JEWbdEPLevWwGtXpmhbjlD1StScbWTmO94Bhly+Mo+ketKYkdmM1vNUKeWSlx8cQ==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3896,6 +4153,13 @@ packages: os: [linux] libc: [glibc] + '@rolldown/binding-linux-ppc64-gnu@1.2.13': + resolution: {integrity: sha512-XMk/hnhh25oQ756Lclb1Q11h4ll0xC0Esa5w4Vzp+mAE2S3AGJgeM0SonrIgY8fHhjarb6hcoTuwoFG0VVP2ig==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ppc64] + os: [linux] + libc: [glibc] + '@rolldown/binding-linux-s390x-gnu@1.2.12': resolution: {integrity: sha512-qvK4DuAsQc2BSjlx+Xr+IzOIvvxbGZqxFwdWfG6F518Erj0GGISyQbJ6pIappnOxlNPzNHvo/L0BwB30GZ+zVw==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3903,6 +4167,13 @@ packages: os: [linux] libc: [glibc] + '@rolldown/binding-linux-s390x-gnu@1.2.13': + resolution: {integrity: sha512-U1BoTHYmlywE2n3HUWjzZ+8EQsKr+OwpxYuDWaubx42tUL8QSL7nOqRz/NVHanibbFP3M1Rxuprz/wNcbMKjqw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [s390x] + os: [linux] + libc: [glibc] + '@rolldown/binding-linux-x64-gnu@1.2.12': resolution: {integrity: sha512-Q9uLBO53Xd4QIq1WOycVQyPP1O4HhraEV2qqb3uTrnVw6QZih9duY4vNXOivL1xoUS1/z+W8eF4NMfl2a8Sdjw==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3910,6 +4181,13 @@ packages: os: [linux] libc: [glibc] + '@rolldown/binding-linux-x64-gnu@1.2.13': + resolution: {integrity: sha512-J4cm80Pc6wEwV5AZ42o62sIQgDk+Y7R2s646jIwuvO+4V46QB58N4vVuMPWCBaNgursXLpmUWJV//WQAkPvHBQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [glibc] + '@rolldown/binding-linux-x64-musl@1.2.12': resolution: {integrity: sha512-3IBxWFMjbOZskDPKv8Lf9BCnahlKuHthWkYnyIxOH/QcJrFcS4EmcenthApkwr/5+nEqZlLzeYbxeMaX7A5u4g==} engines: {node: ^20.19.0 || >=22.12.0} @@ -3917,24 +4195,49 @@ packages: os: [linux] libc: [musl] + '@rolldown/binding-linux-x64-musl@1.2.13': + resolution: {integrity: sha512-W0euZS40U4V6JkmEnVCIX9mcsL6cbXQ4X8c2w+MMOIjFg68TXUW+u3RT+2e1t1pv9mg/EP3pDtK3POXdQ7Rxyw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [musl] + '@rolldown/binding-openharmony-arm64@1.2.12': resolution: {integrity: sha512-xtX61xg4LKPkPWilZU1ynKClz5Gj4bf74LML4r3eVLWumKnGjoEr1OSHQhMdbBDoYTi+yjrujvpZe2pUnqCrrA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] + '@rolldown/binding-openharmony-arm64@1.2.13': + resolution: {integrity: sha512-do/AF/4n9MRshia3a5aXoy8xM2c6mgfT6D7H/dY6my5z+hfCIR4ab7mk4IRj++nsEQpKy39kd0DQnDq+r692tw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] + '@rolldown/binding-win32-arm64-msvc@1.2.12': resolution: {integrity: sha512-At7fPB6PCaIjzgIhEZFxuT+BBFqiQibJDT4d3PhiR3f4E7bbMZF4aKblbFfEM3sETRDd1YiQx/+U/g/B/ou5Ew==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] + '@rolldown/binding-win32-arm64-msvc@1.2.13': + resolution: {integrity: sha512-6FtUf2cJZobutJdxnGYX8z0vtbgqU0b2v8vfBhkXb9wp2MppMFtkunE+IaOntyi01rkIQoPW2GHABtfzsC0BRQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + '@rolldown/binding-win32-x64-msvc@1.2.12': resolution: {integrity: sha512-WIw2haVKwjuYdXkHaoC0mF8Le71TuCBxjrdKqLbJGctbBABj+ClfmNvtbOnzpq3RokNo5+V1qhtSzJyXorsklQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] + '@rolldown/binding-win32-x64-msvc@1.2.13': + resolution: {integrity: sha512-UKhFaZTeTcbKrb3iU82m17jVcPEAoqDkCN5MBqgPyZSwp/cQmib21crTS0DdH7T1B7wZRWEI89YQAOJMet5yhg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] + '@rolldown/pluginutils@1.0.1': resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==} @@ -4098,12 +4401,12 @@ packages: resolution: {integrity: sha512-fO9PLmHdVURcSPUpWCItWAtgKiMwGdJHbovoSEyLplX5sxs2ugvI4CBPTrkkgqhObnZOD0CnWBKDzSVQYBKEyQ==} engines: {node: '>=14'} - '@sentry/core@10.75.3': - resolution: {integrity: sha512-QHgzobetM4UgEVbyqx9WPJzRq0YzyNg2CeeoM1Bf84ivYJXXiiVWxjzc0RHk3c0DHY5/6O6nJqos1xVL55dgZA==} + '@sentry/core@10.76.1': + resolution: {integrity: sha512-WZ1D30FDrvZPWcEgbCgaVHROBOaVGxNUcEeF5O5xRAdGu6UB7Epg+CQBeoatw/SxEctQq0BPbMIwtBgbe1QK3g==} engines: {node: '>=18'} - '@sentry/node-core@10.75.3': - resolution: {integrity: sha512-nm3scqhE9Dx/ngE6q2hJW8Jvk+dVTjCm/KXC3CXH+0eBCzEuANH79qMwkmwMp5ixX+snlEOczA+ZCY+B4HfWQg==} + '@sentry/node-core@10.76.1': + resolution: {integrity: sha512-5IPAqITJle2wFn+7nkCiWchC9TfdEU2GrH0uS/WmTC7vc64YGAyPK/UZ0qzCU0MUPNH5anYGtUK4EMzlpdmWGQ==} engines: {node: '>=18'} peerDependencies: '@opentelemetry/api': ^1.9.0 @@ -4123,64 +4426,56 @@ packages: '@opentelemetry/sdk-trace-base': optional: true - '@sentry/node@10.75.3': - resolution: {integrity: sha512-VK/uoDOwMll/Q+WRBvqhvQMI/3YFitcoMLExP41XH1azC0fqmm8sJdzWGXgvddt/A9cnCb01N/+U0B3ARLX1tg==} + '@sentry/node@10.76.1': + resolution: {integrity: sha512-caXHUb8pI7Gd9FIwe3soqGWpnTxVVaV15iYk+rueKsBBeUNETLCU6PzwTyD6tQ3WbkhTGYbSGYYLINtj2IroEA==} engines: {node: '>=18'} - '@sentry/opentelemetry@10.75.3': - resolution: {integrity: sha512-Ux2eXgS4NkmT9nj1/guV+j4Dwx9WTZSBO+/WMRmfektEgt05u5nuHuKhSGN8maQ72m8HmEx360vcn8Hd/dh5WA==} + '@sentry/opentelemetry@10.76.1': + resolution: {integrity: sha512-nfEQ4ALfEXGpYulXTPIOxE4QL3wsXPhlcCBbkgWmkozIT6D3s3vpjtRJsF//xrIkrAMm4OdV25fVqMhEkbJTGA==} engines: {node: '>=18'} peerDependencies: '@opentelemetry/api': ^1.9.0 '@opentelemetry/core': ^1.30.1 || ^2.1.0 '@opentelemetry/sdk-trace-base': ^1.30.1 || ^2.1.0 - '@sentry/server-utils@10.75.3': - resolution: {integrity: sha512-PG3a+3GxurYYipLykRM3qezWjkIBYuqBjn8EuXzzlG6mpucMVtU8SRgr3EB0wdVaj1Pz+mhz+MLh8CGnLfKhCQ==} + '@sentry/server-utils@10.76.1': + resolution: {integrity: sha512-E4BHBU2F975eQW/eo4w73DvxN2LNac3wqWzd8lvk4A6jXt8nJwtGSxxdPaTM0Il82aJkbZXJ3IIO/Px6rlX+lQ==} engines: {node: '>=18'} - '@shadcn/lint@0.2.0': - resolution: {integrity: sha512-DTYr427BR8cDc0J0Y++u1Uh12NAYGmdPiqgy4wKSogi7RNEhFanIcfBMPRPUvkunt9QiJUfI7B28TW39MrPCFA==} - engines: {node: '>=20.19'} - peerDependencies: - '@typescript-eslint/parser': '>=8.40.0' - eslint: '>=9.30.0' - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - eslint: - optional: true + '@shadcn/registry@0.1.3': + resolution: {integrity: sha512-82/OmKAVM9pChDHFVAsDP9PcimPGSKZGdbcdwdGGGcSI69ImpN4ZnqsfZ4hkOFEMal92t3y9djYJHMjO4PcVZA==} + engines: {node: '>=20.18.1'} '@shaderfrog/glsl-parser@7.0.1': resolution: {integrity: sha512-8mpfsoPeRhesY3pOrzNZBL8uG6N5GVX1EHLBYbd4gzKs+c7vaEIqpTNK5VrffU33qQN4cwpP2v3u4aPPBU32sw==} engines: {node: '>=16'} - '@shikijs/core@4.4.3': - resolution: {integrity: sha512-QCR4q2ZO/ILJEuwiBMel4wdcTDb1JGwfjKTxPDF6x8ixOaluPrVqIn06C99AcRPhmYlBR56d/Fb+GN58GzExpg==} + '@shikijs/core@4.5.0': + resolution: {integrity: sha512-6CIgwq+bt2JZ3OSjb/nBkkwEf/CfpHcbam+Mg5Pllco7HAGRQ2/EFhZrrJtbyNTgKwknfVS+llsXGygiDGwJWw==} engines: {node: '>=20'} - '@shikijs/engine-javascript@4.4.3': - resolution: {integrity: sha512-FbOjFJp9VLdo1Wevs10BBtVxiTWwNLqZh5Gkhjgda/ioL15YOgeSl9n+6XMa3qRlPQzfhFNe641SrynFHYG0nQ==} + '@shikijs/engine-javascript@4.5.0': + resolution: {integrity: sha512-Ed6UdEj84LyYkwnxM5CvSMWAD+id9ExTYri0/+x41U9zrgNifPSS9lZm0JqBP0VfYI8yr8tY5nbNq9+p9R0kFA==} engines: {node: '>=20'} - '@shikijs/engine-oniguruma@4.4.3': - resolution: {integrity: sha512-EcOQkxdxGQrc1Row/cC2c96/v1dbZqGnEVu1qTuT/MJmp6+cXCvQussowVmCv5Tqr3KuY3c7IbM6HTW3LJ1k9w==} + '@shikijs/engine-oniguruma@4.5.0': + resolution: {integrity: sha512-dKVmbJecVdB9recl8a/CU4jdpNXyjJQrIcesIkpS70s5HS02ohpnCSpMUbotPnEUzbAcLQ+S4hwZYbkBBiTcJw==} engines: {node: '>=20'} - '@shikijs/langs@4.4.3': - resolution: {integrity: sha512-ePic0yfAJGOF83D5wBHK/00EjK65oahBYxFk5epgq33WRv7X9UuxLEV8PtR0szC0z8dl7INIpIodB99JRFlR+A==} + '@shikijs/langs@4.5.0': + resolution: {integrity: sha512-wwBTqwduXSz0X4v9Qa2EWeFaYJEw1clCncWjoRNQRbVDu3SPRTRWucnouYapKj3b8Q+sk/41Vbc4B5c8nuYzLA==} engines: {node: '>=20'} - '@shikijs/primitive@4.4.3': - resolution: {integrity: sha512-m0wBeLDQDeIxRdUmrCPdQqfuUamDwRL5isCfYbguKD6NiaKpVbsv+3J81DyIKgNW5h4WAIIr8T4EkgQrBBxvaQ==} + '@shikijs/primitive@4.5.0': + resolution: {integrity: sha512-UM7ShlA8oz0OWxLLO8BmO9Ip6fVqdkt8yF0EH7nOCqHfrx1eEAzF0ZUVK7L+I8NEgeu1PEWSRlxaiPPeCb4iDg==} engines: {node: '>=20'} - '@shikijs/themes@4.4.3': - resolution: {integrity: sha512-w8UHjeUnIR965KMWJHUPXOc2mNJUnK3vpVLYLvw5IYU2mnTTJ89E24OrJDBNiJDQ0qzb0tc4l7mrIXx5cFeIyw==} + '@shikijs/themes@4.5.0': + resolution: {integrity: sha512-zGb87H3UBbpuI4yoh5UguB1XbU+2BDU3kflM7UfZ+Cy2hWo9lBtqjSVK20gmLY6ukYl040hAypGXMgud9vul8Q==} engines: {node: '>=20'} - '@shikijs/types@4.4.3': - resolution: {integrity: sha512-UEJxmRR++MAGR6hugn0vgVS2W/6lWAts84FFSrnlH9sP0LNol7E5+NQ792pH8liWUhyMyjhTgSUH3k7iD7tc5g==} + '@shikijs/types@4.5.0': + resolution: {integrity: sha512-drtPrtD8N0DENyD2cyt6Ajy+IWsiCLgMxODwLTpvH1UsN6a9jf90tNTPjqwHvA+0Lzu9e0txk8DjfqH1p9UJRw==} engines: {node: '>=20'} '@shikijs/vscode-textmate@10.0.2': @@ -4205,8 +4500,8 @@ packages: resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==} engines: {node: '>=18'} - '@smithy/core@3.35.0': - resolution: {integrity: sha512-zRMhfkByhT2snNdr1si24vJitU6Cr9ix2MikUfWmkAgp4jrNP0GcKSP5YvwQ+TlI8AZXER5QOGJn3JsVtSD9/A==} + '@smithy/core@3.35.1': + resolution: {integrity: sha512-i4YPS4B6ts7bjn7UwLnGjiZdprOvHvgGobFZsYK3GIY3E5hIqtj0rReU69BcTpGp+fvtraSNXeG1l+jtJvF55w==} engines: {node: '>=18.0.0'} '@smithy/credential-provider-imds@4.5.2': @@ -4308,14 +4603,8 @@ packages: '@standard-schema/spec@1.1.0': resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} - '@stylistic/eslint-plugin@5.10.0': - resolution: {integrity: sha512-nPK52ZHvot8Ju/0A4ucSX1dcPV2/1clx0kLcH5wDmrE4naKso7TUC/voUyU1O9OTKTrR6MYip6LP0ogEMQ9jPQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^9.0.0 || ^10.0.0 - - '@supabase/storage-js@2.117.2': - resolution: {integrity: sha512-8gAJoVaxZa/War2kFRfJMxGk4M190Q7lJ70BofwGlRxU/u9pIodd6XyTvmXkxOKXWuIYtkDaYPZrIAUt1T/7FQ==} + '@supabase/storage-js@2.117.3': + resolution: {integrity: sha512-QhUxFC33Crlw6WDeA4hLADdi1PzjI3c4UJs7ivWHHEnU7ulmCWEZSDaRCuIfmsjUwbHYaIfRNFQNsm+IsGYS6w==} engines: {node: '>=22.0.0'} '@swc/cli@0.8.1': @@ -4605,12 +4894,6 @@ packages: peerDependencies: solid-js: '>=1.9.7' - '@tanstack/eslint-config@0.4.0': - resolution: {integrity: sha512-V+Cd81W/f65dqKJKpytbwTGx9R+IwxKAHsG/uJ3nSLYEh36hlAr54lRpstUhggQB8nf/cP733cIw8DuD2dzQUg==} - engines: {node: '>=18'} - peerDependencies: - eslint: ^9.0.0 || ^10.0.0 - '@tanstack/form-core@1.33.5': resolution: {integrity: sha512-3dfx9MBP0aq5sXKteikG629X9oviptrQj0IFRk9YGcb+lB7Kv5x8S17oOSk1wUWgjQZ4xVJEMbKwOAODymocgA==} @@ -4618,19 +4901,19 @@ packages: resolution: {integrity: sha512-utTS5L2OkeYUzXGohL1Z8sefu1GLNOJcxe8Hd6iIdc/Xo1K1nDB2JEp4iSFhvYh33xKC9V91TxrS8qfrpoKobQ==} engines: {node: '>=20.19'} - '@tanstack/match-sorter-utils@9.1.2': - resolution: {integrity: sha512-aPkUQctDzpXLSWhlx7jUDi3mInsI18xcnrK1hvIyIa88ab1ax88cACr7xU+BKMCGB4NZYNwh4SoNSEbv3RY2NA==} + '@tanstack/match-sorter-utils@9.2.6': + resolution: {integrity: sha512-DIpUSOhPfQ7u/qfUi/Wgm0wBO56MyBYXGvnlI0NcauDRPqdBUlAZZjW2Dxm92m+k1UWVhKw8YJ4f47+75Aujyw==} engines: {node: '>=20'} '@tanstack/pacer-lite@0.1.1': resolution: {integrity: sha512-y/xtNPNt/YeyoVxE/JCx+T7yjEzpezmbb+toK8DDD1P4m7Kzs5YR956+7OKexG3f8aXgC3rLZl7b1V+yNUSy5w==} engines: {node: '>=18'} - '@tanstack/query-core@5.104.0': - resolution: {integrity: sha512-JrC2r/JQlXt7khBSdUpsgxNvybzOg+aITa+ARRMlP2AFo93Y8vIqz077rp+e61mJetSZ0T6AJbwW1JHer1vrPQ==} + '@tanstack/query-core@5.104.1': + resolution: {integrity: sha512-TiRghcrGkUTE+M4JBxvpPSpBhxvIzQairw+cksrHYGr+2uwC77yW1SY9nYxnYRYOppvucf8rEg6b5byoz4rTpw==} - '@tanstack/query-devtools@5.104.0': - resolution: {integrity: sha512-snKyFLVFC5LuNoyUTpyqCD2Z8cRlCWrAeO3xub0nGi81IMz8YAUWq2Z+XdpGSGT7bCxqVdOHUjyiA3CtDuBjfQ==} + '@tanstack/query-devtools@5.104.1': + resolution: {integrity: sha512-wmXnQbnwEz+SctYMTrwsOWWNHKhCsVgtaliL9E+VI2vx2Xr773d/MpcrbIU1hEOUqC3p7x59swXFUPDLbplT3g==} '@tanstack/react-devtools@0.10.13': resolution: {integrity: sha512-r0cdB/14+st2Vxl/1Bodlyq4VC8pf9SykLQDYbGHDc1+V146WQo5B3KlYLkfyxD9Q/6+9NPRQHZyl8fvZVMdRA==} @@ -4650,15 +4933,15 @@ packages: '@tanstack/react-start': optional: true - '@tanstack/react-query-devtools@5.104.0': - resolution: {integrity: sha512-E3AfuGqrdyaamuRV3u8RFWQlkZxk7OQa9MJ3XLF9SEHFRHyTUnlHcAQ0hEpDYxNsNFKYrheiRpDKlYaG4vkt7g==} + '@tanstack/react-query-devtools@5.104.1': + resolution: {integrity: sha512-0GoLxe08PVxnkbrHFwO+7fkgbc07xEcoBfdYvbTv63e6Fe7uz7PGyOxKeQTOXKGMmTfoniaISOqkjDzKC/66Ng==} peerDependencies: - '@tanstack/react-query': ^5.104.0 + '@tanstack/react-query': ^5.104.1 '@types/react': ^18 || ^19 react: ^18 || ^19 - '@tanstack/react-query@5.104.0': - resolution: {integrity: sha512-e1TZmDCQnWIfiDVryIHeA6Idj+Lfx1hORLOhXS/l5wcgvtVD4yYqbTDl378sGQKIi2cSgb0TEMC9cKK8GGoJEw==} + '@tanstack/react-query@5.104.1': + resolution: {integrity: sha512-Zz70EgjahNI7aCz8BZxM3vUGU44ycxEAzMuCUjLeA7SVhhOkg3ZgPjPJPvHjs6Rmky/dtmnu1WzjGHNHmhCoZQ==} peerDependencies: react: ^18 || ^19 @@ -5105,33 +5388,33 @@ packages: '@ts-morph/common@0.27.0': resolution: {integrity: sha512-Wf29UqxWDpc+i61k3oIOzcUfQt79PIT9y/MWfAGlrkjg6lBC1hwDECLXPVJAhWjiGbfBCxZd65F/LIZF3+jeJQ==} - '@turbo/darwin-64@2.11.5': - resolution: {integrity: sha512-KdY4y7BBjIisl+jAkb3FFaRjClGqHyaeHCcVcCT8LBzFFwUu6thgfxyRZAx0uL4KoxLmH+iOan8UhVf/aDDcaA==} + '@turbo/darwin-64@2.11.7': + resolution: {integrity: sha512-Z2LFOxwbiJueD1miByXJS/BrW21vv6YaQXZustty5jEX4vQYw6zyh101Sz1QO7WG0mqBzKagZ/DoAeeujI0/Sw==} cpu: [x64] os: [darwin] - '@turbo/darwin-arm64@2.11.5': - resolution: {integrity: sha512-ToZDGi2u410+TfRtC/O1/LpujGgvNJoRBZnwVXob7oO0+3OSlwIO3zofXKUvwQvlba7a8ZXPyCZwufjAXd7f0w==} + '@turbo/darwin-arm64@2.11.7': + resolution: {integrity: sha512-Vhv8ybgIflosNDSSRD9fNXHlCFA60dsGyTqQmc7l28SEX5jOaweCCD4BBYNd8/p0WGkw3e7tZbfA9w6FsujGvw==} cpu: [arm64] os: [darwin] - '@turbo/linux-64@2.11.5': - resolution: {integrity: sha512-Ub2d/nAbdWLaSytcEaPp1wm/YuIvHEIqNrCRMI/UgOGyFdOhgxm8VyWPAJilQWRYxYVrqEUoy2K5S5K8SG50rA==} + '@turbo/linux-64@2.11.7': + resolution: {integrity: sha512-rAqRp3blQKk1+ylMGlZHAW0eJjVNuuGUm4ZrC6RU1Im8tLryvaO4a2zLQ/FQi1TRlmKqKV9YXBki2YeytlLbXA==} cpu: [x64] os: [android, linux] - '@turbo/linux-arm64@2.11.5': - resolution: {integrity: sha512-JQjmGxp724Wuft9FAxPMtmBur1CEdUyxJ+FVoIvKkgj63rXHl9PYCWrsU2tMjVi609XTQ3M8vZD9Yc9qVAVYrw==} + '@turbo/linux-arm64@2.11.7': + resolution: {integrity: sha512-thVYGov7S+llXAxrl3kBb/efalav0xhrjl5NHCR6AfKx14JkbqaetvbVwyss4FvZ9rt+Pv3xsTb+8SIYix8DTg==} cpu: [arm64] os: [android, linux] - '@turbo/windows-64@2.11.5': - resolution: {integrity: sha512-AFkbPmXNd8XgCi/66YEHR2bVl3gtusXyDihTIVEPAuSB+7ulLmJePvz1unWPVKLHdbCTTIdKq2mpJ1B1e3lJXw==} + '@turbo/windows-64@2.11.7': + resolution: {integrity: sha512-ZIoKT7J7KutgYl4bGxmmgeUQjG+7E0nY8BF9dxUOiMH2vdTsM4JQ2uSwTYFkTR2Llbg6ghGjSmuZ8LQtkLEYjg==} cpu: [x64] os: [win32] - '@turbo/windows-arm64@2.11.5': - resolution: {integrity: sha512-52ziXYP3snGOxjv19xA3WL1WDKv9Q6uDAa/7EKIR5j4hocMlYURkrOHbJ2ZZI+VfPU5MwKpcGeRfHxHJu7Y/Pw==} + '@turbo/windows-arm64@2.11.7': + resolution: {integrity: sha512-88Xv2f7SLGVJ68lRRx8o375dKmnZYNdDtvlKcPA0kZpcF93eAQd8l96BKQ0/AMHG0bMJA0Z5QqoqtetxzNsC+g==} cpu: [arm64] os: [win32] @@ -5207,11 +5490,11 @@ packages: '@types/ms@2.1.0': resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} - '@types/node@25.9.8': - resolution: {integrity: sha512-VfMrScDmMhUJQmd5hArdQnFvK0OIeD36uN2Va1FcpYaLB/BgkgM8Ulc50XtYISPMz7APJ30+N0T5EM0jlcdfRw==} + '@types/node@25.9.9': + resolution: {integrity: sha512-b4e2xxj/yMeT2hNlD6x7zNFiQK2Dlmkb9CQ6v3/1G2RezKN4YS2lcEv8lzGm1mhs4f2lM4yNAMI/zUDBZBBt7w==} - '@types/node@26.6.3': - resolution: {integrity: sha512-dsqMQQoeTLqu9wynDD00q573mNzso3IdQOAfHRJqLCcmCFPoGo9A1bDpUcv/9tnKpErQWv9uKeGfl37EIS02Yg==} + '@types/node@26.6.4': + resolution: {integrity: sha512-ldVPDCzj7fsaGZrLB0NuHuTvJcsNasysBAqMolr/cgxrLd1xbqxIr3XJiPnHHJUCxj5sNF1vnRj9aWnrVh5Jcg==} '@types/nodemailer@8.0.2': resolution: {integrity: sha512-c7M5ox8p0nEOfbJ2E9Qcmt8/QCu/VzsiAhzBiZbvky2PhKZDHpKB3sQHBM5MEZNkCfBOaS6S9//AGPRTNB7IaA==} @@ -5245,23 +5528,14 @@ packages: '@types/ws@8.18.2': resolution: {integrity: sha512-67MQl+fpWKVTT1NYdnmo3U4sc/xPo/zQBncVnI74qmQa0z/b+1g6iYqNmGCPbxO+zz2aklb08a0oHfegiVd0/w==} - '@typescript-eslint/eslint-plugin@8.71.0': - resolution: {integrity: sha512-pqcS9c1HxZTHt7End4nXqd0s5lJrrFzrgCkKFJrsbUnaL6M3+6oBFZaslg6Gjsl3argl2DDRFROnXARaZ2e4Nw==} + '@typescript-eslint/project-service@8.71.0': + resolution: {integrity: sha512-aABjw5rjBacYONVPaPiWOCjJu0vEF4a25iQuodlmQYL1trtLZ0X/y+2Vzl3BKI1odM4LnwLE1oUDXYp1wzx1TQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^8.71.0 - eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/parser@8.71.0': - resolution: {integrity: sha512-CG4nPk1f2zc8yw4pALqHsFYH2hdo+h1T9daSp21+Hnxi9LOE3GT9hAfTKJCBXVNM2GmYs1eMEP615wPoeOgk3A==} - 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.1.0' - - '@typescript-eslint/project-service@8.71.0': - resolution: {integrity: sha512-aABjw5rjBacYONVPaPiWOCjJu0vEF4a25iQuodlmQYL1trtLZ0X/y+2Vzl3BKI1odM4LnwLE1oUDXYp1wzx1TQ==} + '@typescript-eslint/project-service@8.71.1': + resolution: {integrity: sha512-Oijc9RUsohHjncg6iGi7gCtjnEjYt9FWv9u6ygK8uKcHK5eLjLAkqERQ9BaytbpceOFdk6kifPCS/zAZE+A99g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' @@ -5270,174 +5544,78 @@ packages: resolution: {integrity: sha512-gWF0BhUcnjZxSpLE8ngS/59n2SB0J3YqRxvX1+2aoRJk9hNtHSLOV+TcarFiOr5ipXm3yc1QrI4c9YZc8zyCxw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/scope-manager@8.71.1': + resolution: {integrity: sha512-1YUDZXdTnXLlob03SFHBipdyMBsDVm7zoSz0ytTJ39dk5J1TgsTK03VlR/dLXG/RLLUrPcYbD4rp23BmHxHP0w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/tsconfig-utils@8.71.0': resolution: {integrity: sha512-Z1UlWHADEK2Mlb9NpWfDeSjqoZ5EyrOv4R3eQpbkzqn/EwaIdOpXXupEA1+0ZIOSJSZZDBHG0BrQyN8zUG6Pwg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/type-utils@8.71.0': - resolution: {integrity: sha512-i8uO1qbdxeKgRnS5sCRt6On3/nfo2d2DwQe3Yvjx543zLy7r8ySqRuPPiIIXAhS03U0v5NfAFx+rUgxFzKKwNw==} + '@typescript-eslint/tsconfig-utils@8.71.1': + resolution: {integrity: sha512-oTvkml5SxXhgg+WWKhod5qWQICDXtOB+/Hi9VdPKFAANJ2b7YOgMffgvzXuqog7R6A/JtrzRf128dsxummyWhg==} 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.1.0' '@typescript-eslint/types@8.71.0': resolution: {integrity: sha512-cJ4OoxPGWvFnBTnSZyaU+qJzGTqPTGJY+gDchj6cRyLRdmIdt4rcsE4twj+zPfrNiWuVi38wijHzShL++Z9atQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.71.0': - resolution: {integrity: sha512-PEEF4G5sLLWAS5BpPrUvms4ySZkiBQQZM4z+3ReI46axK5Vqr/vXBQatJQIZZOYdGyPUAKTtsrWzpqKuU+3DEw==} + '@typescript-eslint/types@8.71.1': + resolution: {integrity: sha512-ybYnPTUwg3VQQOFEiBPLs8Jxl1ry2vXdn1kVKguomBbvxpetdu3MKTNDqFNUrlG8ylP9MpZosmXMFYlGQHk1oQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/utils@8.71.0': - resolution: {integrity: sha512-pKR/tEMVrXZG23UFKUn5BQf3zfmfk7KQceI2cGzywZ5nxM5Eu3hEJU1utjWzydtzBbcJAQhHN8iPCxobHpPcZQ==} + '@typescript-eslint/typescript-estree@8.71.0': + resolution: {integrity: sha512-PEEF4G5sLLWAS5BpPrUvms4ySZkiBQQZM4z+3ReI46axK5Vqr/vXBQatJQIZZOYdGyPUAKTtsrWzpqKuU+3DEw==} 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.1.0' - '@typescript-eslint/visitor-keys@8.71.0': - resolution: {integrity: sha512-8eQ9R218XORK+KLosnf4bu/QsUXvUyVwTbArg7/0NMB1Pu87OJKvj4nhFblkYE8gQV73mW1dx1ptlPCkwRGa7A==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@ungap/structured-clone@1.4.0': - resolution: {integrity: sha512-1mEZtMKPM09vDmQt5y7YvmN2+DFTP7Tg0EWXdic8/C6VRnpb33e4ghisCIE3WZjsE2N8mf+QV1Zqh7ZFYLWInQ==} - - '@unrs/resolver-binding-android-arm-eabi@1.12.2': - resolution: {integrity: sha512-g5T90pqg1bo/7mytQx6F4iBNC0Wsh9cu+z9veDbFjc7HjpesJFWD7QMS0NGStXM075+7dJPPVvBbpZlnrdpi/w==} - cpu: [arm] - os: [android] - - '@unrs/resolver-binding-android-arm64@1.12.2': - resolution: {integrity: sha512-YGCRZv/9GLhwmz6mYDeTsm/92BAyR28l6c2ReweVW5pWgfsitWLY8upvfRlGdoyD8HjeTHSYJWyZGD4KJA/nFQ==} - cpu: [arm64] - os: [android] - - '@unrs/resolver-binding-darwin-arm64@1.12.2': - resolution: {integrity: sha512-u9DiNT1auQMO20A9SyTuG3wUgQWB9Z7KjAg0uFuCDR1FsAY8A0CG2S6JpHS1xwm/w1G08bjXZDcyOCjv1WAm2w==} - cpu: [arm64] - os: [darwin] - - '@unrs/resolver-binding-darwin-x64@1.12.2': - resolution: {integrity: sha512-f7rPLi/T1HVKZu/u6t87lroib16n8vrSzcyxI7lg4BGO9UF26KhQL44sd9eOUgrTYhvRXtWOIZT5PejdPyJfUA==} - cpu: [x64] - os: [darwin] - - '@unrs/resolver-binding-freebsd-x64@1.12.2': - resolution: {integrity: sha512-BpcOjWCJub6nRZUS2zA20pmLvjtqAtGejETaIyRLiZiQf++cbrjltLA5NN/xaXfqeOBOSlMFbemIl5/S5tljmg==} - cpu: [x64] - os: [freebsd] - - '@unrs/resolver-binding-linux-arm-gnueabihf@1.12.2': - resolution: {integrity: sha512-vZTDvdSISZjJx66OzJqtsOhzifbqRjbmI1Mnu49fQDwog5GtDI4QidRiEAYbZCRj9C8YZEW+3ZjqsyS9GR4k2A==} - cpu: [arm] - os: [linux] - - '@unrs/resolver-binding-linux-arm-musleabihf@1.12.2': - resolution: {integrity: sha512-BiPI+IrIlwcW4nLLMM21+B1dFPzd55yAVgVGrdgDjNef+ch03GdxrcyaIz8X9SsQirh/kCQ7mviyWlMxdh2D7g==} - cpu: [arm] - os: [linux] - - '@unrs/resolver-binding-linux-arm64-gnu@1.12.2': - resolution: {integrity: sha512-zJc0H99FEPoFfSrNpa91HYfxzfAJCr502oxNK1cfdC9hlaFI43RT+JFCann9JUgZmLzzntChHyn13Sgn9ljHNg==} - cpu: [arm64] - os: [linux] - libc: [glibc] - - '@unrs/resolver-binding-linux-arm64-musl@1.12.2': - resolution: {integrity: sha512-KQ3Lki6l+Pz1k/eBipN41ES+YUK30beLGb9YqcB1O542cyLCNE6GaxrfcY3T6EezmGGk84wb5XyO9loTM9tkcA==} - cpu: [arm64] - os: [linux] - libc: [musl] - - '@unrs/resolver-binding-linux-loong64-gnu@1.12.2': - resolution: {integrity: sha512-3SJGEh1DborhG6pyxvhPzCT4bbSIVihsvgJc13P1bHG7KLdNDaF9T3gsTwFc7Jw/5Y5/iWOjkEx7Zy0NvCGX3Q==} - cpu: [loong64] - os: [linux] - libc: [glibc] - - '@unrs/resolver-binding-linux-loong64-musl@1.12.2': - resolution: {integrity: sha512-jiuG/Obbel7uw1PwHNFfrkiKhLAF6mnyZ6aWlOAVN9WqKm8v0OFGnciJIHu8+CMvXLQ8AD51LPzAoUfT21D5Ew==} - cpu: [loong64] - os: [linux] - libc: [musl] - - '@unrs/resolver-binding-linux-ppc64-gnu@1.12.2': - resolution: {integrity: sha512-q7xRvVpmcfeL+LlZg8Pbbo6QaTZwDU5BaGZbwfhkEsXJn3Was8xYfE0RBH266xZt0rM6B7i8xAYIvjthuUIWHg==} - cpu: [ppc64] - os: [linux] - libc: [glibc] - - '@unrs/resolver-binding-linux-riscv64-gnu@1.12.2': - resolution: {integrity: sha512-0CVdx6lcnT3Q9inOH8tsMIOJ6ImndllMjqJHg8RLVdB7Vq4SfkEXl9mCSsVNuNA4MCYycRicCUxPCabVHJRr6A==} - cpu: [riscv64] - os: [linux] - libc: [glibc] - - '@unrs/resolver-binding-linux-riscv64-musl@1.12.2': - resolution: {integrity: sha512-iOwlRo9vnp6R6ohHQS11n0NnfdXx/omhkocmIfaPRpQhKZ+3BDMkkdRVh53qjkFkpPddf+FETA28NwGN7l5l+w==} - cpu: [riscv64] - os: [linux] - libc: [musl] - - '@unrs/resolver-binding-linux-s390x-gnu@1.12.2': - resolution: {integrity: sha512-HYJtLfXq94q8iZNFT1lknx258wlkkWhZeUXJRqzKBBUJ00CvZ+N33zgbCqimLjsyw5Va6uUxhVa12mI+kaveEw==} - cpu: [s390x] - os: [linux] - libc: [glibc] - - '@unrs/resolver-binding-linux-x64-gnu@1.12.2': - resolution: {integrity: sha512-mPsUhunKKDih5O96Y6enDQyHc1SqBPlY1E/SfMWDM3EdJ95Z9CArPeCVwCCqbP45ljvivdEk8Fxn+SIb1rDAJQ==} - cpu: [x64] - os: [linux] - libc: [glibc] - - '@unrs/resolver-binding-linux-x64-musl@1.12.2': - resolution: {integrity: sha512-azrt6+5ydLd8Vt210AAFis/lZevSfPw93EJRIJG+xPu4WCJ8K0kppCTpMyLPcKT7H15M4Jnt2tMp5bOvCkRC6A==} - cpu: [x64] - os: [linux] - libc: [musl] + '@typescript-eslint/typescript-estree@8.71.1': + resolution: {integrity: sha512-pSKSEK1JJpHs6KiKVtABCE4iJK5d7FLFzDXQNBQ2oRY7LEd3UwOt3TZemTgu9syTIf56dJWlTn/pdmrO9oKUXQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.1.0' - '@unrs/resolver-binding-openharmony-arm64@1.12.2': - resolution: {integrity: sha512-YZ9hP4O0X9PQb8eO980qmLNGH4zT3I9+SZTdt0Pr0YyuGQhYKoOZkV02VzrzyOZJ5xIJ3UFIenKkUkGg8GjgWQ==} - cpu: [arm64] - os: [openharmony] + '@typescript-eslint/utils@8.71.0': + resolution: {integrity: sha512-pKR/tEMVrXZG23UFKUn5BQf3zfmfk7KQceI2cGzywZ5nxM5Eu3hEJU1utjWzydtzBbcJAQhHN8iPCxobHpPcZQ==} + 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.1.0' - '@unrs/resolver-binding-wasm32-wasi@1.12.2': - resolution: {integrity: sha512-tYFDIkMxSflfEc/h92ZWNsZlHSwgimbNHSO3PL2JWQHfCuC2q316jMyYU9TIWZsFK2bQwyK5VAdYgn8ygPj69A==} - engines: {node: '>=14.0.0'} - cpu: [wasm32] + '@typescript-eslint/utils@8.71.1': + resolution: {integrity: sha512-CBjT6gfAz3DW2j9Q4moFnqt208Aq+506sVGXfpRcyAeqn0EpayL0mjdWoCO2t3RC7GewNrFxdeehuEaPg6DMzQ==} + 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.1.0' - '@unrs/resolver-binding-win32-arm64-msvc@1.12.2': - resolution: {integrity: sha512-qzNyg3xL0VPQmCaUh+N5jSitce6k+uCBfMDesWRnlULOZaqUkaJ0ybdT+UqlAWJoQjuqfIU/0Ptx9bteN4D82g==} - cpu: [arm64] - os: [win32] + '@typescript-eslint/visitor-keys@8.71.0': + resolution: {integrity: sha512-8eQ9R218XORK+KLosnf4bu/QsUXvUyVwTbArg7/0NMB1Pu87OJKvj4nhFblkYE8gQV73mW1dx1ptlPCkwRGa7A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@unrs/resolver-binding-win32-ia32-msvc@1.12.2': - resolution: {integrity: sha512-WD9sY00OfpHVGfsnHZoA8jVT+esS/Bg8z8jzxp5BnDCjjwsuKsPQrzswwpFy4J1AUJbXPRfkpcX0mXrzeXW79g==} - cpu: [ia32] - os: [win32] + '@typescript-eslint/visitor-keys@8.71.1': + resolution: {integrity: sha512-0GxiUGqMU0qXJt58cBsiG3DP8lUmBaFo2vChtUX+CT7PnR3v/VGLLrzVP4K9r1lNiZXjHYefMBbPunplr09v6w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@unrs/resolver-binding-win32-x64-msvc@1.12.2': - resolution: {integrity: sha512-nAB74NfSNKknqQ1RrYj6uz8FcXEomu/MATJZxh/x+BArzN2U3JbOYC0APYzUIGhVY3m5hRxA8VPNdPBoG8txlA==} - cpu: [x64] - os: [win32] + '@ungap/structured-clone@1.4.0': + resolution: {integrity: sha512-1mEZtMKPM09vDmQt5y7YvmN2+DFTP7Tg0EWXdic8/C6VRnpb33e4ghisCIE3WZjsE2N8mf+QV1Zqh7ZFYLWInQ==} '@vercel/oidc@3.2.0': resolution: {integrity: sha512-UycprH3T6n3jH0k44NHMa7pnFHGu/N05MjojYr+Mc6I7obkoLIJujSWwin1pCvdy/eOxrI/l3uDLQsmcrOb4ug==} engines: {node: '>= 20'} - '@vitejs/plugin-react@6.1.1': - resolution: {integrity: sha512-yxLaQV9gkhS8ezJqCM6+ndU7mDY6gqAg75NQ+0IjwEI8IYOmQCgkRwHKVSfWXW076DsqMo0Dk+0FK1U+M5RgFw==} + '@vitejs/plugin-react@6.1.2': + resolution: {integrity: sha512-fhJNGUdscQa4HkI0xFxwonWyhnVReCPDbXI7FH7jmzpnVCrFQI7PRrhWecO263610vOrs9tr2Y4xcf8uAdFxbw==} engines: {node: ^20.19.0 || >=22.12.0} peerDependencies: '@rolldown/plugin-babel': ^0.1.7 || ^0.2.0 babel-plugin-react-compiler: ^1.0.0 - oxc-transform-react: ^0.145.0 + oxc-transform-react: ^0.152.0 vite: ^8.0.0 peerDependenciesMeta: '@rolldown/plugin-babel': @@ -5620,6 +5798,11 @@ packages: engines: {node: '>=0.4.0'} hasBin: true + acorn@8.19.0: + resolution: {integrity: sha512-oJlA3XiRm7Cyk6qFD2Jn8ak9B7jSy0qy00ADO3+8dpT0LSjFihQYv4C02LFCSYJV3Q37xYwwRy5m+IpIiUzqWw==} + engines: {node: '>=0.4.0'} + hasBin: true + agent-install@0.0.5: resolution: {integrity: sha512-nHlms9BkP8ZiY79HrwCGiA2DcNaXrAaJrCM/BEqQ7MEsSKyCk+2A76xPGylIfASZSZE0SaU3T0bNSg4rBPIJAQ==} hasBin: true @@ -5628,8 +5811,8 @@ packages: resolution: {integrity: sha512-7NRMZ/ZDz2vHevQTgJsocBFpakB1/Wx5ip19YSJuj4VOXpraWztTerViNtdSyARKZT9e2yVwUUB5JXXCE7mNrA==} hasBin: true - ai@7.0.124: - resolution: {integrity: sha512-FdzSxCXE+tlkD9texj2EO8QvJvCHoqWjdOTM3EWL6CBDtJXMe0/aYul9e31Q+P7zABmRAXrc3+XFSrmawqQOcA==} + ai@7.0.131: + resolution: {integrity: sha512-lOv32sfZ4T6yeFLvc9YyIBbaJH4lAhX4jYvRn6AmU7EePpL5VX3I7jgLFuX56lWaiKFi07rQ0I8+Jb2t0B0olg==} engines: {node: '>=22'} peerDependencies: zod: ^3.25.76 || ^4.1.8 @@ -5701,34 +5884,10 @@ packages: aria-query@5.3.0: resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} - aria-query@5.3.2: - resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==} - engines: {node: '>= 0.4'} - - array-buffer-byte-length@1.0.2: - resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} - engines: {node: '>= 0.4'} - - array-includes@3.2.0: - resolution: {integrity: sha512-VXY5eFRarnXcYxwBjJzPmEhH55+rmP79/+ueDhi0F+TuqfHCItagIHqxeUZrmgrOPa31QTh9H85DjX3FfJ0FTg==} - engines: {node: '>= 0.4'} - array-union@2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} - array.prototype.flat@1.3.3: - resolution: {integrity: sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==} - engines: {node: '>= 0.4'} - - array.prototype.flatmap@1.3.3: - resolution: {integrity: sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==} - engines: {node: '>= 0.4'} - - arraybuffer.prototype.slice@1.0.4: - resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==} - engines: {node: '>= 0.4'} - asn1js@3.0.10: resolution: {integrity: sha512-S2s3aOytiKdFRdulw2qPE51MzjzVOisppcVv7jVFR+Kw0kxwvFrDcYA0h7Ndqbmj0HkMIXYWaoj7fli8kgx1eg==} engines: {node: '>=12.0.0'} @@ -5737,9 +5896,6 @@ packages: resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} engines: {node: '>=12'} - ast-types-flow@0.0.8: - resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} - ast-types@0.16.3: resolution: {integrity: sha512-FvWoWYfSCM6kRxCSH+MGLHIKKGRL6A6AW7Zek2O32REPQRdg131428uRTKMBYAeRd3XXAaHDS60Wpri7CdKDrA==} engines: {node: '>=4'} @@ -5751,10 +5907,6 @@ packages: resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==} hasBin: true - async-function@1.0.0: - resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==} - engines: {node: '>= 0.4'} - atomically@1.7.0: resolution: {integrity: sha512-Xcz9l0z7y9yQ9rdDaxlmaI4uJHf/T8g9hOEzJcsEqX2SjCj4J20uK7+ldkDHMbpJDK76wF7xEIgxc/vSlsfw5w==} engines: {node: '>=10.12.0'} @@ -5762,18 +5914,6 @@ packages: atomically@2.1.1: resolution: {integrity: sha512-P4w9o2dqARji6P7MHprklbfiArZAWvo07yW7qs3pdljb3BWr12FIB7W+p0zJiuiVsUpRO0iZn1kFFcpPegg0tQ==} - available-typed-arrays@1.0.7: - resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} - engines: {node: '>= 0.4'} - - axe-core@4.13.0: - resolution: {integrity: sha512-UzGt8zg7Ny8djbYMhxl2zuEevVa7r2gJjYY5Lwr1xM7+XU2nd6CkIWFTVcCIbAP63vSz71NaVyyuSk9lHKcy0A==} - engines: {node: '>=4'} - - axobject-query@4.1.0: - resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} - engines: {node: '>= 0.4'} - b4a@1.9.0: resolution: {integrity: sha512-dpfcF9fDNR6++cthXR67iyhgqWy9CBouAvIWhIntzBG6cvK/cnIPiZQjBwi/ZqjjBEDGfoNDtmB0kTjroOJ3pQ==} peerDependencies: @@ -5809,8 +5949,8 @@ packages: base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - baseline-browser-mapping@2.11.26: - resolution: {integrity: sha512-GLQdD3y6UF8iVuMJl5fHgE4jdn/ua7n+toKfLgNlg3BqQtOZjpy68T8Tup8/wGWZCDlm7KMg7tPb4MPn7oN0TQ==} + baseline-browser-mapping@2.11.27: + resolution: {integrity: sha512-ElY12DaROGuan+lMmZ8Cvo/ZUbXPe7Enc/9VU/b1T3Kp4dwytRcNdR8DoSJN5SNJT/CuvcCA0DHDVmMOCePdRQ==} engines: {node: '>=6.0.0'} hasBin: true @@ -5846,9 +5986,6 @@ packages: bowser@2.14.1: resolution: {integrity: sha512-tzPjzCxygAKWFOJP011oxFHs57HzIhOEracIgAePE4pqB3LikALKnSzUyU4MGs9/iCEUuHlAJTjTc5M+u7YEGg==} - brace-expansion@1.1.21: - resolution: {integrity: sha512-9zeA+KLZNNzglF2TPKRQEDyx6Yby7daAkuy8MiPzpXPsYDWi/DRM8jmwUDxokQjYqBpv5DgPiwD4h4ZZSy1Ujw==} - brace-expansion@2.1.7: resolution: {integrity: sha512-uZbew1NqdmPDTMJ8ah1y+b+9QEJrfkXFk3RcTQw3X0jW/xRUvFKsg1CfQdSYGdTbXZWExtU3J3ccxtnfw1Fi0g==} @@ -5905,20 +6042,12 @@ packages: resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} engines: {node: '>= 0.4'} - call-bind@1.0.9: - resolution: {integrity: sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==} - engines: {node: '>= 0.4'} - call-bound@1.0.4: resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} engines: {node: '>= 0.4'} - callsites@3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} - - caniuse-lite@1.0.30001814: - resolution: {integrity: sha512-/Uaf1lAzr59XcMpW0o96WoEfr+VXK2OX4U9AgFoiSHsVJ4HppnIFUjtYzsyDH2+tgANaQb2/oxYGwCPapN1FpA==} + caniuse-lite@1.0.30001815: + resolution: {integrity: sha512-uDybUEyfgbyJJ93J1vikTylBX31AkdVYeVPeffMQpf8XN7hSfr0oZOn4VFOIMNvtU5+rHvC5Udg2TgtJKHm23Q==} ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} @@ -5965,8 +6094,8 @@ packages: citty@0.2.2: resolution: {integrity: sha512-+6vJA3L98yv+IdfKGZHBNiGW5KHn22e/JwID0Strsz8h4S/csAu/OuICwxrg44k5MRiZHWIo8XXuJgQTriRP4w==} - cjs-module-lexer@2.2.1: - resolution: {integrity: sha512-Ca8swihM+/4yKecYHY52kgJd300hi2lADU/a1RxNTRe+RJ9jvqQlESpbz9DnG9mowez8qwXHB8qYdIUw9e+F5Q==} + cjs-module-lexer@2.3.0: + resolution: {integrity: sha512-lmNyBzi6iYiqyrExTctfmjd8tInx+dHu9PBomTfH5RXS53c27JMFJgzNv5TyAnm3PgGf+MLy0+Ws41/HlVxdKQ==} class-variance-authority@0.7.1: resolution: {integrity: sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==} @@ -6009,16 +6138,6 @@ packages: engines: {node: '>=20'} hasBin: true - cn@0.3.2: - resolution: {integrity: sha512-RKzY5Edavc8B2Ka6tjJecKFC4nm0p7lADY72xzICmiJSf4TkaxWXt0fHsib2P2G4FkFyXfSDi9oDtIBuCZvY2g==} - engines: {node: '>=20'} - hasBin: true - - cn@0.3.3: - resolution: {integrity: sha512-OEiyJkSpYm2kOuNOKQ+c2wmzZRG8orrb9fnObtHTbCGNx/E9KLnGcmcocItOzREKk5KzQN5I2e3BUCj563KEpw==} - engines: {node: '>=20'} - hasBin: true - cn@0.4.0: resolution: {integrity: sha512-qOAeUhPwPzBxx6jaeQdo646XIKliKHc2j1ZF7Ngb1o0pJZKH5gq8FkA0aVdUdPFUDXNXyUCXpCtoJISo6dhizg==} engines: {node: '>=20'} @@ -6072,19 +6191,12 @@ packages: resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} engines: {node: ^12.20.0 || >=14} - comment-parser@1.4.9: - resolution: {integrity: sha512-+2AvZKjJaNq9GQljm3tr0utwrig5BL+jgJGvz5rDpGKNIp+ojcRXWUwBbh/sGIi1QCprR6PsKFakub+w1v+4hQ==} - engines: {node: '>= 12.0.0'} - compare-versions@6.1.1: resolution: {integrity: sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg==} compute-scroll-into-view@3.1.1: resolution: {integrity: sha512-VRhuHOLoKYOy4UbilLbUzbYg93XLjv2PncJC50EuTWPA3gaja1UjBsUP/D/9/juV3vQFr6XBEzn9KCAHdUvOHw==} - concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - conf@10.2.0: resolution: {integrity: sha512-8fLl9F04EJqjSqH+QjITQfJF8BrOVaYr1jewVgSRAEWePfxT0sku4w2hrGQ60BC/TNLGQ2pgxNlTbWQmMPFvXg==} engines: {node: '>=12'} @@ -6145,15 +6257,6 @@ packages: resolution: {integrity: sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==} engines: {node: '>= 0.10'} - cosmiconfig@9.0.2: - resolution: {integrity: sha512-gtTZxTDau1wL7Y7zifc2dd8jHSK/k6BTx/2Xp/BpdlAdnlYWFVt7qhJqgwi7637yRwRQ3qL4ZidbB4I8tA5VOg==} - engines: {node: '>=14'} - peerDependencies: - typescript: '>=4.9.5' - peerDependenciesMeta: - typescript: - optional: true - cron-parser@5.10.1: resolution: {integrity: sha512-pKRrRagItwk9rGIStcUyMxFX34x56zoX3KDf9HJ4ttwkXIK1qxK63EvXvEDmlxI9AdPJ+Y7TEKRftRlW5eSS7A==} engines: {node: '>=18'} @@ -6291,24 +6394,9 @@ packages: resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==} engines: {node: '>=12'} - damerau-levenshtein@1.0.8: - resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} - - data-urls@7.0.0: - resolution: {integrity: sha512-23XHcCF+coGYevirZceTVD7NdJOqVn+49IHyxgszm+JIiHLoB2TkmPtsYkNWT1pvRSGkc35L6NHs0yHkN2SumA==} - engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} - - data-view-buffer@1.0.2: - resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==} - engines: {node: '>= 0.4'} - - data-view-byte-length@1.0.2: - resolution: {integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==} - engines: {node: '>= 0.4'} - - data-view-byte-offset@1.0.1: - resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==} - engines: {node: '>= 0.4'} + data-urls@8.0.0: + resolution: {integrity: sha512-JQUCCK+/CAGbGGx618PlFZMXH81Jtj7t73CHv9dd/zVWvxgGT2zLFRjnKb+Ng46GIwcy+f7f88qd4duqllK+WQ==} + engines: {node: ^22.14.0 || >=24.0.0} date-fns@4.4.0: resolution: {integrity: sha512-+1UMbeh68lH1SegH83CGWwpb6OHHbpSgr3+s5Eww5M4CAgswBpoWS0AjTOfEJ33HiYKz1hdj/KTFprzXHmq/6w==} @@ -6373,10 +6461,6 @@ packages: resolution: {integrity: sha512-m1pAzaJgZ/gssEqlOhJkPJp8Xly7QyW6xcrkUa2KKcDeDSEMP7X8xipU3snUcfisTQx0w1AGae+9UtJSfVnXGw==} engines: {node: '>=18'} - define-data-property@1.1.4: - resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} - engines: {node: '>= 0.4'} - define-lazy-prop@2.0.0: resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} engines: {node: '>=8'} @@ -6385,10 +6469,6 @@ packages: resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} engines: {node: '>=12'} - define-properties@1.2.1: - resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} - engines: {node: '>= 0.4'} - delaunator@5.1.0: resolution: {integrity: sha512-AGrQ4QSgssa1NGmWmLPqN5NY2KajF5MqxetNEO+o0n3ZwZZeTmt7bBnvzHWrmkZFxGgr4HdyFgelzgi06otLuQ==} @@ -6462,8 +6542,8 @@ packages: resolution: {integrity: sha512-nI4U3TottKAcAD9LLud4Cb7b2QztQMUEfHbvhTH09bqXTxnSie8WnjPALV/WMCrJZ6UV/qHJ6L03OqO3LcdYZw==} engines: {node: '>=12'} - dotenv@18.0.5: - resolution: {integrity: sha512-aBrGvt6KhjxbEnatqMWOMidftwsrCiCvqh1yNIGB9QyF0J+VcWkKDMsvYOEm7ZS82oiV+BT1sTOtIlAmUlTpwQ==} + dotenv@18.0.6: + resolution: {integrity: sha512-ZMVmohV6CvAJtj++pZNyggluUt6hbRdQAxc2+Z635RL6/AG/ruXv5lHnybUFoxMPL/yrTL/tsF4paZu2l7RA6Q==} engines: {node: '>=12'} hasBin: true @@ -6624,8 +6704,8 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.5.443: - resolution: {integrity: sha512-TDJG36L9A3CWWwZ97HKaE+Iz1sW80pNp6sAU0owzCIV3Zc9eVyRqZK8Vz6NKuMIU8WjP0pIkoqCa0VRf/yFD0Q==} + electron-to-chromium@1.5.450: + resolution: {integrity: sha512-AC3HBt6+rJKNUJxpBA1FQPKjrJ2gV6zXu7uAL95PTqxdBxiHDELWpeJ8N5QK5qwBJqXU18hTsmv+hHjfwQ0gdQ==} embla-carousel-react@8.6.0: resolution: {integrity: sha512-0/PjqU7geVmo6F734pmPqpyHqiM99olvyecY7zdweCw+6tKEXnrE90pBiBbMMU8s5tICemzpQ3hi5EpxzGW+JA==} @@ -6646,9 +6726,6 @@ packages: emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - emoji-regex@9.2.2: - resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - emojibase-data@17.0.0: resolution: {integrity: sha512-Yvgb5AWoHViHV/gq1qr5ZAarcBip+B27/ZLRsUJkbgAEaLlZ/fof9g882LTpmEpyhBNEC0m2SEmItljHsTygjA==} peerDependencies: @@ -6705,17 +6782,6 @@ packages: resolution: {integrity: sha512-S8EFBKyznRwPVwayK187cYjvnpgC92xy+q0BIF++V965pfjMVVRbQ/HoTYGA/1EHmZ7E68k6Heq+4WnvVhOL5w==} hasBin: true - error-ex@1.3.4: - resolution: {integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==} - - es-abstract-get@1.0.0: - resolution: {integrity: sha512-6PMWXpdhshVvFp+FoWYs1EvG1Nj0tvk0dZM+XcK0xMEM1czRVcP6ohqPWHy6qPagSpC8j4+p89WXlT+xXJs/fg==} - engines: {node: '>= 0.4'} - - es-abstract@1.24.2: - resolution: {integrity: sha512-2FpH9Q5i2RRwyEP1AylXe6nYLR5OhaJTZwmlcP0dL/+JCbgg7yyEo/sEK6HeGZRf3dFpWwThaRHVApXSkW3xeg==} - engines: {node: '>= 0.4'} - es-define-property@1.0.1: resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} engines: {node: '>= 0.4'} @@ -6727,25 +6793,13 @@ packages: es-module-lexer@2.3.2: resolution: {integrity: sha512-poHGpORABojJJucnV9KbOavETW8lBVnphkW77ER5/BQ5Fz7oXSoCNek7IH3vR5nRjdsEz926ibFYX8KtLQmdyw==} - es-module-lexer@3.0.2: - resolution: {integrity: sha512-BuIB67FngDSyQ/dpQNOZybwdEBDUGJQvOqwWr4ha/ufYiqzuEwPkKO2zLhRAgay28tStRIHUeWmszZAJo3GCOg==} + es-module-lexer@3.0.3: + resolution: {integrity: sha512-yWGe1O/j+almnV4hOYrmZo8u58JdnmXEMneRQAYkWtqSiT86yoMIEKF4rpqEDj52tbYl3xceBD3DQIBwcsC9Pw==} es-object-atoms@1.1.2: resolution: {integrity: sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==} engines: {node: '>= 0.4'} - es-set-tostringtag@2.1.0: - resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} - engines: {node: '>= 0.4'} - - es-shim-unscopables@1.1.0: - resolution: {integrity: sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==} - engines: {node: '>= 0.4'} - - es-to-primitive@1.3.4: - resolution: {integrity: sha512-yPDz7wqpg1/mmHLmS3tcfTfbw5f1eryXvyghYBffGdERwe+mV7ZcWzTR8LR17Kvqt3qfPurjlonmnq3MKXIOXw==} - engines: {node: '>= 0.4'} - esast-util-from-estree@2.0.0: resolution: {integrity: sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==} @@ -6762,11 +6816,6 @@ packages: engines: {node: '>=18'} hasBin: true - esbuild@0.28.1: - resolution: {integrity: sha512-HrJrvZv5ayxBzPfwphOoNzkzOIIlifzk0KJrGK2c8R4+LKpMtpYLQeUdjnwjWv/LZlkH2laZk+4w78pi99D4Vw==} - engines: {node: '>=18'} - hasBin: true - esbuild@0.28.2: resolution: {integrity: sha512-HKVLS8dvII+xoKW9kmqxbRKrnWEXfJJr/FZhhJmiqIB0e053QNYFqOBouTMO/k5sID4MvCiUCvv8b9M4h32wIA==} engines: {node: '>=18'} @@ -6787,58 +6836,6 @@ packages: resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} engines: {node: '>=12'} - eslint-compat-utils@0.5.1: - resolution: {integrity: sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q==} - engines: {node: '>=12'} - 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-import-context@0.1.9: - resolution: {integrity: sha512-K9Hb+yRaGAGUbwjhFNHvSmmkZs9+zbuoe3kFQ4V1wYjrepUFYM2dZAfNtjbbj3qsPfUfsA68Bx/ICWQMi+C8Eg==} - engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - peerDependencies: - unrs-resolver: ^1.0.0 - peerDependenciesMeta: - unrs-resolver: - optional: true - - eslint-plugin-es-x@7.8.0: - resolution: {integrity: sha512-7Ds8+wAAoV3T+LAKeu39Y5BzXCrGKrcISfgKEqTS4BDN8SFEDQd0S43jiQ8vIa3wUKD07qitZdfzlenSi8/0qQ==} - engines: {node: ^14.18.0 || >=16.0.0} - peerDependencies: - eslint: '>=8' - - eslint-plugin-import-x@4.17.1: - resolution: {integrity: sha512-4cdstYkKCyjumM2Q9NSI03K8D2a9F4Ssz33K2lv2hQa4KmR9jPLwk3uWGtNvclfqBrPGfGuMBwsGMbe6dMRbfg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - '@typescript-eslint/utils': ^8.56.0 - eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - eslint-import-resolver-node: '*' - peerDependenciesMeta: - '@typescript-eslint/utils': - optional: true - eslint-import-resolver-node: - 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-perfectionist@5.12.1: resolution: {integrity: sha512-krdSE7Dz+TCtcVr2+rfNhlOIFFBJcUdoRvjaN7JQnsaVnxJw+BZh9wMkY3MSLCJat+yW+UPTQLKS82Epc7MGZA==} engines: {node: ^20.0.0 || >=22.0.0} @@ -6848,22 +6845,8 @@ packages: eslint: optional: true - eslint-plugin-prettier@5.5.6: - resolution: {integrity: sha512-ifetmTcxWfz+4qRW3pH/ujdTq2jQIj59AxJMIN26K5avYgU8dxycUETQonWiW+wPrYXA0j3Try0l1CnwVQtDqQ==} - 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-react-dom@5.23.3: - resolution: {integrity: sha512-kRJkm/X2Qp53PBIq8dM7RqyyEk4+n7606rz71VL04wZ6deIZKAK3sJs+2FZfdKgHO/JlUb3NcOQ/0baig+oREw==} + eslint-plugin-react-dom@5.24.8: + resolution: {integrity: sha512-cKwaOniGB7jPh43B0R9izBTGm196HgIsySdKpEeLRjmdi4niRgyQ627Mqaj15FTJLnotW76ewfoekK3WK0nGqw==} engines: {node: '>=22.0.0'} peerDependencies: eslint: '*' @@ -6878,8 +6861,8 @@ packages: peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 || ^10.0.0 - eslint-plugin-react-jsx@5.23.3: - resolution: {integrity: sha512-189rze+yDs9Poco5CEuBQIdKnePECR+jfdNcDiaRCR9DvVwl1W3YLXjsdwjf+9E1jyamMQHLJNFxrF2rUZ0rFQ==} + eslint-plugin-react-jsx@5.24.8: + resolution: {integrity: sha512-TL47iU2wpWsgnelnobiWnL7vAMCk67SeSHt5aJ64OwEQ5HmLzN4YCoPfvIYT5ILs4Mi+EtirAWRlx4FpOMSurA==} engines: {node: '>=22.0.0'} peerDependencies: eslint: '*' @@ -6888,8 +6871,8 @@ packages: eslint: optional: true - eslint-plugin-react-naming-convention@5.23.3: - resolution: {integrity: sha512-KaycnZqXcuR7NBZbej6N1ZMG9TEVUjFFVHVKD8Vr/8NkGMBcCNHEnwQkmmVM285fU0C4iHadvA5aeV+LoiRV/Q==} + eslint-plugin-react-naming-convention@5.24.8: + resolution: {integrity: sha512-JPd3XUEgm8+3emTPMGWeNAJ2wHKOYz0hw8jXYyNW8bp58dLgJzgFkcJYqfNv41Axd5ELbr9ju9GIZCoWUS211w==} engines: {node: '>=22.0.0'} peerDependencies: eslint: '*' @@ -6898,8 +6881,8 @@ packages: eslint: optional: true - eslint-plugin-react-rsc@5.23.3: - resolution: {integrity: sha512-FRiAnzjW5eWCTAbNEHHIkvAccnvqfJaiA9oWjHcDM5ERSOdIzcYVMRj1bJxPOtQiGwrhQzrnatzUe5l+wrxu8A==} + eslint-plugin-react-rsc@5.24.8: + resolution: {integrity: sha512-25KGrrMfTM7cPR46SqDfxE+GsenrhGrHmI8zHGPu9hX1uGWZa2fJ80YoQSO/Ooh+JkCYrRgweZm7+0J2PhCD+Q==} engines: {node: '>=22.0.0'} peerDependencies: eslint: '*' @@ -6908,8 +6891,8 @@ packages: eslint: optional: true - eslint-plugin-react-web-api@5.23.3: - resolution: {integrity: sha512-u+YJRTDLJe8ZO6MUnU8QOfzU1zU+6FvWE7JsS65h/NwiPVyoKbpI13cV27xbH83AeM0FZBeGT4MFxTLJUTWBaQ==} + eslint-plugin-react-web-api@5.24.8: + resolution: {integrity: sha512-CP6RX/UB8GG0J4GKXz9pBQzC67u6U7ozWQSP7DZqlS7ypCWY4NHJAhD/mR5EcjQWI80At62CunFQLHPbCIwCPg==} engines: {node: '>=22.0.0'} peerDependencies: eslint: '*' @@ -6918,8 +6901,8 @@ packages: eslint: optional: true - eslint-plugin-react-x@5.23.3: - resolution: {integrity: sha512-rsFbzgZ1FWkR3QmoBpj/+rzeHrouC7/Fsj3jrHRIiQFXt71RGpGlxUtbOUbR9zdfPVuGNU3WC59wtHPlisALHg==} + eslint-plugin-react-x@5.24.8: + resolution: {integrity: sha512-ke2ozfsDW37LJHl/rj2CnkTp7sc32//+zfh6X0muu4Y4ncSrm5oDJg4mLZZWh8fcNwsHnutW+Ruqfq202B2LaQ==} engines: {node: '>=22.0.0'} peerDependencies: eslint: '*' @@ -6942,10 +6925,6 @@ packages: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint-visitor-keys@4.2.1: - 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.1: resolution: {integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} @@ -6960,10 +6939,6 @@ packages: jiti: optional: true - espree@10.4.0: - resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - espree@11.2.0: resolution: {integrity: sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} @@ -7047,8 +7022,8 @@ packages: resolution: {integrity: sha512-KfYbmpRm0VbLjEvVa9yGwCi9GI34xvi7A/HXYWQO65CSD2u3MczUJSuwXKFIxlGsgBQizV9q5J9NHj4VG0n+pA==} engines: {node: '>=12.0.0'} - express-rate-limit@8.7.0: - resolution: {integrity: sha512-hOwV7WOxXfjRpAM1DSJWZDXx3GhplwD8IfwuwvogD8i1Qnkgosw/H45s4ZnFAUHDAhPjlY9hLBvJhKmGMyY26g==} + express-rate-limit@8.7.1: + resolution: {integrity: sha512-2FXbqkygil3mZiXzEtM0IjE/UBmBNot0J1GEVrJT4JbrvwOSoEtqtO+wHbiMQELWe1eNvHoYRg2dkjOid+6JkA==} engines: {node: '>= 16'} peerDependencies: express: '>= 4.11' @@ -7074,9 +7049,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-equals@5.4.3: resolution: {integrity: sha512-8unmvA0qrfpFWBYUate9BTGtQdKHWBYt+KdAIkag7Vvxe7wz8Q2nJg7fLMC0bJqe0bjP31kca7Ckaawrs4Istg==} engines: {node: '>=6.0.0'} @@ -7175,10 +7147,6 @@ packages: flatted@3.4.4: resolution: {integrity: sha512-5+ybhBZANEJxaH3X5evAFatUxLfEHSr7n6kYJ+1Qd0mUqr4eu9gIf6GDbWHf8RJijHrjjO8G+la14SlL2SeS1Q==} - for-each@0.3.5: - resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} - engines: {node: '>= 0.4'} - form-data-encoder@4.1.0: resolution: {integrity: sha512-G6NsmEW15s0Uw9XnCg+33H3ViYRyiM0hMrMhhqQOR8NFc5GhYrI+6I3u7OTw7b91J2g8rtvMBZJDbcGb2YUniw==} engines: {node: '>= 18'} @@ -7187,8 +7155,8 @@ packages: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} - framer-motion@13.4.6: - resolution: {integrity: sha512-TwKWt2CC8rjhARzwV00TZIh04ipumSAqyKM/JZmS+urdncSHg6wTF/mfj/Fd6Oi2W01TZSWsiA3uxXDrXZtKyw==} + framer-motion@14.0.0: + resolution: {integrity: sha512-QAtHmybrDFSliyW1sexMtSQTQd+1jw2ajibEmzpuI4XdPVzQkn+dAzJMm2sW3pl9MJuSS4xN51djQ7huhlP/VA==} peerDependencies: react: ^18.0.0 || ^19.0.0 react-dom: ^18.0.0 || ^19.0.0 @@ -7216,8 +7184,8 @@ packages: engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] - fumadocs-core@16.15.17: - resolution: {integrity: sha512-Pexn60R+S5F33UccW9WoLN+LHAOIraA/VvQt1xAXmfLxitx5rIPR7B9M+5mrqECnuSPltoX843NZ//Z5j/HAOg==} + fumadocs-core@16.16.2: + resolution: {integrity: sha512-nC7NMDGbfgLa4NuA2X30QJt+zcE+xIiuATCrbWZD742fC6+DccgTQCBP9Ry0/OXdYrFtlsIcpO4MhzV9NkBvRw==} peerDependencies: '@mdx-js/mdx': '*' '@mixedbread/sdk': 0.x.x @@ -7232,6 +7200,7 @@ packages: algoliasearch: 5.x.x flexsearch: '*' lucide-react: '*' + meilisearch: '>=0.50.0 <1.0.0' next: 16.x.x react: ^19.2.0 react-dom: ^19.2.0 @@ -7265,6 +7234,8 @@ packages: optional: true lucide-react: optional: true + meilisearch: + optional: true next: optional: true react: @@ -7278,8 +7249,8 @@ packages: zod: optional: true - fumadocs-mdx@15.4.5: - resolution: {integrity: sha512-r8gzaqleN+YXgPIbkYSZ05zr89dsr67/64Ar/00Uu7dRWTIHzbgmN1nC0lB8RFNeWnrL41bOTJilhLM4PAsrbw==} + fumadocs-mdx@15.4.6: + resolution: {integrity: sha512-R8bdonO7+vDplod2YOLohH8cqr6ALVD/oaURObRoh+aKKyWeC5pTia2KkDNzOoUnkQLpTS9hTsaf5zt5RqMHUA==} hasBin: true peerDependencies: '@fumadocs/satteri': 0.x.x @@ -7315,12 +7286,12 @@ packages: vite: optional: true - fumadocs-ui@16.15.17: - resolution: {integrity: sha512-Q0Tzfte6Bzz8JCVU0yMISWjEpoTzGKfdeG8WoRxktdv30JblQ+G8n87MG11auMh6Li0CuO5oPqH5otyQ2mQ5Yw==} + fumadocs-ui@16.16.2: + resolution: {integrity: sha512-pP8+B8cZ20WYYlwg1LsrN/ZowcivK24c9/RMzRx1inPZbjV66ga76NwWEhBmK7VX5OC/TSxGpDpxQ/bcI2XiqQ==} peerDependencies: '@types/mdx': '*' '@types/react': '*' - fumadocs-core: 16.15.17 + fumadocs-core: 16.16.2 next: 16.x.x react: ^19.2.0 react-dom: ^19.2.0 @@ -7342,20 +7313,9 @@ packages: resolution: {integrity: sha512-939eZS4gJ3htTHAldmyyuzlrD58P03fHG49v2JfFXbV6OhvZKRC9j2yAtdHw/zrp2zXHuv05zMIy40F0ge7spA==} engines: {node: '>=18'} - function.prototype.name@1.2.0: - resolution: {integrity: sha512-jObKIik1P2QjPHP5nz5BaOtUlfgS0fWo8IUByNXkM+o+02sJOi94em77GwJKQSJ3gfPHdgzLNrHc1uokV4P/ew==} - engines: {node: '>= 0.4'} - - functions-have-names@1.2.3: - resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} - fuzzysort@3.1.0: resolution: {integrity: sha512-sR9BNCjBg6LNgwvxlBd0sBABvQitkLzoVY9MYYROQVX/FvfJ4Mai9LsGhDgd8qYdds0bY77VzYd5iuB+v5rwQQ==} - generator-function@2.0.1: - resolution: {integrity: sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==} - engines: {node: '>= 0.4'} - gensync@1.0.0-beta.2: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} @@ -7396,10 +7356,6 @@ packages: resolution: {integrity: sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==} engines: {node: '>=18'} - get-symbol-description@1.1.0: - resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} - engines: {node: '>= 0.4'} - get-tsconfig@4.14.3: resolution: {integrity: sha512-++QEw4DIY7WGoukz+/+A/8dGYPT9l9yIadnmSgZ8Rjr3YVSVDipQSO9CdnJo9ePqFqUUqh+wk9uIaoiAwsiPkA==} @@ -7418,29 +7374,14 @@ packages: resolution: {integrity: sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==} engines: {node: 18 || 20 || >=22} - globals@15.15.0: - resolution: {integrity: sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==} - engines: {node: '>=18'} - globals@16.5.0: resolution: {integrity: sha512-c/c15i26VrJ4IRt5Z89DnIzCGDn9EcebibhAOjw5ibqEHsE1wLUgkPn9RDmNcUKyU87GeaL633nyJ+pplFR2ZQ==} engines: {node: '>=18'} - globals@17.12.0: - resolution: {integrity: sha512-cezEd/DTyyht9cvSSURyygXPfy04GtWO/5e6ZPvH7fCtjKz9PYOmuawphw1Ctd1f6C+5JypXfGD7ahNMXvevBA==} - engines: {node: '>=18'} - - globalthis@1.0.4: - resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} - engines: {node: '>= 0.4'} - globby@11.1.0: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} engines: {node: '>=10'} - globrex@0.1.2: - resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} - goober@2.1.19: resolution: {integrity: sha512-U7veizMqxyKlM58+Z5j2ngJBH/r9siDmxpvNxSw0PylF6WQvrASJEZrxh1hidRBJc2jqoBVSyOban5u8m+6Rxg==} peerDependencies: @@ -7480,25 +7421,10 @@ packages: ocache: optional: true - has-bigints@1.1.0: - resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==} - engines: {node: '>= 0.4'} - - has-property-descriptors@1.0.2: - resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} - - has-proto@1.2.0: - resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==} - engines: {node: '>= 0.4'} - has-symbols@1.1.0: resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} engines: {node: '>= 0.4'} - has-tostringtag@1.0.2: - resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} - engines: {node: '>= 0.4'} - hashery@1.5.1: resolution: {integrity: sha512-iZyKG96/JwPz1N55vj2Ie2vXbhu440zfUfJvSwEqEbeLluk7NnapfGqa7LH0mOsnDxTF85Mx8/dyR6HfqcbmbQ==} engines: {node: '>=20'} @@ -7540,8 +7466,8 @@ packages: hermes-parser@0.25.1: resolution: {integrity: sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==} - hono@4.13.12: - resolution: {integrity: sha512-6E2QDAc9Ick9Sq77ZrGS/dk2WUYni91aufTw6LJKpV7w8kW5/GxVUc650FOADOmlwg3K+f7Pun6XlV+pYmW6gw==} + hono@4.13.13: + resolution: {integrity: sha512-CQ46U0ZkAGmbT/4UxdzzGJpacP2IeKgY4a5/tOI9AABbpOMfK739wfDXmv1usCk+3RkKj1hQy4/fjhiwa2xlrA==} engines: {node: '>=16.9.0'} hookable@6.1.2: @@ -7612,8 +7538,8 @@ packages: resolution: {integrity: sha512-IKXpvIzjnC9XTAUbVBcMfGS0EPaIXtW6v+zr+RRp+hqULEpo0owZax6wyRwPOJbWbzjYspQwusTsfVr0ifh4uQ==} engines: {node: '>=0.10.0'} - icu-minify@4.14.8: - resolution: {integrity: sha512-X5V4ndHznoo+ti99jMi2vbolCHKGulfWbL9fUTp2uKptKPVc+wNhzw5kwbFkq45zqzC/7zcGLfdPEklKei358g==} + icu-minify@4.14.9: + resolution: {integrity: sha512-PmO+fNnC3K3mfPKTnm3RrPERrhQZnjm1AlpyZQ0ShbXi8Y/kYZ3YOde8TEjCLz9k3P2DmzkBn8lykGrCAi1Ajw==} ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} @@ -7622,14 +7548,10 @@ packages: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} - ignore@7.0.11: - resolution: {integrity: sha512-YChdK5txDjwGUvgR7oCJcLGkwi3LDh8Zx8tS7ndYciLEg/oOCL26VUBSUEtgS7EjiybcBqFxh5j0rAdDX7/bbg==} + ignore@7.0.12: + resolution: {integrity: sha512-/8UvqAPU9DGTI9k4mxtf49U37Isfwr8Uts96+SBHIkFxPJnHS0Ew4f00sM4Scd8V8EjM0jUNtVDdv1kPdt35lg==} engines: {node: '>= 4'} - import-fresh@3.3.1: - resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} - engines: {node: '>=6'} - import-in-the-middle@3.5.2: resolution: {integrity: sha512-WseIA/4o56+GYO3RmlOPvejYi771OFeJEeK/ejROsr9bdjW+E5NXTOD1Di8TL40Qgg3JJX9aa97Hf8iiSVIKZw==} engines: {node: '>=18'} @@ -7653,10 +7575,6 @@ packages: inspect-with-kind@1.0.5: resolution: {integrity: sha512-MAQUJuIo7Xqk8EVNP+6d3CKq9c80hi4tjIbIAT6lmGW9W6WzlHiu9PS8uSuUYU+Do+j1baiFp3H25XEVxDIG2g==} - internal-slot@1.1.0: - resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} - engines: {node: '>= 0.4'} - internmap@1.0.1: resolution: {integrity: sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==} @@ -7667,8 +7585,8 @@ packages: intl-messageformat@11.2.15: resolution: {integrity: sha512-W4VNytsXyWgW5lvVchmsb9xgA5rSKqoflu3/IQ9UCtB0z4R+Bx9MoEkwFT/+30RCl/KzUoH0QGGe9lppF5SuvQ==} - ip-address@10.7.2: - resolution: {integrity: sha512-7H/2gFSIitxc0hG3nOI1glS8QLo/EHBFFLk8vEUjXY/xu0AdL8jZ9U1IzO2PUm0d2D/ofQcAifb0g6OBkt8U7w==} + ip-address@10.7.3: + resolution: {integrity: sha512-A1kdq/tSb5QjvKvAMgIoEvDBIgL7qaqVP/jkvSwYYRZ9iEzvPpopxp2wQfu3SuZRHtpHNxMn8Fs0bS+gf5Xmwg==} engines: {node: '>= 12'} ipaddr.js@1.9.1: @@ -7681,41 +7599,10 @@ packages: is-alphanumerical@2.0.1: resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} - is-array-buffer@3.0.5: - resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==} - engines: {node: '>= 0.4'} - - is-arrayish@0.2.1: - resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - - is-async-function@2.1.1: - resolution: {integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==} - engines: {node: '>= 0.4'} - - is-bigint@1.1.0: - resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==} - engines: {node: '>= 0.4'} - is-binary-path@2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} - is-boolean-object@1.2.2: - resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==} - engines: {node: '>= 0.4'} - - is-callable@1.2.7: - resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} - engines: {node: '>= 0.4'} - - is-data-view@1.0.2: - resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==} - engines: {node: '>= 0.4'} - - is-date-object@1.1.0: - resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==} - engines: {node: '>= 0.4'} - is-decimal@2.0.1: resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} @@ -7729,10 +7616,6 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} hasBin: true - is-document.all@1.0.0: - resolution: {integrity: sha512-+XSoyS05OdBbhFuELhgTCpFNHkpBOJqtsZfUFFpe5QTw+9Sjbh8zitxhQkYAo6wV7e1Vb8cAPvpCk9jGam/82g==} - engines: {node: '>= 0.4'} - is-emoji-supported@0.0.5: resolution: {integrity: sha512-WOlXUhDDHxYqcSmFZis+xWhhqXiK2SU0iYiqmth5Ip0FHLZQAt9rKL5ahnilE8/86WH8tZ3bmNNNC+bTzamqlw==} @@ -7740,18 +7623,10 @@ packages: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} - is-finalizationregistry@1.1.1: - resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==} - engines: {node: '>= 0.4'} - is-fullwidth-code-point@3.0.0: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} - is-generator-function@1.1.2: - resolution: {integrity: sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==} - engines: {node: '>= 0.4'} - is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} @@ -7772,18 +7647,6 @@ packages: resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} engines: {node: '>=12'} - is-map@2.0.3: - resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} - engines: {node: '>= 0.4'} - - is-negative-zero@2.0.3: - resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} - engines: {node: '>= 0.4'} - - is-number-object@1.1.1: - resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==} - engines: {node: '>= 0.4'} - is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} @@ -7814,22 +7677,10 @@ packages: is-promise@4.0.0: resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==} - is-regex@1.2.1: - resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} - engines: {node: '>= 0.4'} - is-regexp@3.1.0: resolution: {integrity: sha512-rbku49cWloU5bSMI+zaRaXdQHXnthP6DZ/vLnfdSKyL4zUzuWnomtOEiZZOd+ioQ+avFo/qau3KPTc7Fjy1uPA==} engines: {node: '>=12'} - is-set@2.0.3: - resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} - engines: {node: '>= 0.4'} - - is-shared-array-buffer@1.0.4: - resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==} - engines: {node: '>= 0.4'} - is-stream@2.0.1: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} @@ -7842,18 +7693,6 @@ packages: resolution: {integrity: sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==} engines: {node: '>=18'} - is-string@1.1.1: - resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==} - engines: {node: '>= 0.4'} - - is-symbol@1.1.1: - resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==} - engines: {node: '>= 0.4'} - - is-typed-array@1.1.15: - resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} - engines: {node: '>= 0.4'} - is-unicode-supported@1.3.0: resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} engines: {node: '>=12'} @@ -7862,18 +7701,6 @@ packages: resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==} engines: {node: '>=18'} - is-weakmap@2.0.2: - resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} - engines: {node: '>= 0.4'} - - is-weakref@1.1.1: - resolution: {integrity: sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==} - engines: {node: '>= 0.4'} - - is-weakset@2.0.4: - resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==} - engines: {node: '>= 0.4'} - is-wsl@2.2.0: resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} engines: {node: '>=8'} @@ -7882,9 +7709,6 @@ packages: resolution: {integrity: sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==} engines: {node: '>=16'} - isarray@2.0.5: - resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} - isbot@5.2.2: resolution: {integrity: sha512-iQcBXcd+Rv/pkubRyGh2utW2j1oPG5hZY6TUhVPpqK4G+o3IbxpJNx04hgksjc/N7GK5pEorUxDeg31cFgEk/w==} engines: {node: '>=18'} @@ -7949,8 +7773,8 @@ packages: jsbi@4.3.2: resolution: {integrity: sha512-9fqMSQbhJykSeii05nxKl4m6Eqn2P6rOlYiS+C5Dr/HPIU/7yZxu5qzbs40tgaFORiw2Amd0mirjxatXYMkIew==} - jsdom@30.1.1: - resolution: {integrity: sha512-FahmoPK5vbPc+jxV1iErMHmAZypCZ942NHF4+qqaWAuvaKKTBZxawnmAtrbGWLU7MtlxfqIP0qw6aSI+aWGtLg==} + jsdom@30.1.2: + resolution: {integrity: sha512-0FFE/jE1rppmVfUrJUgxqXjcwolZYIGtAgj1pTussMhNZxIxi7W/PvfWaMNroGi2B36X1IKHbexpZ9DhkoOPiQ==} engines: {node: ^22.22.2 || ^24.15.0 || >=26.0.0} peerDependencies: canvas: ^3.2.3 @@ -7963,9 +7787,6 @@ packages: engines: {node: '>=6'} hasBin: true - json-parse-even-better-errors@2.3.1: - resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} @@ -7998,10 +7819,6 @@ packages: jsonfile@6.2.1: resolution: {integrity: sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==} - jsx-ast-utils@3.3.5: - resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} - engines: {node: '>=4.0'} - keyv@5.6.0: resolution: {integrity: sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw==} @@ -8017,18 +7834,11 @@ packages: resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} engines: {node: '>=6'} - language-subtag-registry@0.3.23: - resolution: {integrity: sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==} - - language-tags@1.0.9: - resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} - engines: {node: '>=0.10'} - launch-editor@2.14.1: resolution: {integrity: sha512-QWBrQsMpH7gPr965dsKD/3cKWiNoTjpATQf++Xq63N6sKRGMwlVXz41O1IZTMfZQgBctD/K5Zt06+/I6pP6+HA==} - launder@1.7.1: - resolution: {integrity: sha512-mU6WRz5EusL9ZZuiZ5SO4Y6C0P9PAUR9iwdb6bzj4KDihm28DiHFw+/yk9DBH4f+Pv1wuzQ4e2jV3oQ7mkIqvw==} + launder@1.7.2: + resolution: {integrity: sha512-DLg3HPnHUfBi5/MxMLmJD12dmlMpFEC2HgMW6vkZ/9JR0RU00kXoRGvDxAvFmdO0o610OA77i4FgNTLucmhDVg==} leac@0.6.0: resolution: {integrity: sha512-y+SqErxb8h7nE/fiEX07jsbuhrpO9lL8eca7/Y1nuWV2moNlXhyd59iDGcRf6moVyDMbmTNzL40SUyrFU/yDpg==} @@ -8234,8 +8044,8 @@ packages: lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - lucide-react@1.49.0: - resolution: {integrity: sha512-ApfaNM4/7jBrVopqLJ84Jz8TMQ1Q1JeZ1PmKh25aeS3E1FTVcMkSh1bEQB7dfzdIrwXRP8p3z4AJjTIHHb5IIA==} + lucide-react@1.52.0: + resolution: {integrity: sha512-TUgPtl5ZI9WgxOcbu4ckaC5B3l1qxPQrCMgb6OfUB9owx/OvSJfcf93SMgUWAxRw5/1XDfh9uI5F5iNGXCcGDQ==} peerDependencies: '@types/react': '*' react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0 @@ -8257,6 +8067,9 @@ packages: magic-string@1.4.2: resolution: {integrity: sha512-vG+rjFRj1PqdIBozIxAGMjPlOhaVe+GXpbttY/iSK7rGcJRMlwNJO7dcUwmUqkymsFLJiNGI06t4D7Fr7yRC9g==} + magic-string@1.4.3: + resolution: {integrity: sha512-z12OxmaPGE0F4xlpGdjuAUckipLpQlTAuAmyGhNoD7ODpYUzvDfvtxUbjM/jwznyP178oju/KDdyi220wNJ0RQ==} + magicast@0.5.5: resolution: {integrity: sha512-UicdXN8zQ3JHlxVq+28afMXPr1z7WNY6+7EJnzTdQWkTAlMLF5fNCCKxJHBQwGaNGR11581EiQmQzx73+MvszA==} @@ -8280,11 +8093,11 @@ packages: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} - mdast-util-find-and-replace@3.0.2: - resolution: {integrity: sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==} + mdast-util-find-and-replace@3.0.3: + resolution: {integrity: sha512-xPgpDNl0/OXHsI7TlaIs22lWnH3KlpvZdXG1ET/m/YT2Hhdkx8lJV4kLphE6l9simyM4KPDFBwas08BgEob6Jw==} - mdast-util-from-markdown@2.0.3: - resolution: {integrity: sha512-W4mAWTvSlKvf8L6J+VN9yLSqQ9AOAAvHuoDAmPkz4dHf553m5gVj2ejadHJhoJmcmxEnOv6Pa8XJhpxE93kb8Q==} + mdast-util-from-markdown@2.1.0: + resolution: {integrity: sha512-KRLgmPaP2H1ul2bpoJkOS+9pAcDAAj9Nu1mqLnh8NLeJG5tlvj42TH80PIGBpROWlRXLk0lDrWNuZCFy/tsB4A==} mdast-util-gfm-autolink-literal@2.0.1: resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==} @@ -8322,8 +8135,8 @@ packages: mdast-util-to-hast@13.2.1: resolution: {integrity: sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==} - mdast-util-to-markdown@2.1.3: - resolution: {integrity: sha512-wgyJtgUkUcdU7zci7uuwc/tzoAhm0TswWhaXuvnWolqug+8jY7bgNkBBL0dYBnHgc/tHL7lCzRdPsdUxUKKBqw==} + mdast-util-to-markdown@2.2.0: + resolution: {integrity: sha512-2Jn/ADrHFFyyniBMi0bncTbJqU78K3/TEYvzvwrWWzD9MYPUa/Gm4r3nOeKFQg/PDM5BsbDYdc8ackW4NTY6NA==} mdast-util-to-string@4.0.0: resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} @@ -8498,9 +8311,6 @@ packages: resolution: {integrity: sha512-vpLQEs+VLCr1nU0BXS07maYoFwlDAH0gngQuuttxIwutDFEMHq2blX+8vpgxDdK3J1PwjCJiep77OitTZ4Ll1A==} engines: {node: 18 || 20 || >=22} - minimatch@3.1.5: - resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==} - minimatch@9.0.9: resolution: {integrity: sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==} engines: {node: '>=16 || 14 >=14.17'} @@ -8518,14 +8328,14 @@ packages: module-details-from-path@1.0.4: resolution: {integrity: sha512-EGWKgxALGMgzvxYF1UyGTy0HXX/2vHLkw6+NvDKW2jypWbHpjQuj4UMcqQWXHERJhVGKikolT06G3bcKe4fi7w==} - motion-dom@13.4.5: - resolution: {integrity: sha512-p63p2Doq+US/O5wADauIPUVx0/eONHMLPzsudBM9XMWRuBQLXogdxH0vwIA8WYQZw864pyzoV723xoDqakwWTg==} + motion-dom@14.0.0: + resolution: {integrity: sha512-aU3ApXo1yTpeUi3JU+jbDk2TELjxPE3MbBMUP7nZHlARb6RweJK+ojmLjpuB0YsY6zhbBl1YWGo8LMsI1/Llqw==} - motion-utils@13.3.0: - resolution: {integrity: sha512-sgSschQp7EseHInIlR7hBbMuvet3RA0bs28KPZAXJcGKGdxHGvh1ogpYDilY3bOMtl73EqPNmp75sAKHYPU5sg==} + motion-utils@14.0.0: + resolution: {integrity: sha512-jBsyjVxTTRZNeuvd/v+btVXr90LQkYl4HhRu9T2ARc+PMnvkmjsjRVeAg4Qm10b6TlTw+kykWI8gu/6LuvpLSQ==} - motion@13.4.6: - resolution: {integrity: sha512-zDXi6lIdyhda6wZlTsv9QgT2ed6UExAfRegtl/akQmZb5iaeLlArXr9Gmo/hx3iTx2y4R7tmdb9k9koFQmV+NQ==} + motion@14.0.0: + resolution: {integrity: sha512-oGc2lkge2lkRZCP+J8/JsnYu4NFjqP1MtXirNdetn3QbvK2JqwM9A200EdT4C598KfzDhjLT12zF21xDM4Oilw==} peerDependencies: react: ^18.0.0 || ^19.0.0 react-dom: ^18.0.0 || ^19.0.0 @@ -8549,16 +8359,11 @@ packages: mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} - nanoid@3.3.19: - resolution: {integrity: sha512-Y2tUNy4ouw6tq5oDSKeQYGOyhkUBhNOcGV/02KC+6kd9eDGqdZd++mjMiIDilrBYvjEnCYvVtsuHCuP+okSfug==} + nanoid@3.3.20: + resolution: {integrity: sha512-uKdg2G3GNCKQn9byYOpxbGqrT2fGO5KRt5J/8b3pok8rT6qxGWF6hxMyJiEYtAf+FVyYuD9hRaDqX5uPFYJ4ZQ==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - napi-postinstall@0.3.4: - resolution: {integrity: sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==} - engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - hasBin: true - natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} @@ -8621,8 +8426,8 @@ packages: resolution: {integrity: sha512-kQK9LGGFiHtrWiNhZtA7Qbw17AQz+dmsEKODRIVTXA9+e5MS/2gZEBhYJt13GrAz5/IOZKddH/0Z3TP/Zgo+yw==} engines: {node: '>=18'} - nodemailer@10.0.13: - resolution: {integrity: sha512-SzG86OlvcW/NNhUFC6uROMwRTL4n7MswfQqC/T8mhkmnY1YVa23zUEMYi4ijSeXSl9GLz9ZeTJDUatEDuY5FeQ==} + nodemailer@10.0.16: + resolution: {integrity: sha512-VL9xKErxN+el77o8eBOuYKUPMyEx7F9hfnDCuiUKJRp9v3wnWMOudYgP/SWbwSHy8rUL4cylobuXtki1LpQS7A==} engines: {node: '>=20.0.0'} normalize-path@3.0.0: @@ -8662,26 +8467,10 @@ packages: resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} engines: {node: '>= 0.4'} - object-keys@1.1.1: - resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} - engines: {node: '>= 0.4'} - object-treeify@1.1.33: resolution: {integrity: sha512-EFVjAYfzWqWsBMRHPMAXLCDIJnpMhdWAqR7xG6M6a2cs6PMFpl/+Z20w9zDW4vkxOFfddegBKq9Rehd0bxWE7A==} engines: {node: '>= 10'} - object.assign@4.1.7: - resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} - engines: {node: '>= 0.4'} - - object.fromentries@2.0.8: - resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} - engines: {node: '>= 0.4'} - - object.values@1.2.1: - resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==} - engines: {node: '>= 0.4'} - obug@2.2.1: resolution: {integrity: sha512-XrsrhT5sybtKI6wakr2SPOlGZWWYbUXZ7a0jT8/QOeAPau+1X/bSegNe5YR75oJmEZQbKningirmGOEJCIk61Q==} engines: {node: '>=12.20.0'} @@ -8740,10 +8529,6 @@ packages: orderedmap@2.1.1: resolution: {integrity: sha512-TvAWxi0nDe1j/rtMcWcIj94+Ffe6n7zhow33h40SKxmsmozs6dz/e+EajymfoFcHd7sxNn8yHM8839uixMOV6g==} - own-keys@1.0.2: - resolution: {integrity: sha512-19YVAg7T+WTrxggPukVq7DjTv6+PJ867TmhCvBsYwmbFCsZd344rq2Ld1p0wo8f8Qrrhgp82c6FJRqdXWtSEhg==} - engines: {node: '>= 0.4'} - oxc-parser@0.120.0: resolution: {integrity: sha512-WyPWZlcIm+Fkte63FGfgFB8mAAk33aH9h5N9lphXVOHSXEBFFsmYdOBedVKly363aWABjZdaj/m9lBfEY4wt+w==} engines: {node: ^20.19.0 || >=22.12.0} @@ -8755,16 +8540,46 @@ packages: oxc-resolver@11.24.2: resolution: {integrity: sha512-FY91FiDBj7ls5MsFS9jN3tjz2o0/zsdSsymlakySaBwVJZorHhkWyICLZMKxlu1R9vYo+sd3z1jwb4J8x7bNDw==} - oxlint-plugin-react-doctor@0.9.14: - resolution: {integrity: sha512-YGdwFmQXGQulT63SnVD9JI1hV2EwGnZHrgSlUMQaOkvnhYA200QwDeb7DfVT8UBt34lBvbkjtz8VRFJugHjsRQ==} + oxfmt@0.72.0: + resolution: {integrity: sha512-16OQeL0uhPZbfmT9S9WWM0Nv9+BmVi8Ra1uTYaSKj/qSCs6FB30KOhz9JoNYw6thT+K5bVxsk/tSEOu497i34g==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + svelte: ^5.0.0 + vite-plus: '*' + peerDependenciesMeta: + svelte: + optional: true + vite-plus: + optional: true + + oxlint-plugin-react-doctor@0.9.17: + resolution: {integrity: sha512-j6tdFoJbLztISYNlw7LMT+6naqhVsXTNn7drhoGRIqf0x2mCSD2Ur71hK0E/VrLens355finI6j+sMqHxHpEfA==} engines: {node: ^20.19.0 || >=22.13.0} + oxlint-tsgolint@7.0.2003: + resolution: {integrity: sha512-VnK4zlqgmgq/7ZcjzCk/WpN8kKFsYGcB85Io9qT3wL4K8Un3RKmJkp793crNETieMusPMKOA4a+Mw2wbteI6TQ==} + hasBin: true + oxlint@1.81.0: resolution: {integrity: sha512-HyrJYqeoOCL0iqaLEzGewGT48ZX99P3hxYh8udAF9RGGIghSamkXE4ClUyBpEDNqasamThgmlPbuMOe7SAZmHg==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: - oxlint-tsgolint: '>=7.0.2001' + oxlint-tsgolint: '>=7.0.2001' + vite-plus: '*' + peerDependenciesMeta: + oxlint-tsgolint: + optional: true + vite-plus: + optional: true + + oxlint@1.87.0: + resolution: {integrity: sha512-drxVlaW7Oqq7wSy1CN25znRu00aRq8n57Q2wniJRxCmtYVz07ufCm7EVDPQFZURrTgQIjzKrVEHAD/HcvJXObg==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + oxlint-tsgolint: '>=7.0.2003' vite-plus: '*' peerDependenciesMeta: oxlint-tsgolint: @@ -8804,20 +8619,12 @@ packages: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} - package-manager-detector@1.8.0: - resolution: {integrity: sha512-yQA4H19AmPEoMUeavPMDIe1higySl/gH/yaQrkT/s07Qp+7pp2hYz30N3z2l5BkjVkF9Ow6o0wjJamm2y7Sn0A==} - - parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} + package-manager-detector@1.9.0: + resolution: {integrity: sha512-zAMfbta9nPA8AKkA4WdmNAT8R8s6Dk0/xwPsqNnRidMFcLo1YkLuPDTgs2f64XdzS8vbLNnoJ+uUIkgbz7oRHA==} parse-entities@4.0.2: resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==} - parse-json@5.2.0: - resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} - engines: {node: '>=8'} - parse-ms@4.0.0: resolution: {integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==} engines: {node: '>=18'} @@ -8915,8 +8722,8 @@ packages: engines: {node: '>=18'} hasBin: true - playwright-core@1.63.0: - resolution: {integrity: sha512-rYCsBF/M5HjUch52bbtVONEFjv6Xu8sm8h72dNlR5bzIE1fvC/bxgspzkjSfU+MweEMmPM8KJebG6nnyxo5mCg==} + playwright-core@1.64.0: + resolution: {integrity: sha512-T9r+MZkTECl2+oUcZ26YgZzTrYidTsIhYYkJix+6iDOymOb1FB2RLLSOxRGnZGv5DStt+aduIVbt+E8WygXYpg==} engines: {node: '>=20'} hasBin: true @@ -8929,10 +8736,6 @@ packages: resolution: {integrity: sha512-B7+VDyb8Tl6oMJT9oSO2CW8XC/T4UcJGrwOVoNGwOQsQYhlpfajmrMj5xeejqaASq3V/EqThyOeATEOMuSEXiA==} engines: {node: '>=12'} - possible-typed-array-names@1.1.0: - resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} - engines: {node: '>= 0.4'} - postal-mime@2.7.6: resolution: {integrity: sha512-UUlyE2KlxmvwMGq060onF/VWU3zD6dVW31FwokQ5v26jWd35fbs2MoTFzh+jXnPwAyV2MULMKXcBInGOl5TO6Q==} @@ -8962,8 +8765,8 @@ packages: resolution: {integrity: sha512-g50586zr4bZmwFiTlflMu8E0bDTb5I5gertgwAKmsdUlTQIhZtunzUlD1WSzwcVWPoAVpsrA6vlfCD7oXvRwgg==} engines: {node: ^10 || ^12 || >=14} - postcss@8.5.28: - resolution: {integrity: sha512-RRuzqDtt5Y9h3quz5hWhK+TPnsmVs6WwSU6LkJMeY4HstUEDuYTG8UJSdawMRzmzAtV+KEoG8N3Qg2qLy5vM/A==} + postcss@8.5.29: + resolution: {integrity: sha512-49cGhUbXj8Qenv0iTMxA1cFBzxXoctpC9Ujd77t1WcbJIr6nF/eI7g/8MgxrYldFRuAXvja7xQRwavoW7kgrxQ==} engines: {node: ^10 || ^12 || >=14} postgres@3.4.9: @@ -8986,65 +8789,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-plugin-tailwindcss@0.8.1: - resolution: {integrity: sha512-iaFMYqDsE4ffdDkn5qup0j5f2aCEBFZrdrZnvu9QKTlWx/iGPeQ4HHu7b7fCPMxeo9nwQBiOAh2nSypdFYWJkw==} - engines: {node: '>=20.19'} - peerDependencies: - '@ianvs/prettier-plugin-sort-imports': '*' - '@prettier/plugin-hermes': '*' - '@prettier/plugin-oxc': '*' - '@prettier/plugin-pug': '*' - '@shopify/prettier-plugin-liquid': '*' - '@trivago/prettier-plugin-sort-imports': '*' - '@zackad/prettier-plugin-twig': '*' - prettier: ^3.0 - prettier-plugin-astro: '*' - prettier-plugin-css-order: '*' - prettier-plugin-jsdoc: '*' - prettier-plugin-marko: '*' - prettier-plugin-multiline-arrays: '*' - prettier-plugin-organize-attributes: '*' - prettier-plugin-organize-imports: '*' - prettier-plugin-sort-imports: '*' - prettier-plugin-svelte: '*' - peerDependenciesMeta: - '@ianvs/prettier-plugin-sort-imports': - optional: true - '@prettier/plugin-hermes': - optional: true - '@prettier/plugin-oxc': - optional: true - '@prettier/plugin-pug': - optional: true - '@shopify/prettier-plugin-liquid': - optional: true - '@trivago/prettier-plugin-sort-imports': - optional: true - '@zackad/prettier-plugin-twig': - optional: true - prettier-plugin-astro: - optional: true - prettier-plugin-css-order: - optional: true - prettier-plugin-jsdoc: - optional: true - prettier-plugin-marko: - optional: true - prettier-plugin-multiline-arrays: - optional: true - prettier-plugin-organize-attributes: - optional: true - prettier-plugin-organize-imports: - optional: true - prettier-plugin-sort-imports: - optional: true - prettier-plugin-svelte: - optional: true - prettier@3.9.9: resolution: {integrity: sha512-Z/CJHIkdujO/OtN7nXUii0Rf3VT5SRuhjBA82Xvu2XhBUgX3nhP67T0LHceBdQLex7OOFGTox+Q5Yg8Jk2Qivg==} engines: {node: '>=14'} @@ -9172,8 +8916,8 @@ packages: '@types/react': optional: true - react-doctor@0.9.14: - resolution: {integrity: sha512-JzOwAY/hoSxHa4Siyqgfxr/KCNak0SB9pSTseFVStFHAnWS+XxR6RsWU6Q5Ho+J5Jmyb9LZRXc6ZK5jt3cfcQQ==} + react-doctor@0.9.17: + resolution: {integrity: sha512-YCsjYk6MocO/oBhVxCcKvPotFxEOf/WJep/oF7jrpyVUBVKDKdpt7jVwTxrJrFE8uALMmVTljzXNTIjoL3talg==} engines: {node: ^20.19.0 || >=22.13.0} hasBin: true @@ -9182,8 +8926,8 @@ packages: peerDependencies: react: ^19.3.0 - react-email@6.11.0: - resolution: {integrity: sha512-u0NBK+ypniH+snmYa1BQTCvqPTounU9OczXH+j2BLUoMrNkk5/d5qq5Droral87f2B7eClsDp0pF0Y4taWERbg==} + react-email@6.11.1: + resolution: {integrity: sha512-9ckYTQFQD059UdA1nOm0O9sA7UbqFfJ9TngbEKEbwkEoaMWwWyHx8stCvAdhBVysmRLKkpafQ5mjHz09afayiQ==} engines: {node: '>=20.19.0'} hasBin: true peerDependencies: @@ -9222,8 +8966,8 @@ packages: '@types/react': optional: true - react-resizable-panels@4.14.1: - resolution: {integrity: sha512-OB1bXDNTLcGgTTbaX6Dn5efZhlMboSnkfr1w4xpsJTHPEbRJpACBhXpgRCXozgPO1ztgFeZRUe5J3mFNCVKm5g==} + react-resizable-panels@4.14.2: + resolution: {integrity: sha512-s35mfXhwpPEPnB+BKPCZJ9VZU0CHb1I9trm9tijEGBNv1Srl0HzIweENeXnsQvd0Xm9BeOBkEzDGVJOZM2mkEQ==} peerDependencies: react: ^18.0.0 || ^19.0.0 react-dom: ^18.0.0 || ^19.0.0 @@ -9290,10 +9034,6 @@ packages: reflect-metadata@0.2.2: resolution: {integrity: sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==} - reflect.getprototypeof@1.0.10: - resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==} - engines: {node: '>= 0.4'} - regex-recursion@6.0.2: resolution: {integrity: sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==} @@ -9303,10 +9043,6 @@ packages: regex@6.1.0: resolution: {integrity: sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg==} - regexp.prototype.flags@1.5.4: - resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} - engines: {node: '>= 0.4'} - rehype-raw@7.0.0: resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==} @@ -9349,8 +9085,8 @@ packages: reselect@5.3.0: resolution: {integrity: sha512-XGoLeRAVzUTcJ1qkxPQhDJyIZ5d6zzZD9nT7AEZOaaU9UbWclhycElmhO+VD5bFeLuzhPBaOV2oXC8uG35ZSpg==} - resend@6.31.0: - resolution: {integrity: sha512-E9Ekrm888UKKCIY61UmDkgRVd2Q9OwihimgStrWJ4olNsjFYM25F4X8QbzrLuZz6W9iS7eLMS7MLbRBNqnlI/Q==} + resend@6.32.1: + resolution: {integrity: sha512-Z9DxkIZt5uvVNkjxjc+r4rCPI0MdDIJ7H+GvU50o9GkhrD0tVTwP6caE8KYEco90sos312l6R72jAEMCBFBiFQ==} engines: {node: '>=20'} peerDependencies: '@react-email/render': '*' @@ -9361,10 +9097,6 @@ packages: resolve-alpn@1.2.1: resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} - resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} - resolve-from@5.0.0: resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} engines: {node: '>=8'} @@ -9392,6 +9124,11 @@ packages: engines: {node: ^20.19.0 || >=22.12.0} hasBin: true + rolldown@1.2.13: + resolution: {integrity: sha512-/5apOkwWxtACcQtZ5WlrAsKS4JwXVThQPJZ3RqIruRY9UG9M8e0VlXN068xum/JRKA4aIUoJ13ghe/kGCvidiQ==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + rollup@4.63.5: resolution: {integrity: sha512-KRWwmNLlPw5M7HcdYfm15oBv9n9LPtjzpzCIxS/phwqvPyxHSoKX6Y2YU3pxSPfy0CLquVgsx/j/hBi6OvH1Nw==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} @@ -9417,23 +9154,11 @@ packages: run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - safe-array-concat@1.1.4: - resolution: {integrity: sha512-wtZlHyOje6OZTGqAoaDKxFkgRtkF9CnHAVnCHKfuj200wAgL+bSJhdsCD2l0Qx/2ekEXjPWcyKkfGb5CPboslg==} - engines: {node: '>=0.4'} - - safe-push-apply@1.0.0: - resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==} - engines: {node: '>= 0.4'} - - safe-regex-test@1.1.0: - resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} - engines: {node: '>= 0.4'} - safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - sanitize-html@2.17.7: - resolution: {integrity: sha512-PGtEkc9cbnedU3s9TmzDbpsZ8w086g/0Q8k8/oIO1NLNU3i5k9yn835CrjJSajp1KMmkisbO1qPXxNKO3welAg==} + sanitize-html@2.18.0: + resolution: {integrity: sha512-CvY+PV+NBhxe3BnjFI5f//vEDKLULm9OlZArso7gdgVsWvanBuq9PNDx+/2llfL+8XFYa/UNBxvqRBg3TWU2Ug==} engines: {node: '>=22.12.0'} saxes@6.0.0: @@ -9477,22 +9202,12 @@ packages: resolution: {integrity: sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==} engines: {node: '>= 18'} - seroval-plugins@1.5.6: - resolution: {integrity: sha512-HXuLAX2pu/UByPpaeo/TaMfvMIi+1QqIoPJYCcAtU8QkVNwgR6MPlGuCQTErV1JwraaMbYaWVIBX7mppzGLATQ==} - engines: {node: '>=10'} - peerDependencies: - seroval: ^1.0 - seroval-plugins@1.6.8: resolution: {integrity: sha512-N7mWAMydj89EnYTHtRpS3LBrAz3J9O6oVrqpuXuvlAHfAUG8WEKqtbAd7SBiJNY5NfCAFhSdyAh7wI4Shjqy4g==} engines: {node: '>=10'} peerDependencies: seroval: ^1.0 - seroval@1.5.6: - resolution: {integrity: sha512-rVQVWjjSvlINzaQPZH5JFqsqEsIWdTxY3iJZCnTL/5gQbXIRooVZKI60tVCkOVfzcRPejboxO2t0P89dg5mQaA==} - engines: {node: '>=10'} - seroval@1.6.8: resolution: {integrity: sha512-HlSgSAkTk4EqHcje1ptJjfZi1YDv5KbhVJ/d3P7T/nAXua2VmDu+AKDX5VTdFfZf48nDkWB2TKYt0DrCSa+3wg==} engines: {node: '>=10'} @@ -9501,23 +9216,11 @@ packages: resolution: {integrity: sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==} engines: {node: '>= 18'} - set-function-length@1.2.2: - resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} - engines: {node: '>= 0.4'} - - set-function-name@2.0.2: - resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} - engines: {node: '>= 0.4'} - - set-proto@1.0.0: - resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==} - engines: {node: '>= 0.4'} - setprototypeof@1.2.0: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - shadcn@4.21.0: - resolution: {integrity: sha512-UU2mFNusW8C5rvadKdH69vERYZqUlOOlXBcf0MYhYLdTGP6DPti7X4qovCu+RTfCqsAgq/T+YfE0Vnttxh9aiw==} + shadcn@4.21.4: + resolution: {integrity: sha512-YYfn/hsHbRH2mGwnKBx9tk+DjTQH+RUMS5iCxjKzwzuJ5uoHPqLOFUCJSeX0sXfrcBSfgQaXiOLGKNLjlIQxxw==} engines: {node: '>=20.18.1'} hasBin: true @@ -9542,8 +9245,8 @@ packages: resolution: {integrity: sha512-JdxDPD0DBTyu08pq0kPC0xSNet/qsU07qT6IsX1AS8oO2ICNRY4ldNa8OAI6PuwAH8tG3lxEhbqmyp4Dw4036g==} engines: {node: '>= 0.4'} - shiki@4.4.3: - resolution: {integrity: sha512-Mb/GvXPHBAXdgGIcnfU5L3ldpn1XcxrGkPHwqgRx17/I2XRfqlFKk2vGkHWINn1kdXvzJZeuO3is6I9KLPFm0g==} + shiki@4.5.0: + resolution: {integrity: sha512-OcRW72ngQvc+MSVWBRIovC/BTW589iUE/Vxav7VeM4RcY9MUjqB+IR6ILG1k9nuW6LiG/nct9uma4/MBtnZbmQ==} engines: {node: '>=20'} side-channel-list@1.0.1: @@ -9599,8 +9302,8 @@ packages: resolution: {integrity: sha512-e0VyvkVTwVYViNovRkZ9aodhxVlyoMn7eJhVUPxZ+eK9P/7CBkxvvsBOHqFPEH416726W8tLXXXjKwqgTErrCQ==} engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} - solid-js@1.9.15: - resolution: {integrity: sha512-EeiY2xfpZJqPLjXspVEKjAII4yv8NyG//NxZ3IpOFHdUNnnTyL0uJOeS9LWGvA7cFCz5y94cjFwYlmw5Luncsg==} + solid-js@1.9.17: + resolution: {integrity: sha512-4GAmLOWPfNV8H9Jfn2LSFTpNEG6jiOKPiwd5lnLGQtehHaX6l3TOLzJqQ7mqwB/3k1Yy3zyumFVopmc/tm34ow==} solid-presence@0.2.0: resolution: {integrity: sha512-YM92o+jvpzX3XGaD4rLYmq/Kc2ZVh47GSCLEufHBFQQIurvZTs8SoGJxO8BJGNDxBKdcS8F3dYhW1SDXp4BNjA==} @@ -9661,10 +9364,6 @@ packages: engines: {node: '>=20.16.0'} hasBin: true - stable-hash-x@0.2.0: - resolution: {integrity: sha512-o3yWv49B/o4QZk5ZcsALc6t0+eCelPc44zZsLtCQnZPDwFpDYSWcDnrv2TtMmMbQ7uKo3J0HTURCqckw23czNQ==} - engines: {node: '>=12.0.0'} - standardwebhooks@1.1.1: resolution: {integrity: sha512-bCbX9ZEyFkWPsRz7Bl3NuQUJohmwGSev/yhr7vhaGPlc4AfIrspIRa6cPTBuI1ItmrTDJ4d/S2hCsfe4+vQGnQ==} @@ -9683,10 +9382,6 @@ packages: resolution: {integrity: sha512-eCPu1qRxPVkl5605OTWF8Wz40b4Mf45NY5LQmVPQ599knfs5QhASUm9GbJ5BDMDOXgrnh0wyEdvzmL//YMlw0A==} engines: {node: '>=18'} - stop-iteration-iterator@1.1.0: - resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==} - engines: {node: '>= 0.4'} - streamx@2.28.1: resolution: {integrity: sha512-zEzXb0s5Cds7tqMH6rhZ05lcJydCWiQPEwiNngVqzsxCc962vLY4Uw+mW7od8kDH258k2Uz/JrOkdIAAhSh9VA==} @@ -9705,22 +9400,6 @@ packages: resolution: {integrity: sha512-ZbmZM0JCihQN91dWnxoipT2KOEyHqEyfRXUyjuRhW8b/xnqPDoq4gWEVApTVa9db2wN8mmoikgFBbjh71+cGeQ==} engines: {node: '>=20'} - string.prototype.includes@2.0.1: - resolution: {integrity: sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==} - engines: {node: '>= 0.4'} - - string.prototype.trim@1.2.11: - resolution: {integrity: sha512-PwvK7BU+CMTJGYQCTZb5RWXIML92lftJLhQz1tBzgKiqGxJaMlBAa48POXaNAC2s4y8jr3EFqrkF9+44neS46w==} - engines: {node: '>= 0.4'} - - string.prototype.trimend@1.0.10: - resolution: {integrity: sha512-2+3aDAOmPTmuFwjDnmJG2ctEkQKVki7vOSqaxkv42Mowj1V6PnvuwFCRrR5lChUux1TBskPjfkeTOhqczDMxTw==} - engines: {node: '>= 0.4'} - - string.prototype.trimstart@1.0.8: - resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} - engines: {node: '>= 0.4'} - stringify-entities@4.0.4: resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==} @@ -9797,10 +9476,6 @@ packages: resolution: {integrity: sha512-H+ue8Zo4vJmV2nRjpx86P35lzwDT3nItnIsocgumgr0hHMQ+ZGq5vrERg9kJBo5AWGmxZDhzDo+WVIJqkB0cGA==} engines: {node: '>=16'} - synckit@0.11.13: - resolution: {integrity: sha512-eNRKgb3z66Yp3D2CixVujOUvXLFUTij/zVnV8KRyvFdQwpz7I5DS8UfRkTeLzb64u+dkzDSdelE24izu+zSSUg==} - engines: {node: ^14.18.0 || >=16.0.0} - system-architecture@1.0.0: resolution: {integrity: sha512-0OJWD12D7XX3KUg1DYkMaTTjSTo2k/mhIYI3HlBlceXSMcJhW/1qO735fPKS5prcyjvn57Ub151vvASYXpQrEw==} engines: {node: '>=18'} @@ -9863,6 +9538,10 @@ packages: resolution: {integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==} engines: {node: '>=12.0.0'} + tinypool@2.2.0: + resolution: {integrity: sha512-jBrmx4lYmaC9k/mgPbylxs7kBUxHtD8256up+HjLaDFfXScKJQyil+SWXSvhAtT7XHo+yTVlpB81PGmHP8oLSQ==} + engines: {node: ^20.0.0 || >=22.0.0} + tinyrainbow@3.2.0: resolution: {integrity: sha512-LgO3D9yZJjApUiuUfl9iFAwrtaX4+lok3wJIqttGoKCHlWUqHqbQpnxCf82L8FjgKsh4iGo78hqJwgL8F6To2A==} engines: {node: '>=14.0.0'} @@ -9890,9 +9569,9 @@ packages: resolution: {integrity: sha512-exgYmnmL/sJpR3upZfXG5PoatXQii55xAiXGXzY+sROLZ/Y+SLcp9PgJNI9Vz37HpQ74WvDcLT8eqm+kV3FzrA==} engines: {node: '>=16'} - tr46@6.0.0: - resolution: {integrity: sha512-bLVMLPtstlZ4iMQHpFHTR7GAGj2jxi8Dg0s2h2MafAE4uSWF98FC/3MomU51iQAMf8/qDUbKWf5GxuvvVcXEhw==} - engines: {node: '>=20'} + tr46@7.0.0: + resolution: {integrity: sha512-BcDSDW+SIGWVOns1Zm6Yg91q9AEj7eaID0QDY9oIqJD1A8dscNwMcl9Sms2DeuWCNov1X0/oXanHGYQBSLwZsg==} + engines: {node: ^22.14.0 || >=24.0.0} tree-kill@1.2.2: resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} @@ -9910,11 +9589,6 @@ packages: peerDependencies: typescript: '>=4.8.4' - ts-declaration-location@1.0.7: - resolution: {integrity: sha512-EDyGAwH1gO0Ausm9gV6T2nUvBgXT5kGoCMJPllOaooZ+4VvJiKBdZE7wK18N1deEowhcUptS+5GXZK8U/fvpwA==} - peerDependencies: - typescript: '>=4.0.0' - ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} @@ -9967,8 +9641,8 @@ packages: resolution: {integrity: sha512-axr3IdNuVIxnaK5XGEUFTu3YmAQ6lllgrvqfEoR16g/HGnYY/6We4oWENtAnzK6/LpJ2ur9PAb80RBt7/U4ugw==} engines: {node: '>= 6.0.0'} - turbo@2.11.5: - resolution: {integrity: sha512-qLXheqz3TUvJpHIV6MUBwkNkvwKxMVG/QsimyiKT9DfNWPHJ294G/i5nDaH+fbHJt3UH7orubNNxAqYkbUNGAQ==} + turbo@2.11.7: + resolution: {integrity: sha512-RhXHbqfvY6o3xt/zSHCwSNwLrZlXiqHzewi4eAj9PtZ1T1CqgMJ2yIDb7SKPTG9IikTm925mfzL6hldQVdyNWw==} hasBin: true tw-animate-css@1.4.0: @@ -9990,29 +9664,6 @@ packages: resolution: {integrity: sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==} engines: {node: '>= 18'} - typed-array-buffer@1.0.3: - resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==} - engines: {node: '>= 0.4'} - - typed-array-byte-length@1.0.3: - resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==} - engines: {node: '>= 0.4'} - - typed-array-byte-offset@1.0.5: - resolution: {integrity: sha512-0FHJvLPqZ7KJzp17O13jfsAjsqazgrxBu2zEK95PmUz8lv2+GjRuxUInCr2Rk9Dms3ihN21zJ929ZO43yJ95QQ==} - engines: {node: '>= 0.4'} - - typed-array-length@1.0.8: - resolution: {integrity: sha512-phPGCwqr2+Qo0fwniCE8e4pKnGu/yFb5nD5Y8bf0EEeiI5GklnACYA9GFy/DrAeRrKHXvHn+1SUsOWgJp6RO+g==} - engines: {node: '>= 0.4'} - - typescript-eslint@8.71.0: - resolution: {integrity: sha512-fBdHYiqQ14RW6mOMXD14Svn82ZsCYAoQSzGRzyEjR59S5A2Krh/l7fGTOQ7iCr8gGy/mHVXtEF7s5fgjEdV0Pw==} - 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.1.0' - typescript@5.9.3: resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} engines: {node: '>=14.17'} @@ -10030,10 +9681,6 @@ packages: resolution: {integrity: sha512-8iAasVS4wUx0gPLjH8Xtz2PeDzTSiy8QiLGu2DT3X5GU+egFEQhpnbtkehbAwjvDcxIERmCYcysiODFmE3Ud0Q==} engines: {node: '>=18'} - unbox-primitive@1.1.0: - resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} - engines: {node: '>= 0.4'} - unbzip2-stream@1.4.3: resolution: {integrity: sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==} @@ -10133,14 +9780,11 @@ packages: webpack: optional: true - unrs-resolver@1.12.2: - resolution: {integrity: sha512-dmlRxBJJayXjqTwC+JtF1HhJmgf3ftQ3YejFcZrf4+KKtJv0qDsK1pjqaaVjG7wJ5NJ6UVP1OqRMQ71Z4C3rxQ==} - unstorage@2.0.0-alpha.10: resolution: {integrity: sha512-6h1veZp8gnp4dGllf0tDijoXxDYymJu251IpKKkrSVH+QHL6tXFbwG85KM+CBHSgpkkgtPuIiZ9oLCLP5+1Evw==} - update-browserslist-db@1.3.3: - resolution: {integrity: sha512-pJ2sYawQS0R/WI928Gj5GlPhTGzbMelq0+4INtSYNDV9ErKJcX6xjGWkoG/VnB3dpUm00zALaqkrUD77pO5TDQ==} + update-browserslist-db@1.3.4: + resolution: {integrity: sha512-t8wonIOdQyOjtPd2VktlBu6QjTVTks6v8bSi7kd0r2Vll8TK1JYDZtRRdbmCHOAMphkZgrzK+L+vXK4pyZ8t4A==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' @@ -10164,8 +9808,8 @@ packages: peerDependencies: react: '*' - use-intl@4.14.8: - resolution: {integrity: sha512-i12Qzqt+yAVfqf0RPtFbCClJAG9dZrJuL1VU/b7zvg/13LSKzoT63+fVZpig+SGplclG7fFK8a6nxtFwoGZEDQ==} + use-intl@4.14.9: + resolution: {integrity: sha512-37ktvdCCz+6JY2VFPl/GV69Ds4ahiUT2c2xEZZRZYxdgGLxFsUbdxzjQVRm3YMIOUU0VPs6zvlifb4Yjk4IxIg==} peerDependencies: '@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0 react: ^17.0.0 || ^18.0.0 || >=19.0.0-rc <19.0.0 || ^19.0.0 @@ -10212,8 +9856,8 @@ packages: vfile@6.0.3: resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} - vite@8.3.1: - resolution: {integrity: sha512-/bvH9E9tmCXRGp2uXY3WbOldqpTwFkbha/8ANaEQ6VkxhH60KyqLwgZq6lG2y+4uT55x9+9eUHMpQ7uGnOCKjA==} + vite@8.3.3: + resolution: {integrity: sha512-cTAldKPImjg6c+gk48U19POPn3GCBzZwpdsN8ZMEEcbpes+6/wvfqUd0C2y3qYY4wsj8PwgFwrZ/1jBPVttMSg==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: @@ -10304,12 +9948,6 @@ packages: jsdom: optional: true - vue-eslint-parser@10.4.1: - resolution: {integrity: sha512-Gk6gRDj0n/fkRa3C3l0bBheoBckUq/Rs0F/TvMWIS6nzzx67amAViMe9CkNgsP2tXyQONvGiHQESHwFtZ3aYDA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - w3c-keyname@2.2.8: resolution: {integrity: sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==} @@ -10334,33 +9972,13 @@ packages: resolution: {integrity: sha512-sXcNcHOC51uPGF0P/D4NVtrkjSU2fNsm9iog4ZvZJsL3rjoDAzXZhkm2MWt1y+PUdggKAYVoMAIYcs78wJ51Cw==} engines: {node: '>=20'} - whatwg-url@16.0.1: - resolution: {integrity: sha512-1to4zXBxmXHV3IiSSEInrreIlu02vUOvrhxJJH5vcxYTBDAx51cqZiKdyTxlecdKNSjj8EcxGBxNf6Vg+945gw==} - engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} - - whatwg-url@17.1.2: - resolution: {integrity: sha512-TEZA+Zqxin7Jjsm2cjRohCmen5awh+hT6Zi3VZdqZlNRk7zvOI/9WpBFg/DWlA56bWnzwm6DuB8NS0EsxQH9uQ==} + whatwg-url@17.2.0: + resolution: {integrity: sha512-IhLIHNcBrzIixC5XXsbr4DxdjajyA5vQ5RwGZMtrUp+GbtE5Nrsge9QKau7jXrC0aTXLYGV0xiW7Tb4YS2aomw==} engines: {node: ^22.14.0 || >=24.0.0} when-exit@2.1.5: resolution: {integrity: sha512-VGkKJ564kzt6Ms1dbgPP/yuIoQCrsFAnRbptpC5wOEsDaNsbCB2bnfnaA8i/vRs5tjUSEOtIuvl9/MyVsvQZCg==} - which-boxed-primitive@1.1.1: - resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==} - engines: {node: '>= 0.4'} - - which-builtin-type@1.2.1: - resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==} - engines: {node: '>= 0.4'} - - which-collection@1.0.2: - resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} - engines: {node: '>= 0.4'} - - which-typed-array@1.1.24: - resolution: {integrity: sha512-wk4Mf4pR5mRP7eYuuTBCIQ9d0ud2Fv2jRLQpfgnRjbOxAFHmjKFValgTpitVKzJJS8ajnYQV2Du1SZ8j6b/EUQ==} - engines: {node: '>= 0.4'} - which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} @@ -10507,47 +10125,47 @@ packages: snapshots: - '@ai-sdk/anthropic@4.0.70(zod@4.6.5)': + '@ai-sdk/anthropic@4.0.75(zod@4.6.5)': dependencies: - '@ai-sdk/provider': 4.0.21 - '@ai-sdk/provider-utils': 5.0.53(zod@4.6.5) + '@ai-sdk/provider': 4.0.24 + '@ai-sdk/provider-utils': 5.0.56(zod@4.6.5) zod: 4.6.5 - '@ai-sdk/gateway@4.0.102(zod@4.6.5)': + '@ai-sdk/gateway@4.0.107(zod@4.6.5)': dependencies: - '@ai-sdk/provider': 4.0.21 - '@ai-sdk/provider-utils': 5.0.53(zod@4.6.5) + '@ai-sdk/provider': 4.0.24 + '@ai-sdk/provider-utils': 5.0.56(zod@4.6.5) '@vercel/oidc': 3.2.0 zod: 4.6.5 - '@ai-sdk/google@4.0.87(zod@4.6.5)': + '@ai-sdk/google@4.0.90(zod@4.6.5)': dependencies: - '@ai-sdk/provider': 4.0.21 - '@ai-sdk/provider-utils': 5.0.53(zod@4.6.5) + '@ai-sdk/provider': 4.0.24 + '@ai-sdk/provider-utils': 5.0.56(zod@4.6.5) zod: 4.6.5 - '@ai-sdk/provider-utils@5.0.53(zod@4.6.5)': + '@ai-sdk/provider-utils@5.0.56(zod@4.6.5)': dependencies: - '@ai-sdk/provider': 4.0.21 + '@ai-sdk/provider': 4.0.24 '@standard-schema/spec': 1.1.0 '@workflow/serde': 4.1.0 eventsource-parser: 3.1.1 undici: 7.30.0 zod: 4.6.5 - '@ai-sdk/provider@4.0.21': + '@ai-sdk/provider@4.0.24': dependencies: json-schema: 0.4.0 - '@asamuzakjp/css-color@7.1.2': + '@asamuzakjp/css-color@7.1.3': dependencies: - '@csstools/css-calc': 3.4.1(@csstools/css-parser-algorithms@4.0.1(@csstools/css-tokenizer@4.0.2))(@csstools/css-tokenizer@4.0.2) - '@csstools/css-color-parser': 4.2.4(@csstools/css-parser-algorithms@4.0.1(@csstools/css-tokenizer@4.0.2))(@csstools/css-tokenizer@4.0.2) - '@csstools/css-parser-algorithms': 4.0.1(@csstools/css-tokenizer@4.0.2) + '@csstools/css-calc': 3.4.3(@csstools/css-parser-algorithms@4.0.2(@csstools/css-tokenizer@4.0.2))(@csstools/css-tokenizer@4.0.2) + '@csstools/css-color-parser': 4.2.6(@csstools/css-parser-algorithms@4.0.2(@csstools/css-tokenizer@4.0.2))(@csstools/css-tokenizer@4.0.2) + '@csstools/css-parser-algorithms': 4.0.2(@csstools/css-tokenizer@4.0.2) '@csstools/css-tokenizer': 4.0.2 lru-cache: 11.5.3 - '@asamuzakjp/dom-selector@9.2.2': + '@asamuzakjp/dom-selector@9.2.4': dependencies: bidi-js: 1.1.0 css-tree: 3.2.1 @@ -10565,11 +10183,11 @@ snapshots: dependencies: '@aws-sdk/core': 3.978.1 '@aws-sdk/types': 3.974.6 - '@smithy/core': 3.35.0 + '@smithy/core': 3.35.1 '@smithy/types': 4.19.0 tslib: 2.8.1 - '@aws-sdk/client-s3@3.1144.0': + '@aws-sdk/client-s3@3.1147.0': dependencies: '@aws-sdk/checksums': 3.1001.1 '@aws-sdk/core': 3.978.1 @@ -10577,7 +10195,7 @@ snapshots: '@aws-sdk/middleware-sdk-s3': 3.972.77 '@aws-sdk/signature-v4-multi-region': 3.996.47 '@aws-sdk/types': 3.974.6 - '@smithy/core': 3.35.0 + '@smithy/core': 3.35.1 '@smithy/fetch-http-handler': 5.8.0 '@smithy/node-http-handler': 4.12.1 '@smithy/types': 4.19.0 @@ -10588,7 +10206,7 @@ snapshots: '@aws-sdk/types': 3.974.6 '@aws-sdk/xml-builder': 3.972.41 '@aws/lambda-invoke-store': 0.3.0 - '@smithy/core': 3.35.0 + '@smithy/core': 3.35.1 '@smithy/signature-v4': 5.7.4 '@smithy/types': 4.19.0 bowser: 2.14.1 @@ -10598,7 +10216,7 @@ snapshots: dependencies: '@aws-sdk/core': 3.978.1 '@aws-sdk/types': 3.974.6 - '@smithy/core': 3.35.0 + '@smithy/core': 3.35.1 '@smithy/types': 4.19.0 tslib: 2.8.1 @@ -10606,7 +10224,7 @@ snapshots: dependencies: '@aws-sdk/core': 3.978.1 '@aws-sdk/types': 3.974.6 - '@smithy/core': 3.35.0 + '@smithy/core': 3.35.1 '@smithy/fetch-http-handler': 5.8.0 '@smithy/node-http-handler': 4.12.1 '@smithy/types': 4.19.0 @@ -10623,7 +10241,7 @@ snapshots: '@aws-sdk/credential-provider-web-identity': 3.972.78 '@aws-sdk/nested-clients': 3.997.46 '@aws-sdk/types': 3.974.6 - '@smithy/core': 3.35.0 + '@smithy/core': 3.35.1 '@smithy/credential-provider-imds': 4.5.2 '@smithy/types': 4.19.0 tslib: 2.8.1 @@ -10633,7 +10251,7 @@ snapshots: '@aws-sdk/core': 3.978.1 '@aws-sdk/nested-clients': 3.997.46 '@aws-sdk/types': 3.974.6 - '@smithy/core': 3.35.0 + '@smithy/core': 3.35.1 '@smithy/types': 4.19.0 tslib: 2.8.1 @@ -10646,7 +10264,7 @@ snapshots: '@aws-sdk/credential-provider-sso': 3.973.16 '@aws-sdk/credential-provider-web-identity': 3.972.78 '@aws-sdk/types': 3.974.6 - '@smithy/core': 3.35.0 + '@smithy/core': 3.35.1 '@smithy/credential-provider-imds': 4.5.2 '@smithy/types': 4.19.0 tslib: 2.8.1 @@ -10655,7 +10273,7 @@ snapshots: dependencies: '@aws-sdk/core': 3.978.1 '@aws-sdk/types': 3.974.6 - '@smithy/core': 3.35.0 + '@smithy/core': 3.35.1 '@smithy/types': 4.19.0 tslib: 2.8.1 @@ -10665,7 +10283,7 @@ snapshots: '@aws-sdk/nested-clients': 3.997.46 '@aws-sdk/token-providers': 3.1138.0 '@aws-sdk/types': 3.974.6 - '@smithy/core': 3.35.0 + '@smithy/core': 3.35.1 '@smithy/types': 4.19.0 tslib: 2.8.1 @@ -10674,7 +10292,7 @@ snapshots: '@aws-sdk/core': 3.978.1 '@aws-sdk/nested-clients': 3.997.46 '@aws-sdk/types': 3.974.6 - '@smithy/core': 3.35.0 + '@smithy/core': 3.35.1 '@smithy/types': 4.19.0 tslib: 2.8.1 @@ -10683,7 +10301,7 @@ snapshots: '@aws-sdk/core': 3.978.1 '@aws-sdk/signature-v4-multi-region': 3.996.47 '@aws-sdk/types': 3.974.6 - '@smithy/core': 3.35.0 + '@smithy/core': 3.35.1 '@smithy/types': 4.19.0 tslib: 2.8.1 @@ -10692,7 +10310,7 @@ snapshots: '@aws-sdk/core': 3.978.1 '@aws-sdk/signature-v4-multi-region': 3.996.47 '@aws-sdk/types': 3.974.6 - '@smithy/core': 3.35.0 + '@smithy/core': 3.35.1 '@smithy/fetch-http-handler': 5.8.0 '@smithy/node-http-handler': 4.12.1 '@smithy/types': 4.19.0 @@ -10710,7 +10328,7 @@ snapshots: '@aws-sdk/core': 3.978.1 '@aws-sdk/nested-clients': 3.997.46 '@aws-sdk/types': 3.974.6 - '@smithy/core': 3.35.0 + '@smithy/core': 3.35.1 '@smithy/types': 4.19.0 tslib: 2.8.1 @@ -10740,8 +10358,8 @@ snapshots: '@babel/generator': 7.29.8 '@babel/helper-compilation-targets': 7.29.7 '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7) - '@babel/helpers': 7.29.7 - '@babel/parser': 7.29.8 + '@babel/helpers': 7.29.10 + '@babel/parser': 7.29.9 '@babel/template': 7.29.7 '@babel/traverse': 7.29.8 '@babel/types': 7.29.8 @@ -10756,7 +10374,7 @@ snapshots: '@babel/generator@7.29.8': dependencies: - '@babel/parser': 7.29.8 + '@babel/parser': 7.29.9 '@babel/types': 7.29.8 '@jridgewell/gen-mapping': 0.3.13 '@jridgewell/trace-mapping': 0.3.31 @@ -10840,7 +10458,7 @@ snapshots: '@babel/helper-validator-option@7.29.7': {} - '@babel/helpers@7.29.7': + '@babel/helpers@7.29.10': dependencies: '@babel/template': 7.29.7 '@babel/types': 7.29.8 @@ -10849,7 +10467,7 @@ snapshots: dependencies: '@babel/types': 7.29.8 - '@babel/parser@7.29.8': + '@babel/parser@7.29.9': dependencies: '@babel/types': 7.29.8 @@ -10898,7 +10516,7 @@ snapshots: '@babel/template@7.29.7': dependencies: '@babel/code-frame': 7.29.7 - '@babel/parser': 7.29.8 + '@babel/parser': 7.29.9 '@babel/types': 7.29.8 '@babel/traverse@7.29.0': @@ -10918,7 +10536,7 @@ snapshots: '@babel/code-frame': 7.29.7 '@babel/generator': 7.29.8 '@babel/helper-globals': 7.29.7 - '@babel/parser': 7.29.8 + '@babel/parser': 7.29.9 '@babel/template': 7.29.7 '@babel/types': 7.29.8 debug: 4.4.3 @@ -10959,7 +10577,7 @@ snapshots: '@borewit/text-codec@0.2.2': {} - '@bramus/specificity@2.4.2': + '@bramus/specificity@2.4.3': dependencies: css-tree: 3.2.1 @@ -10975,30 +10593,30 @@ snapshots: hashery: 1.5.1 keyv: 5.6.0 - '@corvu/utils@0.4.2(solid-js@1.9.15)': + '@corvu/utils@0.4.2(solid-js@1.9.17)': dependencies: '@floating-ui/dom': 1.8.0 - solid-js: 1.9.15 + solid-js: 1.9.17 '@csstools/color-helpers@6.1.2': {} - '@csstools/css-calc@3.4.1(@csstools/css-parser-algorithms@4.0.1(@csstools/css-tokenizer@4.0.2))(@csstools/css-tokenizer@4.0.2)': + '@csstools/css-calc@3.4.3(@csstools/css-parser-algorithms@4.0.2(@csstools/css-tokenizer@4.0.2))(@csstools/css-tokenizer@4.0.2)': dependencies: - '@csstools/css-parser-algorithms': 4.0.1(@csstools/css-tokenizer@4.0.2) + '@csstools/css-parser-algorithms': 4.0.2(@csstools/css-tokenizer@4.0.2) '@csstools/css-tokenizer': 4.0.2 - '@csstools/css-color-parser@4.2.4(@csstools/css-parser-algorithms@4.0.1(@csstools/css-tokenizer@4.0.2))(@csstools/css-tokenizer@4.0.2)': + '@csstools/css-color-parser@4.2.6(@csstools/css-parser-algorithms@4.0.2(@csstools/css-tokenizer@4.0.2))(@csstools/css-tokenizer@4.0.2)': dependencies: '@csstools/color-helpers': 6.1.2 - '@csstools/css-calc': 3.4.1(@csstools/css-parser-algorithms@4.0.1(@csstools/css-tokenizer@4.0.2))(@csstools/css-tokenizer@4.0.2) - '@csstools/css-parser-algorithms': 4.0.1(@csstools/css-tokenizer@4.0.2) + '@csstools/css-calc': 3.4.3(@csstools/css-parser-algorithms@4.0.2(@csstools/css-tokenizer@4.0.2))(@csstools/css-tokenizer@4.0.2) + '@csstools/css-parser-algorithms': 4.0.2(@csstools/css-tokenizer@4.0.2) '@csstools/css-tokenizer': 4.0.2 - '@csstools/css-parser-algorithms@4.0.1(@csstools/css-tokenizer@4.0.2)': + '@csstools/css-parser-algorithms@4.0.2(@csstools/css-tokenizer@4.0.2)': dependencies: '@csstools/css-tokenizer': 4.0.2 - '@csstools/css-syntax-patches-for-csstree@1.1.14(css-tree@3.2.1)': + '@csstools/css-syntax-patches-for-csstree@1.1.15(css-tree@3.2.1)': optionalDependencies: css-tree: 3.2.1 @@ -11083,23 +10701,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@emnapi/core@1.10.0': - dependencies: - '@emnapi/wasi-threads': 1.2.1 - tslib: 2.8.1 - optional: true - '@emnapi/core@1.11.2': dependencies: '@emnapi/wasi-threads': 1.2.2 tslib: 2.8.1 optional: true - '@emnapi/runtime@1.10.0': - dependencies: - tslib: 2.8.1 - optional: true - '@emnapi/runtime@1.11.2': dependencies: tslib: 2.8.1 @@ -11110,11 +10717,6 @@ snapshots: tslib: 2.8.1 optional: true - '@emnapi/wasi-threads@1.2.1': - dependencies: - tslib: 2.8.1 - optional: true - '@emnapi/wasi-threads@1.2.2': dependencies: tslib: 2.8.1 @@ -11126,9 +10728,6 @@ snapshots: '@esbuild/aix-ppc64@0.27.7': optional: true - '@esbuild/aix-ppc64@0.28.1': - optional: true - '@esbuild/aix-ppc64@0.28.2': optional: true @@ -11138,9 +10737,6 @@ snapshots: '@esbuild/android-arm64@0.27.7': optional: true - '@esbuild/android-arm64@0.28.1': - optional: true - '@esbuild/android-arm64@0.28.2': optional: true @@ -11150,9 +10746,6 @@ snapshots: '@esbuild/android-arm@0.27.7': optional: true - '@esbuild/android-arm@0.28.1': - optional: true - '@esbuild/android-arm@0.28.2': optional: true @@ -11162,9 +10755,6 @@ snapshots: '@esbuild/android-x64@0.27.7': optional: true - '@esbuild/android-x64@0.28.1': - optional: true - '@esbuild/android-x64@0.28.2': optional: true @@ -11174,9 +10764,6 @@ snapshots: '@esbuild/darwin-arm64@0.27.7': optional: true - '@esbuild/darwin-arm64@0.28.1': - optional: true - '@esbuild/darwin-arm64@0.28.2': optional: true @@ -11186,9 +10773,6 @@ snapshots: '@esbuild/darwin-x64@0.27.7': optional: true - '@esbuild/darwin-x64@0.28.1': - optional: true - '@esbuild/darwin-x64@0.28.2': optional: true @@ -11198,9 +10782,6 @@ snapshots: '@esbuild/freebsd-arm64@0.27.7': optional: true - '@esbuild/freebsd-arm64@0.28.1': - optional: true - '@esbuild/freebsd-arm64@0.28.2': optional: true @@ -11210,9 +10791,6 @@ snapshots: '@esbuild/freebsd-x64@0.27.7': optional: true - '@esbuild/freebsd-x64@0.28.1': - optional: true - '@esbuild/freebsd-x64@0.28.2': optional: true @@ -11222,9 +10800,6 @@ snapshots: '@esbuild/linux-arm64@0.27.7': optional: true - '@esbuild/linux-arm64@0.28.1': - optional: true - '@esbuild/linux-arm64@0.28.2': optional: true @@ -11234,9 +10809,6 @@ snapshots: '@esbuild/linux-arm@0.27.7': optional: true - '@esbuild/linux-arm@0.28.1': - optional: true - '@esbuild/linux-arm@0.28.2': optional: true @@ -11246,9 +10818,6 @@ snapshots: '@esbuild/linux-ia32@0.27.7': optional: true - '@esbuild/linux-ia32@0.28.1': - optional: true - '@esbuild/linux-ia32@0.28.2': optional: true @@ -11258,9 +10827,6 @@ snapshots: '@esbuild/linux-loong64@0.27.7': optional: true - '@esbuild/linux-loong64@0.28.1': - optional: true - '@esbuild/linux-loong64@0.28.2': optional: true @@ -11270,9 +10836,6 @@ snapshots: '@esbuild/linux-mips64el@0.27.7': optional: true - '@esbuild/linux-mips64el@0.28.1': - optional: true - '@esbuild/linux-mips64el@0.28.2': optional: true @@ -11282,9 +10845,6 @@ snapshots: '@esbuild/linux-ppc64@0.27.7': optional: true - '@esbuild/linux-ppc64@0.28.1': - optional: true - '@esbuild/linux-ppc64@0.28.2': optional: true @@ -11294,9 +10854,6 @@ snapshots: '@esbuild/linux-riscv64@0.27.7': optional: true - '@esbuild/linux-riscv64@0.28.1': - optional: true - '@esbuild/linux-riscv64@0.28.2': optional: true @@ -11306,9 +10863,6 @@ snapshots: '@esbuild/linux-s390x@0.27.7': optional: true - '@esbuild/linux-s390x@0.28.1': - optional: true - '@esbuild/linux-s390x@0.28.2': optional: true @@ -11318,9 +10872,6 @@ snapshots: '@esbuild/linux-x64@0.27.7': optional: true - '@esbuild/linux-x64@0.28.1': - optional: true - '@esbuild/linux-x64@0.28.2': optional: true @@ -11330,9 +10881,6 @@ snapshots: '@esbuild/netbsd-arm64@0.27.7': optional: true - '@esbuild/netbsd-arm64@0.28.1': - optional: true - '@esbuild/netbsd-arm64@0.28.2': optional: true @@ -11342,9 +10890,6 @@ snapshots: '@esbuild/netbsd-x64@0.27.7': optional: true - '@esbuild/netbsd-x64@0.28.1': - optional: true - '@esbuild/netbsd-x64@0.28.2': optional: true @@ -11354,9 +10899,6 @@ snapshots: '@esbuild/openbsd-arm64@0.27.7': optional: true - '@esbuild/openbsd-arm64@0.28.1': - optional: true - '@esbuild/openbsd-arm64@0.28.2': optional: true @@ -11366,9 +10908,6 @@ snapshots: '@esbuild/openbsd-x64@0.27.7': optional: true - '@esbuild/openbsd-x64@0.28.1': - optional: true - '@esbuild/openbsd-x64@0.28.2': optional: true @@ -11378,9 +10917,6 @@ snapshots: '@esbuild/openharmony-arm64@0.27.7': optional: true - '@esbuild/openharmony-arm64@0.28.1': - optional: true - '@esbuild/openharmony-arm64@0.28.2': optional: true @@ -11390,9 +10926,6 @@ snapshots: '@esbuild/sunos-x64@0.27.7': optional: true - '@esbuild/sunos-x64@0.28.1': - optional: true - '@esbuild/sunos-x64@0.28.2': optional: true @@ -11402,9 +10935,6 @@ snapshots: '@esbuild/win32-arm64@0.27.7': optional: true - '@esbuild/win32-arm64@0.28.1': - optional: true - '@esbuild/win32-arm64@0.28.2': optional: true @@ -11414,9 +10944,6 @@ snapshots: '@esbuild/win32-ia32@0.27.7': optional: true - '@esbuild/win32-ia32@0.28.1': - optional: true - '@esbuild/win32-ia32@0.28.2': optional: true @@ -11426,9 +10953,6 @@ snapshots: '@esbuild/win32-x64@0.27.7': optional: true - '@esbuild/win32-x64@0.28.1': - optional: true - '@esbuild/win32-x64@0.28.2': optional: true @@ -11439,25 +10963,25 @@ snapshots: '@eslint-community/regexpp@4.12.2': {} - '@eslint-react/ast@5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3)': + '@eslint-react/ast@5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3)': dependencies: - '@typescript-eslint/types': 8.71.0 - '@typescript-eslint/typescript-estree': 8.71.0(typescript@6.0.3) - '@typescript-eslint/utils': 8.71.0(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + '@typescript-eslint/types': 8.71.1 + '@typescript-eslint/typescript-estree': 8.71.1(typescript@6.0.3) + '@typescript-eslint/utils': 8.71.1(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) typescript: 6.0.3 optionalDependencies: eslint: 10.11.0(jiti@2.7.0) transitivePeerDependencies: - supports-color - '@eslint-react/core@5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3)': + '@eslint-react/core@5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3)': dependencies: - '@eslint-react/ast': 5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - '@eslint-react/eslint': 5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - '@eslint-react/shared': 5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - '@eslint-react/var': 5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - '@typescript-eslint/types': 8.71.0 - '@typescript-eslint/utils': 8.71.0(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/ast': 5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/eslint': 5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/shared': 5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/var': 5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + '@typescript-eslint/types': 8.71.1 + '@typescript-eslint/utils': 8.71.1(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) ts-pattern: 5.9.0 typescript: 6.0.3 optionalDependencies: @@ -11465,48 +10989,49 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint-react/eslint-plugin@5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3)': + '@eslint-react/eslint-plugin@5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3)': dependencies: - '@eslint-react/shared': 5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - eslint-plugin-react-dom: 5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - eslint-plugin-react-jsx: 5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - eslint-plugin-react-naming-convention: 5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - eslint-plugin-react-rsc: 5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - eslint-plugin-react-web-api: 5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - eslint-plugin-react-x: 5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/shared': 5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + eslint-plugin-react-dom: 5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + eslint-plugin-react-jsx: 5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + eslint-plugin-react-naming-convention: 5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + eslint-plugin-react-rsc: 5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + eslint-plugin-react-web-api: 5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + eslint-plugin-react-x: 5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) typescript: 6.0.3 optionalDependencies: eslint: 10.11.0(jiti@2.7.0) transitivePeerDependencies: - supports-color - '@eslint-react/eslint@5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3)': + '@eslint-react/eslint@5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3)': dependencies: - '@typescript-eslint/types': 8.71.0 - '@typescript-eslint/utils': 8.71.0(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + '@typescript-eslint/types': 8.71.1 + '@typescript-eslint/utils': 8.71.1(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) typescript: 6.0.3 optionalDependencies: eslint: 10.11.0(jiti@2.7.0) transitivePeerDependencies: - supports-color - '@eslint-react/jsx@5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3)': + '@eslint-react/jsx@5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3)': dependencies: - '@eslint-react/ast': 5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - '@eslint-react/eslint': 5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - '@eslint-react/var': 5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - '@typescript-eslint/types': 8.71.0 - '@typescript-eslint/utils': 8.71.0(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/ast': 5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/eslint': 5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/var': 5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + '@typescript-eslint/types': 8.71.1 + '@typescript-eslint/utils': 8.71.1(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + ts-pattern: 5.9.0 typescript: 6.0.3 optionalDependencies: eslint: 10.11.0(jiti@2.7.0) transitivePeerDependencies: - supports-color - '@eslint-react/shared@5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3)': + '@eslint-react/shared@5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3)': dependencies: - '@eslint-react/eslint': 5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - '@typescript-eslint/utils': 8.71.0(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/eslint': 5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + '@typescript-eslint/utils': 8.71.1(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) ts-pattern: 5.9.0 typescript: 6.0.3 zod: 4.6.5 @@ -11515,13 +11040,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint-react/var@5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3)': + '@eslint-react/var@5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3)': dependencies: - '@eslint-react/ast': 5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - '@eslint-react/eslint': 5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - '@typescript-eslint/scope-manager': 8.71.0 - '@typescript-eslint/types': 8.71.0 - '@typescript-eslint/utils': 8.71.0(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/ast': 5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/eslint': 5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + '@typescript-eslint/scope-manager': 8.71.1 + '@typescript-eslint/types': 8.71.1 + '@typescript-eslint/utils': 8.71.1(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) ts-pattern: 5.9.0 typescript: 6.0.3 optionalDependencies: @@ -11541,18 +11066,10 @@ snapshots: dependencies: '@eslint/core': 1.2.1 - '@eslint/core@0.17.0': - dependencies: - '@types/json-schema': 7.0.15 - '@eslint/core@1.2.1': dependencies: '@types/json-schema': 7.0.15 - '@eslint/js@10.0.1(eslint@10.11.0(jiti@2.7.0))': - optionalDependencies: - eslint: 10.11.0(jiti@2.7.0) - '@eslint/object-schema@3.0.5': {} '@eslint/plugin-kit@0.7.3': @@ -11601,7 +11118,7 @@ snapshots: dependencies: '@formatjs/icu-skeleton-parser': 2.1.11 - '@formatjs/icu-messageformat-parser@3.5.20': + '@formatjs/icu-messageformat-parser@3.5.21': dependencies: '@formatjs/icu-skeleton-parser': 2.1.12 @@ -11624,25 +11141,25 @@ snapshots: '@hexagon/base64@1.1.28': {} - '@hono/node-server@2.1.3(hono@4.13.12)': + '@hono/node-server@2.1.3(hono@4.13.13)': dependencies: - hono: 4.13.12 + hono: 4.13.13 - '@hono/swagger-ui@0.6.1(hono@4.13.12)': + '@hono/swagger-ui@0.6.1(hono@4.13.13)': dependencies: - hono: 4.13.12 + hono: 4.13.13 - '@hono/zod-openapi@1.6.3(hono@4.13.12)(zod@4.6.5)': + '@hono/zod-openapi@1.6.3(hono@4.13.13)(zod@4.6.5)': dependencies: '@asteasolutions/zod-to-openapi': 9.1.0(zod@4.6.5) - '@hono/zod-validator': 0.9.1(hono@4.13.12)(zod@4.6.5) - hono: 4.13.12 + '@hono/zod-validator': 0.9.1(hono@4.13.13)(zod@4.6.5) + hono: 4.13.13 openapi3-ts: 4.6.1 zod: 4.6.5 - '@hono/zod-validator@0.9.1(hono@4.13.12)(zod@4.6.5)': + '@hono/zod-validator@0.9.1(hono@4.13.13)(zod@4.6.5)': dependencies: - hono: 4.13.12 + hono: 4.13.13 zod: 4.6.5 '@humanfs/core@0.19.2': @@ -11769,124 +11286,124 @@ snapshots: '@img/sharp-win32-x64@0.35.5': optional: true - '@inquirer/ansi@2.0.8': {} + '@inquirer/ansi@2.0.9': {} - '@inquirer/checkbox@5.2.5(@types/node@26.6.3)': + '@inquirer/checkbox@5.2.6(@types/node@26.6.4)': dependencies: - '@inquirer/ansi': 2.0.8 - '@inquirer/core': 12.0.3(@types/node@26.6.3) + '@inquirer/ansi': 2.0.9 + '@inquirer/core': 12.0.4(@types/node@26.6.4) '@inquirer/figures': 2.0.9 - '@inquirer/type': 4.1.1(@types/node@26.6.3) + '@inquirer/type': 4.2.0(@types/node@26.6.4) optionalDependencies: - '@types/node': 26.6.3 + '@types/node': 26.6.4 - '@inquirer/confirm@6.3.2(@types/node@26.6.3)': + '@inquirer/confirm@6.3.3(@types/node@26.6.4)': dependencies: - '@inquirer/core': 12.0.3(@types/node@26.6.3) - '@inquirer/type': 4.1.1(@types/node@26.6.3) + '@inquirer/core': 12.0.4(@types/node@26.6.4) + '@inquirer/type': 4.2.0(@types/node@26.6.4) optionalDependencies: - '@types/node': 26.6.3 + '@types/node': 26.6.4 - '@inquirer/core@12.0.3(@types/node@26.6.3)': + '@inquirer/core@12.0.4(@types/node@26.6.4)': dependencies: - '@inquirer/ansi': 2.0.8 + '@inquirer/ansi': 2.0.9 '@inquirer/figures': 2.0.9 - '@inquirer/type': 4.1.1(@types/node@26.6.3) + '@inquirer/type': 4.2.0(@types/node@26.6.4) cli-width: 4.1.0 fast-wrap-ansi: 0.2.2 mute-stream: 3.0.0 signal-exit: 4.1.0 optionalDependencies: - '@types/node': 26.6.3 + '@types/node': 26.6.4 - '@inquirer/editor@5.3.3(@types/node@26.6.3)': + '@inquirer/editor@5.3.4(@types/node@26.6.4)': dependencies: - '@inquirer/core': 12.0.3(@types/node@26.6.3) - '@inquirer/external-editor': 3.0.5(@types/node@26.6.3) - '@inquirer/type': 4.1.1(@types/node@26.6.3) + '@inquirer/core': 12.0.4(@types/node@26.6.4) + '@inquirer/external-editor': 3.0.6(@types/node@26.6.4) + '@inquirer/type': 4.2.0(@types/node@26.6.4) optionalDependencies: - '@types/node': 26.6.3 + '@types/node': 26.6.4 - '@inquirer/expand@5.1.5(@types/node@26.6.3)': + '@inquirer/expand@5.1.6(@types/node@26.6.4)': dependencies: - '@inquirer/core': 12.0.3(@types/node@26.6.3) - '@inquirer/type': 4.1.1(@types/node@26.6.3) + '@inquirer/core': 12.0.4(@types/node@26.6.4) + '@inquirer/type': 4.2.0(@types/node@26.6.4) optionalDependencies: - '@types/node': 26.6.3 + '@types/node': 26.6.4 - '@inquirer/external-editor@3.0.5(@types/node@26.6.3)': + '@inquirer/external-editor@3.0.6(@types/node@26.6.4)': dependencies: chardet: 2.2.0 iconv-lite: 0.7.3 optionalDependencies: - '@types/node': 26.6.3 + '@types/node': 26.6.4 '@inquirer/figures@2.0.9': {} - '@inquirer/input@5.1.6(@types/node@26.6.3)': + '@inquirer/input@5.1.7(@types/node@26.6.4)': dependencies: - '@inquirer/core': 12.0.3(@types/node@26.6.3) - '@inquirer/type': 4.1.1(@types/node@26.6.3) + '@inquirer/core': 12.0.4(@types/node@26.6.4) + '@inquirer/type': 4.2.0(@types/node@26.6.4) optionalDependencies: - '@types/node': 26.6.3 + '@types/node': 26.6.4 - '@inquirer/number@4.2.3(@types/node@26.6.3)': + '@inquirer/number@4.2.4(@types/node@26.6.4)': dependencies: - '@inquirer/core': 12.0.3(@types/node@26.6.3) - '@inquirer/type': 4.1.1(@types/node@26.6.3) + '@inquirer/core': 12.0.4(@types/node@26.6.4) + '@inquirer/type': 4.2.0(@types/node@26.6.4) optionalDependencies: - '@types/node': 26.6.3 + '@types/node': 26.6.4 - '@inquirer/password@5.2.2(@types/node@26.6.3)': + '@inquirer/password@5.2.3(@types/node@26.6.4)': dependencies: - '@inquirer/ansi': 2.0.8 - '@inquirer/core': 12.0.3(@types/node@26.6.3) - '@inquirer/type': 4.1.1(@types/node@26.6.3) + '@inquirer/ansi': 2.0.9 + '@inquirer/core': 12.0.4(@types/node@26.6.4) + '@inquirer/type': 4.2.0(@types/node@26.6.4) optionalDependencies: - '@types/node': 26.6.3 - - '@inquirer/prompts@8.7.2(@types/node@26.6.3)': - dependencies: - '@inquirer/checkbox': 5.2.5(@types/node@26.6.3) - '@inquirer/confirm': 6.3.2(@types/node@26.6.3) - '@inquirer/editor': 5.3.3(@types/node@26.6.3) - '@inquirer/expand': 5.1.5(@types/node@26.6.3) - '@inquirer/input': 5.1.6(@types/node@26.6.3) - '@inquirer/number': 4.2.3(@types/node@26.6.3) - '@inquirer/password': 5.2.2(@types/node@26.6.3) - '@inquirer/rawlist': 5.3.5(@types/node@26.6.3) - '@inquirer/search': 4.3.3(@types/node@26.6.3) - '@inquirer/select': 5.2.5(@types/node@26.6.3) + '@types/node': 26.6.4 + + '@inquirer/prompts@8.7.3(@types/node@26.6.4)': + dependencies: + '@inquirer/checkbox': 5.2.6(@types/node@26.6.4) + '@inquirer/confirm': 6.3.3(@types/node@26.6.4) + '@inquirer/editor': 5.3.4(@types/node@26.6.4) + '@inquirer/expand': 5.1.6(@types/node@26.6.4) + '@inquirer/input': 5.1.7(@types/node@26.6.4) + '@inquirer/number': 4.2.4(@types/node@26.6.4) + '@inquirer/password': 5.2.3(@types/node@26.6.4) + '@inquirer/rawlist': 5.3.6(@types/node@26.6.4) + '@inquirer/search': 4.3.4(@types/node@26.6.4) + '@inquirer/select': 5.2.6(@types/node@26.6.4) optionalDependencies: - '@types/node': 26.6.3 + '@types/node': 26.6.4 - '@inquirer/rawlist@5.3.5(@types/node@26.6.3)': + '@inquirer/rawlist@5.3.6(@types/node@26.6.4)': dependencies: - '@inquirer/core': 12.0.3(@types/node@26.6.3) - '@inquirer/type': 4.1.1(@types/node@26.6.3) + '@inquirer/core': 12.0.4(@types/node@26.6.4) + '@inquirer/type': 4.2.0(@types/node@26.6.4) optionalDependencies: - '@types/node': 26.6.3 + '@types/node': 26.6.4 - '@inquirer/search@4.3.3(@types/node@26.6.3)': + '@inquirer/search@4.3.4(@types/node@26.6.4)': dependencies: - '@inquirer/core': 12.0.3(@types/node@26.6.3) + '@inquirer/core': 12.0.4(@types/node@26.6.4) '@inquirer/figures': 2.0.9 - '@inquirer/type': 4.1.1(@types/node@26.6.3) + '@inquirer/type': 4.2.0(@types/node@26.6.4) optionalDependencies: - '@types/node': 26.6.3 + '@types/node': 26.6.4 - '@inquirer/select@5.2.5(@types/node@26.6.3)': + '@inquirer/select@5.2.6(@types/node@26.6.4)': dependencies: - '@inquirer/ansi': 2.0.8 - '@inquirer/core': 12.0.3(@types/node@26.6.3) + '@inquirer/ansi': 2.0.9 + '@inquirer/core': 12.0.4(@types/node@26.6.4) '@inquirer/figures': 2.0.9 - '@inquirer/type': 4.1.1(@types/node@26.6.3) + '@inquirer/type': 4.2.0(@types/node@26.6.4) optionalDependencies: - '@types/node': 26.6.3 + '@types/node': 26.6.4 - '@inquirer/type@4.1.1(@types/node@26.6.3)': + '@inquirer/type@4.2.0(@types/node@26.6.4)': optionalDependencies: - '@types/node': 26.6.3 + '@types/node': 26.6.4 '@internationalized/number@3.6.8': dependencies: @@ -11923,27 +11440,27 @@ snapshots: '@keyv/serialize@1.1.1': {} - '@kobalte/core@0.13.14(solid-js@1.9.15)': + '@kobalte/core@0.13.14(solid-js@1.9.17)': dependencies: '@floating-ui/dom': 1.8.0 '@internationalized/number': 3.6.8 - '@kobalte/utils': 0.9.2(solid-js@1.9.15) - '@solid-primitives/props': 3.2.4(solid-js@1.9.15) - '@solid-primitives/resize-observer': 2.2.0(solid-js@1.9.15) - solid-js: 1.9.15 - solid-presence: 0.2.0(solid-js@1.9.15) - solid-prevent-scroll: 0.1.11(solid-js@1.9.15) - - '@kobalte/utils@0.9.2(solid-js@1.9.15)': - dependencies: - '@solid-primitives/event-listener': 2.4.6(solid-js@1.9.15) - '@solid-primitives/keyed': 1.5.3(solid-js@1.9.15) - '@solid-primitives/map': 0.4.13(solid-js@1.9.15) - '@solid-primitives/media': 2.3.6(solid-js@1.9.15) - '@solid-primitives/props': 3.2.4(solid-js@1.9.15) - '@solid-primitives/refs': 1.1.4(solid-js@1.9.15) - '@solid-primitives/utils': 6.4.1(solid-js@1.9.15) - solid-js: 1.9.15 + '@kobalte/utils': 0.9.2(solid-js@1.9.17) + '@solid-primitives/props': 3.2.4(solid-js@1.9.17) + '@solid-primitives/resize-observer': 2.2.0(solid-js@1.9.17) + solid-js: 1.9.17 + solid-presence: 0.2.0(solid-js@1.9.17) + solid-prevent-scroll: 0.1.11(solid-js@1.9.17) + + '@kobalte/utils@0.9.2(solid-js@1.9.17)': + dependencies: + '@solid-primitives/event-listener': 2.4.6(solid-js@1.9.17) + '@solid-primitives/keyed': 1.5.3(solid-js@1.9.17) + '@solid-primitives/map': 0.4.13(solid-js@1.9.17) + '@solid-primitives/media': 2.3.6(solid-js@1.9.17) + '@solid-primitives/props': 3.2.4(solid-js@1.9.17) + '@solid-primitives/refs': 1.1.4(solid-js@1.9.17) + '@solid-primitives/utils': 6.4.1(solid-js@1.9.17) + solid-js: 1.9.17 '@levischuck/tiny-cbor@0.2.11': {} @@ -11953,7 +11470,7 @@ snapshots: '@types/estree-jsx': 1.0.5 '@types/hast': 3.0.5 '@types/mdx': 2.0.14 - acorn: 8.18.0 + acorn: 8.19.0 collapse-white-space: 2.1.0 devlop: 1.1.0 estree-util-is-identifier-name: 3.0.0 @@ -11962,7 +11479,7 @@ snapshots: hast-util-to-jsx-runtime: 2.3.6 markdown-extensions: 2.0.0 recma-build-jsx: 1.0.0 - recma-jsx: 1.0.1(acorn@8.18.0) + recma-jsx: 1.0.1(acorn@8.19.0) recma-stringify: 1.0.0 rehype-recma: 1.0.0 remark-mdx: 3.1.1 @@ -11977,9 +11494,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@modelcontextprotocol/sdk@1.31.0(zod@3.25.76)': + '@modelcontextprotocol/sdk@1.32.1(zod@3.25.76)': dependencies: - '@hono/node-server': 2.1.3(hono@4.13.12) + '@hono/node-server': 2.1.3(hono@4.13.13) ajv: 8.20.0 ajv-formats: 3.0.1(ajv@8.20.0) content-type: 1.0.5 @@ -11988,8 +11505,8 @@ snapshots: eventsource: 3.0.7 eventsource-parser: 3.1.1 express: 5.2.1 - express-rate-limit: 8.7.0(express@5.2.1) - hono: 4.13.12 + express-rate-limit: 8.7.1(express@5.2.1) + hono: 4.13.13 jose: 6.2.12 json-schema-typed: 8.0.2 pkce-challenge: 5.0.1 @@ -12074,33 +11591,26 @@ snapshots: '@napi-rs/nice-win32-x64-msvc': 1.1.1 optional: true - '@napi-rs/wasm-runtime@1.2.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': - dependencies: - '@emnapi/core': 1.10.0 - '@emnapi/runtime': 1.10.0 - '@tybys/wasm-util': 0.10.4 - optional: true - - '@napi-rs/wasm-runtime@1.2.4(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2)': + '@napi-rs/wasm-runtime@1.2.4(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.3)': dependencies: '@emnapi/core': 1.11.2 - '@emnapi/runtime': 1.11.2 + '@emnapi/runtime': 1.11.3 '@tybys/wasm-util': 0.10.4 optional: true - '@napi-rs/wasm-runtime@1.2.4(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.3)': + '@napi-rs/wasm-runtime@1.2.5(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2)': dependencies: '@emnapi/core': 1.11.2 - '@emnapi/runtime': 1.11.3 + '@emnapi/runtime': 1.11.2 '@tybys/wasm-util': 0.10.4 optional: true '@neodrag/core@3.0.0-next.11': {} - '@neodrag/solid@3.0.0-next.11(@neodrag/core@3.0.0-next.11)(solid-js@1.9.15)': + '@neodrag/solid@3.0.0-next.11(@neodrag/core@3.0.0-next.11)(solid-js@1.9.17)': dependencies: '@neodrag/core': 3.0.0-next.11 - solid-js: 1.9.15 + solid-js: 1.9.17 '@next/env@16.3.3': {} @@ -12168,6 +11678,11 @@ snapshots: '@opentelemetry/api': 1.9.1 '@opentelemetry/semantic-conventions': 1.43.0 + '@opentelemetry/core@2.12.0(@opentelemetry/api@1.9.1)': + dependencies: + '@opentelemetry/api': 1.9.1 + '@opentelemetry/semantic-conventions': 1.43.0 + '@opentelemetry/instrumentation@0.220.0(@opentelemetry/api@1.9.1)': dependencies: '@opentelemetry/api': 1.9.1 @@ -12177,25 +11692,25 @@ snapshots: transitivePeerDependencies: - supports-color - '@opentelemetry/resources@2.11.0(@opentelemetry/api@1.9.1)': + '@opentelemetry/resources@2.12.0(@opentelemetry/api@1.9.1)': dependencies: '@opentelemetry/api': 1.9.1 - '@opentelemetry/core': 2.11.0(@opentelemetry/api@1.9.1) + '@opentelemetry/core': 2.12.0(@opentelemetry/api@1.9.1) '@opentelemetry/semantic-conventions': 1.43.0 - '@opentelemetry/sdk-trace-base@2.11.0(@opentelemetry/api@1.9.1)': + '@opentelemetry/sdk-trace-base@2.12.0(@opentelemetry/api@1.9.1)': dependencies: '@opentelemetry/api': 1.9.1 - '@opentelemetry/core': 2.11.0(@opentelemetry/api@1.9.1) - '@opentelemetry/resources': 2.11.0(@opentelemetry/api@1.9.1) - '@opentelemetry/sdk-trace': 2.11.0(@opentelemetry/api@1.9.1) + '@opentelemetry/core': 2.12.0(@opentelemetry/api@1.9.1) + '@opentelemetry/resources': 2.12.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-trace': 2.12.0(@opentelemetry/api@1.9.1) '@opentelemetry/semantic-conventions': 1.43.0 - '@opentelemetry/sdk-trace@2.11.0(@opentelemetry/api@1.9.1)': + '@opentelemetry/sdk-trace@2.12.0(@opentelemetry/api@1.9.1)': dependencies: '@opentelemetry/api': 1.9.1 - '@opentelemetry/core': 2.11.0(@opentelemetry/api@1.9.1) - '@opentelemetry/resources': 2.11.0(@opentelemetry/api@1.9.1) + '@opentelemetry/core': 2.12.0(@opentelemetry/api@1.9.1) + '@opentelemetry/resources': 2.12.0(@opentelemetry/api@1.9.1) '@opentelemetry/semantic-conventions': 1.43.0 '@opentelemetry/semantic-conventions@1.43.0': {} @@ -12328,6 +11843,8 @@ snapshots: '@oxc-project/types@0.152.0': {} + '@oxc-project/types@0.153.0': {} + '@oxc-resolver/binding-android-arm-eabi@11.24.2': optional: true @@ -12380,72 +11897,204 @@ snapshots: dependencies: '@emnapi/core': 1.11.2 '@emnapi/runtime': 1.11.2 - '@napi-rs/wasm-runtime': 1.2.4(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2) + '@napi-rs/wasm-runtime': 1.2.5(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2) + optional: true + + '@oxc-resolver/binding-win32-arm64-msvc@11.24.2': + optional: true + + '@oxc-resolver/binding-win32-x64-msvc@11.24.2': + optional: true + + '@oxfmt/binding-android-arm-eabi@0.72.0': + optional: true + + '@oxfmt/binding-android-arm64@0.72.0': + optional: true + + '@oxfmt/binding-darwin-arm64@0.72.0': + optional: true + + '@oxfmt/binding-darwin-x64@0.72.0': + optional: true + + '@oxfmt/binding-freebsd-x64@0.72.0': + optional: true + + '@oxfmt/binding-linux-arm-gnueabihf@0.72.0': + optional: true + + '@oxfmt/binding-linux-arm-musleabihf@0.72.0': + optional: true + + '@oxfmt/binding-linux-arm64-gnu@0.72.0': + optional: true + + '@oxfmt/binding-linux-arm64-musl@0.72.0': + optional: true + + '@oxfmt/binding-linux-ppc64-gnu@0.72.0': + optional: true + + '@oxfmt/binding-linux-riscv64-gnu@0.72.0': + optional: true + + '@oxfmt/binding-linux-riscv64-musl@0.72.0': + optional: true + + '@oxfmt/binding-linux-s390x-gnu@0.72.0': + optional: true + + '@oxfmt/binding-linux-x64-gnu@0.72.0': + optional: true + + '@oxfmt/binding-linux-x64-musl@0.72.0': + optional: true + + '@oxfmt/binding-openharmony-arm64@0.72.0': + optional: true + + '@oxfmt/binding-win32-arm64-msvc@0.72.0': + optional: true + + '@oxfmt/binding-win32-ia32-msvc@0.72.0': + optional: true + + '@oxfmt/binding-win32-x64-msvc@0.72.0': + optional: true + + '@oxlint-tsgolint/darwin-arm64@7.0.2003': + optional: true + + '@oxlint-tsgolint/darwin-x64@7.0.2003': + optional: true + + '@oxlint-tsgolint/linux-arm64@7.0.2003': optional: true - '@oxc-resolver/binding-win32-arm64-msvc@11.24.2': + '@oxlint-tsgolint/linux-x64@7.0.2003': optional: true - '@oxc-resolver/binding-win32-x64-msvc@11.24.2': + '@oxlint-tsgolint/win32-arm64@7.0.2003': + optional: true + + '@oxlint-tsgolint/win32-x64@7.0.2003': optional: true '@oxlint/binding-android-arm-eabi@1.81.0': optional: true + '@oxlint/binding-android-arm-eabi@1.87.0': + optional: true + '@oxlint/binding-android-arm64@1.81.0': optional: true + '@oxlint/binding-android-arm64@1.87.0': + optional: true + '@oxlint/binding-darwin-arm64@1.81.0': optional: true + '@oxlint/binding-darwin-arm64@1.87.0': + optional: true + '@oxlint/binding-darwin-x64@1.81.0': optional: true + '@oxlint/binding-darwin-x64@1.87.0': + optional: true + '@oxlint/binding-freebsd-x64@1.81.0': optional: true + '@oxlint/binding-freebsd-x64@1.87.0': + optional: true + '@oxlint/binding-linux-arm-gnueabihf@1.81.0': optional: true + '@oxlint/binding-linux-arm-gnueabihf@1.87.0': + optional: true + '@oxlint/binding-linux-arm-musleabihf@1.81.0': optional: true + '@oxlint/binding-linux-arm-musleabihf@1.87.0': + optional: true + '@oxlint/binding-linux-arm64-gnu@1.81.0': optional: true + '@oxlint/binding-linux-arm64-gnu@1.87.0': + optional: true + '@oxlint/binding-linux-arm64-musl@1.81.0': optional: true + '@oxlint/binding-linux-arm64-musl@1.87.0': + optional: true + '@oxlint/binding-linux-ppc64-gnu@1.81.0': optional: true + '@oxlint/binding-linux-ppc64-gnu@1.87.0': + optional: true + '@oxlint/binding-linux-riscv64-gnu@1.81.0': optional: true + '@oxlint/binding-linux-riscv64-gnu@1.87.0': + optional: true + '@oxlint/binding-linux-riscv64-musl@1.81.0': optional: true + '@oxlint/binding-linux-riscv64-musl@1.87.0': + optional: true + '@oxlint/binding-linux-s390x-gnu@1.81.0': optional: true + '@oxlint/binding-linux-s390x-gnu@1.87.0': + optional: true + '@oxlint/binding-linux-x64-gnu@1.81.0': optional: true + '@oxlint/binding-linux-x64-gnu@1.87.0': + optional: true + '@oxlint/binding-linux-x64-musl@1.81.0': optional: true + '@oxlint/binding-linux-x64-musl@1.87.0': + optional: true + '@oxlint/binding-openharmony-arm64@1.81.0': optional: true + '@oxlint/binding-openharmony-arm64@1.87.0': + optional: true + '@oxlint/binding-win32-arm64-msvc@1.81.0': optional: true + '@oxlint/binding-win32-arm64-msvc@1.87.0': + optional: true + '@oxlint/binding-win32-ia32-msvc@1.81.0': optional: true + '@oxlint/binding-win32-ia32-msvc@1.87.0': + optional: true + '@oxlint/binding-win32-x64-msvc@1.81.0': optional: true + '@oxlint/binding-win32-x64-msvc@1.87.0': + optional: true + '@peculiar/asn1-android@2.10.0': dependencies: '@peculiar/asn1-schema': 2.10.0 @@ -12562,8 +12211,6 @@ snapshots: tslib: 2.8.1 tsyringe: 4.10.0 - '@pkgr/core@0.3.6': {} - '@playwright/test@1.61.1': dependencies: playwright: 1.61.1 @@ -12580,16 +12227,16 @@ snapshots: '@radix-ui/primitive@1.1.7': {} - '@radix-ui/react-accordion@1.2.20(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + '@radix-ui/react-accordion@1.2.21(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': dependencies: '@radix-ui/primitive': 1.1.7 - '@radix-ui/react-collapsible': 1.1.20(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) - '@radix-ui/react-collection': 1.1.15(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-collapsible': 1.1.21(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-collection': 1.1.16(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.0) '@radix-ui/react-context': 1.2.2(@types/react@19.3.0)(react@19.3.0) - '@radix-ui/react-direction': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-direction': 1.1.5(@types/react@19.3.0)(react@19.3.0) '@radix-ui/react-id': 1.1.4(@types/react@19.3.0)(react@19.3.0) - '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-primitive': 2.1.11(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@radix-ui/react-use-controllable-state': 1.2.6(@types/react@19.3.0)(react@19.3.0) react: 19.3.0 react-dom: 19.3.0(react@19.3.0) @@ -12597,23 +12244,23 @@ snapshots: '@types/react': 19.3.0 '@types/react-dom': 19.3.0(@types/react@19.3.0) - '@radix-ui/react-arrow@1.1.15(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + '@radix-ui/react-arrow@1.1.16(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': dependencies: - '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-primitive': 2.1.11(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) react: 19.3.0 react-dom: 19.3.0(react@19.3.0) optionalDependencies: '@types/react': 19.3.0 '@types/react-dom': 19.3.0(@types/react@19.3.0) - '@radix-ui/react-collapsible@1.1.20(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + '@radix-ui/react-collapsible@1.1.21(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': dependencies: '@radix-ui/primitive': 1.1.7 '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.0) '@radix-ui/react-context': 1.2.2(@types/react@19.3.0)(react@19.3.0) '@radix-ui/react-id': 1.1.4(@types/react@19.3.0)(react@19.3.0) - '@radix-ui/react-presence': 1.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) - '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-presence': 1.1.11(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-primitive': 2.1.11(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@radix-ui/react-use-controllable-state': 1.2.6(@types/react@19.3.0)(react@19.3.0) '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.0) react: 19.3.0 @@ -12622,12 +12269,12 @@ snapshots: '@types/react': 19.3.0 '@types/react-dom': 19.3.0(@types/react@19.3.0) - '@radix-ui/react-collection@1.1.15(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + '@radix-ui/react-collection@1.1.16(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': dependencies: '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.0) '@radix-ui/react-context': 1.2.2(@types/react@19.3.0)(react@19.3.0) - '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) - '@radix-ui/react-slot': 1.3.3(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-primitive': 2.1.11(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-slot': 1.4.0(@types/react@19.3.0)(react@19.3.0) react: 19.3.0 react-dom: 19.3.0(react@19.3.0) optionalDependencies: @@ -12669,7 +12316,30 @@ snapshots: '@types/react': 19.3.0 '@types/react-dom': 19.3.0(@types/react@19.3.0) - '@radix-ui/react-direction@1.1.4(@types/react@19.3.0)(react@19.3.0)': + '@radix-ui/react-dialog@1.2.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/primitive': 1.1.7 + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-context': 1.2.2(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-dismissable-layer': 1.1.20(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-focus-guards': 1.1.6(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-focus-scope': 1.2.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-id': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-portal': 1.1.18(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-presence': 1.1.11(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-primitive': 2.1.11(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-slot': 1.4.0(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-controllable-state': 1.2.6(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.0) + aria-hidden: 1.2.6 + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + react-remove-scroll: 2.7.2(@types/react@19.3.0)(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + + '@radix-ui/react-direction@1.1.5(@types/react@19.3.0)(react@19.3.0)': dependencies: react: 19.3.0 optionalDependencies: @@ -12688,6 +12358,19 @@ snapshots: '@types/react': 19.3.0 '@types/react-dom': 19.3.0(@types/react@19.3.0) + '@radix-ui/react-dismissable-layer@1.1.20(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/primitive': 1.1.7 + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-primitive': 2.1.11(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-use-callback-ref': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-effect-event': 0.0.5(@types/react@19.3.0)(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + '@radix-ui/react-focus-guards@1.1.6(@types/react@19.3.0)(react@19.3.0)': dependencies: react: 19.3.0 @@ -12705,6 +12388,17 @@ snapshots: '@types/react': 19.3.0 '@types/react-dom': 19.3.0(@types/react@19.3.0) + '@radix-ui/react-focus-scope@1.2.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-primitive': 2.1.11(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-use-callback-ref': 1.1.4(@types/react@19.3.0)(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + '@radix-ui/react-id@1.1.4(@types/react@19.3.0)(react@19.3.0)': dependencies: '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.0) @@ -12712,43 +12406,45 @@ snapshots: optionalDependencies: '@types/react': 19.3.0 - '@radix-ui/react-navigation-menu@1.2.22(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + '@radix-ui/react-navigation-menu@1.3.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': dependencies: '@radix-ui/primitive': 1.1.7 - '@radix-ui/react-collection': 1.1.15(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-collection': 1.1.16(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.0) '@radix-ui/react-context': 1.2.2(@types/react@19.3.0)(react@19.3.0) - '@radix-ui/react-direction': 1.1.4(@types/react@19.3.0)(react@19.3.0) - '@radix-ui/react-dismissable-layer': 1.1.19(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-direction': 1.1.5(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-dismissable-layer': 1.1.20(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@radix-ui/react-id': 1.1.4(@types/react@19.3.0)(react@19.3.0) - '@radix-ui/react-presence': 1.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) - '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-presence': 1.1.11(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-primitive': 2.1.11(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-slot': 1.4.0(@types/react@19.3.0)(react@19.3.0) '@radix-ui/react-use-callback-ref': 1.1.4(@types/react@19.3.0)(react@19.3.0) '@radix-ui/react-use-controllable-state': 1.2.6(@types/react@19.3.0)(react@19.3.0) '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.0) '@radix-ui/react-use-previous': 1.1.4(@types/react@19.3.0)(react@19.3.0) - '@radix-ui/react-visually-hidden': 1.2.11(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-visually-hidden': 1.2.12(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) react: 19.3.0 react-dom: 19.3.0(react@19.3.0) optionalDependencies: '@types/react': 19.3.0 '@types/react-dom': 19.3.0(@types/react@19.3.0) - '@radix-ui/react-popover@1.1.23(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + '@radix-ui/react-popover@1.2.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': dependencies: '@radix-ui/primitive': 1.1.7 '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.0) '@radix-ui/react-context': 1.2.2(@types/react@19.3.0)(react@19.3.0) - '@radix-ui/react-dismissable-layer': 1.1.19(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-dismissable-layer': 1.1.20(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@radix-ui/react-focus-guards': 1.1.6(@types/react@19.3.0)(react@19.3.0) - '@radix-ui/react-focus-scope': 1.1.16(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-focus-scope': 1.2.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@radix-ui/react-id': 1.1.4(@types/react@19.3.0)(react@19.3.0) - '@radix-ui/react-popper': 1.3.7(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) - '@radix-ui/react-portal': 1.1.17(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) - '@radix-ui/react-presence': 1.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) - '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) - '@radix-ui/react-slot': 1.3.3(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-popper': 1.3.8(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-portal': 1.1.18(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-presence': 1.1.11(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-primitive': 2.1.11(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-slot': 1.4.0(@types/react@19.3.0)(react@19.3.0) '@radix-ui/react-use-controllable-state': 1.2.6(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.0) aria-hidden: 1.2.6 react: 19.3.0 react-dom: 19.3.0(react@19.3.0) @@ -12757,17 +12453,17 @@ snapshots: '@types/react': 19.3.0 '@types/react-dom': 19.3.0(@types/react@19.3.0) - '@radix-ui/react-popper@1.3.7(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + '@radix-ui/react-popper@1.3.8(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': dependencies: '@floating-ui/react-dom': 2.1.9(react-dom@19.3.0(react@19.3.0))(react@19.3.0) - '@radix-ui/react-arrow': 1.1.15(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-arrow': 1.1.16(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.0) '@radix-ui/react-context': 1.2.2(@types/react@19.3.0)(react@19.3.0) - '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-primitive': 2.1.11(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@radix-ui/react-use-callback-ref': 1.1.4(@types/react@19.3.0)(react@19.3.0) '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.0) '@radix-ui/react-use-rect': 1.1.4(@types/react@19.3.0)(react@19.3.0) - '@radix-ui/react-use-size': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-use-size': 1.1.5(@types/react@19.3.0)(react@19.3.0) '@radix-ui/rect': 1.1.3 react: 19.3.0 react-dom: 19.3.0(react@19.3.0) @@ -12785,6 +12481,16 @@ snapshots: '@types/react': 19.3.0 '@types/react-dom': 19.3.0(@types/react@19.3.0) + '@radix-ui/react-portal@1.1.18(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/react-primitive': 2.1.11(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + '@radix-ui/react-presence@1.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': dependencies: '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.0) @@ -12794,6 +12500,15 @@ snapshots: '@types/react': 19.3.0 '@types/react-dom': 19.3.0(@types/react@19.3.0) + '@radix-ui/react-presence@1.1.11(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + '@radix-ui/react-primitive@2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': dependencies: '@radix-ui/react-slot': 1.3.3(@types/react@19.3.0)(react@19.3.0) @@ -12803,15 +12518,24 @@ snapshots: '@types/react': 19.3.0 '@types/react-dom': 19.3.0(@types/react@19.3.0) - '@radix-ui/react-roving-focus@1.1.19(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + '@radix-ui/react-primitive@2.1.11(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + dependencies: + '@radix-ui/react-slot': 1.4.0(@types/react@19.3.0)(react@19.3.0) + react: 19.3.0 + react-dom: 19.3.0(react@19.3.0) + optionalDependencies: + '@types/react': 19.3.0 + '@types/react-dom': 19.3.0(@types/react@19.3.0) + + '@radix-ui/react-roving-focus@1.1.20(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': dependencies: '@radix-ui/primitive': 1.1.7 - '@radix-ui/react-collection': 1.1.15(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-collection': 1.1.16(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.0) '@radix-ui/react-context': 1.2.2(@types/react@19.3.0)(react@19.3.0) - '@radix-ui/react-direction': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-direction': 1.1.5(@types/react@19.3.0)(react@19.3.0) '@radix-ui/react-id': 1.1.4(@types/react@19.3.0)(react@19.3.0) - '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-primitive': 2.1.11(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@radix-ui/react-use-callback-ref': 1.1.4(@types/react@19.3.0)(react@19.3.0) '@radix-ui/react-use-controllable-state': 1.2.6(@types/react@19.3.0)(react@19.3.0) '@radix-ui/react-use-is-hydrated': 0.1.3(@types/react@19.3.0)(react@19.3.0) @@ -12822,15 +12546,16 @@ snapshots: '@types/react': 19.3.0 '@types/react-dom': 19.3.0(@types/react@19.3.0) - '@radix-ui/react-scroll-area@1.2.18(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + '@radix-ui/react-scroll-area@1.3.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': dependencies: '@radix-ui/number': 1.1.3 '@radix-ui/primitive': 1.1.7 '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.0) '@radix-ui/react-context': 1.2.2(@types/react@19.3.0)(react@19.3.0) - '@radix-ui/react-direction': 1.1.4(@types/react@19.3.0)(react@19.3.0) - '@radix-ui/react-presence': 1.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) - '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-direction': 1.1.5(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-presence': 1.1.11(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-primitive': 2.1.11(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-slot': 1.4.0(@types/react@19.3.0)(react@19.3.0) '@radix-ui/react-use-callback-ref': 1.1.4(@types/react@19.3.0)(react@19.3.0) '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.0) react: 19.3.0 @@ -12846,15 +12571,22 @@ snapshots: optionalDependencies: '@types/react': 19.3.0 - '@radix-ui/react-tabs@1.1.21(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + '@radix-ui/react-slot@1.4.0(@types/react@19.3.0)(react@19.3.0)': + dependencies: + '@radix-ui/react-compose-refs': 1.1.5(@types/react@19.3.0)(react@19.3.0) + react: 19.3.0 + optionalDependencies: + '@types/react': 19.3.0 + + '@radix-ui/react-tabs@1.1.22(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': dependencies: '@radix-ui/primitive': 1.1.7 '@radix-ui/react-context': 1.2.2(@types/react@19.3.0)(react@19.3.0) - '@radix-ui/react-direction': 1.1.4(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-direction': 1.1.5(@types/react@19.3.0)(react@19.3.0) '@radix-ui/react-id': 1.1.4(@types/react@19.3.0)(react@19.3.0) - '@radix-ui/react-presence': 1.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) - '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) - '@radix-ui/react-roving-focus': 1.1.19(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-presence': 1.1.11(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-primitive': 2.1.11(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-roving-focus': 1.1.20(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@radix-ui/react-use-controllable-state': 1.2.6(@types/react@19.3.0)(react@19.3.0) react: 19.3.0 react-dom: 19.3.0(react@19.3.0) @@ -12909,16 +12641,16 @@ snapshots: optionalDependencies: '@types/react': 19.3.0 - '@radix-ui/react-use-size@1.1.4(@types/react@19.3.0)(react@19.3.0)': + '@radix-ui/react-use-size@1.1.5(@types/react@19.3.0)(react@19.3.0)': dependencies: '@radix-ui/react-use-layout-effect': 1.1.4(@types/react@19.3.0)(react@19.3.0) react: 19.3.0 optionalDependencies: '@types/react': 19.3.0 - '@radix-ui/react-visually-hidden@1.2.11(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + '@radix-ui/react-visually-hidden@1.2.12(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': dependencies: - '@radix-ui/react-primitive': 2.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-primitive': 2.1.11(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) react: 19.3.0 react-dom: 19.3.0(react@19.3.0) optionalDependencies: @@ -12936,11 +12668,11 @@ snapshots: react: 19.3.0 react-dom: 19.3.0(react@19.3.0) - '@react-email/ui@6.11.0(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.61.1)(@types/node@26.6.3)(babel-plugin-react-compiler@1.0.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + '@react-email/ui@6.11.1(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.61.1)(@types/node@26.6.4)(babel-plugin-react-compiler@1.0.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': dependencies: - esbuild: 0.28.1 + esbuild: 0.28.2 jiti: 2.6.1 - next: 16.3.3(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.61.1)(@types/node@26.6.3)(babel-plugin-react-compiler@1.0.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + next: 16.3.3(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.61.1)(@types/node@26.6.4)(babel-plugin-react-compiler@1.0.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) transitivePeerDependencies: - '@babel/core' - '@opentelemetry/api' @@ -12956,9 +12688,9 @@ snapshots: dependencies: agent-install: 0.0.6 commander: 14.0.3 - ignore: 7.0.11 + ignore: 7.0.12 ora: 9.4.1 - package-manager-detector: 1.8.0 + package-manager-detector: 1.9.0 picocolors: 1.1.1 prompts: 2.4.2 tinyexec: 1.3.1 @@ -12986,48 +12718,93 @@ snapshots: '@rolldown/binding-android-arm-eabi@1.2.12': optional: true + '@rolldown/binding-android-arm-eabi@1.2.13': + optional: true + '@rolldown/binding-android-arm64@1.2.12': optional: true + '@rolldown/binding-android-arm64@1.2.13': + optional: true + '@rolldown/binding-darwin-arm64@1.2.12': optional: true + '@rolldown/binding-darwin-arm64@1.2.13': + optional: true + '@rolldown/binding-darwin-x64@1.2.12': optional: true + '@rolldown/binding-darwin-x64@1.2.13': + optional: true + '@rolldown/binding-freebsd-x64@1.2.12': optional: true + '@rolldown/binding-freebsd-x64@1.2.13': + optional: true + '@rolldown/binding-linux-arm-gnueabihf@1.2.12': optional: true + '@rolldown/binding-linux-arm-gnueabihf@1.2.13': + optional: true + '@rolldown/binding-linux-arm64-gnu@1.2.12': optional: true + '@rolldown/binding-linux-arm64-gnu@1.2.13': + optional: true + '@rolldown/binding-linux-arm64-musl@1.2.12': optional: true + '@rolldown/binding-linux-arm64-musl@1.2.13': + optional: true + '@rolldown/binding-linux-ppc64-gnu@1.2.12': optional: true + '@rolldown/binding-linux-ppc64-gnu@1.2.13': + optional: true + '@rolldown/binding-linux-s390x-gnu@1.2.12': optional: true + '@rolldown/binding-linux-s390x-gnu@1.2.13': + optional: true + '@rolldown/binding-linux-x64-gnu@1.2.12': optional: true + '@rolldown/binding-linux-x64-gnu@1.2.13': + optional: true + '@rolldown/binding-linux-x64-musl@1.2.12': optional: true + '@rolldown/binding-linux-x64-musl@1.2.13': + optional: true + '@rolldown/binding-openharmony-arm64@1.2.12': optional: true + '@rolldown/binding-openharmony-arm64@1.2.13': + optional: true + '@rolldown/binding-win32-arm64-msvc@1.2.12': optional: true + '@rolldown/binding-win32-arm64-msvc@1.2.13': + optional: true + '@rolldown/binding-win32-x64-msvc@1.2.12': optional: true + '@rolldown/binding-win32-x64-msvc@1.2.13': + optional: true + '@rolldown/pluginutils@1.0.1': {} '@rollup/pluginutils@5.4.0(rollup@4.63.5)': @@ -13124,96 +12901,115 @@ snapshots: '@sentry/conventions@0.16.0': {} - '@sentry/core@10.75.3': + '@sentry/core@10.76.1': dependencies: '@sentry/conventions': 0.16.0 - '@sentry/node-core@10.75.3(@opentelemetry/api@1.9.1)(@opentelemetry/core@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/instrumentation@0.220.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.11.0(@opentelemetry/api@1.9.1))': + '@sentry/node-core@10.76.1(@opentelemetry/api@1.9.1)(@opentelemetry/core@2.12.0(@opentelemetry/api@1.9.1))(@opentelemetry/instrumentation@0.220.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.12.0(@opentelemetry/api@1.9.1))': dependencies: '@sentry/conventions': 0.16.0 - '@sentry/core': 10.75.3 - '@sentry/opentelemetry': 10.75.3(@opentelemetry/api@1.9.1)(@opentelemetry/core@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.11.0(@opentelemetry/api@1.9.1)) + '@sentry/core': 10.76.1 + '@sentry/opentelemetry': 10.76.1(@opentelemetry/api@1.9.1)(@opentelemetry/core@2.12.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.12.0(@opentelemetry/api@1.9.1)) import-in-the-middle: 3.5.2 optionalDependencies: '@opentelemetry/api': 1.9.1 - '@opentelemetry/core': 2.11.0(@opentelemetry/api@1.9.1) + '@opentelemetry/core': 2.12.0(@opentelemetry/api@1.9.1) '@opentelemetry/instrumentation': 0.220.0(@opentelemetry/api@1.9.1) - '@opentelemetry/sdk-trace-base': 2.11.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-trace-base': 2.12.0(@opentelemetry/api@1.9.1) - '@sentry/node@10.75.3(@opentelemetry/core@2.11.0(@opentelemetry/api@1.9.1))': + '@sentry/node@10.76.1(@opentelemetry/core@2.12.0(@opentelemetry/api@1.9.1))': dependencies: '@opentelemetry/api': 1.9.1 '@opentelemetry/instrumentation': 0.220.0(@opentelemetry/api@1.9.1) - '@opentelemetry/sdk-trace-base': 2.11.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-trace-base': 2.12.0(@opentelemetry/api@1.9.1) '@sentry/conventions': 0.16.0 - '@sentry/core': 10.75.3 - '@sentry/node-core': 10.75.3(@opentelemetry/api@1.9.1)(@opentelemetry/core@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/instrumentation@0.220.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.11.0(@opentelemetry/api@1.9.1)) - '@sentry/opentelemetry': 10.75.3(@opentelemetry/api@1.9.1)(@opentelemetry/core@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.11.0(@opentelemetry/api@1.9.1)) - '@sentry/server-utils': 10.75.3 + '@sentry/core': 10.76.1 + '@sentry/node-core': 10.76.1(@opentelemetry/api@1.9.1)(@opentelemetry/core@2.12.0(@opentelemetry/api@1.9.1))(@opentelemetry/instrumentation@0.220.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.12.0(@opentelemetry/api@1.9.1)) + '@sentry/opentelemetry': 10.76.1(@opentelemetry/api@1.9.1)(@opentelemetry/core@2.12.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.12.0(@opentelemetry/api@1.9.1)) + '@sentry/server-utils': 10.76.1 import-in-the-middle: 3.5.2 transitivePeerDependencies: - '@opentelemetry/core' - '@opentelemetry/exporter-trace-otlp-http' - supports-color - '@sentry/opentelemetry@10.75.3(@opentelemetry/api@1.9.1)(@opentelemetry/core@2.11.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.11.0(@opentelemetry/api@1.9.1))': + '@sentry/opentelemetry@10.76.1(@opentelemetry/api@1.9.1)(@opentelemetry/core@2.12.0(@opentelemetry/api@1.9.1))(@opentelemetry/sdk-trace-base@2.12.0(@opentelemetry/api@1.9.1))': dependencies: '@opentelemetry/api': 1.9.1 - '@opentelemetry/core': 2.11.0(@opentelemetry/api@1.9.1) - '@opentelemetry/sdk-trace-base': 2.11.0(@opentelemetry/api@1.9.1) + '@opentelemetry/core': 2.12.0(@opentelemetry/api@1.9.1) + '@opentelemetry/sdk-trace-base': 2.12.0(@opentelemetry/api@1.9.1) '@sentry/conventions': 0.16.0 - '@sentry/core': 10.75.3 + '@sentry/core': 10.76.1 - '@sentry/server-utils@10.75.3': + '@sentry/server-utils@10.76.1': dependencies: '@sentry/conventions': 0.16.0 - '@sentry/core': 10.75.3 + '@sentry/core': 10.76.1 - '@shadcn/lint@0.2.0(@typescript-eslint/parser@8.71.0(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.11.0(jiti@2.7.0))': + '@shadcn/registry@0.1.3': dependencies: - '@eslint/core': 0.17.0 - cn: 0.3.2 - optionalDependencies: - '@typescript-eslint/parser': 8.71.0(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - eslint: 10.11.0(jiti@2.7.0) - oxc-parser: 0.148.0 + '@babel/core': 7.29.7 + '@babel/parser': 7.29.9 + '@babel/plugin-transform-typescript': 7.29.9(@babel/core@7.29.7) + '@babel/preset-typescript': 7.29.7(@babel/core@7.29.7) + '@dotenvx/dotenvx': 1.75.1 + cn: 0.2.6 + code-block-writer: 13.0.3 + deepmerge: 4.3.1 + execa: 9.6.1 + fast-glob: 3.3.3 + fs-extra: 11.4.1 + fuzzysort: 3.1.0 + kleur: 4.1.5 + ora: 8.2.0 + postcss: 8.5.29 + prompts: 2.4.2 + recast: 0.23.21 + socks: 2.8.10 + stringify-object: 5.0.0 + tsconfig-paths: 4.2.0 + type-fest: 4.41.0 + undici: 7.30.0 + zod: 3.25.76 + transitivePeerDependencies: + - supports-color '@shaderfrog/glsl-parser@7.0.1': {} - '@shikijs/core@4.4.3': + '@shikijs/core@4.5.0': dependencies: - '@shikijs/primitive': 4.4.3 - '@shikijs/types': 4.4.3 + '@shikijs/primitive': 4.5.0 + '@shikijs/types': 4.5.0 '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.5 hast-util-to-html: 9.0.5 - '@shikijs/engine-javascript@4.4.3': + '@shikijs/engine-javascript@4.5.0': dependencies: - '@shikijs/types': 4.4.3 + '@shikijs/types': 4.5.0 '@shikijs/vscode-textmate': 10.0.2 oniguruma-to-es: 4.3.6 - '@shikijs/engine-oniguruma@4.4.3': + '@shikijs/engine-oniguruma@4.5.0': dependencies: - '@shikijs/types': 4.4.3 + '@shikijs/types': 4.5.0 '@shikijs/vscode-textmate': 10.0.2 - '@shikijs/langs@4.4.3': + '@shikijs/langs@4.5.0': dependencies: - '@shikijs/types': 4.4.3 + '@shikijs/types': 4.5.0 - '@shikijs/primitive@4.4.3': + '@shikijs/primitive@4.5.0': dependencies: - '@shikijs/types': 4.4.3 + '@shikijs/types': 4.5.0 '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.5 - '@shikijs/themes@4.4.3': + '@shikijs/themes@4.5.0': dependencies: - '@shikijs/types': 4.4.3 + '@shikijs/types': 4.5.0 - '@shikijs/types@4.4.3': + '@shikijs/types@4.5.0': dependencies: '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.5 @@ -13241,32 +13037,32 @@ snapshots: '@sindresorhus/merge-streams@4.0.0': {} - '@smithy/core@3.35.0': + '@smithy/core@3.35.1': dependencies: '@smithy/types': 4.19.0 tslib: 2.8.1 '@smithy/credential-provider-imds@4.5.2': dependencies: - '@smithy/core': 3.35.0 + '@smithy/core': 3.35.1 '@smithy/types': 4.19.0 tslib: 2.8.1 '@smithy/fetch-http-handler@5.8.0': dependencies: - '@smithy/core': 3.35.0 + '@smithy/core': 3.35.1 '@smithy/types': 4.19.0 tslib: 2.8.1 '@smithy/node-http-handler@4.12.1': dependencies: - '@smithy/core': 3.35.0 + '@smithy/core': 3.35.1 '@smithy/types': 4.19.0 tslib: 2.8.1 '@smithy/signature-v4@5.7.4': dependencies: - '@smithy/core': 3.35.0 + '@smithy/core': 3.35.1 '@smithy/types': 4.19.0 tslib: 2.8.1 @@ -13276,96 +13072,86 @@ snapshots: '@socket.io/component-emitter@3.1.2': {} - '@solid-primitives/event-listener@2.4.6(solid-js@1.9.15)': + '@solid-primitives/event-listener@2.4.6(solid-js@1.9.17)': dependencies: - '@solid-primitives/utils': 6.4.1(solid-js@1.9.15) - solid-js: 1.9.15 + '@solid-primitives/utils': 6.4.1(solid-js@1.9.17) + solid-js: 1.9.17 - '@solid-primitives/keyboard@1.3.7(solid-js@1.9.15)': + '@solid-primitives/keyboard@1.3.7(solid-js@1.9.17)': dependencies: - '@solid-primitives/event-listener': 2.4.6(solid-js@1.9.15) - '@solid-primitives/rootless': 1.5.4(solid-js@1.9.15) - '@solid-primitives/utils': 6.4.1(solid-js@1.9.15) - solid-js: 1.9.15 + '@solid-primitives/event-listener': 2.4.6(solid-js@1.9.17) + '@solid-primitives/rootless': 1.5.4(solid-js@1.9.17) + '@solid-primitives/utils': 6.4.1(solid-js@1.9.17) + solid-js: 1.9.17 - '@solid-primitives/keyed@1.5.3(solid-js@1.9.15)': + '@solid-primitives/keyed@1.5.3(solid-js@1.9.17)': dependencies: - solid-js: 1.9.15 + solid-js: 1.9.17 - '@solid-primitives/map@0.4.13(solid-js@1.9.15)': + '@solid-primitives/map@0.4.13(solid-js@1.9.17)': dependencies: - '@solid-primitives/trigger': 1.2.4(solid-js@1.9.15) - solid-js: 1.9.15 + '@solid-primitives/trigger': 1.2.4(solid-js@1.9.17) + solid-js: 1.9.17 - '@solid-primitives/media@2.3.6(solid-js@1.9.15)': + '@solid-primitives/media@2.3.6(solid-js@1.9.17)': dependencies: - '@solid-primitives/event-listener': 2.4.6(solid-js@1.9.15) - '@solid-primitives/rootless': 1.5.4(solid-js@1.9.15) - '@solid-primitives/static-store': 0.1.4(solid-js@1.9.15) - '@solid-primitives/utils': 6.4.1(solid-js@1.9.15) - solid-js: 1.9.15 + '@solid-primitives/event-listener': 2.4.6(solid-js@1.9.17) + '@solid-primitives/rootless': 1.5.4(solid-js@1.9.17) + '@solid-primitives/static-store': 0.1.4(solid-js@1.9.17) + '@solid-primitives/utils': 6.4.1(solid-js@1.9.17) + solid-js: 1.9.17 - '@solid-primitives/props@3.2.4(solid-js@1.9.15)': + '@solid-primitives/props@3.2.4(solid-js@1.9.17)': dependencies: - '@solid-primitives/utils': 6.4.1(solid-js@1.9.15) - solid-js: 1.9.15 + '@solid-primitives/utils': 6.4.1(solid-js@1.9.17) + solid-js: 1.9.17 - '@solid-primitives/refs@1.1.4(solid-js@1.9.15)': + '@solid-primitives/refs@1.1.4(solid-js@1.9.17)': dependencies: - '@solid-primitives/utils': 6.4.1(solid-js@1.9.15) - solid-js: 1.9.15 + '@solid-primitives/utils': 6.4.1(solid-js@1.9.17) + solid-js: 1.9.17 - '@solid-primitives/resize-observer@2.2.0(solid-js@1.9.15)': + '@solid-primitives/resize-observer@2.2.0(solid-js@1.9.17)': dependencies: - '@solid-primitives/event-listener': 2.4.6(solid-js@1.9.15) - '@solid-primitives/rootless': 1.5.4(solid-js@1.9.15) - '@solid-primitives/static-store': 0.1.4(solid-js@1.9.15) - '@solid-primitives/utils': 6.4.1(solid-js@1.9.15) - solid-js: 1.9.15 + '@solid-primitives/event-listener': 2.4.6(solid-js@1.9.17) + '@solid-primitives/rootless': 1.5.4(solid-js@1.9.17) + '@solid-primitives/static-store': 0.1.4(solid-js@1.9.17) + '@solid-primitives/utils': 6.4.1(solid-js@1.9.17) + solid-js: 1.9.17 - '@solid-primitives/rootless@1.5.4(solid-js@1.9.15)': + '@solid-primitives/rootless@1.5.4(solid-js@1.9.17)': dependencies: - '@solid-primitives/utils': 6.4.1(solid-js@1.9.15) - solid-js: 1.9.15 + '@solid-primitives/utils': 6.4.1(solid-js@1.9.17) + solid-js: 1.9.17 - '@solid-primitives/static-store@0.1.4(solid-js@1.9.15)': + '@solid-primitives/static-store@0.1.4(solid-js@1.9.17)': dependencies: - '@solid-primitives/utils': 6.4.1(solid-js@1.9.15) - solid-js: 1.9.15 + '@solid-primitives/utils': 6.4.1(solid-js@1.9.17) + solid-js: 1.9.17 - '@solid-primitives/storage@1.3.11(solid-js@1.9.15)': + '@solid-primitives/storage@1.3.11(solid-js@1.9.17)': dependencies: - '@solid-primitives/utils': 6.4.1(solid-js@1.9.15) - solid-js: 1.9.15 + '@solid-primitives/utils': 6.4.1(solid-js@1.9.17) + solid-js: 1.9.17 - '@solid-primitives/transition-group@1.1.2(solid-js@1.9.15)': + '@solid-primitives/transition-group@1.1.2(solid-js@1.9.17)': dependencies: - solid-js: 1.9.15 + solid-js: 1.9.17 - '@solid-primitives/trigger@1.2.4(solid-js@1.9.15)': + '@solid-primitives/trigger@1.2.4(solid-js@1.9.17)': dependencies: - '@solid-primitives/utils': 6.4.1(solid-js@1.9.15) - solid-js: 1.9.15 + '@solid-primitives/utils': 6.4.1(solid-js@1.9.17) + solid-js: 1.9.17 - '@solid-primitives/utils@6.4.1(solid-js@1.9.15)': + '@solid-primitives/utils@6.4.1(solid-js@1.9.17)': dependencies: - solid-js: 1.9.15 + solid-js: 1.9.17 '@stablelib/base64@1.0.1': {} '@standard-schema/spec@1.1.0': {} - '@stylistic/eslint-plugin@5.10.0(eslint@10.11.0(jiti@2.7.0))': - dependencies: - '@eslint-community/eslint-utils': 4.10.1(eslint@10.11.0(jiti@2.7.0)) - '@typescript-eslint/types': 8.71.0 - eslint: 10.11.0(jiti@2.7.0) - eslint-visitor-keys: 4.2.1 - espree: 10.4.0 - estraverse: 5.3.0 - picomatch: 4.0.7 - - '@supabase/storage-js@2.117.2': + '@supabase/storage-js@2.117.3': dependencies: iceberg-js: 0.8.1 tslib: 2.8.1 @@ -13515,14 +13301,14 @@ snapshots: '@tailwindcss/oxide-win32-arm64-msvc': 4.3.3 '@tailwindcss/oxide-win32-x64-msvc': 4.3.3 - '@tailwindcss/vite@4.3.3(vite@8.3.1(@types/node@26.6.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1))': + '@tailwindcss/vite@4.3.3(vite@8.3.3(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1))': dependencies: '@tailwindcss/node': 4.3.3 '@tailwindcss/oxide': 4.3.3 tailwindcss: 4.3.3 - vite: 8.3.1(@types/node@26.6.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) + vite: 8.3.3(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) - '@tanstack/charts@1.0.0(preact@10.29.8)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(solid-js@1.9.15)': + '@tanstack/charts@1.0.0(preact@10.29.8)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(solid-js@1.9.17)': dependencies: '@types/d3-force': 3.0.10 '@types/d3-geo': 3.1.1 @@ -13547,7 +13333,7 @@ snapshots: preact: 10.29.8 react: 19.3.0 react-dom: 19.3.0(react@19.3.0) - solid-js: 1.9.15 + solid-js: 1.9.17 '@tanstack/devtools-bundler-core@0.1.3(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.3)': dependencies: @@ -13579,62 +13365,46 @@ snapshots: '@tanstack/devtools-event-client@0.5.0': {} - '@tanstack/devtools-ui@0.7.1(csstype@3.2.3)(solid-js@1.9.15)': + '@tanstack/devtools-ui@0.7.1(csstype@3.2.3)(solid-js@1.9.17)': dependencies: clsx: 2.1.1 dayjs: 1.11.23 goober: 2.1.19(csstype@3.2.3) - solid-js: 1.9.15 + solid-js: 1.9.17 transitivePeerDependencies: - csstype - '@tanstack/devtools-vite@0.8.5(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.3)(vite@8.3.1(@types/node@26.6.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1))': + '@tanstack/devtools-vite@0.8.5(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.3)(vite@8.3.3(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1))': dependencies: '@tanstack/devtools-bundler-core': 0.1.3(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.3) '@tanstack/devtools-client': 0.0.8 '@tanstack/devtools-event-bus': 0.4.3 chalk: 5.6.2 - vite: 8.3.1(@types/node@26.6.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) + vite: 8.3.3(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) transitivePeerDependencies: - '@emnapi/core' - '@emnapi/runtime' - bufferutil - utf-8-validate - '@tanstack/devtools@0.15.0(csstype@3.2.3)(solid-js@1.9.15)': + '@tanstack/devtools@0.15.0(csstype@3.2.3)(solid-js@1.9.17)': dependencies: '@neodrag/core': 3.0.0-next.11 - '@neodrag/solid': 3.0.0-next.11(@neodrag/core@3.0.0-next.11)(solid-js@1.9.15) - '@solid-primitives/event-listener': 2.4.6(solid-js@1.9.15) - '@solid-primitives/keyboard': 1.3.7(solid-js@1.9.15) - '@solid-primitives/resize-observer': 2.2.0(solid-js@1.9.15) + '@neodrag/solid': 3.0.0-next.11(@neodrag/core@3.0.0-next.11)(solid-js@1.9.17) + '@solid-primitives/event-listener': 2.4.6(solid-js@1.9.17) + '@solid-primitives/keyboard': 1.3.7(solid-js@1.9.17) + '@solid-primitives/resize-observer': 2.2.0(solid-js@1.9.17) '@tanstack/devtools-client': 0.0.8 '@tanstack/devtools-event-bus': 0.4.3 - '@tanstack/devtools-ui': 0.7.1(csstype@3.2.3)(solid-js@1.9.15) + '@tanstack/devtools-ui': 0.7.1(csstype@3.2.3)(solid-js@1.9.17) clsx: 2.1.1 goober: 2.1.19(csstype@3.2.3) - solid-js: 1.9.15 + solid-js: 1.9.17 transitivePeerDependencies: - bufferutil - csstype - utf-8-validate - '@tanstack/eslint-config@0.4.0(@typescript-eslint/utils@8.71.0(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3)': - dependencies: - '@eslint/js': 10.0.1(eslint@10.11.0(jiti@2.7.0)) - '@stylistic/eslint-plugin': 5.10.0(eslint@10.11.0(jiti@2.7.0)) - eslint: 10.11.0(jiti@2.7.0) - eslint-plugin-import-x: 4.17.1(@typescript-eslint/utils@8.71.0(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.11.0(jiti@2.7.0)) - eslint-plugin-n: 17.24.0(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - globals: 17.12.0 - typescript-eslint: 8.71.0(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - vue-eslint-parser: 10.4.1(eslint@10.11.0(jiti@2.7.0)) - transitivePeerDependencies: - - '@typescript-eslint/utils' - - eslint-import-resolver-node - - supports-color - - typescript - '@tanstack/form-core@1.33.5': dependencies: '@tanstack/devtools-event-client': 0.4.4 @@ -13643,33 +13413,33 @@ snapshots: '@tanstack/history@1.162.4': {} - '@tanstack/match-sorter-utils@9.1.2': + '@tanstack/match-sorter-utils@9.2.6': dependencies: remove-accents: 0.5.0 '@tanstack/pacer-lite@0.1.1': {} - '@tanstack/query-core@5.104.0': {} + '@tanstack/query-core@5.104.1': {} - '@tanstack/query-devtools@5.104.0(csstype@3.2.3)': + '@tanstack/query-devtools@5.104.1(csstype@3.2.3)': dependencies: - '@kobalte/core': 0.13.14(solid-js@1.9.15) - '@solid-primitives/keyed': 1.5.3(solid-js@1.9.15) - '@solid-primitives/resize-observer': 2.2.0(solid-js@1.9.15) - '@solid-primitives/storage': 1.3.11(solid-js@1.9.15) - '@tanstack/match-sorter-utils': 9.1.2 - '@tanstack/query-core': 5.104.0 + '@kobalte/core': 0.13.14(solid-js@1.9.17) + '@solid-primitives/keyed': 1.5.3(solid-js@1.9.17) + '@solid-primitives/resize-observer': 2.2.0(solid-js@1.9.17) + '@solid-primitives/storage': 1.3.11(solid-js@1.9.17) + '@tanstack/match-sorter-utils': 9.2.6 + '@tanstack/query-core': 5.104.1 clsx: 2.1.1 goober: 2.1.19(csstype@3.2.3) - solid-js: 1.9.15 - solid-transition-group: 0.2.3(solid-js@1.9.15) + solid-js: 1.9.17 + solid-transition-group: 0.2.3(solid-js@1.9.17) superjson: 2.2.6 transitivePeerDependencies: - csstype - '@tanstack/react-devtools@0.10.13(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(csstype@3.2.3)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(solid-js@1.9.15)': + '@tanstack/react-devtools@0.10.13(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(csstype@3.2.3)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(solid-js@1.9.17)': dependencies: - '@tanstack/devtools': 0.15.0(csstype@3.2.3)(solid-js@1.9.15) + '@tanstack/devtools': 0.15.0(csstype@3.2.3)(solid-js@1.9.17) '@types/react': 19.3.0 '@types/react-dom': 19.3.0(@types/react@19.3.0) react: 19.3.0 @@ -13680,38 +13450,38 @@ snapshots: - solid-js - utf-8-validate - '@tanstack/react-form@1.33.5(@tanstack/react-start@1.168.60(crossws@0.4.12(srvx@1.0.5))(esbuild@0.27.7)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.12)(rollup@4.63.5)(vite@8.3.1(@types/node@26.6.3)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)))(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + '@tanstack/react-form@1.33.5(@tanstack/react-start@1.168.60(crossws@0.4.12(srvx@1.0.5))(esbuild@0.27.7)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.13)(rollup@4.63.5)(vite@8.3.3(@types/node@26.6.4)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)))(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': dependencies: '@tanstack/form-core': 1.33.5 '@tanstack/react-store': 0.11.2(react-dom@19.3.0(react@19.3.0))(react@19.3.0) react: 19.3.0 optionalDependencies: - '@tanstack/react-start': 1.168.60(crossws@0.4.12(srvx@1.0.5))(esbuild@0.27.7)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.12)(rollup@4.63.5)(vite@8.3.1(@types/node@26.6.3)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) + '@tanstack/react-start': 1.168.60(crossws@0.4.12(srvx@1.0.5))(esbuild@0.27.7)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.13)(rollup@4.63.5)(vite@8.3.3(@types/node@26.6.4)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) transitivePeerDependencies: - react-dom - '@tanstack/react-form@1.33.5(@tanstack/react-start@1.168.60(crossws@0.4.12(srvx@1.0.5))(esbuild@0.28.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.12)(rollup@4.63.5)(vite@8.3.1(@types/node@26.6.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)))(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + '@tanstack/react-form@1.33.5(@tanstack/react-start@1.168.60(crossws@0.4.12(srvx@1.0.5))(esbuild@0.28.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.13)(rollup@4.63.5)(vite@8.3.3(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)))(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': dependencies: '@tanstack/form-core': 1.33.5 '@tanstack/react-store': 0.11.2(react-dom@19.3.0(react@19.3.0))(react@19.3.0) react: 19.3.0 optionalDependencies: - '@tanstack/react-start': 1.168.60(crossws@0.4.12(srvx@1.0.5))(esbuild@0.28.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.12)(rollup@4.63.5)(vite@8.3.1(@types/node@26.6.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) + '@tanstack/react-start': 1.168.60(crossws@0.4.12(srvx@1.0.5))(esbuild@0.28.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.13)(rollup@4.63.5)(vite@8.3.3(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) transitivePeerDependencies: - react-dom - '@tanstack/react-query-devtools@5.104.0(@tanstack/react-query@5.104.0(react@19.3.0))(@types/react@19.3.0)(csstype@3.2.3)(react@19.3.0)': + '@tanstack/react-query-devtools@5.104.1(@tanstack/react-query@5.104.1(react@19.3.0))(@types/react@19.3.0)(csstype@3.2.3)(react@19.3.0)': dependencies: - '@tanstack/query-devtools': 5.104.0(csstype@3.2.3) - '@tanstack/react-query': 5.104.0(react@19.3.0) + '@tanstack/query-devtools': 5.104.1(csstype@3.2.3) + '@tanstack/react-query': 5.104.1(react@19.3.0) '@types/react': 19.3.0 react: 19.3.0 transitivePeerDependencies: - csstype - '@tanstack/react-query@5.104.0(react@19.3.0)': + '@tanstack/react-query@5.104.1(react@19.3.0)': dependencies: - '@tanstack/query-core': 5.104.0 + '@tanstack/query-core': 5.104.1 react: 19.3.0 '@tanstack/react-router-devtools@1.167.2(@tanstack/react-router@1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(@tanstack/router-core@1.171.34)(csstype@3.2.3)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': @@ -13725,12 +13495,12 @@ snapshots: transitivePeerDependencies: - csstype - '@tanstack/react-router-ssr-query@1.167.3(@tanstack/query-core@5.104.0)(@tanstack/react-query@5.104.0(react@19.3.0))(@tanstack/react-router@1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(@tanstack/router-core@1.171.34)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': + '@tanstack/react-router-ssr-query@1.167.3(@tanstack/query-core@5.104.1)(@tanstack/react-query@5.104.1(react@19.3.0))(@tanstack/react-router@1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(@tanstack/router-core@1.171.34)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)': dependencies: - '@tanstack/query-core': 5.104.0 - '@tanstack/react-query': 5.104.0(react@19.3.0) + '@tanstack/query-core': 5.104.1 + '@tanstack/react-query': 5.104.1(react@19.3.0) '@tanstack/react-router': 1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0) - '@tanstack/router-ssr-query-core': 1.169.3(@tanstack/query-core@5.104.0)(@tanstack/router-core@1.171.34) + '@tanstack/router-ssr-query-core': 1.169.3(@tanstack/query-core@5.104.1)(@tanstack/router-core@1.171.34) react: 19.3.0 react-dom: 19.3.0(react@19.3.0) transitivePeerDependencies: @@ -13753,14 +13523,14 @@ snapshots: react: 19.3.0 react-dom: 19.3.0(react@19.3.0) - '@tanstack/react-start-rsc@0.1.59(crossws@0.4.12(srvx@1.0.5))(esbuild@0.27.7)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.12)(rollup@4.63.5)(vite@8.3.1(@types/node@26.6.3)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1))': + '@tanstack/react-start-rsc@0.1.59(crossws@0.4.12(srvx@1.0.5))(esbuild@0.27.7)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.13)(rollup@4.63.5)(vite@8.3.3(@types/node@26.6.4)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1))': dependencies: '@tanstack/react-router': 1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@tanstack/router-core': 1.171.34 '@tanstack/router-utils': 1.162.3 '@tanstack/start-client-core': 1.170.34 '@tanstack/start-fn-stubs': 1.162.0 - '@tanstack/start-plugin-core': 1.171.49(@tanstack/react-router@1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(crossws@0.4.12(srvx@1.0.5))(esbuild@0.27.7)(rolldown@1.2.12)(rollup@4.63.5)(vite@8.3.1(@types/node@26.6.3)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) + '@tanstack/start-plugin-core': 1.171.49(@tanstack/react-router@1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(crossws@0.4.12(srvx@1.0.5))(esbuild@0.27.7)(rolldown@1.2.13)(rollup@4.63.5)(vite@8.3.3(@types/node@26.6.4)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) '@tanstack/start-storage-context': 1.167.36 pathe: 2.0.3 react: 19.3.0 @@ -13779,14 +13549,14 @@ snapshots: - vite-plugin-solid - webpack - '@tanstack/react-start-rsc@0.1.59(crossws@0.4.12(srvx@1.0.5))(esbuild@0.28.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.12)(rollup@4.63.5)(vite@8.3.1(@types/node@26.6.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1))': + '@tanstack/react-start-rsc@0.1.59(crossws@0.4.12(srvx@1.0.5))(esbuild@0.28.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.13)(rollup@4.63.5)(vite@8.3.3(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1))': dependencies: '@tanstack/react-router': 1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@tanstack/router-core': 1.171.34 '@tanstack/router-utils': 1.162.3 '@tanstack/start-client-core': 1.170.34 '@tanstack/start-fn-stubs': 1.162.0 - '@tanstack/start-plugin-core': 1.171.49(@tanstack/react-router@1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(crossws@0.4.12(srvx@1.0.5))(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.63.5)(vite@8.3.1(@types/node@26.6.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) + '@tanstack/start-plugin-core': 1.171.49(@tanstack/react-router@1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(crossws@0.4.12(srvx@1.0.5))(esbuild@0.28.2)(rolldown@1.2.13)(rollup@4.63.5)(vite@8.3.3(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) '@tanstack/start-storage-context': 1.167.36 pathe: 2.0.3 react: 19.3.0 @@ -13815,21 +13585,21 @@ snapshots: transitivePeerDependencies: - crossws - '@tanstack/react-start@1.168.60(crossws@0.4.12(srvx@1.0.5))(esbuild@0.27.7)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.12)(rollup@4.63.5)(vite@8.3.1(@types/node@26.6.3)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1))': + '@tanstack/react-start@1.168.60(crossws@0.4.12(srvx@1.0.5))(esbuild@0.27.7)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.13)(rollup@4.63.5)(vite@8.3.3(@types/node@26.6.4)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1))': dependencies: '@tanstack/react-router': 1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@tanstack/react-start-client': 1.168.39(react-dom@19.3.0(react@19.3.0))(react@19.3.0) - '@tanstack/react-start-rsc': 0.1.59(crossws@0.4.12(srvx@1.0.5))(esbuild@0.27.7)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.12)(rollup@4.63.5)(vite@8.3.1(@types/node@26.6.3)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) + '@tanstack/react-start-rsc': 0.1.59(crossws@0.4.12(srvx@1.0.5))(esbuild@0.27.7)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.13)(rollup@4.63.5)(vite@8.3.3(@types/node@26.6.4)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) '@tanstack/react-start-server': 1.167.46(crossws@0.4.12(srvx@1.0.5))(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@tanstack/router-utils': 1.162.3 '@tanstack/start-client-core': 1.170.34 - '@tanstack/start-plugin-core': 1.171.49(@tanstack/react-router@1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(crossws@0.4.12(srvx@1.0.5))(esbuild@0.27.7)(rolldown@1.2.12)(rollup@4.63.5)(vite@8.3.1(@types/node@26.6.3)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) + '@tanstack/start-plugin-core': 1.171.49(@tanstack/react-router@1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(crossws@0.4.12(srvx@1.0.5))(esbuild@0.27.7)(rolldown@1.2.13)(rollup@4.63.5)(vite@8.3.3(@types/node@26.6.4)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) '@tanstack/start-server-core': 1.169.39(crossws@0.4.12(srvx@1.0.5)) pathe: 2.0.3 react: 19.3.0 react-dom: 19.3.0(react@19.3.0) optionalDependencies: - vite: 8.3.1(@types/node@26.6.3)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) + vite: 8.3.3(@types/node@26.6.4)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) transitivePeerDependencies: - '@farmfe/core' - '@rspack/core' @@ -13844,21 +13614,21 @@ snapshots: - vite-plugin-solid - webpack - '@tanstack/react-start@1.168.60(crossws@0.4.12(srvx@1.0.5))(esbuild@0.28.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.12)(rollup@4.63.5)(vite@8.3.1(@types/node@26.6.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1))': + '@tanstack/react-start@1.168.60(crossws@0.4.12(srvx@1.0.5))(esbuild@0.28.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.13)(rollup@4.63.5)(vite@8.3.3(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1))': dependencies: '@tanstack/react-router': 1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@tanstack/react-start-client': 1.168.39(react-dom@19.3.0(react@19.3.0))(react@19.3.0) - '@tanstack/react-start-rsc': 0.1.59(crossws@0.4.12(srvx@1.0.5))(esbuild@0.28.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.12)(rollup@4.63.5)(vite@8.3.1(@types/node@26.6.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) + '@tanstack/react-start-rsc': 0.1.59(crossws@0.4.12(srvx@1.0.5))(esbuild@0.28.2)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.13)(rollup@4.63.5)(vite@8.3.3(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) '@tanstack/react-start-server': 1.167.46(crossws@0.4.12(srvx@1.0.5))(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@tanstack/router-utils': 1.162.3 '@tanstack/start-client-core': 1.170.34 - '@tanstack/start-plugin-core': 1.171.49(@tanstack/react-router@1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(crossws@0.4.12(srvx@1.0.5))(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.63.5)(vite@8.3.1(@types/node@26.6.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) + '@tanstack/start-plugin-core': 1.171.49(@tanstack/react-router@1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(crossws@0.4.12(srvx@1.0.5))(esbuild@0.28.2)(rolldown@1.2.13)(rollup@4.63.5)(vite@8.3.3(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) '@tanstack/start-server-core': 1.169.39(crossws@0.4.12(srvx@1.0.5)) pathe: 2.0.3 react: 19.3.0 react-dom: 19.3.0(react@19.3.0) optionalDependencies: - vite: 8.3.1(@types/node@26.6.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) + vite: 8.3.3(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) transitivePeerDependencies: - '@farmfe/core' - '@rspack/core' @@ -13922,7 +13692,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@tanstack/router-plugin@1.168.42(@tanstack/react-router@1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.27.7)(rolldown@1.2.12)(rollup@4.63.5)(vite@8.3.1(@types/node@26.6.3)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1))': + '@tanstack/router-plugin@1.168.42(@tanstack/react-router@1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.27.7)(rolldown@1.2.13)(rollup@4.63.5)(vite@8.3.3(@types/node@26.6.4)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1))': dependencies: '@babel/core': 7.29.7 '@babel/template': 7.29.7 @@ -13931,11 +13701,11 @@ snapshots: '@tanstack/router-generator': 1.167.40 '@tanstack/router-utils': 1.162.3 chokidar: 5.0.0 - unplugin: 3.4.0(esbuild@0.27.7)(rolldown@1.2.12)(rollup@4.63.5)(vite@8.3.1(@types/node@26.6.3)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) + unplugin: 3.4.0(esbuild@0.27.7)(rolldown@1.2.13)(rollup@4.63.5)(vite@8.3.3(@types/node@26.6.4)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) zod: 4.6.5 optionalDependencies: '@tanstack/react-router': 1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0) - vite: 8.3.1(@types/node@26.6.3)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) + vite: 8.3.3(@types/node@26.6.4)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) transitivePeerDependencies: - '@farmfe/core' - '@rspack/core' @@ -13946,7 +13716,7 @@ snapshots: - supports-color - unloader - '@tanstack/router-plugin@1.168.42(@tanstack/react-router@1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.63.5)(vite@8.3.1(@types/node@26.6.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1))': + '@tanstack/router-plugin@1.168.42(@tanstack/react-router@1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(rolldown@1.2.13)(rollup@4.63.5)(vite@8.3.3(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1))': dependencies: '@babel/core': 7.29.7 '@babel/template': 7.29.7 @@ -13955,11 +13725,11 @@ snapshots: '@tanstack/router-generator': 1.167.40 '@tanstack/router-utils': 1.162.3 chokidar: 5.0.0 - unplugin: 3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.63.5)(vite@8.3.1(@types/node@26.6.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) + unplugin: 3.4.0(esbuild@0.28.2)(rolldown@1.2.13)(rollup@4.63.5)(vite@8.3.3(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) zod: 4.6.5 optionalDependencies: '@tanstack/react-router': 1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0) - vite: 8.3.1(@types/node@26.6.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) + vite: 8.3.3(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) transitivePeerDependencies: - '@farmfe/core' - '@rspack/core' @@ -13970,15 +13740,15 @@ snapshots: - supports-color - unloader - '@tanstack/router-ssr-query-core@1.169.3(@tanstack/query-core@5.104.0)(@tanstack/router-core@1.171.34)': + '@tanstack/router-ssr-query-core@1.169.3(@tanstack/query-core@5.104.1)(@tanstack/router-core@1.171.34)': dependencies: - '@tanstack/query-core': 5.104.0 + '@tanstack/query-core': 5.104.1 '@tanstack/router-core': 1.171.34 '@tanstack/router-utils@1.162.3': dependencies: '@babel/generator': 7.29.8 - '@babel/parser': 7.29.8 + '@babel/parser': 7.29.9 '@babel/types': 7.29.8 ansis: 4.4.0 babel-dead-code-elimination: 1.0.12 @@ -13997,7 +13767,7 @@ snapshots: '@tanstack/start-fn-stubs@1.162.0': {} - '@tanstack/start-plugin-core@1.171.49(@tanstack/react-router@1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(crossws@0.4.12(srvx@1.0.5))(esbuild@0.27.7)(rolldown@1.2.12)(rollup@4.63.5)(vite@8.3.1(@types/node@26.6.3)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1))': + '@tanstack/start-plugin-core@1.171.49(@tanstack/react-router@1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(crossws@0.4.12(srvx@1.0.5))(esbuild@0.27.7)(rolldown@1.2.13)(rollup@4.63.5)(vite@8.3.3(@types/node@26.6.4)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1))': dependencies: '@babel/code-frame': 7.29.7 '@babel/core': 7.29.7 @@ -14005,7 +13775,7 @@ snapshots: '@jridgewell/remapping': 2.3.5 '@tanstack/router-core': 1.171.34 '@tanstack/router-generator': 1.167.40 - '@tanstack/router-plugin': 1.168.42(@tanstack/react-router@1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.27.7)(rolldown@1.2.12)(rollup@4.63.5)(vite@8.3.1(@types/node@26.6.3)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) + '@tanstack/router-plugin': 1.168.42(@tanstack/react-router@1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.27.7)(rolldown@1.2.13)(rollup@4.63.5)(vite@8.3.3(@types/node@26.6.4)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) '@tanstack/router-utils': 1.162.3 '@tanstack/start-server-core': 1.169.39(crossws@0.4.12(srvx@1.0.5)) exsolve: 1.1.1 @@ -14017,11 +13787,11 @@ snapshots: srvx: 0.11.22 tinyglobby: 0.2.17 ufo: 1.6.4 - vitefu: 1.1.3(vite@8.3.1(@types/node@26.6.3)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) + vitefu: 1.1.3(vite@8.3.3(@types/node@26.6.4)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) xmlbuilder2: 4.0.3 zod: 4.6.5 optionalDependencies: - vite: 8.3.1(@types/node@26.6.3)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) + vite: 8.3.3(@types/node@26.6.4)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) transitivePeerDependencies: - '@farmfe/core' - '@rspack/core' @@ -14036,7 +13806,7 @@ snapshots: - vite-plugin-solid - webpack - '@tanstack/start-plugin-core@1.171.49(@tanstack/react-router@1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(crossws@0.4.12(srvx@1.0.5))(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.63.5)(vite@8.3.1(@types/node@26.6.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1))': + '@tanstack/start-plugin-core@1.171.49(@tanstack/react-router@1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(crossws@0.4.12(srvx@1.0.5))(esbuild@0.28.2)(rolldown@1.2.13)(rollup@4.63.5)(vite@8.3.3(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1))': dependencies: '@babel/code-frame': 7.29.7 '@babel/core': 7.29.7 @@ -14044,7 +13814,7 @@ snapshots: '@jridgewell/remapping': 2.3.5 '@tanstack/router-core': 1.171.34 '@tanstack/router-generator': 1.167.40 - '@tanstack/router-plugin': 1.168.42(@tanstack/react-router@1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.63.5)(vite@8.3.1(@types/node@26.6.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) + '@tanstack/router-plugin': 1.168.42(@tanstack/react-router@1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(esbuild@0.28.2)(rolldown@1.2.13)(rollup@4.63.5)(vite@8.3.3(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) '@tanstack/router-utils': 1.162.3 '@tanstack/start-server-core': 1.169.39(crossws@0.4.12(srvx@1.0.5)) exsolve: 1.1.1 @@ -14056,11 +13826,11 @@ snapshots: srvx: 0.11.22 tinyglobby: 0.2.17 ufo: 1.6.4 - vitefu: 1.1.3(vite@8.3.1(@types/node@26.6.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) + vitefu: 1.1.3(vite@8.3.3(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) xmlbuilder2: 4.0.3 zod: 4.6.5 optionalDependencies: - vite: 8.3.1(@types/node@26.6.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) + vite: 8.3.3(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) transitivePeerDependencies: - '@farmfe/core' - '@rspack/core' @@ -14383,22 +14153,22 @@ snapshots: minimatch: 10.2.6 path-browserify: 1.0.1 - '@turbo/darwin-64@2.11.5': + '@turbo/darwin-64@2.11.7': optional: true - '@turbo/darwin-arm64@2.11.5': + '@turbo/darwin-arm64@2.11.7': optional: true - '@turbo/linux-64@2.11.5': + '@turbo/linux-64@2.11.7': optional: true - '@turbo/linux-arm64@2.11.5': + '@turbo/linux-arm64@2.11.7': optional: true - '@turbo/windows-64@2.11.5': + '@turbo/windows-64@2.11.7': optional: true - '@turbo/windows-arm64@2.11.5': + '@turbo/windows-arm64@2.11.7': optional: true '@tybys/wasm-util@0.10.4': @@ -14415,7 +14185,7 @@ snapshots: '@types/cors@2.8.19': dependencies: - '@types/node': 26.6.3 + '@types/node': 26.6.4 '@types/d3-force@3.0.10': {} @@ -14473,22 +14243,22 @@ snapshots: '@types/ms@2.1.0': {} - '@types/node@25.9.8': + '@types/node@25.9.9': dependencies: undici-types: 7.24.6 optional: true - '@types/node@26.6.3': + '@types/node@26.6.4': dependencies: undici-types: 8.9.0 '@types/nodemailer@8.0.2': dependencies: - '@types/node': 26.6.3 + '@types/node': 26.6.4 '@types/prompts@2.4.9': dependencies: - '@types/node': 26.6.3 + '@types/node': 26.6.4 kleur: 3.0.3 '@types/react-dom@19.3.0(@types/react@19.3.0)': @@ -14513,40 +14283,21 @@ snapshots: '@types/ws@8.18.2': dependencies: - '@types/node': 26.6.3 - - '@typescript-eslint/eslint-plugin@8.71.0(@typescript-eslint/parser@8.71.0(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3)': - dependencies: - '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 8.71.0(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - '@typescript-eslint/scope-manager': 8.71.0 - '@typescript-eslint/type-utils': 8.71.0(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - '@typescript-eslint/utils': 8.71.0(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - '@typescript-eslint/visitor-keys': 8.71.0 - eslint: 10.11.0(jiti@2.7.0) - ignore: 7.0.11 - natural-compare: 1.4.0 - ts-api-utils: 2.5.0(typescript@6.0.3) - typescript: 6.0.3 - transitivePeerDependencies: - - supports-color + '@types/node': 26.6.4 - '@typescript-eslint/parser@8.71.0(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3)': + '@typescript-eslint/project-service@8.71.0(typescript@6.0.3)': dependencies: - '@typescript-eslint/scope-manager': 8.71.0 + '@typescript-eslint/tsconfig-utils': 8.71.0(typescript@6.0.3) '@typescript-eslint/types': 8.71.0 - '@typescript-eslint/typescript-estree': 8.71.0(typescript@6.0.3) - '@typescript-eslint/visitor-keys': 8.71.0 debug: 4.4.3 - eslint: 10.11.0(jiti@2.7.0) typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.71.0(typescript@6.0.3)': + '@typescript-eslint/project-service@8.71.1(typescript@6.0.3)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.71.0(typescript@6.0.3) - '@typescript-eslint/types': 8.71.0 + '@typescript-eslint/tsconfig-utils': 8.71.1(typescript@6.0.3) + '@typescript-eslint/types': 8.71.1 debug: 4.4.3 typescript: 6.0.3 transitivePeerDependencies: @@ -14557,24 +14308,23 @@ snapshots: '@typescript-eslint/types': 8.71.0 '@typescript-eslint/visitor-keys': 8.71.0 + '@typescript-eslint/scope-manager@8.71.1': + dependencies: + '@typescript-eslint/types': 8.71.1 + '@typescript-eslint/visitor-keys': 8.71.1 + '@typescript-eslint/tsconfig-utils@8.71.0(typescript@6.0.3)': dependencies: typescript: 6.0.3 - '@typescript-eslint/type-utils@8.71.0(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3)': + '@typescript-eslint/tsconfig-utils@8.71.1(typescript@6.0.3)': dependencies: - '@typescript-eslint/types': 8.71.0 - '@typescript-eslint/typescript-estree': 8.71.0(typescript@6.0.3) - '@typescript-eslint/utils': 8.71.0(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - debug: 4.4.3 - eslint: 10.11.0(jiti@2.7.0) - ts-api-utils: 2.5.0(typescript@6.0.3) typescript: 6.0.3 - transitivePeerDependencies: - - supports-color '@typescript-eslint/types@8.71.0': {} + '@typescript-eslint/types@8.71.1': {} + '@typescript-eslint/typescript-estree@8.71.0(typescript@6.0.3)': dependencies: '@typescript-eslint/project-service': 8.71.0(typescript@6.0.3) @@ -14590,12 +14340,38 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/typescript-estree@8.71.1(typescript@6.0.3)': + dependencies: + '@typescript-eslint/project-service': 8.71.1(typescript@6.0.3) + '@typescript-eslint/tsconfig-utils': 8.71.1(typescript@6.0.3) + '@typescript-eslint/types': 8.71.1 + '@typescript-eslint/visitor-keys': 8.71.1 + debug: 4.4.3 + minimatch: 10.2.6 + semver: 7.8.5 + tinyglobby: 0.2.17 + ts-api-utils: 2.5.0(typescript@6.0.3) + typescript: 6.0.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/utils@8.71.0(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3)': dependencies: '@eslint-community/eslint-utils': 4.10.1(eslint@10.11.0(jiti@2.7.0)) - '@typescript-eslint/scope-manager': 8.71.0 - '@typescript-eslint/types': 8.71.0 - '@typescript-eslint/typescript-estree': 8.71.0(typescript@6.0.3) + '@typescript-eslint/scope-manager': 8.71.0 + '@typescript-eslint/types': 8.71.0 + '@typescript-eslint/typescript-estree': 8.71.0(typescript@6.0.3) + eslint: 10.11.0(jiti@2.7.0) + typescript: 6.0.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@8.71.1(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3)': + dependencies: + '@eslint-community/eslint-utils': 4.10.1(eslint@10.11.0(jiti@2.7.0)) + '@typescript-eslint/scope-manager': 8.71.1 + '@typescript-eslint/types': 8.71.1 + '@typescript-eslint/typescript-estree': 8.71.1(typescript@6.0.3) eslint: 10.11.0(jiti@2.7.0) typescript: 6.0.3 transitivePeerDependencies: @@ -14606,91 +14382,26 @@ snapshots: '@typescript-eslint/types': 8.71.0 eslint-visitor-keys: 5.0.1 - '@ungap/structured-clone@1.4.0': {} - - '@unrs/resolver-binding-android-arm-eabi@1.12.2': - optional: true - - '@unrs/resolver-binding-android-arm64@1.12.2': - optional: true - - '@unrs/resolver-binding-darwin-arm64@1.12.2': - optional: true - - '@unrs/resolver-binding-darwin-x64@1.12.2': - optional: true - - '@unrs/resolver-binding-freebsd-x64@1.12.2': - optional: true - - '@unrs/resolver-binding-linux-arm-gnueabihf@1.12.2': - optional: true - - '@unrs/resolver-binding-linux-arm-musleabihf@1.12.2': - optional: true - - '@unrs/resolver-binding-linux-arm64-gnu@1.12.2': - optional: true - - '@unrs/resolver-binding-linux-arm64-musl@1.12.2': - optional: true - - '@unrs/resolver-binding-linux-loong64-gnu@1.12.2': - optional: true - - '@unrs/resolver-binding-linux-loong64-musl@1.12.2': - optional: true - - '@unrs/resolver-binding-linux-ppc64-gnu@1.12.2': - optional: true - - '@unrs/resolver-binding-linux-riscv64-gnu@1.12.2': - optional: true - - '@unrs/resolver-binding-linux-riscv64-musl@1.12.2': - optional: true - - '@unrs/resolver-binding-linux-s390x-gnu@1.12.2': - optional: true - - '@unrs/resolver-binding-linux-x64-gnu@1.12.2': - optional: true - - '@unrs/resolver-binding-linux-x64-musl@1.12.2': - optional: true - - '@unrs/resolver-binding-openharmony-arm64@1.12.2': - optional: true - - '@unrs/resolver-binding-wasm32-wasi@1.12.2': + '@typescript-eslint/visitor-keys@8.71.1': dependencies: - '@emnapi/core': 1.10.0 - '@emnapi/runtime': 1.10.0 - '@napi-rs/wasm-runtime': 1.2.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) - optional: true - - '@unrs/resolver-binding-win32-arm64-msvc@1.12.2': - optional: true - - '@unrs/resolver-binding-win32-ia32-msvc@1.12.2': - optional: true + '@typescript-eslint/types': 8.71.1 + eslint-visitor-keys: 5.0.1 - '@unrs/resolver-binding-win32-x64-msvc@1.12.2': - optional: true + '@ungap/structured-clone@1.4.0': {} '@vercel/oidc@3.2.0': {} - '@vitejs/plugin-react@6.1.1(babel-plugin-react-compiler@1.0.0)(vite@8.3.1(@types/node@26.6.3)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1))': + '@vitejs/plugin-react@6.1.2(babel-plugin-react-compiler@1.0.0)(vite@8.3.3(@types/node@26.6.4)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1))': dependencies: '@rolldown/pluginutils': 1.0.1 - vite: 8.3.1(@types/node@26.6.3)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) + vite: 8.3.3(@types/node@26.6.4)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) optionalDependencies: babel-plugin-react-compiler: 1.0.0 - '@vitejs/plugin-react@6.1.1(babel-plugin-react-compiler@1.0.0)(vite@8.3.1(@types/node@26.6.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1))': + '@vitejs/plugin-react@6.1.2(babel-plugin-react-compiler@1.0.0)(vite@8.3.3(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1))': dependencies: '@rolldown/pluginutils': 1.0.1 - vite: 8.3.1(@types/node@26.6.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) + vite: 8.3.3(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) optionalDependencies: babel-plugin-react-compiler: 1.0.0 @@ -14704,7 +14415,7 @@ snapshots: obug: 2.2.1 std-env: 4.3.0 tinyrainbow: 3.2.0 - vitest: 5.0.3(@opentelemetry/api@1.9.1)(@types/node@26.6.3)(@vitest/coverage-v8@5.0.3)(jsdom@30.1.1)(vite@8.3.1(@types/node@26.6.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) + vitest: 5.0.3(@opentelemetry/api@1.9.1)(@types/node@26.6.4)(@vitest/coverage-v8@5.0.3)(jsdom@30.1.2)(vite@8.3.3(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) '@vitest/istanbul-lib-coverage@1.0.2': {} @@ -14712,23 +14423,23 @@ snapshots: dependencies: '@vitest/istanbul-lib-coverage': 1.0.2 - '@vitest/mocker@5.0.3(vite@8.3.1(@types/node@26.6.3)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1))': + '@vitest/mocker@5.0.3(vite@8.3.3(@types/node@26.6.4)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1))': dependencies: '@jridgewell/trace-mapping': 0.3.31 '@vitest/spy': 5.0.3 estree-walker: 3.0.3 magic-string: 1.4.2 optionalDependencies: - vite: 8.3.1(@types/node@26.6.3)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) + vite: 8.3.3(@types/node@26.6.4)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) - '@vitest/mocker@5.0.3(vite@8.3.1(@types/node@26.6.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1))': + '@vitest/mocker@5.0.3(vite@8.3.3(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1))': dependencies: '@jridgewell/trace-mapping': 0.3.31 '@vitest/spy': 5.0.3 estree-walker: 3.0.3 magic-string: 1.4.2 optionalDependencies: - vite: 8.3.1(@types/node@26.6.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) + vite: 8.3.3(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) '@vitest/spy@5.0.3': {} @@ -14875,12 +14586,14 @@ snapshots: mime-types: 3.0.2 negotiator: 1.1.0 - acorn-jsx@5.3.2(acorn@8.18.0): + acorn-jsx@5.3.2(acorn@8.19.0): dependencies: - acorn: 8.18.0 + acorn: 8.19.0 acorn@8.18.0: {} + acorn@8.19.0: {} + agent-install@0.0.5: dependencies: '@iarna/toml': 2.2.5 @@ -14899,11 +14612,11 @@ snapshots: prompts: 2.4.2 yaml: 2.9.1 - ai@7.0.124(zod@4.6.5): + ai@7.0.131(zod@4.6.5): dependencies: - '@ai-sdk/gateway': 4.0.102(zod@4.6.5) - '@ai-sdk/provider': 4.0.21 - '@ai-sdk/provider-utils': 5.0.53(zod@4.6.5) + '@ai-sdk/gateway': 4.0.107(zod@4.6.5) + '@ai-sdk/provider': 4.0.24 + '@ai-sdk/provider-utils': 5.0.56(zod@4.6.5) zod: 4.6.5 ajv-formats@2.1.1(ajv@8.20.0): @@ -14951,7 +14664,7 @@ snapshots: apache-arrow@21.2.0: dependencies: - '@types/node': 25.9.8 + '@types/node': 25.9.9 flatbuffers: 25.9.23 json-with-bigint: 3.5.12 tslib: 2.8.1 @@ -14967,50 +14680,8 @@ snapshots: dependencies: dequal: 2.0.3 - aria-query@5.3.2: {} - - array-buffer-byte-length@1.0.2: - dependencies: - call-bound: 1.0.4 - is-array-buffer: 3.0.5 - - array-includes@3.2.0: - dependencies: - call-bind: 1.0.9 - call-bound: 1.0.4 - define-properties: 1.2.1 - es-abstract: 1.24.2 - es-object-atoms: 1.1.2 - es-shim-unscopables: 1.1.0 - is-string: 1.1.1 - math-intrinsics: 1.1.0 - array-union@2.1.0: {} - array.prototype.flat@1.3.3: - dependencies: - call-bind: 1.0.9 - define-properties: 1.2.1 - es-abstract: 1.24.2 - es-shim-unscopables: 1.1.0 - - array.prototype.flatmap@1.3.3: - dependencies: - call-bind: 1.0.9 - define-properties: 1.2.1 - es-abstract: 1.24.2 - es-shim-unscopables: 1.1.0 - - arraybuffer.prototype.slice@1.0.4: - dependencies: - array-buffer-byte-length: 1.0.2 - call-bind: 1.0.9 - define-properties: 1.2.1 - es-abstract: 1.24.2 - es-errors: 1.3.0 - get-intrinsic: 1.3.0 - is-array-buffer: 3.0.5 - asn1js@3.0.10: dependencies: pvtsutils: 1.3.6 @@ -15019,8 +14690,6 @@ snapshots: assertion-error@2.0.1: {} - ast-types-flow@0.0.8: {} - ast-types@0.16.3: dependencies: tslib: 2.8.1 @@ -15033,8 +14702,6 @@ snapshots: astring@1.9.0: {} - async-function@1.0.0: {} - atomically@1.7.0: {} atomically@2.1.1: @@ -15042,20 +14709,12 @@ snapshots: stubborn-fs: 2.0.0 when-exit: 2.1.5 - available-typed-arrays@1.0.7: - dependencies: - possible-typed-array-names: 1.1.0 - - axe-core@4.13.0: {} - - axobject-query@4.1.0: {} - b4a@1.9.0: {} babel-dead-code-elimination@1.0.12: dependencies: '@babel/core': 7.29.7 - '@babel/parser': 7.29.8 + '@babel/parser': 7.29.9 '@babel/traverse': 7.29.8 '@babel/types': 7.29.8 transitivePeerDependencies: @@ -15076,7 +14735,7 @@ snapshots: base64-js@1.5.1: {} - baseline-browser-mapping@2.11.26: {} + baseline-browser-mapping@2.11.27: {} bidi-js@1.1.0: dependencies: @@ -15119,11 +14778,6 @@ snapshots: bowser@2.14.1: {} - brace-expansion@1.1.21: - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 - brace-expansion@2.1.7: dependencies: balanced-match: 1.0.2 @@ -15138,11 +14792,11 @@ snapshots: browserslist@4.29.3: dependencies: - baseline-browser-mapping: 2.11.26 - caniuse-lite: 1.0.30001814 - electron-to-chromium: 1.5.443 + baseline-browser-mapping: 2.11.27 + caniuse-lite: 1.0.30001815 + electron-to-chromium: 1.5.450 node-releases: 2.0.57 - update-browserslist-db: 1.3.3(browserslist@4.29.3) + update-browserslist-db: 1.3.4(browserslist@4.29.3) buffer@5.7.1: dependencies: @@ -15189,21 +14843,12 @@ snapshots: es-errors: 1.3.0 function-bind: 1.1.2 - call-bind@1.0.9: - dependencies: - call-bind-apply-helpers: 1.0.2 - es-define-property: 1.0.1 - get-intrinsic: 1.3.0 - set-function-length: 1.2.2 - call-bound@1.0.4: dependencies: call-bind-apply-helpers: 1.0.2 get-intrinsic: 1.3.0 - callsites@3.1.0: {} - - caniuse-lite@1.0.30001814: {} + caniuse-lite@1.0.30001815: {} ccount@2.0.1: {} @@ -15245,7 +14890,7 @@ snapshots: citty@0.2.2: {} - cjs-module-lexer@2.2.1: {} + cjs-module-lexer@2.3.0: {} class-variance-authority@0.7.1: dependencies: @@ -15285,10 +14930,6 @@ snapshots: cn@0.2.6: {} - cn@0.3.2: {} - - cn@0.3.3: {} - cn@0.4.0: {} code-block-writer@13.0.3: {} @@ -15319,14 +14960,10 @@ snapshots: commander@9.5.0: {} - comment-parser@1.4.9: {} - compare-versions@6.1.1: {} compute-scroll-into-view@3.1.1: {} - concat-map@0.0.1: {} - conf@10.2.0: dependencies: ajv: 8.20.0 @@ -15383,15 +15020,6 @@ snapshots: object-assign: 4.1.1 vary: 1.1.2 - cosmiconfig@9.0.2(typescript@6.0.3): - dependencies: - env-paths: 2.2.1 - import-fresh: 3.3.1 - js-yaml: 4.3.2 - parse-json: 5.2.0 - optionalDependencies: - typescript: 6.0.3 - cron-parser@5.10.1: dependencies: luxon: 3.7.2 @@ -15526,33 +15154,13 @@ snapshots: d3-selection: 3.0.0 d3-transition: 3.0.1(d3-selection@3.0.0) - damerau-levenshtein@1.0.8: {} - - data-urls@7.0.0: + data-urls@8.0.0: dependencies: whatwg-mimetype: 5.0.0 - whatwg-url: 16.0.1 + whatwg-url: 17.2.0 transitivePeerDependencies: - '@noble/hashes' - data-view-buffer@1.0.2: - dependencies: - call-bound: 1.0.4 - es-errors: 1.3.0 - is-data-view: 1.0.2 - - data-view-byte-length@1.0.2: - dependencies: - call-bound: 1.0.4 - es-errors: 1.3.0 - is-data-view: 1.0.2 - - data-view-byte-offset@1.0.1: - dependencies: - call-bound: 1.0.4 - es-errors: 1.3.0 - is-data-view: 1.0.2 - date-fns@4.4.0: {} dayjs@1.11.23: {} @@ -15596,22 +15204,10 @@ snapshots: bundle-name: 4.1.1 default-browser-id: 5.0.1 - define-data-property@1.1.4: - dependencies: - es-define-property: 1.0.1 - es-errors: 1.3.0 - gopd: 1.2.0 - define-lazy-prop@2.0.0: {} define-lazy-prop@3.0.0: {} - define-properties@1.2.1: - dependencies: - define-data-property: 1.1.4 - has-property-descriptors: 1.0.2 - object-keys: 1.1.1 - delaunator@5.1.0: dependencies: robust-predicates: 3.0.3 @@ -15682,7 +15278,7 @@ snapshots: dotenv@17.4.2: {} - dotenv@18.0.5: {} + dotenv@18.0.6: {} drizzle-kit@1.0.0-rc.4: dependencies: @@ -15706,7 +15302,7 @@ snapshots: ee-first@1.1.1: {} - electron-to-chromium@1.5.443: {} + electron-to-chromium@1.5.450: {} embla-carousel-react@8.6.0(react@19.3.0): dependencies: @@ -15724,8 +15320,6 @@ snapshots: emoji-regex@8.0.0: {} - emoji-regex@9.2.2: {} - emojibase-data@17.0.0(emojibase@17.0.0): dependencies: emojibase: 17.0.0 @@ -15741,7 +15335,7 @@ snapshots: engine.io@6.6.11: dependencies: '@types/cors': 2.8.19 - '@types/node': 26.6.3 + '@types/node': 26.6.4 '@types/ws': 8.18.2 accepts: 1.3.8 cookie: 0.7.2 @@ -15781,106 +15375,18 @@ snapshots: httpxy: 0.5.5 srvx: 1.0.5 - error-ex@1.3.4: - dependencies: - is-arrayish: 0.2.1 - - es-abstract-get@1.0.0: - dependencies: - es-errors: 1.3.0 - es-object-atoms: 1.1.2 - is-callable: 1.2.7 - object-inspect: 1.13.4 - - es-abstract@1.24.2: - dependencies: - array-buffer-byte-length: 1.0.2 - arraybuffer.prototype.slice: 1.0.4 - available-typed-arrays: 1.0.7 - call-bind: 1.0.9 - call-bound: 1.0.4 - data-view-buffer: 1.0.2 - data-view-byte-length: 1.0.2 - data-view-byte-offset: 1.0.1 - es-define-property: 1.0.1 - es-errors: 1.3.0 - es-object-atoms: 1.1.2 - es-set-tostringtag: 2.1.0 - es-to-primitive: 1.3.4 - function.prototype.name: 1.2.0 - get-intrinsic: 1.3.0 - get-proto: 1.0.1 - get-symbol-description: 1.1.0 - globalthis: 1.0.4 - gopd: 1.2.0 - has-property-descriptors: 1.0.2 - has-proto: 1.2.0 - has-symbols: 1.1.0 - hasown: 2.0.4 - internal-slot: 1.1.0 - is-array-buffer: 3.0.5 - is-callable: 1.2.7 - is-data-view: 1.0.2 - is-negative-zero: 2.0.3 - is-regex: 1.2.1 - is-set: 2.0.3 - is-shared-array-buffer: 1.0.4 - is-string: 1.1.1 - is-typed-array: 1.1.15 - is-weakref: 1.1.1 - math-intrinsics: 1.1.0 - object-inspect: 1.13.4 - object-keys: 1.1.1 - object.assign: 4.1.7 - own-keys: 1.0.2 - regexp.prototype.flags: 1.5.4 - safe-array-concat: 1.1.4 - safe-push-apply: 1.0.0 - safe-regex-test: 1.1.0 - set-proto: 1.0.0 - stop-iteration-iterator: 1.1.0 - string.prototype.trim: 1.2.11 - string.prototype.trimend: 1.0.10 - string.prototype.trimstart: 1.0.8 - typed-array-buffer: 1.0.3 - typed-array-byte-length: 1.0.3 - typed-array-byte-offset: 1.0.5 - typed-array-length: 1.0.8 - unbox-primitive: 1.1.0 - which-typed-array: 1.1.24 - es-define-property@1.0.1: {} es-errors@1.3.0: {} es-module-lexer@2.3.2: {} - es-module-lexer@3.0.2: {} + es-module-lexer@3.0.3: {} es-object-atoms@1.1.2: dependencies: es-errors: 1.3.0 - es-set-tostringtag@2.1.0: - dependencies: - es-errors: 1.3.0 - get-intrinsic: 1.3.0 - has-tostringtag: 1.0.2 - hasown: 2.0.4 - - es-shim-unscopables@1.1.0: - dependencies: - hasown: 2.0.4 - - es-to-primitive@1.3.4: - dependencies: - es-abstract-get: 1.0.0 - es-define-property: 1.0.1 - es-errors: 1.3.0 - is-callable: 1.2.7 - is-date-object: 1.1.0 - is-symbol: 1.1.1 - esast-util-from-estree@2.0.0: dependencies: '@types/estree-jsx': 1.0.5 @@ -15891,7 +15397,7 @@ snapshots: esast-util-from-js@2.0.1: dependencies: '@types/estree-jsx': 1.0.5 - acorn: 8.18.0 + acorn: 8.19.0 esast-util-from-estree: 2.0.0 vfile-message: 4.0.3 @@ -15953,35 +15459,6 @@ snapshots: '@esbuild/win32-ia32': 0.27.7 '@esbuild/win32-x64': 0.27.7 - esbuild@0.28.1: - optionalDependencies: - '@esbuild/aix-ppc64': 0.28.1 - '@esbuild/android-arm': 0.28.1 - '@esbuild/android-arm64': 0.28.1 - '@esbuild/android-x64': 0.28.1 - '@esbuild/darwin-arm64': 0.28.1 - '@esbuild/darwin-x64': 0.28.1 - '@esbuild/freebsd-arm64': 0.28.1 - '@esbuild/freebsd-x64': 0.28.1 - '@esbuild/linux-arm': 0.28.1 - '@esbuild/linux-arm64': 0.28.1 - '@esbuild/linux-ia32': 0.28.1 - '@esbuild/linux-loong64': 0.28.1 - '@esbuild/linux-mips64el': 0.28.1 - '@esbuild/linux-ppc64': 0.28.1 - '@esbuild/linux-riscv64': 0.28.1 - '@esbuild/linux-s390x': 0.28.1 - '@esbuild/linux-x64': 0.28.1 - '@esbuild/netbsd-arm64': 0.28.1 - '@esbuild/netbsd-x64': 0.28.1 - '@esbuild/openbsd-arm64': 0.28.1 - '@esbuild/openbsd-x64': 0.28.1 - '@esbuild/openharmony-arm64': 0.28.1 - '@esbuild/sunos-x64': 0.28.1 - '@esbuild/win32-arm64': 0.28.1 - '@esbuild/win32-ia32': 0.28.1 - '@esbuild/win32-x64': 0.28.1 - esbuild@0.28.2: optionalDependencies: '@esbuild/aix-ppc64': 0.28.2 @@ -16019,80 +15496,6 @@ snapshots: escape-string-regexp@5.0.0: {} - eslint-compat-utils@0.5.1(eslint@10.11.0(jiti@2.7.0)): - dependencies: - eslint: 10.11.0(jiti@2.7.0) - semver: 7.8.5 - - eslint-config-prettier@10.1.8(eslint@10.11.0(jiti@2.7.0)): - dependencies: - eslint: 10.11.0(jiti@2.7.0) - - eslint-import-context@0.1.9(unrs-resolver@1.12.2): - dependencies: - get-tsconfig: 4.14.3 - stable-hash-x: 0.2.0 - optionalDependencies: - unrs-resolver: 1.12.2 - - eslint-plugin-es-x@7.8.0(eslint@10.11.0(jiti@2.7.0)): - dependencies: - '@eslint-community/eslint-utils': 4.10.1(eslint@10.11.0(jiti@2.7.0)) - '@eslint-community/regexpp': 4.12.2 - eslint: 10.11.0(jiti@2.7.0) - eslint-compat-utils: 0.5.1(eslint@10.11.0(jiti@2.7.0)) - - eslint-plugin-import-x@4.17.1(@typescript-eslint/utils@8.71.0(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.11.0(jiti@2.7.0)): - dependencies: - '@typescript-eslint/types': 8.71.0 - comment-parser: 1.4.9 - debug: 4.4.3 - eslint: 10.11.0(jiti@2.7.0) - eslint-import-context: 0.1.9(unrs-resolver@1.12.2) - is-glob: 4.0.3 - minimatch: 10.2.6 - semver: 7.8.5 - stable-hash-x: 0.2.0 - unrs-resolver: 1.12.2 - optionalDependencies: - '@typescript-eslint/utils': 8.71.0(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - transitivePeerDependencies: - - supports-color - - eslint-plugin-jsx-a11y@6.10.2(eslint@10.11.0(jiti@2.7.0)): - dependencies: - aria-query: 5.3.2 - array-includes: 3.2.0 - array.prototype.flatmap: 1.3.3 - ast-types-flow: 0.0.8 - axe-core: 4.13.0 - axobject-query: 4.1.0 - damerau-levenshtein: 1.0.8 - emoji-regex: 9.2.2 - eslint: 10.11.0(jiti@2.7.0) - hasown: 2.0.4 - jsx-ast-utils: 3.3.5 - language-tags: 1.0.9 - minimatch: 3.1.5 - object.fromentries: 2.0.8 - safe-regex-test: 1.1.0 - string.prototype.includes: 2.0.1 - - eslint-plugin-n@17.24.0(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3): - dependencies: - '@eslint-community/eslint-utils': 4.10.1(eslint@10.11.0(jiti@2.7.0)) - enhanced-resolve: 5.26.0 - eslint: 10.11.0(jiti@2.7.0) - eslint-plugin-es-x: 7.8.0(eslint@10.11.0(jiti@2.7.0)) - get-tsconfig: 4.14.3 - globals: 15.15.0 - globrex: 0.1.2 - ignore: 5.3.2 - semver: 7.8.5 - ts-declaration-location: 1.0.7(typescript@6.0.3) - transitivePeerDependencies: - - typescript - eslint-plugin-perfectionist@5.12.1(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3): dependencies: '@typescript-eslint/types': 8.71.0 @@ -16104,25 +15507,17 @@ snapshots: - supports-color - typescript - eslint-plugin-prettier@5.5.6(eslint-config-prettier@10.1.8(eslint@10.11.0(jiti@2.7.0)))(eslint@10.11.0(jiti@2.7.0))(prettier@3.9.9): - dependencies: - eslint: 10.11.0(jiti@2.7.0) - prettier: 3.9.9 - prettier-linter-helpers: 1.0.1 - synckit: 0.11.13 - optionalDependencies: - eslint-config-prettier: 10.1.8(eslint@10.11.0(jiti@2.7.0)) - - eslint-plugin-react-dom@5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3): + eslint-plugin-react-dom@5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3): dependencies: - '@eslint-react/ast': 5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - '@eslint-react/eslint': 5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - '@eslint-react/jsx': 5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - '@eslint-react/shared': 5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - '@eslint-react/var': 5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - '@typescript-eslint/types': 8.71.0 - '@typescript-eslint/utils': 8.71.0(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/ast': 5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/eslint': 5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/jsx': 5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/shared': 5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/var': 5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + '@typescript-eslint/types': 8.71.1 + '@typescript-eslint/utils': 8.71.1(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) compare-versions: 6.1.1 + ts-pattern: 5.9.0 typescript: 6.0.3 optionalDependencies: eslint: 10.11.0(jiti@2.7.0) @@ -16132,7 +15527,7 @@ snapshots: eslint-plugin-react-hooks@7.1.1(eslint@10.11.0(jiti@2.7.0)): dependencies: '@babel/core': 7.29.7 - '@babel/parser': 7.29.8 + '@babel/parser': 7.29.9 eslint: 10.11.0(jiti@2.7.0) hermes-parser: 0.25.1 zod: 4.6.5 @@ -16140,30 +15535,30 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-react-jsx@5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3): + eslint-plugin-react-jsx@5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3): dependencies: - '@eslint-react/ast': 5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - '@eslint-react/core': 5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - '@eslint-react/eslint': 5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - '@eslint-react/jsx': 5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - '@eslint-react/shared': 5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - '@typescript-eslint/types': 8.71.0 - '@typescript-eslint/utils': 8.71.0(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/ast': 5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/core': 5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/eslint': 5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/jsx': 5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/shared': 5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + '@typescript-eslint/types': 8.71.1 + '@typescript-eslint/utils': 8.71.1(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) typescript: 6.0.3 optionalDependencies: eslint: 10.11.0(jiti@2.7.0) transitivePeerDependencies: - supports-color - eslint-plugin-react-naming-convention@5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3): + eslint-plugin-react-naming-convention@5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3): dependencies: - '@eslint-react/ast': 5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - '@eslint-react/core': 5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - '@eslint-react/eslint': 5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - '@eslint-react/shared': 5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - '@eslint-react/var': 5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - '@typescript-eslint/types': 8.71.0 - '@typescript-eslint/utils': 8.71.0(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/ast': 5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/core': 5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/eslint': 5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/shared': 5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/var': 5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + '@typescript-eslint/types': 8.71.1 + '@typescript-eslint/utils': 8.71.1(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) ts-pattern: 5.9.0 typescript: 6.0.3 optionalDependencies: @@ -16171,30 +15566,30 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-react-rsc@5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3): + eslint-plugin-react-rsc@5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3): dependencies: - '@eslint-react/ast': 5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - '@eslint-react/core': 5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - '@eslint-react/eslint': 5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - '@eslint-react/shared': 5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - '@eslint-react/var': 5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - '@typescript-eslint/types': 8.71.0 - '@typescript-eslint/utils': 8.71.0(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/ast': 5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/core': 5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/eslint': 5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/shared': 5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/var': 5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + '@typescript-eslint/types': 8.71.1 + '@typescript-eslint/utils': 8.71.1(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) typescript: 6.0.3 optionalDependencies: eslint: 10.11.0(jiti@2.7.0) transitivePeerDependencies: - supports-color - eslint-plugin-react-web-api@5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3): + eslint-plugin-react-web-api@5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3): dependencies: - '@eslint-react/ast': 5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - '@eslint-react/core': 5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - '@eslint-react/eslint': 5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - '@eslint-react/shared': 5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - '@eslint-react/var': 5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - '@typescript-eslint/types': 8.71.0 - '@typescript-eslint/utils': 8.71.0(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/ast': 5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/core': 5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/eslint': 5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/shared': 5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/var': 5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + '@typescript-eslint/types': 8.71.1 + '@typescript-eslint/utils': 8.71.1(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) ts-pattern: 5.9.0 typescript: 6.0.3 optionalDependencies: @@ -16202,18 +15597,18 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-react-x@5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3): - dependencies: - '@eslint-react/ast': 5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - '@eslint-react/core': 5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - '@eslint-react/eslint': 5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - '@eslint-react/jsx': 5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - '@eslint-react/shared': 5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - '@eslint-react/var': 5.23.3(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - '@typescript-eslint/scope-manager': 8.71.0 - '@typescript-eslint/types': 8.71.0 - '@typescript-eslint/typescript-estree': 8.71.0(typescript@6.0.3) - '@typescript-eslint/utils': 8.71.0(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + eslint-plugin-react-x@5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3): + dependencies: + '@eslint-react/ast': 5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/core': 5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/eslint': 5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/jsx': 5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/shared': 5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/var': 5.24.8(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) + '@typescript-eslint/scope-manager': 8.71.1 + '@typescript-eslint/types': 8.71.1 + '@typescript-eslint/typescript-estree': 8.71.1(typescript@6.0.3) + '@typescript-eslint/utils': 8.71.1(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) compare-versions: 6.1.1 string-ts: 2.3.1 ts-api-utils: 2.5.0(typescript@6.0.3) @@ -16238,8 +15633,6 @@ snapshots: eslint-visitor-keys@3.4.3: {} - eslint-visitor-keys@4.2.1: {} - eslint-visitor-keys@5.0.1: {} eslint@10.11.0(jiti@2.7.0): @@ -16279,16 +15672,10 @@ snapshots: transitivePeerDependencies: - supports-color - espree@10.4.0: - dependencies: - acorn: 8.18.0 - acorn-jsx: 5.3.2(acorn@8.18.0) - eslint-visitor-keys: 4.2.1 - espree@11.2.0: dependencies: - acorn: 8.18.0 - acorn-jsx: 5.3.2(acorn@8.18.0) + acorn: 8.19.0 + acorn-jsx: 5.3.2(acorn@8.19.0) eslint-visitor-keys: 5.0.1 esprima@4.0.1: {} @@ -16399,11 +15786,11 @@ snapshots: expect-type@1.4.0: {} - express-rate-limit@8.7.0(express@5.2.1): + express-rate-limit@8.7.1(express@5.2.1): dependencies: debug: 4.4.3 express: 5.2.1 - ip-address: 10.7.2 + ip-address: 10.7.3 transitivePeerDependencies: - supports-color @@ -16455,8 +15842,6 @@ snapshots: fast-deep-equal@3.1.3: {} - fast-diff@1.3.0: {} - fast-equals@5.4.3: {} fast-fifo@1.3.2: {} @@ -16566,18 +15951,14 @@ snapshots: flatted@3.4.4: {} - for-each@0.3.5: - dependencies: - is-callable: 1.2.7 - form-data-encoder@4.1.0: {} forwarded@0.2.0: {} - framer-motion@13.4.6(react-dom@19.3.0(react@19.3.0))(react@19.3.0): + framer-motion@14.0.0(react-dom@19.3.0(react@19.3.0))(react@19.3.0): dependencies: - motion-dom: 13.4.5 - motion-utils: 13.3.0 + motion-dom: 14.0.0 + motion-utils: 14.0.0 tslib: 2.8.1 optionalDependencies: react: 19.3.0 @@ -16597,7 +15978,7 @@ snapshots: fsevents@2.3.3: optional: true - fumadocs-core@16.15.17(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.49.0(@types/react@19.3.0)(react@19.3.0))(next@16.3.3(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.61.1)(@types/node@26.6.3)(babel-plugin-react-compiler@1.0.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(zod@4.6.5): + fumadocs-core@16.16.2(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.52.0(@types/react@19.3.0)(react@19.3.0))(next@16.3.3(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.61.1)(@types/node@26.6.4)(babel-plugin-react-compiler@1.0.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(zod@4.6.5): dependencies: '@fumari/image-size': 0.1.1 estree-util-value-to-estree: 3.5.0 @@ -16605,13 +15986,13 @@ snapshots: hast-util-to-estree: 3.1.3 hast-util-to-jsx-runtime: 2.3.6 mdast-util-mdx: 3.0.0 - mdast-util-to-markdown: 2.1.3 + mdast-util-to-markdown: 2.2.0 npm-to-yarn: 3.2.0 remark: 15.0.1 remark-gfm: 4.0.1 remark-rehype: 11.1.2 scroll-into-view-if-needed: 3.1.0 - shiki: 4.4.3 + shiki: 4.5.0 tinyglobby: 0.2.17 unified: 11.0.5 unist-util-visit: 5.1.0 @@ -16625,24 +16006,24 @@ snapshots: '@types/hast': 3.0.5 '@types/mdast': 4.0.4 '@types/react': 19.3.0 - lucide-react: 1.49.0(@types/react@19.3.0)(react@19.3.0) - next: 16.3.3(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.61.1)(@types/node@26.6.3)(babel-plugin-react-compiler@1.0.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + lucide-react: 1.52.0(@types/react@19.3.0)(react@19.3.0) + next: 16.3.3(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.61.1)(@types/node@26.6.4)(babel-plugin-react-compiler@1.0.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) react: 19.3.0 react-dom: 19.3.0(react@19.3.0) zod: 4.6.5 transitivePeerDependencies: - supports-color - fumadocs-mdx@15.4.5(@types/mdast@4.0.4)(@types/mdx@2.0.14)(@types/react@19.3.0)(fumadocs-core@16.15.17(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.49.0(@types/react@19.3.0)(react@19.3.0))(next@16.3.3(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.61.1)(@types/node@26.6.3)(babel-plugin-react-compiler@1.0.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(zod@4.6.5))(next@16.3.3(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.61.1)(@types/node@26.6.3)(babel-plugin-react-compiler@1.0.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(react@19.3.0)(rolldown@1.2.12)(vite@8.3.1(@types/node@26.6.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)): + fumadocs-mdx@15.4.6(@types/mdast@4.0.4)(@types/mdx@2.0.14)(@types/react@19.3.0)(fumadocs-core@16.16.2(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.52.0(@types/react@19.3.0)(react@19.3.0))(next@16.3.3(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.61.1)(@types/node@26.6.4)(babel-plugin-react-compiler@1.0.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(zod@4.6.5))(next@16.3.3(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.61.1)(@types/node@26.6.4)(babel-plugin-react-compiler@1.0.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(react@19.3.0)(rolldown@1.2.13)(vite@8.3.3(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)): dependencies: '@mdx-js/mdx': 3.1.1 '@standard-schema/spec': 1.1.0 chokidar: 5.0.0 esbuild: 0.28.2 estree-util-value-to-estree: 3.5.0 - fumadocs-core: 16.15.17(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.49.0(@types/react@19.3.0)(react@19.3.0))(next@16.3.3(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.61.1)(@types/node@26.6.3)(babel-plugin-react-compiler@1.0.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(zod@4.6.5) + fumadocs-core: 16.16.2(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.52.0(@types/react@19.3.0)(react@19.3.0))(next@16.3.3(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.61.1)(@types/node@26.6.4)(babel-plugin-react-compiler@1.0.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(zod@4.6.5) github-slugger: 2.0.0 - magic-string: 1.4.2 + magic-string: 1.4.3 mdast-util-mdx: 3.0.0 picocolors: 1.1.1 picomatch: 4.0.7 @@ -16659,44 +16040,44 @@ snapshots: '@types/mdast': 4.0.4 '@types/mdx': 2.0.14 '@types/react': 19.3.0 - next: 16.3.3(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.61.1)(@types/node@26.6.3)(babel-plugin-react-compiler@1.0.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + next: 16.3.3(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.61.1)(@types/node@26.6.4)(babel-plugin-react-compiler@1.0.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) react: 19.3.0 - rolldown: 1.2.12 - vite: 8.3.1(@types/node@26.6.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) + rolldown: 1.2.13 + vite: 8.3.3(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) transitivePeerDependencies: - supports-color - fumadocs-ui@16.15.17(@types/mdx@2.0.14)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(fumadocs-core@16.15.17(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.49.0(@types/react@19.3.0)(react@19.3.0))(next@16.3.3(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.61.1)(@types/node@26.6.3)(babel-plugin-react-compiler@1.0.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(zod@4.6.5))(next@16.3.3(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.61.1)(@types/node@26.6.3)(babel-plugin-react-compiler@1.0.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(tailwindcss@4.3.3): + fumadocs-ui@16.16.2(@types/mdx@2.0.14)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(fumadocs-core@16.16.2(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.52.0(@types/react@19.3.0)(react@19.3.0))(next@16.3.3(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.61.1)(@types/node@26.6.4)(babel-plugin-react-compiler@1.0.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(zod@4.6.5))(next@16.3.3(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.61.1)(@types/node@26.6.4)(babel-plugin-react-compiler@1.0.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(tailwindcss@4.3.3): dependencies: '@fuma-translate/react': 1.0.2(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) '@fumadocs/tailwind': 0.1.2(tailwindcss@4.3.3) - '@radix-ui/react-accordion': 1.2.20(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) - '@radix-ui/react-collapsible': 1.1.20(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) - '@radix-ui/react-dialog': 1.1.23(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) - '@radix-ui/react-direction': 1.1.4(@types/react@19.3.0)(react@19.3.0) - '@radix-ui/react-navigation-menu': 1.2.22(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) - '@radix-ui/react-popover': 1.1.23(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) - '@radix-ui/react-presence': 1.1.10(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) - '@radix-ui/react-scroll-area': 1.2.18(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) - '@radix-ui/react-slot': 1.3.3(@types/react@19.3.0)(react@19.3.0) - '@radix-ui/react-tabs': 1.1.21(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-accordion': 1.2.21(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-collapsible': 1.1.21(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-dialog': 1.2.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-direction': 1.1.5(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-navigation-menu': 1.3.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-popover': 1.2.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-presence': 1.1.11(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-scroll-area': 1.3.0(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + '@radix-ui/react-slot': 1.4.0(@types/react@19.3.0)(react@19.3.0) + '@radix-ui/react-tabs': 1.1.22(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) class-variance-authority: 0.7.1 - cn: 0.3.3 - fumadocs-core: 16.15.17(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.49.0(@types/react@19.3.0)(react@19.3.0))(next@16.3.3(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.61.1)(@types/node@26.6.3)(babel-plugin-react-compiler@1.0.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(zod@4.6.5) - lucide-react: 1.49.0(@types/react@19.3.0)(react@19.3.0) - motion: 13.4.6(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + cn: 0.4.0 + fumadocs-core: 16.16.2(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.170.41(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.52.0(@types/react@19.3.0)(react@19.3.0))(next@16.3.3(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.61.1)(@types/node@26.6.4)(babel-plugin-react-compiler@1.0.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0))(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(zod@4.6.5) + lucide-react: 1.52.0(@types/react@19.3.0)(react@19.3.0) + motion: 14.0.0(react-dom@19.3.0(react@19.3.0))(react@19.3.0) next-themes: 0.4.6(react-dom@19.3.0(react@19.3.0))(react@19.3.0) react: 19.3.0 react-dom: 19.3.0(react@19.3.0) react-remove-scroll: 2.7.2(@types/react@19.3.0)(react@19.3.0) rehype-raw: 7.0.0 scroll-into-view-if-needed: 3.1.0 - shiki: 4.4.3 + shiki: 4.5.0 unist-util-visit: 5.1.0 optionalDependencies: '@types/mdx': 2.0.14 '@types/react': 19.3.0 - next: 16.3.3(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.61.1)(@types/node@26.6.3)(babel-plugin-react-compiler@1.0.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + next: 16.3.3(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.61.1)(@types/node@26.6.4)(babel-plugin-react-compiler@1.0.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0) transitivePeerDependencies: - '@types/react-dom' - tailwindcss @@ -16705,24 +16086,8 @@ snapshots: function-timeout@1.0.2: {} - function.prototype.name@1.2.0: - dependencies: - call-bind: 1.0.9 - call-bound: 1.0.4 - es-define-property: 1.0.1 - es-errors: 1.3.0 - functions-have-names: 1.2.3 - has-property-descriptors: 1.0.2 - hasown: 2.0.4 - is-callable: 1.2.7 - is-document.all: 1.0.0 - - functions-have-names@1.2.3: {} - fuzzysort@3.1.0: {} - generator-function@2.0.1: {} - gensync@1.0.0-beta.2: {} get-caller-file@2.0.5: {} @@ -16760,12 +16125,6 @@ snapshots: '@sec-ant/readable-stream': 0.4.1 is-stream: 4.0.1 - get-symbol-description@1.1.0: - dependencies: - call-bound: 1.0.4 - es-errors: 1.3.0 - get-intrinsic: 1.3.0 - get-tsconfig@4.14.3: dependencies: resolve-pkg-maps: 1.0.0 @@ -16786,17 +16145,8 @@ snapshots: minipass: 7.1.3 path-scurry: 2.0.2 - globals@15.15.0: {} - globals@16.5.0: {} - globals@17.12.0: {} - - globalthis@1.0.4: - dependencies: - define-properties: 1.2.1 - gopd: 1.2.0 - globby@11.1.0: dependencies: array-union: 2.1.0 @@ -16806,8 +16156,6 @@ snapshots: merge2: 1.4.1 slash: 3.0.0 - globrex@0.1.2: {} - goober@2.1.19(csstype@3.2.3): dependencies: csstype: 3.2.3 @@ -16846,22 +16194,8 @@ snapshots: crossws: 0.4.12(srvx@1.0.5) ocache: 0.3.0 - has-bigints@1.1.0: {} - - has-property-descriptors@1.0.2: - dependencies: - es-define-property: 1.0.1 - - has-proto@1.2.0: - dependencies: - dunder-proto: 1.0.1 - - has-symbols@1.1.0: {} - - has-tostringtag@1.0.2: - dependencies: - has-symbols: 1.1.0 - + has-symbols@1.1.0: {} + hashery@1.5.1: dependencies: hookified: 1.15.1 @@ -16984,7 +16318,7 @@ snapshots: dependencies: hermes-estree: 0.25.1 - hono@4.13.12: {} + hono@4.13.13: {} hookable@6.1.2: {} @@ -17055,25 +16389,20 @@ snapshots: dependencies: safer-buffer: 2.1.2 - icu-minify@4.14.8: + icu-minify@4.14.9: dependencies: - '@formatjs/icu-messageformat-parser': 3.5.20 + '@formatjs/icu-messageformat-parser': 3.5.21 ieee754@1.2.1: {} ignore@5.3.2: {} - ignore@7.0.11: {} - - import-fresh@3.3.1: - dependencies: - parent-module: 1.0.1 - resolve-from: 4.0.0 + ignore@7.0.12: {} import-in-the-middle@3.5.2: dependencies: - cjs-module-lexer: 2.2.1 - es-module-lexer: 3.0.2 + cjs-module-lexer: 2.3.0 + es-module-lexer: 3.0.3 module-details-from-path: 1.0.4 imurmurhash@0.1.4: {} @@ -17091,12 +16420,6 @@ snapshots: dependencies: kind-of: 6.0.3 - internal-slot@1.1.0: - dependencies: - es-errors: 1.3.0 - hasown: 2.0.4 - side-channel: 1.1.1 - internmap@1.0.1: {} internmap@2.0.3: {} @@ -17106,7 +16429,7 @@ snapshots: '@formatjs/fast-memoize': 3.1.7 '@formatjs/icu-messageformat-parser': 3.5.18 - ip-address@10.7.2: {} + ip-address@10.7.3: {} ipaddr.js@1.9.1: {} @@ -17117,76 +16440,22 @@ snapshots: is-alphabetical: 2.0.1 is-decimal: 2.0.1 - is-array-buffer@3.0.5: - dependencies: - call-bind: 1.0.9 - call-bound: 1.0.4 - get-intrinsic: 1.3.0 - - is-arrayish@0.2.1: {} - - is-async-function@2.1.1: - dependencies: - async-function: 1.0.0 - call-bound: 1.0.4 - get-proto: 1.0.1 - has-tostringtag: 1.0.2 - safe-regex-test: 1.1.0 - - is-bigint@1.1.0: - dependencies: - has-bigints: 1.1.0 - is-binary-path@2.1.0: dependencies: binary-extensions: 2.3.0 - is-boolean-object@1.2.2: - dependencies: - call-bound: 1.0.4 - has-tostringtag: 1.0.2 - - is-callable@1.2.7: {} - - is-data-view@1.0.2: - dependencies: - call-bound: 1.0.4 - get-intrinsic: 1.3.0 - is-typed-array: 1.1.15 - - is-date-object@1.1.0: - dependencies: - call-bound: 1.0.4 - has-tostringtag: 1.0.2 - is-decimal@2.0.1: {} is-docker@2.2.1: {} is-docker@3.0.0: {} - is-document.all@1.0.0: - dependencies: - call-bound: 1.0.4 - is-emoji-supported@0.0.5: {} is-extglob@2.1.1: {} - is-finalizationregistry@1.1.1: - dependencies: - call-bound: 1.0.4 - is-fullwidth-code-point@3.0.0: {} - is-generator-function@1.1.2: - dependencies: - call-bound: 1.0.4 - generator-function: 2.0.1 - get-proto: 1.0.1 - has-tostringtag: 1.0.2 - safe-regex-test: 1.1.0 - is-glob@4.0.3: dependencies: is-extglob: 2.1.1 @@ -17201,15 +16470,6 @@ snapshots: is-interactive@2.0.0: {} - is-map@2.0.3: {} - - is-negative-zero@2.0.3: {} - - is-number-object@1.1.1: - dependencies: - call-bound: 1.0.4 - has-tostringtag: 1.0.2 - is-number@7.0.0: {} is-obj@2.0.0: {} @@ -17226,57 +16486,18 @@ snapshots: is-promise@4.0.0: {} - is-regex@1.2.1: - dependencies: - call-bound: 1.0.4 - gopd: 1.2.0 - has-tostringtag: 1.0.2 - hasown: 2.0.4 - is-regexp@3.1.0: {} - is-set@2.0.3: {} - - is-shared-array-buffer@1.0.4: - dependencies: - call-bound: 1.0.4 - is-stream@2.0.1: {} is-stream@3.0.0: {} is-stream@4.0.1: {} - is-string@1.1.1: - dependencies: - call-bound: 1.0.4 - has-tostringtag: 1.0.2 - - is-symbol@1.1.1: - dependencies: - call-bound: 1.0.4 - has-symbols: 1.1.0 - safe-regex-test: 1.1.0 - - is-typed-array@1.1.15: - dependencies: - which-typed-array: 1.1.24 - is-unicode-supported@1.3.0: {} is-unicode-supported@2.1.0: {} - is-weakmap@2.0.2: {} - - is-weakref@1.1.1: - dependencies: - call-bound: 1.0.4 - - is-weakset@2.0.4: - dependencies: - call-bound: 1.0.4 - get-intrinsic: 1.3.0 - is-wsl@2.2.0: dependencies: is-docker: 2.2.1 @@ -17285,8 +16506,6 @@ snapshots: dependencies: is-inside-container: 1.0.0 - isarray@2.0.5: {} - isbot@5.2.2: {} isexe@2.0.0: {} @@ -17322,15 +16541,15 @@ snapshots: jsbi@4.3.2: {} - jsdom@30.1.1: + jsdom@30.1.2: dependencies: - '@asamuzakjp/css-color': 7.1.2 - '@asamuzakjp/dom-selector': 9.2.2 - '@bramus/specificity': 2.4.2 - '@csstools/css-syntax-patches-for-csstree': 1.1.14(css-tree@3.2.1) + '@asamuzakjp/css-color': 7.1.3 + '@asamuzakjp/dom-selector': 9.2.4 + '@bramus/specificity': 2.4.3 + '@csstools/css-syntax-patches-for-csstree': 1.1.15(css-tree@3.2.1) '@exodus/bytes': 1.16.0 css-tree: 3.2.1 - data-urls: 7.0.0 + data-urls: 8.0.0 decimal.js: 10.6.0 html-encoding-sniffer: 7.0.0 is-potential-custom-element-name: 1.0.1 @@ -17342,15 +16561,13 @@ snapshots: w3c-xmlserializer: 6.0.0 webidl-conversions: 8.0.1 whatwg-mimetype: 5.0.0 - whatwg-url: 17.1.2 + whatwg-url: 17.2.0 xml-name-validator: 5.0.0 transitivePeerDependencies: - '@noble/hashes' jsesc@3.1.0: {} - json-parse-even-better-errors@2.3.1: {} - json-schema-traverse@0.4.1: {} json-schema-traverse@1.0.0: {} @@ -17376,13 +16593,6 @@ snapshots: optionalDependencies: graceful-fs: 4.2.11 - jsx-ast-utils@3.3.5: - dependencies: - array-includes: 3.2.0 - array.prototype.flat: 1.3.3 - object.assign: 4.1.7 - object.values: 1.2.1 - keyv@5.6.0: dependencies: '@keyv/serialize': 1.1.1 @@ -17393,18 +16603,12 @@ snapshots: kleur@4.1.5: {} - language-subtag-registry@0.3.23: {} - - language-tags@1.0.9: - dependencies: - language-subtag-registry: 0.3.23 - launch-editor@2.14.1: dependencies: picocolors: 1.1.1 shell-quote: 1.11.0 - launder@1.7.1: + launder@1.7.2: dependencies: dayjs: 1.11.23 @@ -17554,7 +16758,7 @@ snapshots: dependencies: yallist: 3.1.1 - lucide-react@1.49.0(@types/react@19.3.0)(react@19.3.0): + lucide-react@1.52.0(@types/react@19.3.0)(react@19.3.0): dependencies: react: 19.3.0 optionalDependencies: @@ -17572,9 +16776,13 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.6.0 + magic-string@1.4.3: + dependencies: + '@jridgewell/sourcemap-codec': 1.6.0 + magicast@0.5.5: dependencies: - '@babel/parser': 7.29.8 + '@babel/parser': 7.29.9 '@babel/types': 7.29.8 source-map-js: 1.2.2 @@ -17592,14 +16800,14 @@ snapshots: math-intrinsics@1.1.0: {} - mdast-util-find-and-replace@3.0.2: + mdast-util-find-and-replace@3.0.3: 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.3: + mdast-util-from-markdown@2.1.0: dependencies: '@types/mdast': 4.0.4 '@types/unist': 3.0.3 @@ -17621,15 +16829,15 @@ snapshots: '@types/mdast': 4.0.4 ccount: 2.0.1 devlop: 1.1.0 - mdast-util-find-and-replace: 3.0.2 + mdast-util-find-and-replace: 3.0.3 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.3 - mdast-util-to-markdown: 2.1.3 + mdast-util-from-markdown: 2.1.0 + mdast-util-to-markdown: 2.2.0 micromark-util-normalize-identifier: 2.0.1 transitivePeerDependencies: - supports-color @@ -17637,8 +16845,8 @@ snapshots: mdast-util-gfm-strikethrough@2.0.1: dependencies: '@types/mdast': 4.0.4 - mdast-util-from-markdown: 2.0.3 - mdast-util-to-markdown: 2.1.3 + mdast-util-from-markdown: 2.1.0 + mdast-util-to-markdown: 2.2.0 transitivePeerDependencies: - supports-color @@ -17647,8 +16855,8 @@ snapshots: '@types/mdast': 4.0.4 devlop: 1.1.0 markdown-table: 3.0.4 - mdast-util-from-markdown: 2.0.3 - mdast-util-to-markdown: 2.1.3 + mdast-util-from-markdown: 2.1.0 + mdast-util-to-markdown: 2.2.0 transitivePeerDependencies: - supports-color @@ -17656,20 +16864,20 @@ snapshots: dependencies: '@types/mdast': 4.0.4 devlop: 1.1.0 - mdast-util-from-markdown: 2.0.3 - mdast-util-to-markdown: 2.1.3 + mdast-util-from-markdown: 2.1.0 + mdast-util-to-markdown: 2.2.0 transitivePeerDependencies: - supports-color mdast-util-gfm@3.1.0: dependencies: - mdast-util-from-markdown: 2.0.3 + mdast-util-from-markdown: 2.1.0 mdast-util-gfm-autolink-literal: 2.0.1 mdast-util-gfm-footnote: 2.1.0 mdast-util-gfm-strikethrough: 2.0.1 mdast-util-gfm-table: 2.0.0 mdast-util-gfm-task-list-item: 2.0.0 - mdast-util-to-markdown: 2.1.3 + mdast-util-to-markdown: 2.2.0 transitivePeerDependencies: - supports-color @@ -17679,8 +16887,8 @@ snapshots: '@types/hast': 3.0.5 '@types/mdast': 4.0.4 devlop: 1.1.0 - mdast-util-from-markdown: 2.0.3 - mdast-util-to-markdown: 2.1.3 + mdast-util-from-markdown: 2.1.0 + mdast-util-to-markdown: 2.2.0 transitivePeerDependencies: - supports-color @@ -17692,8 +16900,8 @@ snapshots: '@types/unist': 3.0.3 ccount: 2.0.1 devlop: 1.1.0 - mdast-util-from-markdown: 2.0.3 - mdast-util-to-markdown: 2.1.3 + mdast-util-from-markdown: 2.1.0 + mdast-util-to-markdown: 2.2.0 parse-entities: 4.0.2 stringify-entities: 4.0.4 unist-util-stringify-position: 4.0.0 @@ -17703,11 +16911,11 @@ snapshots: mdast-util-mdx@3.0.0: dependencies: - mdast-util-from-markdown: 2.0.3 + mdast-util-from-markdown: 2.1.0 mdast-util-mdx-expression: 2.0.1 mdast-util-mdx-jsx: 3.2.0 mdast-util-mdxjs-esm: 2.0.1 - mdast-util-to-markdown: 2.1.3 + mdast-util-to-markdown: 2.2.0 transitivePeerDependencies: - supports-color @@ -17717,8 +16925,8 @@ snapshots: '@types/hast': 3.0.5 '@types/mdast': 4.0.4 devlop: 1.1.0 - mdast-util-from-markdown: 2.0.3 - mdast-util-to-markdown: 2.1.3 + mdast-util-from-markdown: 2.1.0 + mdast-util-to-markdown: 2.2.0 transitivePeerDependencies: - supports-color @@ -17739,7 +16947,7 @@ snapshots: unist-util-visit: 5.1.0 vfile: 6.0.3 - mdast-util-to-markdown@2.1.3: + mdast-util-to-markdown@2.2.0: dependencies: '@types/mdast': 4.0.4 '@types/unist': 3.0.3 @@ -17887,8 +17095,8 @@ snapshots: micromark-extension-mdxjs@3.0.0: dependencies: - acorn: 8.18.0 - acorn-jsx: 5.3.2(acorn@8.18.0) + acorn: 8.19.0 + acorn-jsx: 5.3.2(acorn@8.19.0) micromark-extension-mdx-expression: 3.0.1 micromark-extension-mdx-jsx: 3.0.2 micromark-extension-mdx-md: 2.0.0 @@ -18068,10 +17276,6 @@ snapshots: dependencies: brace-expansion: 5.0.12 - minimatch@3.1.5: - dependencies: - brace-expansion: 1.1.21 - minimatch@9.0.9: dependencies: brace-expansion: 2.1.7 @@ -18089,15 +17293,15 @@ snapshots: module-details-from-path@1.0.4: {} - motion-dom@13.4.5: + motion-dom@14.0.0: dependencies: - motion-utils: 13.3.0 + motion-utils: 14.0.0 - motion-utils@13.3.0: {} + motion-utils@14.0.0: {} - motion@13.4.6(react-dom@19.3.0(react@19.3.0))(react@19.3.0): + motion@14.0.0(react-dom@19.3.0(react@19.3.0))(react@19.3.0): dependencies: - framer-motion: 13.4.6(react-dom@19.3.0(react@19.3.0))(react@19.3.0) + framer-motion: 14.0.0(react-dom@19.3.0(react@19.3.0))(react@19.3.0) tslib: 2.8.1 optionalDependencies: react: 19.3.0 @@ -18115,9 +17319,7 @@ snapshots: object-assign: 4.1.1 thenify-all: 1.6.0 - nanoid@3.3.19: {} - - napi-postinstall@0.3.4: {} + nanoid@3.3.20: {} natural-compare@1.4.0: {} @@ -18134,12 +17336,12 @@ snapshots: react: 19.3.0 react-dom: 19.3.0(react@19.3.0) - next@16.3.3(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.61.1)(@types/node@26.6.3)(babel-plugin-react-compiler@1.0.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0): + next@16.3.3(@babel/core@7.29.7)(@opentelemetry/api@1.9.1)(@playwright/test@1.61.1)(@types/node@26.6.4)(babel-plugin-react-compiler@1.0.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0): dependencies: '@next/env': 16.3.3 '@swc/helpers': 0.5.23 - baseline-browser-mapping: 2.11.26 - caniuse-lite: 1.0.30001814 + baseline-browser-mapping: 2.11.27 + caniuse-lite: 1.0.30001815 postcss: 8.5.23 react: 19.3.0 react-dom: 19.3.0(react@19.3.0) @@ -18156,7 +17358,7 @@ snapshots: '@opentelemetry/api': 1.9.1 '@playwright/test': 1.61.1 babel-plugin-react-compiler: 1.0.0 - sharp: 0.35.5(@types/node@26.6.3) + sharp: 0.35.5(@types/node@26.6.4) transitivePeerDependencies: - '@babel/core' - '@types/node' @@ -18191,7 +17393,7 @@ snapshots: node-releases@2.0.57: {} - nodemailer@10.0.13: {} + nodemailer@10.0.16: {} normalize-path@3.0.0: {} @@ -18222,33 +17424,8 @@ snapshots: object-inspect@1.13.4: {} - object-keys@1.1.1: {} - object-treeify@1.1.33: {} - object.assign@4.1.7: - dependencies: - call-bind: 1.0.9 - call-bound: 1.0.4 - define-properties: 1.2.1 - es-object-atoms: 1.1.2 - has-symbols: 1.1.0 - object-keys: 1.1.1 - - object.fromentries@2.0.8: - dependencies: - call-bind: 1.0.9 - define-properties: 1.2.1 - es-abstract: 1.24.2 - es-object-atoms: 1.1.2 - - object.values@1.2.1: - dependencies: - call-bind: 1.0.9 - call-bound: 1.0.4 - define-properties: 1.2.1 - es-object-atoms: 1.1.2 - obug@2.2.1: {} ocache@0.3.0: {} @@ -18334,13 +17511,6 @@ snapshots: orderedmap@2.1.1: {} - own-keys@1.0.2: - dependencies: - call-bound: 1.0.4 - get-intrinsic: 1.3.0 - object-keys: 1.1.1 - safe-push-apply: 1.0.0 - oxc-parser@0.120.0(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.3): dependencies: '@oxc-project/types': 0.120.0 @@ -18415,16 +17585,49 @@ snapshots: '@oxc-resolver/binding-win32-arm64-msvc': 11.24.2 '@oxc-resolver/binding-win32-x64-msvc': 11.24.2 - oxlint-plugin-react-doctor@0.9.14: + oxfmt@0.72.0: + dependencies: + tinypool: 2.2.0 + optionalDependencies: + '@oxfmt/binding-android-arm-eabi': 0.72.0 + '@oxfmt/binding-android-arm64': 0.72.0 + '@oxfmt/binding-darwin-arm64': 0.72.0 + '@oxfmt/binding-darwin-x64': 0.72.0 + '@oxfmt/binding-freebsd-x64': 0.72.0 + '@oxfmt/binding-linux-arm-gnueabihf': 0.72.0 + '@oxfmt/binding-linux-arm-musleabihf': 0.72.0 + '@oxfmt/binding-linux-arm64-gnu': 0.72.0 + '@oxfmt/binding-linux-arm64-musl': 0.72.0 + '@oxfmt/binding-linux-ppc64-gnu': 0.72.0 + '@oxfmt/binding-linux-riscv64-gnu': 0.72.0 + '@oxfmt/binding-linux-riscv64-musl': 0.72.0 + '@oxfmt/binding-linux-s390x-gnu': 0.72.0 + '@oxfmt/binding-linux-x64-gnu': 0.72.0 + '@oxfmt/binding-linux-x64-musl': 0.72.0 + '@oxfmt/binding-openharmony-arm64': 0.72.0 + '@oxfmt/binding-win32-arm64-msvc': 0.72.0 + '@oxfmt/binding-win32-ia32-msvc': 0.72.0 + '@oxfmt/binding-win32-x64-msvc': 0.72.0 + + oxlint-plugin-react-doctor@0.9.17: dependencies: '@shaderfrog/glsl-parser': 7.0.1 - '@typescript-eslint/types': 8.71.0 + '@typescript-eslint/types': 8.71.1 eslint-scope: 9.1.2 eslint-visitor-keys: 5.0.1 lightningcss: 1.33.0 oxc-parser: 0.148.0 - oxlint@1.81.0: + oxlint-tsgolint@7.0.2003: + optionalDependencies: + '@oxlint-tsgolint/darwin-arm64': 7.0.2003 + '@oxlint-tsgolint/darwin-x64': 7.0.2003 + '@oxlint-tsgolint/linux-arm64': 7.0.2003 + '@oxlint-tsgolint/linux-x64': 7.0.2003 + '@oxlint-tsgolint/win32-arm64': 7.0.2003 + '@oxlint-tsgolint/win32-x64': 7.0.2003 + + oxlint@1.81.0(oxlint-tsgolint@7.0.2003): optionalDependencies: '@oxlint/binding-android-arm-eabi': 1.81.0 '@oxlint/binding-android-arm64': 1.81.0 @@ -18445,6 +17648,30 @@ snapshots: '@oxlint/binding-win32-arm64-msvc': 1.81.0 '@oxlint/binding-win32-ia32-msvc': 1.81.0 '@oxlint/binding-win32-x64-msvc': 1.81.0 + oxlint-tsgolint: 7.0.2003 + + oxlint@1.87.0(oxlint-tsgolint@7.0.2003): + optionalDependencies: + '@oxlint/binding-android-arm-eabi': 1.87.0 + '@oxlint/binding-android-arm64': 1.87.0 + '@oxlint/binding-darwin-arm64': 1.87.0 + '@oxlint/binding-darwin-x64': 1.87.0 + '@oxlint/binding-freebsd-x64': 1.87.0 + '@oxlint/binding-linux-arm-gnueabihf': 1.87.0 + '@oxlint/binding-linux-arm-musleabihf': 1.87.0 + '@oxlint/binding-linux-arm64-gnu': 1.87.0 + '@oxlint/binding-linux-arm64-musl': 1.87.0 + '@oxlint/binding-linux-ppc64-gnu': 1.87.0 + '@oxlint/binding-linux-riscv64-gnu': 1.87.0 + '@oxlint/binding-linux-riscv64-musl': 1.87.0 + '@oxlint/binding-linux-s390x-gnu': 1.87.0 + '@oxlint/binding-linux-x64-gnu': 1.87.0 + '@oxlint/binding-linux-x64-musl': 1.87.0 + '@oxlint/binding-openharmony-arm64': 1.87.0 + '@oxlint/binding-win32-arm64-msvc': 1.87.0 + '@oxlint/binding-win32-ia32-msvc': 1.87.0 + '@oxlint/binding-win32-x64-msvc': 1.87.0 + oxlint-tsgolint: 7.0.2003 p-cancelable@4.0.1: {} @@ -18472,11 +17699,7 @@ snapshots: p-try@2.2.0: {} - package-manager-detector@1.8.0: {} - - parent-module@1.0.1: - dependencies: - callsites: 3.1.0 + package-manager-detector@1.9.0: {} parse-entities@4.0.2: dependencies: @@ -18488,13 +17711,6 @@ snapshots: is-decimal: 2.0.1 is-hexadecimal: 2.0.1 - parse-json@5.2.0: - dependencies: - '@babel/code-frame': 7.29.7 - error-ex: 1.3.4 - json-parse-even-better-errors: 2.3.1 - lines-and-columns: 1.2.4 - parse-ms@4.0.0: {} parse-srcset@1.0.2: {} @@ -18568,7 +17784,7 @@ snapshots: playwright-core@1.61.1: optional: true - playwright-core@1.63.0: {} + playwright-core@1.64.0: {} playwright@1.61.1: dependencies: @@ -18581,16 +17797,14 @@ snapshots: dependencies: queue-lit: 1.5.2 - possible-typed-array-names@1.1.0: {} - postal-mime@2.7.6: {} - postcss-load-config@6.0.1(jiti@2.7.0)(postcss@8.5.28)(tsx@4.23.15)(yaml@2.9.1): + postcss-load-config@6.0.1(jiti@2.7.0)(postcss@8.5.29)(tsx@4.23.15)(yaml@2.9.1): dependencies: lilconfig: 3.1.3 optionalDependencies: jiti: 2.7.0 - postcss: 8.5.28 + postcss: 8.5.29 tsx: 4.23.15 yaml: 2.9.1 @@ -18601,13 +17815,13 @@ snapshots: postcss@8.5.23: dependencies: - nanoid: 3.3.19 + nanoid: 3.3.20 picocolors: 1.1.1 source-map-js: 1.2.2 - postcss@8.5.28: + postcss@8.5.29: dependencies: - nanoid: 3.3.19 + nanoid: 3.3.20 picocolors: 1.1.1 source-map-js: 1.2.2 @@ -18619,14 +17833,6 @@ snapshots: prelude-ls@1.2.1: {} - prettier-linter-helpers@1.0.1: - dependencies: - fast-diff: 1.3.0 - - prettier-plugin-tailwindcss@0.8.1(prettier@3.9.9): - dependencies: - prettier: 3.9.9 - prettier@3.9.9: {} pretty-format@27.5.1: @@ -18778,10 +17984,10 @@ snapshots: optionalDependencies: '@types/react': 19.3.0 - react-doctor@0.9.14(@opentelemetry/core@2.11.0(@opentelemetry/api@1.9.1))(eslint@10.11.0(jiti@2.7.0))(react@19.3.0): + react-doctor@0.9.17(@opentelemetry/core@2.12.0(@opentelemetry/api@1.9.1))(eslint@10.11.0(jiti@2.7.0))(oxlint-tsgolint@7.0.2003)(react@19.3.0): dependencies: '@astrojs/compiler': 4.0.0 - '@sentry/node': 10.75.3(@opentelemetry/core@2.11.0(@opentelemetry/api@1.9.1)) + '@sentry/node': 10.76.1(@opentelemetry/core@2.12.0(@opentelemetry/api@1.9.1)) agent-install: 0.0.5 bippy: 0.6.1(react@19.3.0) conf: 15.1.0 @@ -18792,9 +17998,9 @@ snapshots: magicast: 0.5.5 oxc-parser: 0.148.0 oxc-resolver: 11.24.2 - oxlint: 1.81.0 - oxlint-plugin-react-doctor: 0.9.14 - playwright-core: 1.63.0 + oxlint: 1.81.0(oxlint-tsgolint@7.0.2003) + oxlint-plugin-react-doctor: 0.9.17 + playwright-core: 1.64.0 prompts: 2.4.2 typescript: 5.9.3 yaml: 2.9.1 @@ -18813,7 +18019,7 @@ snapshots: react: 19.3.0 scheduler: 0.28.0 - react-email@6.11.0(react-dom@19.3.0(react@19.3.0))(react@19.3.0): + react-email@6.11.1(react-dom@19.3.0(react@19.3.0))(react@19.3.0): dependencies: '@babel/parser': 7.29.2 '@babel/traverse': 7.29.0 @@ -18872,12 +18078,12 @@ snapshots: optionalDependencies: '@types/react': 19.3.0 - react-resizable-panels@4.14.1(react-dom@19.3.0(react@19.3.0))(react@19.3.0): + react-resizable-panels@4.14.2(react-dom@19.3.0(react@19.3.0))(react@19.3.0): dependencies: react: 19.3.0 react-dom: 19.3.0(react@19.3.0) - react-scan@0.5.7(@opentelemetry/core@2.11.0(@opentelemetry/api@1.9.1))(esbuild@0.27.7)(eslint@10.11.0(jiti@2.7.0))(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.12)(rollup@4.63.5)(vite@8.3.1(@types/node@26.6.3)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)): + react-scan@0.5.7(@opentelemetry/core@2.12.0(@opentelemetry/api@1.9.1))(esbuild@0.27.7)(eslint@10.11.0(jiti@2.7.0))(oxlint-tsgolint@7.0.2003)(react-dom@19.3.0(react@19.3.0))(react@19.3.0)(rolldown@1.2.12)(rollup@4.63.5)(vite@8.3.3(@types/node@26.6.4)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)): dependencies: '@babel/core': 7.29.7 '@babel/types': 7.29.8 @@ -18889,12 +18095,12 @@ snapshots: preact: 10.29.8 prompts: 2.4.2 react: 19.3.0 - react-doctor: 0.9.14(@opentelemetry/core@2.11.0(@opentelemetry/api@1.9.1))(eslint@10.11.0(jiti@2.7.0))(react@19.3.0) + react-doctor: 0.9.17(@opentelemetry/core@2.12.0(@opentelemetry/api@1.9.1))(eslint@10.11.0(jiti@2.7.0))(oxlint-tsgolint@7.0.2003)(react@19.3.0) react-dom: 19.3.0(react@19.3.0) react-grab: 0.2.0(react@19.3.0) optionalDependencies: esbuild: 0.27.7 - unplugin: 3.4.0(esbuild@0.27.7)(rolldown@1.2.12)(rollup@4.63.5)(vite@8.3.1(@types/node@26.6.3)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) + unplugin: 3.4.0(esbuild@0.27.7)(rolldown@1.2.12)(rollup@4.63.5)(vite@8.3.3(@types/node@26.6.4)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) transitivePeerDependencies: - '@farmfe/core' - '@opentelemetry/core' @@ -18945,10 +18151,10 @@ snapshots: estree-util-build-jsx: 3.0.1 vfile: 6.0.3 - recma-jsx@1.0.1(acorn@8.18.0): + recma-jsx@1.0.1(acorn@8.19.0): dependencies: - acorn: 8.18.0 - acorn-jsx: 5.3.2(acorn@8.18.0) + acorn: 8.19.0 + acorn-jsx: 5.3.2(acorn@8.19.0) estree-util-to-js: 2.0.0 recma-parse: 1.0.0 recma-stringify: 1.0.0 @@ -18981,17 +18187,6 @@ snapshots: reflect-metadata@0.2.2: {} - reflect.getprototypeof@1.0.10: - dependencies: - call-bind: 1.0.9 - define-properties: 1.2.1 - es-abstract: 1.24.2 - es-errors: 1.3.0 - es-object-atoms: 1.1.2 - get-intrinsic: 1.3.0 - get-proto: 1.0.1 - which-builtin-type: 1.2.1 - regex-recursion@6.0.2: dependencies: regex-utilities: 2.3.0 @@ -19002,15 +18197,6 @@ snapshots: dependencies: regex-utilities: 2.3.0 - regexp.prototype.flags@1.5.4: - dependencies: - call-bind: 1.0.9 - define-properties: 1.2.1 - es-errors: 1.3.0 - get-proto: 1.0.1 - gopd: 1.2.0 - set-function-name: 2.0.2 - rehype-raw@7.0.0: dependencies: '@types/hast': 3.0.5 @@ -19046,7 +18232,7 @@ snapshots: remark-parse@11.0.0: dependencies: '@types/mdast': 4.0.4 - mdast-util-from-markdown: 2.0.3 + mdast-util-from-markdown: 2.1.0 micromark-util-types: 2.0.3 unified: 11.0.5 transitivePeerDependencies: @@ -19063,7 +18249,7 @@ snapshots: remark-stringify@11.0.0: dependencies: '@types/mdast': 4.0.4 - mdast-util-to-markdown: 2.1.3 + mdast-util-to-markdown: 2.2.0 unified: 11.0.5 remark@15.0.1: @@ -19090,7 +18276,7 @@ snapshots: reselect@5.3.0: {} - resend@6.31.0(@react-email/render@2.1.0(react-dom@19.3.0(react@19.3.0))(react@19.3.0)): + resend@6.32.1(@react-email/render@2.1.0(react-dom@19.3.0(react@19.3.0))(react@19.3.0)): dependencies: postal-mime: 2.7.6 standardwebhooks: 1.1.1 @@ -19099,8 +18285,6 @@ snapshots: resolve-alpn@1.2.1: {} - resolve-from@4.0.0: {} - resolve-from@5.0.0: {} resolve-pkg-maps@1.0.0: {} @@ -19139,6 +18323,27 @@ snapshots: '@rolldown/binding-win32-arm64-msvc': 1.2.12 '@rolldown/binding-win32-x64-msvc': 1.2.12 + rolldown@1.2.13: + dependencies: + '@oxc-project/types': 0.153.0 + '@rolldown/pluginutils': 1.0.1 + optionalDependencies: + '@rolldown/binding-android-arm-eabi': 1.2.13 + '@rolldown/binding-android-arm64': 1.2.13 + '@rolldown/binding-darwin-arm64': 1.2.13 + '@rolldown/binding-darwin-x64': 1.2.13 + '@rolldown/binding-freebsd-x64': 1.2.13 + '@rolldown/binding-linux-arm-gnueabihf': 1.2.13 + '@rolldown/binding-linux-arm64-gnu': 1.2.13 + '@rolldown/binding-linux-arm64-musl': 1.2.13 + '@rolldown/binding-linux-ppc64-gnu': 1.2.13 + '@rolldown/binding-linux-s390x-gnu': 1.2.13 + '@rolldown/binding-linux-x64-gnu': 1.2.13 + '@rolldown/binding-linux-x64-musl': 1.2.13 + '@rolldown/binding-openharmony-arm64': 1.2.13 + '@rolldown/binding-win32-arm64-msvc': 1.2.13 + '@rolldown/binding-win32-x64-msvc': 1.2.13 + rollup@4.63.5: dependencies: '@types/estree': 1.0.9 @@ -19193,36 +18398,17 @@ snapshots: dependencies: queue-microtask: 1.2.3 - safe-array-concat@1.1.4: - dependencies: - call-bind: 1.0.9 - call-bound: 1.0.4 - get-intrinsic: 1.3.0 - has-symbols: 1.1.0 - isarray: 2.0.5 - - safe-push-apply@1.0.0: - dependencies: - es-errors: 1.3.0 - isarray: 2.0.5 - - safe-regex-test@1.1.0: - dependencies: - call-bound: 1.0.4 - es-errors: 1.3.0 - is-regex: 1.2.1 - safer-buffer@2.1.2: {} - sanitize-html@2.17.7: + sanitize-html@2.18.0: dependencies: deepmerge: 4.3.1 escape-string-regexp: 4.0.0 htmlparser2: 12.0.0 is-plain-object: 5.1.0 - launder: 1.7.1 + launder: 1.7.2 parse-srcset: 1.0.2 - postcss: 8.5.28 + postcss: 8.5.29 saxes@6.0.0: dependencies: @@ -19270,16 +18456,10 @@ snapshots: transitivePeerDependencies: - supports-color - seroval-plugins@1.5.6(seroval@1.5.6): - dependencies: - seroval: 1.5.6 - seroval-plugins@1.6.8(seroval@1.6.8): dependencies: seroval: 1.6.8 - seroval@1.5.6: {} - seroval@1.6.8: {} serve-static@2.2.1: @@ -19291,43 +18471,21 @@ snapshots: transitivePeerDependencies: - supports-color - set-function-length@1.2.2: - dependencies: - define-data-property: 1.1.4 - es-errors: 1.3.0 - function-bind: 1.1.2 - get-intrinsic: 1.3.0 - gopd: 1.2.0 - has-property-descriptors: 1.0.2 - - set-function-name@2.0.2: - dependencies: - define-data-property: 1.1.4 - es-errors: 1.3.0 - functions-have-names: 1.2.3 - has-property-descriptors: 1.0.2 - - set-proto@1.0.0: - dependencies: - dunder-proto: 1.0.1 - es-errors: 1.3.0 - es-object-atoms: 1.1.2 - setprototypeof@1.2.0: {} - shadcn@4.21.0(typescript@6.0.3): + shadcn@4.21.4: dependencies: '@babel/core': 7.29.7 - '@babel/parser': 7.29.8 + '@babel/parser': 7.29.9 '@babel/plugin-transform-typescript': 7.29.9(@babel/core@7.29.7) '@babel/preset-typescript': 7.29.7(@babel/core@7.29.7) '@dotenvx/dotenvx': 1.75.1 - '@modelcontextprotocol/sdk': 1.31.0(zod@3.25.76) + '@modelcontextprotocol/sdk': 1.32.1(zod@3.25.76) + '@shadcn/registry': 0.1.3 '@types/validate-npm-package-name': 4.0.2 browserslist: 4.29.3 cn: 0.2.6 commander: 14.0.3 - cosmiconfig: 9.0.2(typescript@6.0.3) dedent: 1.7.2 deepmerge: 4.3.1 diff: 8.0.4 @@ -19338,7 +18496,7 @@ snapshots: kleur: 4.1.5 open: 11.0.4 ora: 8.2.0 - postcss: 8.5.28 + postcss: 8.5.29 postcss-selector-parser: 7.1.6 prompts: 2.4.2 recast: 0.23.21 @@ -19354,9 +18512,8 @@ snapshots: - '@cfworker/json-schema' - babel-plugin-macros - supports-color - - typescript - sharp@0.35.5(@types/node@26.6.3): + sharp@0.35.5(@types/node@26.6.4): dependencies: '@img/colour': 1.1.0 detect-libc: 2.1.2 @@ -19387,7 +18544,7 @@ snapshots: '@img/sharp-win32-arm64': 0.35.5 '@img/sharp-win32-ia32': 0.35.5 '@img/sharp-win32-x64': 0.35.5 - '@types/node': 26.6.3 + '@types/node': 26.6.4 shebang-command@2.0.0: dependencies: @@ -19397,14 +18554,14 @@ snapshots: shell-quote@1.11.0: {} - shiki@4.4.3: + shiki@4.5.0: dependencies: - '@shikijs/core': 4.4.3 - '@shikijs/engine-javascript': 4.4.3 - '@shikijs/engine-oniguruma': 4.4.3 - '@shikijs/langs': 4.4.3 - '@shikijs/themes': 4.4.3 - '@shikijs/types': 4.4.3 + '@shikijs/core': 4.5.0 + '@shikijs/engine-javascript': 4.5.0 + '@shikijs/engine-oniguruma': 4.5.0 + '@shikijs/langs': 4.5.0 + '@shikijs/themes': 4.5.0 + '@shikijs/types': 4.5.0 '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.5 @@ -19481,30 +18638,30 @@ snapshots: socks@2.8.10: dependencies: - ip-address: 10.7.2 + ip-address: 10.7.3 smart-buffer: 4.2.0 - solid-js@1.9.15: + solid-js@1.9.17: dependencies: csstype: 3.2.3 - seroval: 1.5.6 - seroval-plugins: 1.5.6(seroval@1.5.6) + seroval: 1.6.8 + seroval-plugins: 1.6.8(seroval@1.6.8) - solid-presence@0.2.0(solid-js@1.9.15): + solid-presence@0.2.0(solid-js@1.9.17): dependencies: - '@corvu/utils': 0.4.2(solid-js@1.9.15) - solid-js: 1.9.15 + '@corvu/utils': 0.4.2(solid-js@1.9.17) + solid-js: 1.9.17 - solid-prevent-scroll@0.1.11(solid-js@1.9.15): + solid-prevent-scroll@0.1.11(solid-js@1.9.17): dependencies: - '@corvu/utils': 0.4.2(solid-js@1.9.15) - solid-js: 1.9.15 + '@corvu/utils': 0.4.2(solid-js@1.9.17) + solid-js: 1.9.17 - solid-transition-group@0.2.3(solid-js@1.9.15): + solid-transition-group@0.2.3(solid-js@1.9.17): dependencies: - '@solid-primitives/refs': 1.1.4(solid-js@1.9.15) - '@solid-primitives/transition-group': 1.1.2(solid-js@1.9.15) - solid-js: 1.9.15 + '@solid-primitives/refs': 1.1.4(solid-js@1.9.17) + '@solid-primitives/transition-group': 1.1.2(solid-js@1.9.17) + solid-js: 1.9.17 sonner@2.0.8(@types/react@19.3.0)(react-dom@19.3.0(react@19.3.0))(react@19.3.0): dependencies: @@ -19533,8 +18690,6 @@ snapshots: srvx@1.0.5: {} - stable-hash-x@0.2.0: {} - standardwebhooks@1.1.1: dependencies: '@stablelib/base64': 1.0.1 @@ -19548,11 +18703,6 @@ snapshots: stdin-discarder@0.3.2: {} - stop-iteration-iterator@1.1.0: - dependencies: - es-errors: 1.3.0 - internal-slot: 1.1.0 - streamx@2.28.1: dependencies: events-universal: 1.0.1 @@ -19581,36 +18731,6 @@ snapshots: get-east-asian-width: 1.7.0 strip-ansi: 7.2.0 - string.prototype.includes@2.0.1: - dependencies: - call-bind: 1.0.9 - define-properties: 1.2.1 - es-abstract: 1.24.2 - - string.prototype.trim@1.2.11: - dependencies: - call-bind: 1.0.9 - call-bound: 1.0.4 - define-data-property: 1.1.4 - define-properties: 1.2.1 - es-abstract: 1.24.2 - es-object-atoms: 1.1.2 - has-property-descriptors: 1.0.2 - safe-regex-test: 1.1.0 - - string.prototype.trimend@1.0.10: - dependencies: - call-bind: 1.0.9 - call-bound: 1.0.4 - define-properties: 1.2.1 - es-object-atoms: 1.1.2 - - string.prototype.trimstart@1.0.8: - dependencies: - call-bind: 1.0.9 - define-properties: 1.2.1 - es-object-atoms: 1.1.2 - stringify-entities@4.0.4: dependencies: character-entities-html4: 2.1.0 @@ -19688,10 +18808,6 @@ snapshots: dependencies: copy-anything: 4.1.5 - synckit@0.11.13: - dependencies: - '@pkgr/core': 0.3.6 - system-architecture@1.0.0: {} systeminformation@5.33.15: {} @@ -19746,6 +18862,8 @@ snapshots: fdir: 6.5.0(picomatch@4.0.7) picomatch: 4.0.7 + tinypool@2.2.0: {} + tinyrainbow@3.2.0: {} tldts-core@7.4.16: {} @@ -19770,7 +18888,7 @@ snapshots: dependencies: tldts: 7.4.16 - tr46@6.0.0: + tr46@7.0.0: dependencies: punycode: 2.3.1 @@ -19784,11 +18902,6 @@ snapshots: dependencies: typescript: 6.0.3 - ts-declaration-location@1.0.7(typescript@6.0.3): - dependencies: - picomatch: 4.0.7 - typescript: 6.0.3 - ts-interface-checker@0.1.13: {} ts-morph@26.0.0: @@ -19818,7 +18931,7 @@ snapshots: tslib@2.8.1: {} - tsup@8.5.1(@swc/core@1.16.13(@swc/helpers@0.5.23))(jiti@2.7.0)(postcss@8.5.28)(tsx@4.23.15)(typescript@6.0.3)(yaml@2.9.1): + tsup@8.5.1(@swc/core@1.16.13(@swc/helpers@0.5.23))(jiti@2.7.0)(postcss@8.5.29)(tsx@4.23.15)(typescript@6.0.3)(yaml@2.9.1): dependencies: bundle-require: 5.1.0(esbuild@0.27.7) cac: 6.7.14 @@ -19829,7 +18942,7 @@ snapshots: fix-dts-default-cjs-exports: 1.0.1 joycon: 3.1.1 picocolors: 1.1.1 - postcss-load-config: 6.0.1(jiti@2.7.0)(postcss@8.5.28)(tsx@4.23.15)(yaml@2.9.1) + postcss-load-config: 6.0.1(jiti@2.7.0)(postcss@8.5.29)(tsx@4.23.15)(yaml@2.9.1) resolve-from: 5.0.0 rollup: 4.63.5 source-map: 0.7.6 @@ -19839,7 +18952,7 @@ snapshots: tree-kill: 1.2.2 optionalDependencies: '@swc/core': 1.16.13(@swc/helpers@0.5.23) - postcss: 8.5.28 + postcss: 8.5.29 typescript: 6.0.3 transitivePeerDependencies: - jiti @@ -19857,14 +18970,14 @@ snapshots: dependencies: tslib: 1.14.1 - turbo@2.11.5: + turbo@2.11.7: optionalDependencies: - '@turbo/darwin-64': 2.11.5 - '@turbo/darwin-arm64': 2.11.5 - '@turbo/linux-64': 2.11.5 - '@turbo/linux-arm64': 2.11.5 - '@turbo/windows-64': 2.11.5 - '@turbo/windows-arm64': 2.11.5 + '@turbo/darwin-64': 2.11.7 + '@turbo/darwin-arm64': 2.11.7 + '@turbo/linux-64': 2.11.7 + '@turbo/linux-arm64': 2.11.7 + '@turbo/windows-64': 2.11.7 + '@turbo/windows-arm64': 2.11.7 tw-animate-css@1.4.0: {} @@ -19884,49 +18997,6 @@ snapshots: media-typer: 1.1.1 mime-types: 3.0.2 - typed-array-buffer@1.0.3: - dependencies: - call-bound: 1.0.4 - es-errors: 1.3.0 - is-typed-array: 1.1.15 - - typed-array-byte-length@1.0.3: - dependencies: - call-bind: 1.0.9 - for-each: 0.3.5 - gopd: 1.2.0 - has-proto: 1.2.0 - is-typed-array: 1.1.15 - - typed-array-byte-offset@1.0.5: - dependencies: - available-typed-arrays: 1.0.7 - call-bind: 1.0.9 - for-each: 0.3.5 - gopd: 1.2.0 - is-typed-array: 1.1.15 - reflect.getprototypeof: 1.0.10 - - typed-array-length@1.0.8: - dependencies: - call-bind: 1.0.9 - for-each: 0.3.5 - gopd: 1.2.0 - is-typed-array: 1.1.15 - possible-typed-array-names: 1.1.0 - reflect.getprototypeof: 1.0.10 - - typescript-eslint@8.71.0(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3): - dependencies: - '@typescript-eslint/eslint-plugin': 8.71.0(@typescript-eslint/parser@8.71.0(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - '@typescript-eslint/parser': 8.71.0(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - '@typescript-eslint/typescript-estree': 8.71.0(typescript@6.0.3) - '@typescript-eslint/utils': 8.71.0(eslint@10.11.0(jiti@2.7.0))(typescript@6.0.3) - eslint: 10.11.0(jiti@2.7.0) - typescript: 6.0.3 - transitivePeerDependencies: - - supports-color - typescript@5.9.3: {} typescript@6.0.3: {} @@ -19935,13 +19005,6 @@ snapshots: uint8array-extras@1.6.0: {} - unbox-primitive@1.1.0: - dependencies: - call-bound: 1.0.4 - has-bigints: 1.1.0 - has-symbols: 1.1.0 - which-boxed-primitive: 1.1.1 - unbzip2-stream@1.4.3: dependencies: buffer: 5.7.1 @@ -20012,7 +19075,7 @@ snapshots: unpipe@1.0.0: {} - unplugin@3.4.0(esbuild@0.27.7)(rolldown@1.2.12)(rollup@4.63.5)(vite@8.3.1(@types/node@26.6.3)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)): + unplugin@3.4.0(esbuild@0.27.7)(rolldown@1.2.12)(rollup@4.63.5)(vite@8.3.3(@types/node@26.6.4)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)): dependencies: '@jridgewell/remapping': 2.3.5 picomatch: 4.0.7 @@ -20021,49 +19084,34 @@ snapshots: esbuild: 0.27.7 rolldown: 1.2.12 rollup: 4.63.5 - vite: 8.3.1(@types/node@26.6.3)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) + vite: 8.3.3(@types/node@26.6.4)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) + optional: true - unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.12)(rollup@4.63.5)(vite@8.3.1(@types/node@26.6.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)): + unplugin@3.4.0(esbuild@0.27.7)(rolldown@1.2.13)(rollup@4.63.5)(vite@8.3.3(@types/node@26.6.4)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)): dependencies: '@jridgewell/remapping': 2.3.5 picomatch: 4.0.7 webpack-virtual-modules: 0.6.2 optionalDependencies: - esbuild: 0.28.2 - rolldown: 1.2.12 + esbuild: 0.27.7 + rolldown: 1.2.13 rollup: 4.63.5 - vite: 8.3.1(@types/node@26.6.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) + vite: 8.3.3(@types/node@26.6.4)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) - unrs-resolver@1.12.2: + unplugin@3.4.0(esbuild@0.28.2)(rolldown@1.2.13)(rollup@4.63.5)(vite@8.3.3(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)): dependencies: - napi-postinstall: 0.3.4 + '@jridgewell/remapping': 2.3.5 + picomatch: 4.0.7 + webpack-virtual-modules: 0.6.2 optionalDependencies: - '@unrs/resolver-binding-android-arm-eabi': 1.12.2 - '@unrs/resolver-binding-android-arm64': 1.12.2 - '@unrs/resolver-binding-darwin-arm64': 1.12.2 - '@unrs/resolver-binding-darwin-x64': 1.12.2 - '@unrs/resolver-binding-freebsd-x64': 1.12.2 - '@unrs/resolver-binding-linux-arm-gnueabihf': 1.12.2 - '@unrs/resolver-binding-linux-arm-musleabihf': 1.12.2 - '@unrs/resolver-binding-linux-arm64-gnu': 1.12.2 - '@unrs/resolver-binding-linux-arm64-musl': 1.12.2 - '@unrs/resolver-binding-linux-loong64-gnu': 1.12.2 - '@unrs/resolver-binding-linux-loong64-musl': 1.12.2 - '@unrs/resolver-binding-linux-ppc64-gnu': 1.12.2 - '@unrs/resolver-binding-linux-riscv64-gnu': 1.12.2 - '@unrs/resolver-binding-linux-riscv64-musl': 1.12.2 - '@unrs/resolver-binding-linux-s390x-gnu': 1.12.2 - '@unrs/resolver-binding-linux-x64-gnu': 1.12.2 - '@unrs/resolver-binding-linux-x64-musl': 1.12.2 - '@unrs/resolver-binding-openharmony-arm64': 1.12.2 - '@unrs/resolver-binding-wasm32-wasi': 1.12.2 - '@unrs/resolver-binding-win32-arm64-msvc': 1.12.2 - '@unrs/resolver-binding-win32-ia32-msvc': 1.12.2 - '@unrs/resolver-binding-win32-x64-msvc': 1.12.2 + esbuild: 0.28.2 + rolldown: 1.2.13 + rollup: 4.63.5 + vite: 8.3.3(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) unstorage@2.0.0-alpha.10: {} - update-browserslist-db@1.3.3(browserslist@4.29.3): + update-browserslist-db@1.3.4(browserslist@4.29.3): dependencies: browserslist: 4.29.3 escalade: 3.2.0 @@ -20084,11 +19132,11 @@ snapshots: dependencies: react: 19.3.0 - use-intl@4.14.8(@types/react@19.3.0)(react@19.3.0): + use-intl@4.14.9(@types/react@19.3.0)(react@19.3.0): dependencies: '@formatjs/fast-memoize': 3.1.7 '@schummar/icu-type-parser': 1.21.5 - icu-minify: 4.14.8 + icu-minify: 4.14.9 intl-messageformat: 11.2.15 react: 19.3.0 optionalDependencies: @@ -20129,48 +19177,48 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.3 - vite@8.3.1(@types/node@26.6.3)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1): + vite@8.3.3(@types/node@26.6.4)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1): dependencies: lightningcss: 1.33.0 picomatch: 4.0.7 - postcss: 8.5.28 - rolldown: 1.2.12 + postcss: 8.5.29 + rolldown: 1.2.13 tinyglobby: 0.2.17 optionalDependencies: - '@types/node': 26.6.3 + '@types/node': 26.6.4 esbuild: 0.27.7 fsevents: 2.3.3 jiti: 2.7.0 tsx: 4.23.15 yaml: 2.9.1 - vite@8.3.1(@types/node@26.6.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1): + vite@8.3.3(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1): dependencies: lightningcss: 1.33.0 picomatch: 4.0.7 - postcss: 8.5.28 - rolldown: 1.2.12 + postcss: 8.5.29 + rolldown: 1.2.13 tinyglobby: 0.2.17 optionalDependencies: - '@types/node': 26.6.3 + '@types/node': 26.6.4 esbuild: 0.28.2 fsevents: 2.3.3 jiti: 2.7.0 tsx: 4.23.15 yaml: 2.9.1 - vitefu@1.1.3(vite@8.3.1(@types/node@26.6.3)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)): + vitefu@1.1.3(vite@8.3.3(@types/node@26.6.4)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)): optionalDependencies: - vite: 8.3.1(@types/node@26.6.3)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) + vite: 8.3.3(@types/node@26.6.4)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) - vitefu@1.1.3(vite@8.3.1(@types/node@26.6.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)): + vitefu@1.1.3(vite@8.3.3(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)): optionalDependencies: - vite: 8.3.1(@types/node@26.6.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) + vite: 8.3.3(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) - vitest@5.0.3(@opentelemetry/api@1.9.1)(@types/node@26.6.3)(@vitest/coverage-v8@5.0.3)(jsdom@30.1.1)(vite@8.3.1(@types/node@26.6.3)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)): + vitest@5.0.3(@opentelemetry/api@1.9.1)(@types/node@26.6.4)(@vitest/coverage-v8@5.0.3)(jsdom@30.1.2)(vite@8.3.3(@types/node@26.6.4)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)): dependencies: '@types/chai': 5.2.3 - '@vitest/mocker': 5.0.3(vite@8.3.1(@types/node@26.6.3)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) + '@vitest/mocker': 5.0.3(vite@8.3.3(@types/node@26.6.4)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) chai: 6.2.2 es-module-lexer: 2.3.2 expect-type: 1.4.0 @@ -20181,20 +19229,20 @@ snapshots: tinybench: 6.2.0 tinyexec: 1.3.1 tinyglobby: 0.2.17 - vite: 8.3.1(@types/node@26.6.3)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) + vite: 8.3.3(@types/node@26.6.4)(esbuild@0.27.7)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) why-is-node-running: 3.2.1 optionalDependencies: '@opentelemetry/api': 1.9.1 - '@types/node': 26.6.3 + '@types/node': 26.6.4 '@vitest/coverage-v8': 5.0.3(vitest@5.0.3) - jsdom: 30.1.1 + jsdom: 30.1.2 transitivePeerDependencies: - msw - vitest@5.0.3(@opentelemetry/api@1.9.1)(@types/node@26.6.3)(@vitest/coverage-v8@5.0.3)(jsdom@30.1.1)(vite@8.3.1(@types/node@26.6.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)): + vitest@5.0.3(@opentelemetry/api@1.9.1)(@types/node@26.6.4)(@vitest/coverage-v8@5.0.3)(jsdom@30.1.2)(vite@8.3.3(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)): dependencies: '@types/chai': 5.2.3 - '@vitest/mocker': 5.0.3(vite@8.3.1(@types/node@26.6.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) + '@vitest/mocker': 5.0.3(vite@8.3.3(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) chai: 6.2.2 es-module-lexer: 2.3.2 expect-type: 1.4.0 @@ -20205,28 +19253,16 @@ snapshots: tinybench: 6.2.0 tinyexec: 1.3.1 tinyglobby: 0.2.17 - vite: 8.3.1(@types/node@26.6.3)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) + vite: 8.3.3(@types/node@26.6.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) why-is-node-running: 3.2.1 optionalDependencies: '@opentelemetry/api': 1.9.1 - '@types/node': 26.6.3 + '@types/node': 26.6.4 '@vitest/coverage-v8': 5.0.3(vitest@5.0.3) - jsdom: 30.1.1 + jsdom: 30.1.2 transitivePeerDependencies: - msw - vue-eslint-parser@10.4.1(eslint@10.11.0(jiti@2.7.0)): - dependencies: - debug: 4.4.3 - eslint: 10.11.0(jiti@2.7.0) - eslint-scope: 9.1.2 - eslint-visitor-keys: 5.0.1 - espree: 11.2.0 - esquery: 1.7.0 - semver: 7.8.5 - transitivePeerDependencies: - - supports-color - w3c-keyname@2.2.8: {} w3c-xmlserializer@6.0.0: @@ -20243,65 +19279,16 @@ snapshots: whatwg-mimetype@5.0.0: {} - whatwg-url@16.0.1: - dependencies: - '@exodus/bytes': 1.16.0 - tr46: 6.0.0 - webidl-conversions: 8.0.1 - transitivePeerDependencies: - - '@noble/hashes' - - whatwg-url@17.1.2: + whatwg-url@17.2.0: dependencies: '@exodus/bytes': 1.16.0 - tr46: 6.0.0 + tr46: 7.0.0 webidl-conversions: 8.0.1 transitivePeerDependencies: - '@noble/hashes' when-exit@2.1.5: {} - which-boxed-primitive@1.1.1: - dependencies: - is-bigint: 1.1.0 - is-boolean-object: 1.2.2 - is-number-object: 1.1.1 - is-string: 1.1.1 - is-symbol: 1.1.1 - - which-builtin-type@1.2.1: - dependencies: - call-bound: 1.0.4 - function.prototype.name: 1.2.0 - has-tostringtag: 1.0.2 - is-async-function: 2.1.1 - is-date-object: 1.1.0 - is-finalizationregistry: 1.1.1 - is-generator-function: 1.1.2 - is-regex: 1.2.1 - is-weakref: 1.1.1 - isarray: 2.0.5 - which-boxed-primitive: 1.1.1 - which-collection: 1.0.2 - which-typed-array: 1.1.24 - - which-collection@1.0.2: - dependencies: - is-map: 2.0.3 - is-set: 2.0.3 - is-weakmap: 2.0.2 - is-weakset: 2.0.4 - - which-typed-array@1.1.24: - dependencies: - available-typed-arrays: 1.0.7 - call-bind: 1.0.9 - call-bound: 1.0.4 - for-each: 0.3.5 - get-proto: 1.0.1 - gopd: 1.2.0 - has-tostringtag: 1.0.2 - which@2.0.2: dependencies: isexe: 2.0.0 diff --git a/scripts/bump-version/bump-version.ts b/scripts/bump-version/bump-version.ts index 4ef531b9c0..bb5a984c62 100644 --- a/scripts/bump-version/bump-version.ts +++ b/scripts/bump-version/bump-version.ts @@ -1,5 +1,3 @@ - - import { validateEnvironment } from "./environment.ts"; import { FileCopyManager } from "./files/file-copy-manager.ts"; import { VersionManager } from "./version-manager.ts"; diff --git a/scripts/bump-version/version-manager.ts b/scripts/bump-version/version-manager.ts index f40cefa711..40594097c8 100644 --- a/scripts/bump-version/version-manager.ts +++ b/scripts/bump-version/version-manager.ts @@ -204,7 +204,7 @@ export class VersionManager { child.on("error", reject); child.stderr.on("data", (chunk: Buffer) => errorMessages.push(chunk)); - child.on("exit", (code) => { + child.on("exit", code => { if (code === 0) { resolve(undefined); } else { diff --git a/turbo.json b/turbo.json index dbb0d2a0e9..ce3f703e40 100644 --- a/turbo.json +++ b/turbo.json @@ -60,10 +60,10 @@ "env": ["POSTGRES_URL", "VITNODE_API_URL", "VITNODE_WEB_URL"] }, "lint": { - "dependsOn": ["^lint"] + "cache": false }, "lint:fix": { - "dependsOn": ["^lint:fix"] + "cache": false }, "start": { "dependsOn": ["^start"]