From 3e79cb2a7311164f2bcd907903477b6e49749186 Mon Sep 17 00:00:00 2001 From: pheralb Date: Mon, 23 Feb 2026 10:25:24 +0000 Subject: [PATCH 01/14] fix: fixed eslint warnings --- apps/website/src/app/api/docs/[folder]/[...slug]/route.ts | 5 +++-- apps/website/src/mdx/plugins/rehypeReactDoc.ts | 2 -- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/apps/website/src/app/api/docs/[folder]/[...slug]/route.ts b/apps/website/src/app/api/docs/[folder]/[...slug]/route.ts index 1df1ff0..3a10f88 100644 --- a/apps/website/src/app/api/docs/[folder]/[...slug]/route.ts +++ b/apps/website/src/app/api/docs/[folder]/[...slug]/route.ts @@ -1,5 +1,7 @@ +import type { NextRequest } from "next/server"; + import { getDocument } from "@/utils/docs"; -import { NextRequest, NextResponse } from "next/server"; +import { NextResponse } from "next/server"; interface ApiDocsPageProps { params: Promise<{ folder: string; slug: string[] }>; @@ -7,7 +9,6 @@ interface ApiDocsPageProps { export async function GET(request: NextRequest, { params }: ApiDocsPageProps) { const { folder, slug } = await params; - console.log('folder:', folder, 'slug:', slug); const document = slug.join("/"); const data = getDocument({ folder, diff --git a/apps/website/src/mdx/plugins/rehypeReactDoc.ts b/apps/website/src/mdx/plugins/rehypeReactDoc.ts index d479be3..cbd74b3 100644 --- a/apps/website/src/mdx/plugins/rehypeReactDoc.ts +++ b/apps/website/src/mdx/plugins/rehypeReactDoc.ts @@ -102,7 +102,6 @@ export function rehypeReactDoc() { let filteredProps: [string, unknown][] = propEntries; let reactParentName: string | null = null; if (!fullProp) { - // eslint-disable-next-line @typescript-eslint/no-unused-vars filteredProps = propEntries.filter(([_, prop]) => { const parent = ( prop as { @@ -123,7 +122,6 @@ export function rehypeReactDoc() { } return [ - // eslint-disable-next-line @typescript-eslint/no-unused-vars ...filteredProps.map(([_, prop]) => { const p = prop as PropType; return u("element", { From f9f18ccee6b89fc060c14ecf8b1650f2a5258329 Mon Sep 17 00:00:00 2001 From: pheralb Date: Mon, 23 Feb 2026 10:25:56 +0000 Subject: [PATCH 02/14] feat: (eslint) add ``tsconfigRootDir`` property to nextjs config --- packages/eslint/configs/nextjs.ts | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/packages/eslint/configs/nextjs.ts b/packages/eslint/configs/nextjs.ts index 5abce5a..7f6f941 100644 --- a/packages/eslint/configs/nextjs.ts +++ b/packages/eslint/configs/nextjs.ts @@ -13,6 +13,26 @@ const nextConfig = defineConfig([ ...nextVitals, ...nextTs, prettier, + { + rules: { + "@typescript-eslint/no-unused-vars": [ + "error", + { argsIgnorePattern: "^_", varsIgnorePattern: "^_" }, + ], + "@typescript-eslint/consistent-type-imports": [ + "warn", + { prefer: "type-imports", fixStyle: "separate-type-imports" }, + ], + }, + }, + { + languageOptions: { + parserOptions: { + projectService: true, + tsconfigRootDir: import.meta.dirname, + }, + }, + }, ]); export { nextConfig }; From 08edb56685b6b3a9566e1034d79a50bcb3f722ba Mon Sep 17 00:00:00 2001 From: pheralb Date: Wed, 25 Feb 2026 13:23:01 +0000 Subject: [PATCH 03/14] fix: update registry types + imports --- apps/website/src/components/docs/component-preview.tsx | 2 +- apps/website/src/components/docs/show-source.tsx | 2 +- apps/website/src/components/registry/build-registry.ts | 2 +- apps/website/src/components/registry/check-registry.ts | 2 +- apps/website/src/components/registry/data.tsx | 2 +- apps/website/src/components/registry/get-component.ts | 2 +- .../src/{components/registry/types.ts => types/registry.ts} | 0 7 files changed, 6 insertions(+), 6 deletions(-) rename apps/website/src/{components/registry/types.ts => types/registry.ts} (100%) diff --git a/apps/website/src/components/docs/component-preview.tsx b/apps/website/src/components/docs/component-preview.tsx index d1a920f..26ee2ad 100644 --- a/apps/website/src/components/docs/component-preview.tsx +++ b/apps/website/src/components/docs/component-preview.tsx @@ -1,5 +1,5 @@ import type { ComponentProps, ReactNode } from "react"; -import type { RegistryComponent } from "@/components/registry/types"; +import type { RegistryComponent } from "@/types/registry"; import { Suspense } from "react"; import { createElement, useMemo } from "react"; diff --git a/apps/website/src/components/docs/show-source.tsx b/apps/website/src/components/docs/show-source.tsx index 0a09faa..be18d7c 100644 --- a/apps/website/src/components/docs/show-source.tsx +++ b/apps/website/src/components/docs/show-source.tsx @@ -1,5 +1,5 @@ import type { ComponentProps, ReactNode } from "react"; -import type { RegistryComponent } from "@/components/registry/types"; +import type { RegistryComponent } from "@/types/registry"; interface ShowSourceProps extends ComponentProps<"div"> { component: RegistryComponent["title"]; diff --git a/apps/website/src/components/registry/build-registry.ts b/apps/website/src/components/registry/build-registry.ts index fba6be9..8a2cdf8 100644 --- a/apps/website/src/components/registry/build-registry.ts +++ b/apps/website/src/components/registry/build-registry.ts @@ -1,4 +1,4 @@ -import type { ShadcnRegistry } from "./types"; +import type { ShadcnRegistry } from "@/types/registry"; import chalk from "chalk"; import { RegistryData } from "./data"; diff --git a/apps/website/src/components/registry/check-registry.ts b/apps/website/src/components/registry/check-registry.ts index 8020a57..53f583b 100644 --- a/apps/website/src/components/registry/check-registry.ts +++ b/apps/website/src/components/registry/check-registry.ts @@ -1,4 +1,4 @@ -import type { RegistryComponent } from "./types"; +import type { RegistryComponent } from "@/types/registry"; import chalk from "chalk"; import { RegistryData } from "./data"; diff --git a/apps/website/src/components/registry/data.tsx b/apps/website/src/components/registry/data.tsx index 94cfdee..85dccf7 100644 --- a/apps/website/src/components/registry/data.tsx +++ b/apps/website/src/components/registry/data.tsx @@ -1,4 +1,4 @@ -import type { RegistryComponent } from "@/components/registry/types"; +import type { RegistryComponent } from "@/types/registry"; import { lazy } from "react"; // Settings: diff --git a/apps/website/src/components/registry/get-component.ts b/apps/website/src/components/registry/get-component.ts index e216bfd..c705e85 100644 --- a/apps/website/src/components/registry/get-component.ts +++ b/apps/website/src/components/registry/get-component.ts @@ -1,4 +1,4 @@ -import type { RegistryComponent } from "./types"; +import type { RegistryComponent } from "@/types/registry"; import { RegistryData } from "./data"; export const getComponent = (title: string): RegistryComponent | undefined => { diff --git a/apps/website/src/components/registry/types.ts b/apps/website/src/types/registry.ts similarity index 100% rename from apps/website/src/components/registry/types.ts rename to apps/website/src/types/registry.ts From 3f92c24afbf314a3771503ca26d2accf01c4bce9 Mon Sep 17 00:00:00 2001 From: pheralb Date: Wed, 25 Feb 2026 13:23:15 +0000 Subject: [PATCH 04/14] chore: add dist folder to gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 88549c1..30ea395 100644 --- a/.gitignore +++ b/.gitignore @@ -20,6 +20,7 @@ out # production /build +dist # misc .DS_Store From f13188a7b21501d681dbf8809c7353df4a07488c Mon Sep 17 00:00:00 2001 From: pheralb Date: Wed, 25 Feb 2026 13:57:03 +0000 Subject: [PATCH 05/14] chore: (website) upgrade dependencies --- apps/website/package.json | 28 +- pnpm-lock.yaml | 574 +++++++++++++++++++++----------------- 2 files changed, 332 insertions(+), 270 deletions(-) diff --git a/apps/website/package.json b/apps/website/package.json index d0098b9..4c43fd7 100644 --- a/apps/website/package.json +++ b/apps/website/package.json @@ -20,45 +20,45 @@ "class-variance-authority": "0.7.1", "clsx": "2.1.1", "cmdk": "1.1.1", - "lucide-react": "0.564.0", - "motion": "12.34.0", + "lucide-react": "0.575.0", + "motion": "12.34.3", "next": "16.1.6", "next-themes": "0.4.6", "react": "19.2.4", "react-dom": "19.2.4", "react-hotkeys-hook": "5.2.4", - "shadcn": "3.8.4", + "shadcn": "3.8.5", "swr": "2.4.0", - "tailwind-merge": "3.4.1", + "tailwind-merge": "3.5.0", "zod": "4.3.6", "zustand": "5.0.11" }, "devDependencies": { "@code-blocks/eslint": "workspace:*", "@content-collections/cli": "0.1.9", - "@content-collections/core": "0.14.0", + "@content-collections/core": "0.14.1", "@content-collections/mdx": "0.2.2", "@content-collections/next": "0.2.11", - "@shikijs/langs": "3.22.0", - "@shikijs/rehype": "3.22.0", - "@shikijs/themes": "3.22.0", - "@shikijs/transformers": "3.22.0", - "@tailwindcss/postcss": "4.1.18", + "@shikijs/langs": "3.23.0", + "@shikijs/rehype": "3.23.0", + "@shikijs/themes": "3.23.0", + "@shikijs/transformers": "3.23.0", + "@tailwindcss/postcss": "4.2.1", "@tailwindcss/typography": "0.5.19", "@types/mdx": "2.0.13", - "@types/node": "22.19.7", + "@types/node": "22.19.11", "@types/react": "19.2.14", "@types/react-dom": "19.2.3", "chalk": "5.6.2", - "eslint": "9.39.2", + "eslint": "9.39.3", "github-slugger": "2.0.0", "react-docgen-typescript": "2.4.0", "rehype-autolink-headings": "7.1.0", "rehype-slug": "6.0.0", "remark-gfm": "4.0.1", - "shiki": "3.22.0", + "shiki": "3.23.0", "sugar-high": "0.9.5", - "tailwindcss": "4.1.18", + "tailwindcss": "4.2.1", "tsx": "4.21.0", "tw-animate-css": "1.4.0", "typescript": "5.9.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f5c656b..b17e568 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -39,11 +39,11 @@ importers: specifier: 1.1.1 version: 1.1.1(@types/react-dom@19.2.3(@types/react@19.2.14))(@types/react@19.2.14)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) lucide-react: - specifier: 0.564.0 - version: 0.564.0(react@19.2.4) + specifier: 0.575.0 + version: 0.575.0(react@19.2.4) motion: - specifier: 12.34.0 - version: 12.34.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + specifier: 12.34.3 + version: 12.34.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4) next: specifier: 16.1.6 version: 16.1.6(@babel/core@7.29.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) @@ -60,14 +60,14 @@ importers: specifier: 5.2.4 version: 5.2.4(react-dom@19.2.4(react@19.2.4))(react@19.2.4) shadcn: - specifier: 3.8.4 - version: 3.8.4(@types/node@22.19.7)(typescript@5.9.3) + specifier: 3.8.5 + version: 3.8.5(@types/node@22.19.11)(typescript@5.9.3) swr: specifier: 2.4.0 version: 2.4.0(react@19.2.4) tailwind-merge: - specifier: 3.4.1 - version: 3.4.1 + specifier: 3.5.0 + version: 3.5.0 zod: specifier: 4.3.6 version: 4.3.6 @@ -80,40 +80,40 @@ importers: version: link:../../packages/eslint '@content-collections/cli': specifier: 0.1.9 - version: 0.1.9(@content-collections/core@0.14.0(typescript@5.9.3)) + version: 0.1.9(@content-collections/core@0.14.1(typescript@5.9.3)) '@content-collections/core': - specifier: 0.14.0 - version: 0.14.0(typescript@5.9.3) + specifier: 0.14.1 + version: 0.14.1(typescript@5.9.3) '@content-collections/mdx': specifier: 0.2.2 - version: 0.2.2(@content-collections/core@0.14.0(typescript@5.9.3))(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + version: 0.2.2(@content-collections/core@0.14.1(typescript@5.9.3))(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@content-collections/next': specifier: 0.2.11 - version: 0.2.11(@content-collections/core@0.14.0(typescript@5.9.3))(next@16.1.6(@babel/core@7.29.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)) + version: 0.2.11(@content-collections/core@0.14.1(typescript@5.9.3))(next@16.1.6(@babel/core@7.29.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4)) '@shikijs/langs': - specifier: 3.22.0 - version: 3.22.0 + specifier: 3.23.0 + version: 3.23.0 '@shikijs/rehype': - specifier: 3.22.0 - version: 3.22.0 + specifier: 3.23.0 + version: 3.23.0 '@shikijs/themes': - specifier: 3.22.0 - version: 3.22.0 + specifier: 3.23.0 + version: 3.23.0 '@shikijs/transformers': - specifier: 3.22.0 - version: 3.22.0 + specifier: 3.23.0 + version: 3.23.0 '@tailwindcss/postcss': - specifier: 4.1.18 - version: 4.1.18 + specifier: 4.2.1 + version: 4.2.1 '@tailwindcss/typography': specifier: 0.5.19 - version: 0.5.19(tailwindcss@4.1.18) + version: 0.5.19(tailwindcss@4.2.1) '@types/mdx': specifier: 2.0.13 version: 2.0.13 '@types/node': - specifier: 22.19.7 - version: 22.19.7 + specifier: 22.19.11 + version: 22.19.11 '@types/react': specifier: 19.2.14 version: 19.2.14 @@ -124,8 +124,8 @@ importers: specifier: 5.6.2 version: 5.6.2 eslint: - specifier: 9.39.2 - version: 9.39.2(jiti@2.6.1) + specifier: 9.39.3 + version: 9.39.3(jiti@2.6.1) github-slugger: specifier: 2.0.0 version: 2.0.0 @@ -142,14 +142,14 @@ importers: specifier: 4.0.1 version: 4.0.1 shiki: - specifier: 3.22.0 - version: 3.22.0 + specifier: 3.23.0 + version: 3.23.0 sugar-high: specifier: 0.9.5 version: 0.9.5 tailwindcss: - specifier: 4.1.18 - version: 4.1.18 + specifier: 4.2.1 + version: 4.2.1 tsx: specifier: 4.21.0 version: 4.21.0 @@ -403,8 +403,8 @@ packages: peerDependencies: '@content-collections/core': 0.x - '@content-collections/core@0.14.0': - resolution: {integrity: sha512-RpgtpD7o6/5KsXGwfJPMSHpYNKvvgo4zFziX/tSowc5PDkW/eKBz7p+nQ3CSpWsAzpS1r5i0er7plfCsalBuwQ==} + '@content-collections/core@0.14.1': + resolution: {integrity: sha512-mfviKnONzVcr1D3uasZFEk0E9N4a7liCra06imQrmKF07nGDuvrRKUFoUwUc2IGrW3EYqKF/KV06zfJRzNe3sg==} peerDependencies: typescript: ^5.0.2 @@ -805,6 +805,10 @@ packages: resolution: {integrity: sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/js@9.39.3': + resolution: {integrity: sha512-1B1VkCq6FuUNlQvlBYb+1jDu/gV297TIs/OeiaSR9l1H27SVW55ONE1e1Vp16NqP683+xEGzxYtv4XCiDPaQiw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/object-schema@2.1.7': resolution: {integrity: sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1390,29 +1394,29 @@ packages: '@sec-ant/readable-stream@0.4.1': resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} - '@shikijs/core@3.22.0': - resolution: {integrity: sha512-iAlTtSDDbJiRpvgL5ugKEATDtHdUVkqgHDm/gbD2ZS9c88mx7G1zSYjjOxp5Qa0eaW0MAQosFRmJSk354PRoQA==} + '@shikijs/core@3.23.0': + resolution: {integrity: sha512-NSWQz0riNb67xthdm5br6lAkvpDJRTgB36fxlo37ZzM2yq0PQFFzbd8psqC2XMPgCzo1fW6cVi18+ArJ44wqgA==} - '@shikijs/engine-javascript@3.22.0': - resolution: {integrity: sha512-jdKhfgW9CRtj3Tor0L7+yPwdG3CgP7W+ZEqSsojrMzCjD1e0IxIbwUMDDpYlVBlC08TACg4puwFGkZfLS+56Tw==} + '@shikijs/engine-javascript@3.23.0': + resolution: {integrity: sha512-aHt9eiGFobmWR5uqJUViySI1bHMqrAgamWE1TYSUoftkAeCCAiGawPMwM+VCadylQtF4V3VNOZ5LmfItH5f3yA==} - '@shikijs/engine-oniguruma@3.22.0': - resolution: {integrity: sha512-DyXsOG0vGtNtl7ygvabHd7Mt5EY8gCNqR9Y7Lpbbd/PbJvgWrqaKzH1JW6H6qFkuUa8aCxoiYVv8/YfFljiQxA==} + '@shikijs/engine-oniguruma@3.23.0': + resolution: {integrity: sha512-1nWINwKXxKKLqPibT5f4pAFLej9oZzQTsby8942OTlsJzOBZ0MWKiwzMsd+jhzu8YPCHAswGnnN1YtQfirL35g==} - '@shikijs/langs@3.22.0': - resolution: {integrity: sha512-x/42TfhWmp6H00T6uwVrdTJGKgNdFbrEdhaDwSR5fd5zhQ1Q46bHq9EO61SCEWJR0HY7z2HNDMaBZp8JRmKiIA==} + '@shikijs/langs@3.23.0': + resolution: {integrity: sha512-2Ep4W3Re5aB1/62RSYQInK9mM3HsLeB91cHqznAJMuylqjzNVAVCMnNWRHFtcNHXsoNRayP9z1qj4Sq3nMqYXg==} - '@shikijs/rehype@3.22.0': - resolution: {integrity: sha512-69b2VPc6XBy/VmAJlpBU5By+bJSBdE2nvgRCZXav7zujbrjXuT0F60DIrjKuutjPqNufuizE+E8tIZr2Yn8Z+g==} + '@shikijs/rehype@3.23.0': + resolution: {integrity: sha512-GepKJxXHbXFfAkiZZZ+4V7x71Lw3s0ALYmydUxJRdvpKjSx9FOMSaunv6WRLFBXR6qjYerUq1YZQno+2gLEPwA==} - '@shikijs/themes@3.22.0': - resolution: {integrity: sha512-o+tlOKqsr6FE4+mYJG08tfCFDS+3CG20HbldXeVoyP+cYSUxDhrFf3GPjE60U55iOkkjbpY2uC3It/eeja35/g==} + '@shikijs/themes@3.23.0': + resolution: {integrity: sha512-5qySYa1ZgAT18HR/ypENL9cUSGOeI2x+4IvYJu4JgVJdizn6kG4ia5Q1jDEOi7gTbN4RbuYtmHh0W3eccOrjMA==} - '@shikijs/transformers@3.22.0': - resolution: {integrity: sha512-E7eRV7mwDBjueLF6852n2oYeJYxBq3NSsDk+uyruYAXONv4U8holGmIrT+mPRJQ1J1SNOH6L8G19KRzmBawrFw==} + '@shikijs/transformers@3.23.0': + resolution: {integrity: sha512-F9msZVxdF+krQNSdQ4V+Ja5QemeAoTQ2jxt7nJCwhDsdF1JWS3KxIQXA3lQbyKwS3J61oHRUSv4jYWv3CkaKTQ==} - '@shikijs/types@3.22.0': - resolution: {integrity: sha512-491iAekgKDBFE67z70Ok5a8KBMsQ2IJwOWw3us/7ffQkIBCyOQfm/aNwVMBUriP02QshIfgHCBSIYAl3u2eWjg==} + '@shikijs/types@3.23.0': + resolution: {integrity: sha512-3JZ5HXOZfYjsYSk0yPwBrkupyYSLpAE26Qc0HLghhZNGTZg/SKxXIIgoxOpmmeQP0RRSDJTk1/vPfw9tbw+jSQ==} '@shikijs/vscode-textmate@10.0.2': resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==} @@ -1427,69 +1431,69 @@ packages: '@swc/helpers@0.5.15': resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} - '@tailwindcss/node@4.1.18': - resolution: {integrity: sha512-DoR7U1P7iYhw16qJ49fgXUlry1t4CpXeErJHnQ44JgTSKMaZUdf17cfn5mHchfJ4KRBZRFA/Coo+MUF5+gOaCQ==} + '@tailwindcss/node@4.2.1': + resolution: {integrity: sha512-jlx6sLk4EOwO6hHe1oCGm1Q4AN/s0rSrTTPBGPM0/RQ6Uylwq17FuU8IeJJKEjtc6K6O07zsvP+gDO6MMWo7pg==} - '@tailwindcss/oxide-android-arm64@4.1.18': - resolution: {integrity: sha512-dJHz7+Ugr9U/diKJA0W6N/6/cjI+ZTAoxPf9Iz9BFRF2GzEX8IvXxFIi/dZBloVJX/MZGvRuFA9rqwdiIEZQ0Q==} - engines: {node: '>= 10'} + '@tailwindcss/oxide-android-arm64@4.2.1': + resolution: {integrity: sha512-eZ7G1Zm5EC8OOKaesIKuw77jw++QJ2lL9N+dDpdQiAB/c/B2wDh0QPFHbkBVrXnwNugvrbJFk1gK2SsVjwWReg==} + engines: {node: '>= 20'} cpu: [arm64] os: [android] - '@tailwindcss/oxide-darwin-arm64@4.1.18': - resolution: {integrity: sha512-Gc2q4Qhs660bhjyBSKgq6BYvwDz4G+BuyJ5H1xfhmDR3D8HnHCmT/BSkvSL0vQLy/nkMLY20PQ2OoYMO15Jd0A==} - engines: {node: '>= 10'} + '@tailwindcss/oxide-darwin-arm64@4.2.1': + resolution: {integrity: sha512-q/LHkOstoJ7pI1J0q6djesLzRvQSIfEto148ppAd+BVQK0JYjQIFSK3JgYZJa+Yzi0DDa52ZsQx2rqytBnf8Hw==} + engines: {node: '>= 20'} cpu: [arm64] os: [darwin] - '@tailwindcss/oxide-darwin-x64@4.1.18': - resolution: {integrity: sha512-FL5oxr2xQsFrc3X9o1fjHKBYBMD1QZNyc1Xzw/h5Qu4XnEBi3dZn96HcHm41c/euGV+GRiXFfh2hUCyKi/e+yw==} - engines: {node: '>= 10'} + '@tailwindcss/oxide-darwin-x64@4.2.1': + resolution: {integrity: sha512-/f/ozlaXGY6QLbpvd/kFTro2l18f7dHKpB+ieXz+Cijl4Mt9AI2rTrpq7V+t04nK+j9XBQHnSMdeQRhbGyt6fw==} + engines: {node: '>= 20'} cpu: [x64] os: [darwin] - '@tailwindcss/oxide-freebsd-x64@4.1.18': - resolution: {integrity: sha512-Fj+RHgu5bDodmV1dM9yAxlfJwkkWvLiRjbhuO2LEtwtlYlBgiAT4x/j5wQr1tC3SANAgD+0YcmWVrj8R9trVMA==} - engines: {node: '>= 10'} + '@tailwindcss/oxide-freebsd-x64@4.2.1': + resolution: {integrity: sha512-5e/AkgYJT/cpbkys/OU2Ei2jdETCLlifwm7ogMC7/hksI2fC3iiq6OcXwjibcIjPung0kRtR3TxEITkqgn0TcA==} + engines: {node: '>= 20'} cpu: [x64] os: [freebsd] - '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.18': - resolution: {integrity: sha512-Fp+Wzk/Ws4dZn+LV2Nqx3IilnhH51YZoRaYHQsVq3RQvEl+71VGKFpkfHrLM/Li+kt5c0DJe/bHXK1eHgDmdiA==} - engines: {node: '>= 10'} + '@tailwindcss/oxide-linux-arm-gnueabihf@4.2.1': + resolution: {integrity: sha512-Uny1EcVTTmerCKt/1ZuKTkb0x8ZaiuYucg2/kImO5A5Y/kBz41/+j0gxUZl+hTF3xkWpDmHX+TaWhOtba2Fyuw==} + engines: {node: '>= 20'} cpu: [arm] os: [linux] - '@tailwindcss/oxide-linux-arm64-gnu@4.1.18': - resolution: {integrity: sha512-S0n3jboLysNbh55Vrt7pk9wgpyTTPD0fdQeh7wQfMqLPM/Hrxi+dVsLsPrycQjGKEQk85Kgbx+6+QnYNiHalnw==} - engines: {node: '>= 10'} + '@tailwindcss/oxide-linux-arm64-gnu@4.2.1': + resolution: {integrity: sha512-CTrwomI+c7n6aSSQlsPL0roRiNMDQ/YzMD9EjcR+H4f0I1SQ8QqIuPnsVp7QgMkC1Qi8rtkekLkOFjo7OlEFRQ==} + engines: {node: '>= 20'} cpu: [arm64] os: [linux] libc: [glibc] - '@tailwindcss/oxide-linux-arm64-musl@4.1.18': - resolution: {integrity: sha512-1px92582HkPQlaaCkdRcio71p8bc8i/ap5807tPRDK/uw953cauQBT8c5tVGkOwrHMfc2Yh6UuxaH4vtTjGvHg==} - engines: {node: '>= 10'} + '@tailwindcss/oxide-linux-arm64-musl@4.2.1': + resolution: {integrity: sha512-WZA0CHRL/SP1TRbA5mp9htsppSEkWuQ4KsSUumYQnyl8ZdT39ntwqmz4IUHGN6p4XdSlYfJwM4rRzZLShHsGAQ==} + engines: {node: '>= 20'} cpu: [arm64] os: [linux] libc: [musl] - '@tailwindcss/oxide-linux-x64-gnu@4.1.18': - resolution: {integrity: sha512-v3gyT0ivkfBLoZGF9LyHmts0Isc8jHZyVcbzio6Wpzifg/+5ZJpDiRiUhDLkcr7f/r38SWNe7ucxmGW3j3Kb/g==} - engines: {node: '>= 10'} + '@tailwindcss/oxide-linux-x64-gnu@4.2.1': + resolution: {integrity: sha512-qMFzxI2YlBOLW5PhblzuSWlWfwLHaneBE0xHzLrBgNtqN6mWfs+qYbhryGSXQjFYB1Dzf5w+LN5qbUTPhW7Y5g==} + engines: {node: '>= 20'} cpu: [x64] os: [linux] libc: [glibc] - '@tailwindcss/oxide-linux-x64-musl@4.1.18': - resolution: {integrity: sha512-bhJ2y2OQNlcRwwgOAGMY0xTFStt4/wyU6pvI6LSuZpRgKQwxTec0/3Scu91O8ir7qCR3AuepQKLU/kX99FouqQ==} - engines: {node: '>= 10'} + '@tailwindcss/oxide-linux-x64-musl@4.2.1': + resolution: {integrity: sha512-5r1X2FKnCMUPlXTWRYpHdPYUY6a1Ar/t7P24OuiEdEOmms5lyqjDRvVY1yy9Rmioh+AunQ0rWiOTPE8F9A3v5g==} + engines: {node: '>= 20'} cpu: [x64] os: [linux] libc: [musl] - '@tailwindcss/oxide-wasm32-wasi@4.1.18': - resolution: {integrity: sha512-LffYTvPjODiP6PT16oNeUQJzNVyJl1cjIebq/rWWBF+3eDst5JGEFSc5cWxyRCJ0Mxl+KyIkqRxk1XPEs9x8TA==} + '@tailwindcss/oxide-wasm32-wasi@4.2.1': + resolution: {integrity: sha512-MGFB5cVPvshR85MTJkEvqDUnuNoysrsRxd6vnk1Lf2tbiqNlXpHYZqkqOQalydienEWOHHFyyuTSYRsLfxFJ2Q==} engines: {node: '>=14.0.0'} cpu: [wasm32] bundledDependencies: @@ -1500,24 +1504,24 @@ packages: - '@emnapi/wasi-threads' - tslib - '@tailwindcss/oxide-win32-arm64-msvc@4.1.18': - resolution: {integrity: sha512-HjSA7mr9HmC8fu6bdsZvZ+dhjyGCLdotjVOgLA2vEqxEBZaQo9YTX4kwgEvPCpRh8o4uWc4J/wEoFzhEmjvPbA==} - engines: {node: '>= 10'} + '@tailwindcss/oxide-win32-arm64-msvc@4.2.1': + resolution: {integrity: sha512-YlUEHRHBGnCMh4Nj4GnqQyBtsshUPdiNroZj8VPkvTZSoHsilRCwXcVKnG9kyi0ZFAS/3u+qKHBdDc81SADTRA==} + engines: {node: '>= 20'} cpu: [arm64] os: [win32] - '@tailwindcss/oxide-win32-x64-msvc@4.1.18': - resolution: {integrity: sha512-bJWbyYpUlqamC8dpR7pfjA0I7vdF6t5VpUGMWRkXVE3AXgIZjYUYAK7II1GNaxR8J1SSrSrppRar8G++JekE3Q==} - engines: {node: '>= 10'} + '@tailwindcss/oxide-win32-x64-msvc@4.2.1': + resolution: {integrity: sha512-rbO34G5sMWWyrN/idLeVxAZgAKWrn5LiR3/I90Q9MkA67s6T1oB0xtTe+0heoBvHSpbU9Mk7i6uwJnpo4u21XQ==} + engines: {node: '>= 20'} cpu: [x64] os: [win32] - '@tailwindcss/oxide@4.1.18': - resolution: {integrity: sha512-EgCR5tTS5bUSKQgzeMClT6iCY3ToqE1y+ZB0AKldj809QXk1Y+3jB0upOYZrn9aGIzPtUsP7sX4QQ4XtjBB95A==} - engines: {node: '>= 10'} + '@tailwindcss/oxide@4.2.1': + resolution: {integrity: sha512-yv9jeEFWnjKCI6/T3Oq50yQEOqmpmpfzG1hcZsAOaXFQPfzWprWrlHSdGPEF3WQTi8zu8ohC9Mh9J470nT5pUw==} + engines: {node: '>= 20'} - '@tailwindcss/postcss@4.1.18': - resolution: {integrity: sha512-Ce0GFnzAOuPyfV5SxjXGn0CubwGcuDB0zcdaPuCSzAa/2vII24JTkH+I6jcbXLb1ctjZMZZI6OjDaLPJQL1S0g==} + '@tailwindcss/postcss@4.2.1': + resolution: {integrity: sha512-OEwGIBnXnj7zJeonOh6ZG9woofIjGrd2BORfvE5p9USYKDCZoQmfqLcfNiRWoJlRWLdNPn2IgVZuWAOM4iTYMw==} '@tailwindcss/typography@0.5.19': resolution: {integrity: sha512-w31dd8HOx3k9vPtcQh5QHP9GwKcgbMp87j58qi6xgiBnFFtKEAgCWnDw4qUT8aHwkCp8bKvb/KGKWWHedP0AAg==} @@ -1557,12 +1561,12 @@ packages: '@types/ms@2.1.0': resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} + '@types/node@22.19.11': + resolution: {integrity: sha512-BH7YwL6rA93ReqeQS1c4bsPpcfOmJasG+Fkr6Y59q83f9M1WcBRHR2vM+P9eOisYRcN3ujQoiZY8uk5W+1WL8w==} + '@types/node@22.19.3': resolution: {integrity: sha512-1N9SBnWYOJTrNZCdh/yJE+t910Y128BoyY+zBLWhL3r0TYzlTmFdXrPwHL9DyFZmlEXNQQolTZh3KHV31QDhyA==} - '@types/node@22.19.7': - resolution: {integrity: sha512-MciR4AKGHWl7xwxkBa6xUGxQJ4VBOmPTF7sL+iGzuahOFaO0jHCsuEfS80pan1ef4gWId1oWOweIhrDEYLuaOw==} - '@types/react-dom@19.2.3': resolution: {integrity: sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==} peerDependencies: @@ -2204,8 +2208,8 @@ packages: resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} engines: {node: '>= 0.8'} - enhanced-resolve@5.18.4: - resolution: {integrity: sha512-LgQMM4WXU3QI+SYgEc2liRgznaD5ojbmY3sb8LxyguVkIg5FxdpTkvk72te2R38/TGKxH634oLxXRGY6d7AP+Q==} + enhanced-resolve@5.19.0: + resolution: {integrity: sha512-phv3E1Xl4tQOShqSte26C7Fl84EwUdZsyOuSSk9qtAGyyQs2s3jJzComh+Abf4g187lUUAvH+H26omrqia2aGg==} engines: {node: '>=10.13.0'} env-paths@2.2.1: @@ -2391,6 +2395,16 @@ packages: jiti: optional: true + eslint@9.39.3: + resolution: {integrity: sha512-VmQ+sifHUbI/IcSopBCF/HO3YiHQx/AVd3UVyYL6weuwW+HvON9VYn5l6Zl1WZzPWXPNZrSQpxwkkZ/VuvJZzg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + hasBin: true + peerDependencies: + jiti: '*' + peerDependenciesMeta: + jiti: + optional: true + espree@10.4.0: resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2559,8 +2573,8 @@ packages: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} - framer-motion@12.34.0: - resolution: {integrity: sha512-+/H49owhzkzQyxtn7nZeF4kdH++I2FWrESQ184Zbcw5cEqNHYkE5yxWxcTLSj5lNx3NWdbIRy5FHqUvetD8FWg==} + framer-motion@12.34.3: + resolution: {integrity: sha512-v81ecyZKYO/DfpTwHivqkxSUBzvceOpoI+wLfgCgoUIKxlFKEXdg0oR9imxwXumT4SFy8vRk9xzJ5l3/Du/55Q==} peerDependencies: '@emotion/is-prop-valid': '*' react: ^18.0.0 || ^19.0.0 @@ -3088,78 +3102,78 @@ packages: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} - lightningcss-android-arm64@1.30.2: - resolution: {integrity: sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A==} + lightningcss-android-arm64@1.31.1: + resolution: {integrity: sha512-HXJF3x8w9nQ4jbXRiNppBCqeZPIAfUo8zE/kOEGbW5NZvGc/K7nMxbhIr+YlFlHW5mpbg/YFPdbnCh1wAXCKFg==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [android] - lightningcss-darwin-arm64@1.30.2: - resolution: {integrity: sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA==} + lightningcss-darwin-arm64@1.31.1: + resolution: {integrity: sha512-02uTEqf3vIfNMq3h/z2cJfcOXnQ0GRwQrkmPafhueLb2h7mqEidiCzkE4gBMEH65abHRiQvhdcQ+aP0D0g67sg==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [darwin] - lightningcss-darwin-x64@1.30.2: - resolution: {integrity: sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ==} + lightningcss-darwin-x64@1.31.1: + resolution: {integrity: sha512-1ObhyoCY+tGxtsz1lSx5NXCj3nirk0Y0kB/g8B8DT+sSx4G9djitg9ejFnjb3gJNWo7qXH4DIy2SUHvpoFwfTA==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [darwin] - lightningcss-freebsd-x64@1.30.2: - resolution: {integrity: sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA==} + lightningcss-freebsd-x64@1.31.1: + resolution: {integrity: sha512-1RINmQKAItO6ISxYgPwszQE1BrsVU5aB45ho6O42mu96UiZBxEXsuQ7cJW4zs4CEodPUioj/QrXW1r9pLUM74A==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [freebsd] - lightningcss-linux-arm-gnueabihf@1.30.2: - resolution: {integrity: sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA==} + lightningcss-linux-arm-gnueabihf@1.31.1: + resolution: {integrity: sha512-OOCm2//MZJ87CdDK62rZIu+aw9gBv4azMJuA8/KB74wmfS3lnC4yoPHm0uXZ/dvNNHmnZnB8XLAZzObeG0nS1g==} engines: {node: '>= 12.0.0'} cpu: [arm] os: [linux] - lightningcss-linux-arm64-gnu@1.30.2: - resolution: {integrity: sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A==} + lightningcss-linux-arm64-gnu@1.31.1: + resolution: {integrity: sha512-WKyLWztD71rTnou4xAD5kQT+982wvca7E6QoLpoawZ1gP9JM0GJj4Tp5jMUh9B3AitHbRZ2/H3W5xQmdEOUlLg==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] libc: [glibc] - lightningcss-linux-arm64-musl@1.30.2: - resolution: {integrity: sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA==} + lightningcss-linux-arm64-musl@1.31.1: + resolution: {integrity: sha512-mVZ7Pg2zIbe3XlNbZJdjs86YViQFoJSpc41CbVmKBPiGmC4YrfeOyz65ms2qpAobVd7WQsbW4PdsSJEMymyIMg==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] libc: [musl] - lightningcss-linux-x64-gnu@1.30.2: - resolution: {integrity: sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w==} + lightningcss-linux-x64-gnu@1.31.1: + resolution: {integrity: sha512-xGlFWRMl+0KvUhgySdIaReQdB4FNudfUTARn7q0hh/V67PVGCs3ADFjw+6++kG1RNd0zdGRlEKa+T13/tQjPMA==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] libc: [glibc] - lightningcss-linux-x64-musl@1.30.2: - resolution: {integrity: sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA==} + lightningcss-linux-x64-musl@1.31.1: + resolution: {integrity: sha512-eowF8PrKHw9LpoZii5tdZwnBcYDxRw2rRCyvAXLi34iyeYfqCQNA9rmUM0ce62NlPhCvof1+9ivRaTY6pSKDaA==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] libc: [musl] - lightningcss-win32-arm64-msvc@1.30.2: - resolution: {integrity: sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ==} + lightningcss-win32-arm64-msvc@1.31.1: + resolution: {integrity: sha512-aJReEbSEQzx1uBlQizAOBSjcmr9dCdL3XuC/6HLXAxmtErsj2ICo5yYggg1qOODQMtnjNQv2UHb9NpOuFtYe4w==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [win32] - lightningcss-win32-x64-msvc@1.30.2: - resolution: {integrity: sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw==} + lightningcss-win32-x64-msvc@1.31.1: + resolution: {integrity: sha512-I9aiFrbd7oYHwlnQDqr1Roz+fTz61oDDJX7n9tYF9FJymH1cIN1DtKw3iYt6b8WZgEjoNwVSncwF4wx/ZedMhw==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [win32] - lightningcss@1.30.2: - resolution: {integrity: sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==} + lightningcss@1.31.1: + resolution: {integrity: sha512-l51N2r93WmGUye3WuFoN5k10zyvrVs0qfKBhyC5ogUQ6Ew6JUSswh78mbSO+IU3nTWsyOArqPCcShdQSadghBQ==} engines: {node: '>= 12.0.0'} lines-and-columns@1.2.4: @@ -3189,8 +3203,8 @@ packages: lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - lucide-react@0.564.0: - resolution: {integrity: sha512-JJ8GVTQqFwuliifD48U6+h7DXEHdkhJ/E87kksGByII3qHxtPciVb8T8woQONHBQgHVOl7rSMrrip3SeVNy7Fg==} + lucide-react@0.575.0: + resolution: {integrity: sha512-VuXgKZrk0uiDlWjGGXmKV6MSk9Yy4l10qgVvzGn2AWBx1Ylt0iBexKOAoA6I7JO3m+M9oeovJd3yYENfkUbOeg==} peerDependencies: react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0 @@ -3422,14 +3436,14 @@ packages: minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - motion-dom@12.34.0: - resolution: {integrity: sha512-Lql3NuEcScRDxTAO6GgUsRHBZOWI/3fnMlkMcH5NftzcN37zJta+bpbMAV9px4Nj057TuvRooMK7QrzMCgtz6Q==} + motion-dom@12.34.3: + resolution: {integrity: sha512-sYgFe+pR9aIM7o4fhs2aXtOI+oqlUd33N9Yoxcgo1Fv7M20sRkHtCmzE/VRNIcq7uNJ+qio+Xubt1FXH3pQ+eQ==} motion-utils@12.29.2: resolution: {integrity: sha512-G3kc34H2cX2gI63RqU+cZq+zWRRPSsNIOjpdl9TN4AQwC4sgwYPl/Q/Obf/d53nOm569T0fYK+tcoSV50BWx8A==} - motion@12.34.0: - resolution: {integrity: sha512-01Sfa/zgsD/di8zA/uFW5Eb7/SPXoGyUfy+uMRMW5Spa8j0z/UbfQewAYvPMYFCXRlyD6e5aLHh76TxeeJD+RA==} + motion@12.34.3: + resolution: {integrity: sha512-xZIkBGO7v/Uvm+EyaqYd+9IpXu0sZqLywVlGdCFrrMiaO9JI4Kx51mO9KlHSWwll+gZUVY5OJsWgYI5FywJ/tw==} peerDependencies: '@emotion/is-prop-valid': '*' react: ^18.0.0 || ^19.0.0 @@ -4035,8 +4049,8 @@ packages: setprototypeof@1.2.0: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - shadcn@3.8.4: - resolution: {integrity: sha512-pSad/m1+PGzB0aLsRBV0EkyGg9al1nJqYUuucg6d8v8xZspPZ5/ehGNEp5M4b1KQYqdO5/gGPbkhVbgmXqG9Pw==} + shadcn@3.8.5: + resolution: {integrity: sha512-jPRx44e+eyeV7xwY3BLJXcfrks00+M0h5BGB9l6DdcBW4BpAj4x3lVmVy0TXPEs2iHEisxejr62sZAAw6B1EVA==} hasBin: true sharp@0.34.5: @@ -4051,8 +4065,8 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - shiki@3.22.0: - resolution: {integrity: sha512-LBnhsoYEe0Eou4e1VgJACes+O6S6QC0w71fCSp5Oya79inkwkm15gQ1UF6VtQ8j/taMDh79hAB49WUk8ALQW3g==} + shiki@3.23.0: + resolution: {integrity: sha512-55Dj73uq9ZXL5zyeRPzHQsK7Nbyt6Y10k5s7OjuFZGMhpp4r/rsLBH0o/0fstIzX1Lep9VxefWljK/SKCzygIA==} side-channel-list@1.0.0: resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} @@ -4228,11 +4242,11 @@ packages: resolution: {integrity: sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng==} engines: {node: '>=20'} - tailwind-merge@3.4.1: - resolution: {integrity: sha512-2OA0rFqWOkITEAOFWSBSApYkDeH9t2B3XSJuI4YztKBzK3mX0737A2qtxDZ7xkw9Zfh0bWl+r34sF3HXV+Ig7Q==} + tailwind-merge@3.5.0: + resolution: {integrity: sha512-I8K9wewnVDkL1NTGoqWmVEIlUcB9gFriAEkXkfCjX5ib8ezGxtR3xD7iZIxrfArjEsH7F1CHD4RFUtxefdqV/A==} - tailwindcss@4.1.18: - resolution: {integrity: sha512-4+Z+0yiYyEtUVCScyfHCxOYP06L5Ne+JiHhY2IjR2KWMIWhJOYZKLSGZaP5HkZ8+bY0cxfzwDE5uOmzFXyIwxw==} + tailwindcss@4.2.1: + resolution: {integrity: sha512-/tBrSQ36vCleJkAOsy9kbNTgaxvGbyOamC30PRePTQe/o1MFwEKHQk4Cn7BNGaPtjp+PuUrByJehM1hgxfq4sw==} tapable@2.3.0: resolution: {integrity: sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==} @@ -4860,16 +4874,16 @@ snapshots: '@clerc/utils@1.2.1': {} - '@content-collections/cli@0.1.9(@content-collections/core@0.14.0(typescript@5.9.3))': + '@content-collections/cli@0.1.9(@content-collections/core@0.14.1(typescript@5.9.3))': dependencies: '@clerc/core': 1.2.1 '@clerc/plugin-completions': 1.2.1(@clerc/core@1.2.1) '@clerc/plugin-help': 1.2.1(@clerc/core@1.2.1) '@clerc/plugin-version': 1.2.1(@clerc/core@1.2.1) - '@content-collections/core': 0.14.0(typescript@5.9.3) - '@content-collections/integrations': 0.5.0(@content-collections/core@0.14.0(typescript@5.9.3)) + '@content-collections/core': 0.14.1(typescript@5.9.3) + '@content-collections/integrations': 0.5.0(@content-collections/core@0.14.1(typescript@5.9.3)) - '@content-collections/core@0.14.0(typescript@5.9.3)': + '@content-collections/core@0.14.1(typescript@5.9.3)': dependencies: '@standard-schema/spec': 1.1.0 camelcase: 8.0.0 @@ -4884,13 +4898,13 @@ snapshots: typescript: 5.9.3 yaml: 2.8.2 - '@content-collections/integrations@0.5.0(@content-collections/core@0.14.0(typescript@5.9.3))': + '@content-collections/integrations@0.5.0(@content-collections/core@0.14.1(typescript@5.9.3))': dependencies: - '@content-collections/core': 0.14.0(typescript@5.9.3) + '@content-collections/core': 0.14.1(typescript@5.9.3) - '@content-collections/mdx@0.2.2(@content-collections/core@0.14.0(typescript@5.9.3))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': + '@content-collections/mdx@0.2.2(@content-collections/core@0.14.1(typescript@5.9.3))(react-dom@19.2.4(react@19.2.4))(react@19.2.4)': dependencies: - '@content-collections/core': 0.14.0(typescript@5.9.3) + '@content-collections/core': 0.14.1(typescript@5.9.3) esbuild: 0.25.12 mdx-bundler: 10.1.1(esbuild@0.25.12) react: 19.2.4 @@ -4899,10 +4913,10 @@ snapshots: transitivePeerDependencies: - supports-color - '@content-collections/next@0.2.11(@content-collections/core@0.14.0(typescript@5.9.3))(next@16.1.6(@babel/core@7.29.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))': + '@content-collections/next@0.2.11(@content-collections/core@0.14.1(typescript@5.9.3))(next@16.1.6(@babel/core@7.29.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4))': dependencies: - '@content-collections/core': 0.14.0(typescript@5.9.3) - '@content-collections/integrations': 0.5.0(@content-collections/core@0.14.0(typescript@5.9.3)) + '@content-collections/core': 0.14.1(typescript@5.9.3) + '@content-collections/integrations': 0.5.0(@content-collections/core@0.14.1(typescript@5.9.3)) next: 16.1.6(@babel/core@7.29.0)(react-dom@19.2.4(react@19.2.4))(react@19.2.4) '@dotenvx/dotenvx@1.52.0': @@ -5108,6 +5122,11 @@ snapshots: eslint: 9.39.2(jiti@2.6.1) eslint-visitor-keys: 3.4.3 + '@eslint-community/eslint-utils@4.9.1(eslint@9.39.3(jiti@2.6.1))': + dependencies: + eslint: 9.39.3(jiti@2.6.1) + eslint-visitor-keys: 3.4.3 + '@eslint-community/regexpp@4.12.2': {} '@eslint/compat@2.0.0(eslint@9.39.2(jiti@2.6.1))': @@ -5152,6 +5171,8 @@ snapshots: '@eslint/js@9.39.2': {} + '@eslint/js@9.39.3': {} + '@eslint/object-schema@2.1.7': {} '@eslint/plugin-kit@0.4.1': @@ -5292,31 +5313,31 @@ snapshots: '@inquirer/ansi@1.0.2': {} - '@inquirer/confirm@5.1.21(@types/node@22.19.7)': + '@inquirer/confirm@5.1.21(@types/node@22.19.11)': dependencies: - '@inquirer/core': 10.3.2(@types/node@22.19.7) - '@inquirer/type': 3.0.10(@types/node@22.19.7) + '@inquirer/core': 10.3.2(@types/node@22.19.11) + '@inquirer/type': 3.0.10(@types/node@22.19.11) optionalDependencies: - '@types/node': 22.19.7 + '@types/node': 22.19.11 - '@inquirer/core@10.3.2(@types/node@22.19.7)': + '@inquirer/core@10.3.2(@types/node@22.19.11)': dependencies: '@inquirer/ansi': 1.0.2 '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@22.19.7) + '@inquirer/type': 3.0.10(@types/node@22.19.11) cli-width: 4.1.0 mute-stream: 2.0.0 signal-exit: 4.1.0 wrap-ansi: 6.2.0 yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 22.19.7 + '@types/node': 22.19.11 '@inquirer/figures@1.0.15': {} - '@inquirer/type@3.0.10(@types/node@22.19.7)': + '@inquirer/type@3.0.10(@types/node@22.19.11)': optionalDependencies: - '@types/node': 22.19.7 + '@types/node': 22.19.11 '@isaacs/balanced-match@4.0.1': {} @@ -5651,47 +5672,47 @@ snapshots: '@sec-ant/readable-stream@0.4.1': {} - '@shikijs/core@3.22.0': + '@shikijs/core@3.23.0': dependencies: - '@shikijs/types': 3.22.0 + '@shikijs/types': 3.23.0 '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.4 hast-util-to-html: 9.0.5 - '@shikijs/engine-javascript@3.22.0': + '@shikijs/engine-javascript@3.23.0': dependencies: - '@shikijs/types': 3.22.0 + '@shikijs/types': 3.23.0 '@shikijs/vscode-textmate': 10.0.2 oniguruma-to-es: 4.3.4 - '@shikijs/engine-oniguruma@3.22.0': + '@shikijs/engine-oniguruma@3.23.0': dependencies: - '@shikijs/types': 3.22.0 + '@shikijs/types': 3.23.0 '@shikijs/vscode-textmate': 10.0.2 - '@shikijs/langs@3.22.0': + '@shikijs/langs@3.23.0': dependencies: - '@shikijs/types': 3.22.0 + '@shikijs/types': 3.23.0 - '@shikijs/rehype@3.22.0': + '@shikijs/rehype@3.23.0': dependencies: - '@shikijs/types': 3.22.0 + '@shikijs/types': 3.23.0 '@types/hast': 3.0.4 hast-util-to-string: 3.0.1 - shiki: 3.22.0 + shiki: 3.23.0 unified: 11.0.5 unist-util-visit: 5.1.0 - '@shikijs/themes@3.22.0': + '@shikijs/themes@3.23.0': dependencies: - '@shikijs/types': 3.22.0 + '@shikijs/types': 3.23.0 - '@shikijs/transformers@3.22.0': + '@shikijs/transformers@3.23.0': dependencies: - '@shikijs/core': 3.22.0 - '@shikijs/types': 3.22.0 + '@shikijs/core': 3.23.0 + '@shikijs/types': 3.23.0 - '@shikijs/types@3.22.0': + '@shikijs/types@3.23.0': dependencies: '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.4 @@ -5706,79 +5727,79 @@ snapshots: dependencies: tslib: 2.8.1 - '@tailwindcss/node@4.1.18': + '@tailwindcss/node@4.2.1': dependencies: '@jridgewell/remapping': 2.3.5 - enhanced-resolve: 5.18.4 + enhanced-resolve: 5.19.0 jiti: 2.6.1 - lightningcss: 1.30.2 + lightningcss: 1.31.1 magic-string: 0.30.21 source-map-js: 1.2.1 - tailwindcss: 4.1.18 + tailwindcss: 4.2.1 - '@tailwindcss/oxide-android-arm64@4.1.18': + '@tailwindcss/oxide-android-arm64@4.2.1': optional: true - '@tailwindcss/oxide-darwin-arm64@4.1.18': + '@tailwindcss/oxide-darwin-arm64@4.2.1': optional: true - '@tailwindcss/oxide-darwin-x64@4.1.18': + '@tailwindcss/oxide-darwin-x64@4.2.1': optional: true - '@tailwindcss/oxide-freebsd-x64@4.1.18': + '@tailwindcss/oxide-freebsd-x64@4.2.1': optional: true - '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.18': + '@tailwindcss/oxide-linux-arm-gnueabihf@4.2.1': optional: true - '@tailwindcss/oxide-linux-arm64-gnu@4.1.18': + '@tailwindcss/oxide-linux-arm64-gnu@4.2.1': optional: true - '@tailwindcss/oxide-linux-arm64-musl@4.1.18': + '@tailwindcss/oxide-linux-arm64-musl@4.2.1': optional: true - '@tailwindcss/oxide-linux-x64-gnu@4.1.18': + '@tailwindcss/oxide-linux-x64-gnu@4.2.1': optional: true - '@tailwindcss/oxide-linux-x64-musl@4.1.18': + '@tailwindcss/oxide-linux-x64-musl@4.2.1': optional: true - '@tailwindcss/oxide-wasm32-wasi@4.1.18': + '@tailwindcss/oxide-wasm32-wasi@4.2.1': optional: true - '@tailwindcss/oxide-win32-arm64-msvc@4.1.18': + '@tailwindcss/oxide-win32-arm64-msvc@4.2.1': optional: true - '@tailwindcss/oxide-win32-x64-msvc@4.1.18': + '@tailwindcss/oxide-win32-x64-msvc@4.2.1': optional: true - '@tailwindcss/oxide@4.1.18': + '@tailwindcss/oxide@4.2.1': optionalDependencies: - '@tailwindcss/oxide-android-arm64': 4.1.18 - '@tailwindcss/oxide-darwin-arm64': 4.1.18 - '@tailwindcss/oxide-darwin-x64': 4.1.18 - '@tailwindcss/oxide-freebsd-x64': 4.1.18 - '@tailwindcss/oxide-linux-arm-gnueabihf': 4.1.18 - '@tailwindcss/oxide-linux-arm64-gnu': 4.1.18 - '@tailwindcss/oxide-linux-arm64-musl': 4.1.18 - '@tailwindcss/oxide-linux-x64-gnu': 4.1.18 - '@tailwindcss/oxide-linux-x64-musl': 4.1.18 - '@tailwindcss/oxide-wasm32-wasi': 4.1.18 - '@tailwindcss/oxide-win32-arm64-msvc': 4.1.18 - '@tailwindcss/oxide-win32-x64-msvc': 4.1.18 - - '@tailwindcss/postcss@4.1.18': + '@tailwindcss/oxide-android-arm64': 4.2.1 + '@tailwindcss/oxide-darwin-arm64': 4.2.1 + '@tailwindcss/oxide-darwin-x64': 4.2.1 + '@tailwindcss/oxide-freebsd-x64': 4.2.1 + '@tailwindcss/oxide-linux-arm-gnueabihf': 4.2.1 + '@tailwindcss/oxide-linux-arm64-gnu': 4.2.1 + '@tailwindcss/oxide-linux-arm64-musl': 4.2.1 + '@tailwindcss/oxide-linux-x64-gnu': 4.2.1 + '@tailwindcss/oxide-linux-x64-musl': 4.2.1 + '@tailwindcss/oxide-wasm32-wasi': 4.2.1 + '@tailwindcss/oxide-win32-arm64-msvc': 4.2.1 + '@tailwindcss/oxide-win32-x64-msvc': 4.2.1 + + '@tailwindcss/postcss@4.2.1': dependencies: '@alloc/quick-lru': 5.2.0 - '@tailwindcss/node': 4.1.18 - '@tailwindcss/oxide': 4.1.18 + '@tailwindcss/node': 4.2.1 + '@tailwindcss/oxide': 4.2.1 postcss: 8.5.6 - tailwindcss: 4.1.18 + tailwindcss: 4.2.1 - '@tailwindcss/typography@0.5.19(tailwindcss@4.1.18)': + '@tailwindcss/typography@0.5.19(tailwindcss@4.2.1)': dependencies: postcss-selector-parser: 6.0.10 - tailwindcss: 4.1.18 + tailwindcss: 4.2.1 '@ts-morph/common@0.27.0': dependencies: @@ -5817,11 +5838,11 @@ snapshots: '@types/ms@2.1.0': {} - '@types/node@22.19.3': + '@types/node@22.19.11': dependencies: undici-types: 6.21.0 - '@types/node@22.19.7': + '@types/node@22.19.3': dependencies: undici-types: 6.21.0 @@ -6422,7 +6443,7 @@ snapshots: encodeurl@2.0.0: {} - enhanced-resolve@5.18.4: + enhanced-resolve@5.19.0: dependencies: graceful-fs: 4.2.11 tapable: 2.3.0 @@ -6813,6 +6834,47 @@ snapshots: transitivePeerDependencies: - supports-color + eslint@9.39.3(jiti@2.6.1): + dependencies: + '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.3(jiti@2.6.1)) + '@eslint-community/regexpp': 4.12.2 + '@eslint/config-array': 0.21.1 + '@eslint/config-helpers': 0.4.2 + '@eslint/core': 0.17.0 + '@eslint/eslintrc': 3.3.3 + '@eslint/js': 9.39.3 + '@eslint/plugin-kit': 0.4.1 + '@humanfs/node': 0.16.7 + '@humanwhocodes/module-importer': 1.0.1 + '@humanwhocodes/retry': 0.4.3 + '@types/estree': 1.0.8 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.6 + debug: 4.4.3 + escape-string-regexp: 4.0.0 + eslint-scope: 8.4.0 + eslint-visitor-keys: 4.2.1 + espree: 10.4.0 + esquery: 1.7.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 8.0.0 + find-up: 5.0.0 + glob-parent: 6.0.2 + ignore: 5.3.2 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + json-stable-stringify-without-jsonify: 1.0.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.4 + optionalDependencies: + jiti: 2.6.1 + transitivePeerDependencies: + - supports-color + espree@10.4.0: dependencies: acorn: 8.15.0 @@ -7037,9 +7099,9 @@ snapshots: forwarded@0.2.0: {} - framer-motion@12.34.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4): + framer-motion@12.34.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4): dependencies: - motion-dom: 12.34.0 + motion-dom: 12.34.3 motion-utils: 12.29.2 tslib: 2.8.1 optionalDependencies: @@ -7553,54 +7615,54 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 - lightningcss-android-arm64@1.30.2: + lightningcss-android-arm64@1.31.1: optional: true - lightningcss-darwin-arm64@1.30.2: + lightningcss-darwin-arm64@1.31.1: optional: true - lightningcss-darwin-x64@1.30.2: + lightningcss-darwin-x64@1.31.1: optional: true - lightningcss-freebsd-x64@1.30.2: + lightningcss-freebsd-x64@1.31.1: optional: true - lightningcss-linux-arm-gnueabihf@1.30.2: + lightningcss-linux-arm-gnueabihf@1.31.1: optional: true - lightningcss-linux-arm64-gnu@1.30.2: + lightningcss-linux-arm64-gnu@1.31.1: optional: true - lightningcss-linux-arm64-musl@1.30.2: + lightningcss-linux-arm64-musl@1.31.1: optional: true - lightningcss-linux-x64-gnu@1.30.2: + lightningcss-linux-x64-gnu@1.31.1: optional: true - lightningcss-linux-x64-musl@1.30.2: + lightningcss-linux-x64-musl@1.31.1: optional: true - lightningcss-win32-arm64-msvc@1.30.2: + lightningcss-win32-arm64-msvc@1.31.1: optional: true - lightningcss-win32-x64-msvc@1.30.2: + lightningcss-win32-x64-msvc@1.31.1: optional: true - lightningcss@1.30.2: + lightningcss@1.31.1: dependencies: detect-libc: 2.1.2 optionalDependencies: - lightningcss-android-arm64: 1.30.2 - lightningcss-darwin-arm64: 1.30.2 - lightningcss-darwin-x64: 1.30.2 - lightningcss-freebsd-x64: 1.30.2 - lightningcss-linux-arm-gnueabihf: 1.30.2 - lightningcss-linux-arm64-gnu: 1.30.2 - lightningcss-linux-arm64-musl: 1.30.2 - lightningcss-linux-x64-gnu: 1.30.2 - lightningcss-linux-x64-musl: 1.30.2 - lightningcss-win32-arm64-msvc: 1.30.2 - lightningcss-win32-x64-msvc: 1.30.2 + lightningcss-android-arm64: 1.31.1 + lightningcss-darwin-arm64: 1.31.1 + lightningcss-darwin-x64: 1.31.1 + lightningcss-freebsd-x64: 1.31.1 + lightningcss-linux-arm-gnueabihf: 1.31.1 + lightningcss-linux-arm64-gnu: 1.31.1 + lightningcss-linux-arm64-musl: 1.31.1 + lightningcss-linux-x64-gnu: 1.31.1 + lightningcss-linux-x64-musl: 1.31.1 + lightningcss-win32-arm64-msvc: 1.31.1 + lightningcss-win32-x64-msvc: 1.31.1 lines-and-columns@1.2.4: {} @@ -7627,7 +7689,7 @@ snapshots: dependencies: yallist: 3.1.1 - lucide-react@0.564.0(react@19.2.4): + lucide-react@0.575.0(react@19.2.4): dependencies: react: 19.2.4 @@ -8138,15 +8200,15 @@ snapshots: minimist@1.2.8: {} - motion-dom@12.34.0: + motion-dom@12.34.3: dependencies: motion-utils: 12.29.2 motion-utils@12.29.2: {} - motion@12.34.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4): + motion@12.34.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4): dependencies: - framer-motion: 12.34.0(react-dom@19.2.4(react@19.2.4))(react@19.2.4) + framer-motion: 12.34.3(react-dom@19.2.4(react@19.2.4))(react@19.2.4) tslib: 2.8.1 optionalDependencies: react: 19.2.4 @@ -8154,9 +8216,9 @@ snapshots: ms@2.1.3: {} - msw@2.12.7(@types/node@22.19.7)(typescript@5.9.3): + msw@2.12.7(@types/node@22.19.11)(typescript@5.9.3): dependencies: - '@inquirer/confirm': 5.1.21(@types/node@22.19.7) + '@inquirer/confirm': 5.1.21(@types/node@22.19.11) '@mswjs/interceptors': 0.40.0 '@open-draft/deferred-promise': 2.2.0 '@types/statuses': 2.0.6 @@ -8815,7 +8877,7 @@ snapshots: setprototypeof@1.2.0: {} - shadcn@3.8.4(@types/node@22.19.7)(typescript@5.9.3): + shadcn@3.8.5(@types/node@22.19.11)(typescript@5.9.3): dependencies: '@antfu/ni': 25.0.0 '@babel/core': 7.29.0 @@ -8837,7 +8899,7 @@ snapshots: fuzzysort: 3.1.0 https-proxy-agent: 7.0.6 kleur: 4.1.5 - msw: 2.12.7(@types/node@22.19.7)(typescript@5.9.3) + msw: 2.12.7(@types/node@22.19.11)(typescript@5.9.3) node-fetch: 3.3.2 open: 11.0.0 ora: 8.2.0 @@ -8846,7 +8908,7 @@ snapshots: prompts: 2.4.2 recast: 0.23.11 stringify-object: 5.0.0 - tailwind-merge: 3.4.1 + tailwind-merge: 3.5.0 ts-morph: 26.0.0 tsconfig-paths: 4.2.0 validate-npm-package-name: 7.0.2 @@ -8897,14 +8959,14 @@ snapshots: shebang-regex@3.0.0: {} - shiki@3.22.0: + shiki@3.23.0: dependencies: - '@shikijs/core': 3.22.0 - '@shikijs/engine-javascript': 3.22.0 - '@shikijs/engine-oniguruma': 3.22.0 - '@shikijs/langs': 3.22.0 - '@shikijs/themes': 3.22.0 - '@shikijs/types': 3.22.0 + '@shikijs/core': 3.23.0 + '@shikijs/engine-javascript': 3.23.0 + '@shikijs/engine-oniguruma': 3.23.0 + '@shikijs/langs': 3.23.0 + '@shikijs/themes': 3.23.0 + '@shikijs/types': 3.23.0 '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.4 @@ -9094,9 +9156,9 @@ snapshots: tagged-tag@1.0.0: {} - tailwind-merge@3.4.1: {} + tailwind-merge@3.5.0: {} - tailwindcss@4.1.18: {} + tailwindcss@4.2.1: {} tapable@2.3.0: {} From c6da44919d4d5a59ae70f73c84c163c9dbe0979e Mon Sep 17 00:00:00 2001 From: pheralb Date: Thu, 26 Feb 2026 00:32:54 +0000 Subject: [PATCH 06/14] feat: update line numbers transformer with ``activateByDefault`` option and update docs --- apps/website/src/docs/shiki/line-numbers.mdx | 12 +++++++- apps/website/src/styles/shiki.css | 16 ++++------ .../shiki/transformers/show-line-numbers.ts | 30 +++++++++++++++---- 3 files changed, 42 insertions(+), 16 deletions(-) diff --git a/apps/website/src/docs/shiki/line-numbers.mdx b/apps/website/src/docs/shiki/line-numbers.mdx index e74f572..2154962 100644 --- a/apps/website/src/docs/shiki/line-numbers.mdx +++ b/apps/website/src/docs/shiki/line-numbers.mdx @@ -64,7 +64,7 @@ export { rehypeShikiOptions }; 1. Import the transformer in your [`highlight()`](/docs/shiki/highlighter): -```ts {2,8} title="Using lineNumbers with highlighter" +```ts {2,8} title="Usage with highlighter" import { highlight } from "@/utils/shiki"; import { showLineNumbers } from "@/utils/shiki/transformers/show-line-numbers"; @@ -85,3 +85,13 @@ const html = highlighter.codeToHtml(code, { ``` + +## Properties + +### ``activateByDefault`` + +By default, line numbers are only shown when the `lineNumbers` meta property is present in the MDX code block. You can activate line numbers for all code blocks by default by passing the `activateByDefault` option to the transformer: + +```ts title="Activating Line Numbers by Default" +showLineNumbers({ activateByDefault: true }) +``` \ No newline at end of file diff --git a/apps/website/src/styles/shiki.css b/apps/website/src/styles/shiki.css index b5b2e85..7ba2dc1 100644 --- a/apps/website/src/styles/shiki.css +++ b/apps/website/src/styles/shiki.css @@ -42,16 +42,12 @@ pre.shiki-word-wrap span.line { pre.shiki-line-numbers code { counter-reset: step; counter-increment: step 0; -} - -pre.shiki-line-numbers code:has(.line:nth-child(2)) .line::before { - content: counter(step); - counter-increment: step; - width: 0.5rem; - margin-right: 1.3rem; - margin-left: 0.2rem; - display: inline-block; - @apply text-right font-mono text-xs text-neutral-500; + .line { + &::before { + counter-increment: step; + @apply mr-6 inline-block border-transparent text-right text-xs whitespace-nowrap text-neutral-500 content-[counter(step)]; + } + } } /* Shiki Highlight */ diff --git a/apps/website/src/utils/shiki/transformers/show-line-numbers.ts b/apps/website/src/utils/shiki/transformers/show-line-numbers.ts index 9376e10..2ed8596 100644 --- a/apps/website/src/utils/shiki/transformers/show-line-numbers.ts +++ b/apps/website/src/utils/shiki/transformers/show-line-numbers.ts @@ -1,23 +1,43 @@ import type { ShikiTransformer } from "shiki"; -const showLineNumbers = (): ShikiTransformer => { +interface ShowLineNumbersOptions { + /** + * Always show line numbers regardless of meta properties + * @default false + */ + activateByDefault?: boolean; +} + +const showLineNumbers = ( + options: ShowLineNumbersOptions = {}, +): ShikiTransformer => { + const { activateByDefault = false } = options; + return { name: "AddLineNumbers", pre(node) { const rawMeta = this.options.meta?.__raw; - const addLineNumbers = rawMeta?.includes("lineNumbers") || false; + const hasLineNumbersMeta = rawMeta?.includes("lineNumbers") ?? false; + const addLineNumbers = activateByDefault || hasLineNumbersMeta; if (!addLineNumbers) { return; } const existingClass = node.properties.class; + const className = "shiki-line-numbers"; + if (Array.isArray(existingClass)) { - existingClass.push("shiki-line-numbers"); + if (!existingClass.includes(className)) { + existingClass.push(className); + } } else if (typeof existingClass === "string") { - node.properties.class = `${existingClass} shiki-line-numbers`; + const classes = existingClass.split(" "); + if (!classes.includes(className)) { + node.properties.class = `${existingClass} ${className}`; + } } else { - node.properties.class = "shiki-line-numbers"; + node.properties.class = [className]; } }, }; From 55186a81d3d861d7e60891b17ee04feefd6f1f9d Mon Sep 17 00:00:00 2001 From: pheralb Date: Thu, 26 Feb 2026 10:55:09 +0000 Subject: [PATCH 07/14] feat: refactor sidebar data structure and update sidebar links component --- .../src/components/docs/sidebar-data.ts | 299 +++++++++--------- .../src/components/docs/sidebar-links.tsx | 97 +++--- 2 files changed, 211 insertions(+), 185 deletions(-) diff --git a/apps/website/src/components/docs/sidebar-data.ts b/apps/website/src/components/docs/sidebar-data.ts index b3f9d17..660ec0d 100644 --- a/apps/website/src/components/docs/sidebar-data.ts +++ b/apps/website/src/components/docs/sidebar-data.ts @@ -14,160 +14,169 @@ import { TagsIcon, TextQuoteIcon, TextWrapIcon, + WholeWordIcon, WrenchIcon, type LucideIcon, } from "lucide-react"; -interface Item { +export interface SidebarItem { title: string; icon?: LucideIcon; href?: string; - subItems?: Item[]; + subItems?: SidebarItem[]; } -interface SidebarLinks { +export interface SidebarGroupData { groupTitle: string; - items: Item[]; + items: SidebarItem[]; } -export const SidebarLinksData: SidebarLinks[] = [ - { - groupTitle: "Getting Started", - items: [ - { - title: "Introduction", - icon: HouseIcon, - href: "/", - }, - { - title: "Prerequisites", - icon: WrenchIcon, - href: "/docs/getting-started/prerequisites", - }, - ], - }, - { - groupTitle: "Components", - items: [ - { - title: "Copy Button", - icon: ClipboardIcon, - href: "/docs/react/copy-button", - }, - { - title: "Code Block", - icon: SquareDashedIcon, - href: "/docs/react/code-block", - }, - { - title: "Code Block MDX", - icon: FileCodeCornerIcon, - href: "/docs/react/code-block-mdx", - }, - { - title: "Code Block Client", - icon: SquareCodeIcon, - subItems: [ - { - title: "Shiki", - href: "/docs/react/code-block-client-shiki", - }, - { - title: "Sugar High", - href: "/docs/react/code-block-client-sugar-high", - }, - ], - }, - { - title: "Blocks", - icon: PackageIcon, - subItems: [ - { - title: "Inline Code", - href: "/docs/react/blocks/inline-code", - }, - { - title: "Multi Tabs", - href: "/docs/react/blocks/multi-tabs", - }, - { - title: "Copy with Text Morph", - href: "/docs/react/blocks/copy-text-morph", - }, - { - title: "Persist Package Manager", - href: "/docs/react/blocks/persist-package-manager", - }, - { - title: "Select Package Manager", - href: "/docs/react/blocks/select-package-manager", - }, - { - title: "Tabs Package Manager", - href: "/docs/react/blocks/tabs-package-manager", - }, - ], - }, - ], - }, - { - groupTitle: "Shiki", - items: [ - { - title: "Highlighter", - icon: HighlighterIcon, - href: "/docs/shiki/highlighter", - }, - { - title: "Add Properties", - icon: TagsIcon, - href: "/docs/shiki/add-properties", - }, - { - title: "Line Numbers", - icon: ListOrderedIcon, - href: "/docs/shiki/line-numbers", - }, - { - title: "Word Wrap", - icon: TextWrapIcon, - href: "/docs/shiki/word-wrap", - }, - { - title: "Meta Highlight", - icon: TextQuoteIcon, - href: "/docs/shiki/meta-highlight", - }, - { - title: "Line Anchors", - icon: AnchorIcon, - href: "/docs/shiki/line-anchors", - }, - { - title: "Notation Diff", - icon: ListPlusIcon, - href: "/docs/shiki/notation-diff", - }, - { - title: "Notation Focus", - icon: ListIndentIncreaseIcon, - href: "/docs/shiki/notation-focus", - }, - ], - }, - { - groupTitle: "Sugar High", - items: [ - { - title: "Highlighter", - icon: CandyIcon, - href: "/docs/sugar-high/highlighter", - }, - { - title: "Line Numbers", - icon: ListOrderedIcon, - href: "/docs/sugar-high/line-numbers", - }, - ], - }, -]; +export const GettingStartedData: SidebarGroupData = { + groupTitle: "Getting Started", + items: [ + { + title: "Introduction", + icon: HouseIcon, + href: "/", + }, + { + title: "Prerequisites", + icon: WrenchIcon, + href: "/docs/getting-started/prerequisites", + }, + ], +}; + +export const ReactComponentsData: SidebarGroupData = { + groupTitle: "Components", + items: [ + { + title: "Copy Button", + icon: ClipboardIcon, + href: "/docs/react/copy-button", + }, + { + title: "Code Block", + icon: SquareDashedIcon, + href: "/docs/react/code-block", + }, + { + title: "Code Block MDX", + icon: FileCodeCornerIcon, + href: "/docs/react/code-block-mdx", + }, + { + title: "Code Block Client", + icon: SquareCodeIcon, + subItems: [ + { + title: "Shiki", + href: "/docs/react/code-block-client-shiki", + }, + { + title: "Sugar High", + href: "/docs/react/code-block-client-sugar-high", + }, + ], + }, + { + title: "Blocks", + icon: PackageIcon, + subItems: [ + { + title: "Inline Code", + href: "/docs/react/blocks/inline-code", + }, + { + title: "Multi Tabs", + href: "/docs/react/blocks/multi-tabs", + }, + { + title: "Copy with Text Morph", + href: "/docs/react/blocks/copy-text-morph", + }, + { + title: "Persist Package Manager", + href: "/docs/react/blocks/persist-package-manager", + }, + { + title: "Select Package Manager", + href: "/docs/react/blocks/select-package-manager", + }, + { + title: "Tabs Package Manager", + href: "/docs/react/blocks/tabs-package-manager", + }, + ], + }, + ], +}; + +export const ShikiData: SidebarGroupData = { + groupTitle: "Shiki", + items: [ + { + title: "Highlighter", + icon: HighlighterIcon, + href: "/docs/shiki/highlighter", + }, + { + title: "Add Properties", + icon: TagsIcon, + href: "/docs/shiki/add-properties", + }, + { + title: "Line Numbers", + icon: ListOrderedIcon, + href: "/docs/shiki/line-numbers", + }, + { + title: "Word Wrap", + icon: TextWrapIcon, + href: "/docs/shiki/word-wrap", + }, + { + title: "Word Highlight", + icon: WholeWordIcon, + href: "/docs/shiki/word-highlight", + }, + { + title: "Meta Highlight", + icon: TextQuoteIcon, + href: "/docs/shiki/meta-highlight", + }, + { + title: "Line Anchors", + icon: AnchorIcon, + href: "/docs/shiki/line-anchors", + }, + { + title: "Notation Diff", + icon: ListPlusIcon, + href: "/docs/shiki/notation-diff", + }, + { + title: "Notation Focus", + icon: ListIndentIncreaseIcon, + href: "/docs/shiki/notation-focus", + }, + ], +}; + +export const SugarHighData: SidebarGroupData = { + groupTitle: "Sugar High", + items: [ + { + title: "Highlighter", + icon: CandyIcon, + href: "/docs/sugar-high/highlighter", + }, + { + title: "Line Numbers", + icon: ListOrderedIcon, + href: "/docs/sugar-high/line-numbers", + }, + ], +}; + + diff --git a/apps/website/src/components/docs/sidebar-links.tsx b/apps/website/src/components/docs/sidebar-links.tsx index b2bceb1..270c86b 100644 --- a/apps/website/src/components/docs/sidebar-links.tsx +++ b/apps/website/src/components/docs/sidebar-links.tsx @@ -1,55 +1,72 @@ "use client"; import { usePathname } from "next/navigation"; -import { SidebarLinksData } from "@/components/docs/sidebar-data"; + +import { + GettingStartedData, + ReactComponentsData, + ShikiData, + SugarHighData, + type SidebarGroupData, +} from "@/components/docs/sidebar-data"; import SidebarGroup from "@/components/docs/sidebar-group"; import SidebarSubItem from "@/components/docs/sidebar-sub-item"; import { SidebarLinkItem } from "@/components/docs/sidebar-link-item"; +interface SidebarSectionProps { + data: SidebarGroupData; + pathname: string; +} + +const SidebarSection = ({ data, pathname }: SidebarSectionProps) => ( + + {data.items.map((link) => { + if (link.subItems) { + const shouldOpenByDefault = link.subItems.some( + (subItem) => subItem.href === pathname, + ); + return ( + + {link.subItems.map((subItem) => ( + +

{subItem.title}

+
+ ))} +
+ ); + } + return ( + + {link.icon && } +

{link.title}

+
+ ); + })} +
+); + const SidebarLinks = () => { const pathname = usePathname(); return ( ); }; From 7bc3ce0cc7299a0465c56b8242a88712c794e87c Mon Sep 17 00:00:00 2001 From: pheralb Date: Thu, 26 Feb 2026 10:55:25 +0000 Subject: [PATCH 08/14] fix: update pnpm-lock file --- pnpm-lock.yaml | 678 +++++++++++++++++++++++++------------------------ 1 file changed, 345 insertions(+), 333 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b17e568..dd3220b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -231,8 +231,8 @@ packages: resolution: {integrity: sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==} engines: {node: '>=6.9.0'} - '@babel/generator@7.29.0': - resolution: {integrity: sha512-vSH118/wwM/pLR38g/Sgk05sNtro6TlTJKuiMXDaZqPUfjTFcudpCOt00IhOfj+1BFAX+UFAlzCU+6WXr3GLFQ==} + '@babel/generator@7.29.1': + resolution: {integrity: sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==} engines: {node: '>=6.9.0'} '@babel/helper-annotate-as-pure@7.27.3': @@ -373,29 +373,29 @@ packages: '@types/react': optional: true - '@clerc/core@1.2.1': - resolution: {integrity: sha512-NTmoekqJDKBGtwqEk0nRRwHNGRTS0qbuQpRnwZBy5oKy0FXqhaaTTrd72TllC+Gv3a7KFMAo8xsqwFz7vgzmFQ==} + '@clerc/core@1.3.1': + resolution: {integrity: sha512-8jowdURow2tXga2gUa4E7/j8/9tl5TLXAvtpbnsY3JK4PTcaKB3lyc6YrcfUTJfV06whBzBpPvr3jGcNja3Wtg==} - '@clerc/parser@1.2.1': - resolution: {integrity: sha512-/8iEccDJPE4HCZDiPf7S32fH8lKK4IB6Aa5eQxTI5gPh0TBh/XPYkBk+geOba+FsV2YWj5KhXh7bYmIP9hXZOg==} + '@clerc/parser@1.3.1': + resolution: {integrity: sha512-e1rb82ENJNfZYjkf5tR7OcsmwNShINJumxfy7fS9SYypSZNRbQmzHj7k7miQ3u+Mfc08fpBtvpAGqeBWQKQxRQ==} - '@clerc/plugin-completions@1.2.1': - resolution: {integrity: sha512-p49c/TjmupSXUCojlKts8/eDh/4i8+JaZs6X8k0jV7hxxSGfdaFRCM0ZdsASCo6CUqM1Tvsv1d/9jE4xr9B5Hw==} + '@clerc/plugin-completions@1.3.1': + resolution: {integrity: sha512-zotC2qXVnDZLdwsFI6RPzhA90aNLkZSMuAeYsmrTEekknI3KMp2VFMKEBkQ+Zjsq3XCdaT8P4WEvPFkLJIMZjA==} peerDependencies: '@clerc/core': '*' - '@clerc/plugin-help@1.2.1': - resolution: {integrity: sha512-/Z8HersMAwtnfUpMh0Iorf51n3SKa+MQxq45ZhnZUTWajsv0OJAPKNy1uiwK57w0jQNbq77TomZiUOd8UdEJjw==} + '@clerc/plugin-help@1.3.1': + resolution: {integrity: sha512-8cibdUMgZpUqv2kVfTK2HcbxeEz53NQnX+SR4Dh0V+oqB95MmRc0ihXUdXb2qR0J5h5zd7F9QC6yRiG9t00F/g==} peerDependencies: '@clerc/core': '*' - '@clerc/plugin-version@1.2.1': - resolution: {integrity: sha512-DrCL/letf+frUOBafyM6LZjDTyR83afFw7KTf4V/+Va3xRJ65OC8azoCzce8V6Q4iXK4TG6OPYTBR3KPi6AVyQ==} + '@clerc/plugin-version@1.3.1': + resolution: {integrity: sha512-g8bn+J/oX8dwNhFCwh8E1BGka9Z9PLCjQ+dgByMc7EA7RH0agxU9bWXgHqkL4JFMPhVWFG2w6sGxL6pN6tyq4Q==} peerDependencies: '@clerc/core': '*' - '@clerc/utils@1.2.1': - resolution: {integrity: sha512-+CmPSbnMsf5Mk52IdUOhpEdhahkqfQ5RkDKvMg04X83HU4RImeKcZhfk+uOiB5zF1bt8ARt8wvJpYH0wj9PNMw==} + '@clerc/utils@1.3.1': + resolution: {integrity: sha512-wkK6daYkmTQKnhSADMkunfDhNJI6rRCn2R++7cI2EoEBmOZWYqn7frkk5ac7zsxBi0Mc3UnMVaJiNFU+t6PPWQ==} '@content-collections/cli@0.1.9': resolution: {integrity: sha512-KLMNihimrB/6/2AtnA775HeBeCZexZ64+JfxahqBCrGUiw3L31/DONVy+Kqb24Zr0dgVLoKHkEGtTAjdx9MYRw==} @@ -456,8 +456,8 @@ packages: cpu: [ppc64] os: [aix] - '@esbuild/aix-ppc64@0.27.2': - resolution: {integrity: sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==} + '@esbuild/aix-ppc64@0.27.3': + resolution: {integrity: sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] @@ -468,8 +468,8 @@ packages: cpu: [arm64] os: [android] - '@esbuild/android-arm64@0.27.2': - resolution: {integrity: sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==} + '@esbuild/android-arm64@0.27.3': + resolution: {integrity: sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==} engines: {node: '>=18'} cpu: [arm64] os: [android] @@ -480,8 +480,8 @@ packages: cpu: [arm] os: [android] - '@esbuild/android-arm@0.27.2': - resolution: {integrity: sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==} + '@esbuild/android-arm@0.27.3': + resolution: {integrity: sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==} engines: {node: '>=18'} cpu: [arm] os: [android] @@ -492,8 +492,8 @@ packages: cpu: [x64] os: [android] - '@esbuild/android-x64@0.27.2': - resolution: {integrity: sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==} + '@esbuild/android-x64@0.27.3': + resolution: {integrity: sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==} engines: {node: '>=18'} cpu: [x64] os: [android] @@ -504,8 +504,8 @@ packages: cpu: [arm64] os: [darwin] - '@esbuild/darwin-arm64@0.27.2': - resolution: {integrity: sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==} + '@esbuild/darwin-arm64@0.27.3': + resolution: {integrity: sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] @@ -516,8 +516,8 @@ packages: cpu: [x64] os: [darwin] - '@esbuild/darwin-x64@0.27.2': - resolution: {integrity: sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==} + '@esbuild/darwin-x64@0.27.3': + resolution: {integrity: sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==} engines: {node: '>=18'} cpu: [x64] os: [darwin] @@ -528,8 +528,8 @@ packages: cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-arm64@0.27.2': - resolution: {integrity: sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==} + '@esbuild/freebsd-arm64@0.27.3': + resolution: {integrity: sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] @@ -540,8 +540,8 @@ packages: cpu: [x64] os: [freebsd] - '@esbuild/freebsd-x64@0.27.2': - resolution: {integrity: sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==} + '@esbuild/freebsd-x64@0.27.3': + resolution: {integrity: sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] @@ -552,8 +552,8 @@ packages: cpu: [arm64] os: [linux] - '@esbuild/linux-arm64@0.27.2': - resolution: {integrity: sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==} + '@esbuild/linux-arm64@0.27.3': + resolution: {integrity: sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==} engines: {node: '>=18'} cpu: [arm64] os: [linux] @@ -564,8 +564,8 @@ packages: cpu: [arm] os: [linux] - '@esbuild/linux-arm@0.27.2': - resolution: {integrity: sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==} + '@esbuild/linux-arm@0.27.3': + resolution: {integrity: sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==} engines: {node: '>=18'} cpu: [arm] os: [linux] @@ -576,8 +576,8 @@ packages: cpu: [ia32] os: [linux] - '@esbuild/linux-ia32@0.27.2': - resolution: {integrity: sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==} + '@esbuild/linux-ia32@0.27.3': + resolution: {integrity: sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==} engines: {node: '>=18'} cpu: [ia32] os: [linux] @@ -588,8 +588,8 @@ packages: cpu: [loong64] os: [linux] - '@esbuild/linux-loong64@0.27.2': - resolution: {integrity: sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==} + '@esbuild/linux-loong64@0.27.3': + resolution: {integrity: sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==} engines: {node: '>=18'} cpu: [loong64] os: [linux] @@ -600,8 +600,8 @@ packages: cpu: [mips64el] os: [linux] - '@esbuild/linux-mips64el@0.27.2': - resolution: {integrity: sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==} + '@esbuild/linux-mips64el@0.27.3': + resolution: {integrity: sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] @@ -612,8 +612,8 @@ packages: cpu: [ppc64] os: [linux] - '@esbuild/linux-ppc64@0.27.2': - resolution: {integrity: sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==} + '@esbuild/linux-ppc64@0.27.3': + resolution: {integrity: sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] @@ -624,8 +624,8 @@ packages: cpu: [riscv64] os: [linux] - '@esbuild/linux-riscv64@0.27.2': - resolution: {integrity: sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==} + '@esbuild/linux-riscv64@0.27.3': + resolution: {integrity: sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] @@ -636,8 +636,8 @@ packages: cpu: [s390x] os: [linux] - '@esbuild/linux-s390x@0.27.2': - resolution: {integrity: sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==} + '@esbuild/linux-s390x@0.27.3': + resolution: {integrity: sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==} engines: {node: '>=18'} cpu: [s390x] os: [linux] @@ -648,8 +648,8 @@ packages: cpu: [x64] os: [linux] - '@esbuild/linux-x64@0.27.2': - resolution: {integrity: sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==} + '@esbuild/linux-x64@0.27.3': + resolution: {integrity: sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==} engines: {node: '>=18'} cpu: [x64] os: [linux] @@ -660,8 +660,8 @@ packages: cpu: [arm64] os: [netbsd] - '@esbuild/netbsd-arm64@0.27.2': - resolution: {integrity: sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==} + '@esbuild/netbsd-arm64@0.27.3': + resolution: {integrity: sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==} engines: {node: '>=18'} cpu: [arm64] os: [netbsd] @@ -672,8 +672,8 @@ packages: cpu: [x64] os: [netbsd] - '@esbuild/netbsd-x64@0.27.2': - resolution: {integrity: sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==} + '@esbuild/netbsd-x64@0.27.3': + resolution: {integrity: sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] @@ -684,8 +684,8 @@ packages: cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-arm64@0.27.2': - resolution: {integrity: sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==} + '@esbuild/openbsd-arm64@0.27.3': + resolution: {integrity: sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] @@ -696,8 +696,8 @@ packages: cpu: [x64] os: [openbsd] - '@esbuild/openbsd-x64@0.27.2': - resolution: {integrity: sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==} + '@esbuild/openbsd-x64@0.27.3': + resolution: {integrity: sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] @@ -708,8 +708,8 @@ packages: cpu: [arm64] os: [openharmony] - '@esbuild/openharmony-arm64@0.27.2': - resolution: {integrity: sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==} + '@esbuild/openharmony-arm64@0.27.3': + resolution: {integrity: sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==} engines: {node: '>=18'} cpu: [arm64] os: [openharmony] @@ -720,8 +720,8 @@ packages: cpu: [x64] os: [sunos] - '@esbuild/sunos-x64@0.27.2': - resolution: {integrity: sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==} + '@esbuild/sunos-x64@0.27.3': + resolution: {integrity: sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==} engines: {node: '>=18'} cpu: [x64] os: [sunos] @@ -732,8 +732,8 @@ packages: cpu: [arm64] os: [win32] - '@esbuild/win32-arm64@0.27.2': - resolution: {integrity: sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==} + '@esbuild/win32-arm64@0.27.3': + resolution: {integrity: sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==} engines: {node: '>=18'} cpu: [arm64] os: [win32] @@ -744,8 +744,8 @@ packages: cpu: [ia32] os: [win32] - '@esbuild/win32-ia32@0.27.2': - resolution: {integrity: sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==} + '@esbuild/win32-ia32@0.27.3': + resolution: {integrity: sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==} engines: {node: '>=18'} cpu: [ia32] os: [win32] @@ -756,8 +756,8 @@ packages: cpu: [x64] os: [win32] - '@esbuild/win32-x64@0.27.2': - resolution: {integrity: sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==} + '@esbuild/win32-x64@0.27.3': + resolution: {integrity: sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==} engines: {node: '>=18'} cpu: [x64] os: [win32] @@ -797,8 +797,8 @@ packages: resolution: {integrity: sha512-/nr9K9wkr3P1EzFTdFdMoLuo1PmIxjmwvPozwoSodjNBdefGujXQUF93u1DDZpEaTuDvMsIQddsd35BwtrW9Xw==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} - '@eslint/eslintrc@3.3.3': - resolution: {integrity: sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==} + '@eslint/eslintrc@3.3.4': + resolution: {integrity: sha512-4h4MVF8pmBsncB60r0wSJiIeUKTSD4m7FmTFThG8RHlsg9ajqckLm9OraguFGZE4vVdpiI1Q4+hFnisopmG6gQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/js@9.39.2': @@ -1045,14 +1045,6 @@ packages: '@types/node': optional: true - '@isaacs/balanced-match@4.0.1': - resolution: {integrity: sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==} - engines: {node: 20 || >=22} - - '@isaacs/brace-expansion@5.0.0': - resolution: {integrity: sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==} - engines: {node: 20 || >=22} - '@jridgewell/gen-mapping@0.3.13': resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} @@ -1077,8 +1069,8 @@ packages: '@mdx-js/mdx@3.1.1': resolution: {integrity: sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ==} - '@modelcontextprotocol/sdk@1.26.0': - resolution: {integrity: sha512-Y5RmPncpiDtTXDbLKswIJzTqu2hyBKxTNsgKqKclDbhIgg1wgtf1fRuvxgTnRfcnxtvvgbIEcqUOzZrJ6iSReg==} + '@modelcontextprotocol/sdk@1.27.1': + resolution: {integrity: sha512-sr6GbP+4edBwFndLbM60gf07z0FQ79gaExpnsjMGePXqFcSSb7t6iscpjk9DhFhwd+mTEQrzNafGP8/iGGFYaA==} engines: {node: '>=18'} peerDependencies: '@cfworker/json-schema': ^4.1.1 @@ -1087,8 +1079,8 @@ packages: '@cfworker/json-schema': optional: true - '@mswjs/interceptors@0.40.0': - resolution: {integrity: sha512-EFd6cVbHsgLa6wa4RljGj6Wk75qoHxUSyc5asLyyPSyuhIcdS2Q3Phw6ImS1q+CkALthJRShiYfKANcQMuMqsQ==} + '@mswjs/interceptors@0.41.3': + resolution: {integrity: sha512-cXu86tF4VQVfwz8W1SPbhoRyHJkti6mjH/XJIxp40jhO4j2k1m4KYrEykxqWPkFF3vrK4rgQppBh//AwyGSXPA==} engines: {node: '>=18'} '@napi-rs/wasm-runtime@0.2.12': @@ -1767,8 +1759,8 @@ packages: peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - acorn@8.15.0: - resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} + acorn@8.16.0: + resolution: {integrity: sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==} engines: {node: '>=0.4.0'} hasBin: true @@ -1784,11 +1776,11 @@ packages: ajv: optional: true - ajv@6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + ajv@6.14.0: + resolution: {integrity: sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==} - ajv@8.17.1: - resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} + ajv@8.18.0: + resolution: {integrity: sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==} ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} @@ -1885,8 +1877,13 @@ packages: balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - baseline-browser-mapping@2.9.19: - resolution: {integrity: sha512-ipDqC8FrAl/76p2SSWKSI+H9tFwm7vYqXQrItCuiVPt26Km0jS+NzSsBWAaBusvSbQcfJG+JitdMm+wZAgTYqg==} + balanced-match@4.0.4: + resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} + engines: {node: 18 || 20 || >=22} + + baseline-browser-mapping@2.10.0: + resolution: {integrity: sha512-lIyg0szRfYbiy67j9KN8IyeD7q7hcmqnJ1ddWmNt19ItGpNN64mnllmxUNFIOdOm6by97jlL6wfpTTJrmnjWAA==} + engines: {node: '>=6.0.0'} hasBin: true body-parser@2.2.2: @@ -1896,8 +1893,9 @@ packages: brace-expansion@1.1.12: resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} - brace-expansion@2.0.2: - resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} + brace-expansion@5.0.3: + resolution: {integrity: sha512-fy6KJm2RawA5RcHkLa1z/ScpBeA762UF9KmZQxwIbDtRJrgLzM10depAiEQ+CXYcoiqW1/m96OAAoke2nE9EeA==} + engines: {node: 18 || 20 || >=22} braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} @@ -1936,8 +1934,8 @@ packages: resolution: {integrity: sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==} engines: {node: '>=16'} - caniuse-lite@1.0.30001766: - resolution: {integrity: sha512-4C0lfJ0/YPjJQHagaE9x2Elb69CIqEPZeG0anQt9SIvIoOH4a4uaRl73IavyO+0qZh6MDLH//DrXThEYKHkmYA==} + caniuse-lite@1.0.30001774: + resolution: {integrity: sha512-DDdwPGz99nmIEv216hKSgLD+D4ikHQHjBC/seF98N9CPqRX4M5mSxT9eTV6oyisnJcuzxtZy4n17yKKQYmYQOA==} ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} @@ -2131,8 +2129,8 @@ packages: resolution: {integrity: sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==} engines: {node: '>=18'} - default-browser@5.4.0: - resolution: {integrity: sha512-XDuvSq38Hr1MdN47EDvYtx3U0MTqpCEn+F6ft8z2vYDzMrvQhVp0ui9oQdqW3MvK3vqUETglt1tVGgjLuJ5izg==} + default-browser@5.5.0: + resolution: {integrity: sha512-H9LMLr5zwIbSxrmvikGuI/5KGhZ8E2zH3stkMgM5LpOWDutGM2JZaj460Udnf1a+946zc7YBgrqEWwbk7zHvGw==} engines: {node: '>=18'} define-data-property@1.1.4: @@ -2177,8 +2175,8 @@ packages: resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==} engines: {node: '>=12'} - dotenv@17.2.3: - resolution: {integrity: sha512-JVUnt+DUIzu87TABbhPmNfVdBDt18BLOWjMUFJMSi/Qqg7NTYtabbvSNJGOJ7afbRuv9D/lngizHtP7QyLQ+9w==} + dotenv@17.3.1: + resolution: {integrity: sha512-IO8C/dzEb6O3F9/twg6ZLXz164a2fhTnEWb95H23Dm4OuN+92NmEAlTrupP9VW6Jm3sO26tQlqyvyi4CsnY9GA==} engines: {node: '>=12'} dunder-proto@1.0.1: @@ -2192,8 +2190,8 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.5.283: - resolution: {integrity: sha512-3vifjt1HgrGW/h76UEeny+adYApveS9dH2h3p57JYzBSXJIKUJAvtmIytDKjcSCt9xHfrNCFJ7gts6vkhuq++w==} + electron-to-chromium@1.5.302: + resolution: {integrity: sha512-sM6HAN2LyK82IyPBpznDRqlTQAtuSaO+ShzFiWTvoMJLHyZ+Y39r8VMfHzwbU8MVBzQ4Wdn85+wlZl2TLGIlwg==} emoji-regex@10.6.0: resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==} @@ -2262,8 +2260,8 @@ packages: engines: {node: '>=18'} hasBin: true - esbuild@0.27.2: - resolution: {integrity: sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==} + esbuild@0.27.3: + resolution: {integrity: sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==} engines: {node: '>=18'} hasBin: true @@ -2508,6 +2506,12 @@ packages: fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + fast-string-truncated-width@3.0.3: + resolution: {integrity: sha512-0jjjIEL6+0jag3l2XWWizO64/aZVtpiGE3t0Zgqxv0DPuxiMjvB3M24fCyhZUO4KomJQPj3LTSUnDP3GpdwC0g==} + + fast-string-width@3.0.2: + resolution: {integrity: sha512-gX8LrtNEI5hq8DVUfRQMbr5lpaS4nMIWV+7XEbXk2b8kiQIizgnlr12B4dA3ZEx3308ze0O4Q1R+cHts8kyUJg==} + fast-uri@3.1.0: resolution: {integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==} @@ -2628,8 +2632,8 @@ packages: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} - get-east-asian-width@1.4.0: - resolution: {integrity: sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==} + get-east-asian-width@1.5.0: + resolution: {integrity: sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==} engines: {node: '>=18'} get-intrinsic@1.3.0: @@ -2660,8 +2664,8 @@ packages: resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} engines: {node: '>= 0.4'} - get-tsconfig@4.13.1: - resolution: {integrity: sha512-EoY1N2xCn44xU6750Sx7OjOIT59FkmstNc3X6y5xpz7D5cBtZRe/3pSlTkDJgqsOk3WwZPkWfonhhUJfttQo3w==} + get-tsconfig@4.13.6: + resolution: {integrity: sha512-shZT/QMiSHc/YBLxxOkMtgSid5HFoauqCE3/exfsEcwg1WkeqjG+V40yBbBrsD+jW2HDXcs28xOfcbm2jI8Ddw==} github-slugger@2.0.0: resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} @@ -2697,8 +2701,8 @@ packages: graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - graphql@16.12.0: - resolution: {integrity: sha512-DKKrynuQRne0PNpEbzuEdHlYOMksHSUI8Zc9Unei5gTsMNA2/vMpoMz/yKba50pejK56qj98qM0SjYxAKi13gQ==} + graphql@16.13.0: + resolution: {integrity: sha512-uSisMYERbaB9bkA9M4/4dnqyktaEkf1kMHNKq/7DHyxVeWqHQ2mBmVqm5u6/FVHwF3iCNalKcg82Zfl+tffWoA==} engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} gray-matter@4.0.3: @@ -2762,8 +2766,8 @@ packages: hermes-parser@0.25.1: resolution: {integrity: sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==} - hono@4.11.7: - resolution: {integrity: sha512-l7qMiNee7t82bH3SeyUCt9UF15EVmaBvsppY2zQtrbIhl/yzBTny+YUxsVjSjQ6gaqaeVtZmGocom8TzBlA4Yw==} + hono@4.12.2: + resolution: {integrity: sha512-gJnaDHXKDayjt8ue0n8Gs0A007yKXj4Xzb8+cNjZeYsSzzwKc0Lr+OZgYwVfB0pHfUs17EPoLvrOsEaJ9mj+Tg==} engines: {node: '>=16.9.0'} html-void-elements@3.0.0: @@ -3001,8 +3005,8 @@ packages: resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==} engines: {node: '>= 0.4'} - is-wsl@3.1.0: - resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} + is-wsl@3.1.1: + resolution: {integrity: sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==} engines: {node: '>=16'} isarray@2.0.5: @@ -3011,9 +3015,9 @@ packages: isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - isexe@3.1.1: - resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==} - engines: {node: '>=16'} + isexe@3.1.5: + resolution: {integrity: sha512-6B3tLtFqtQS4ekarvLVMZ+X+VlvQekbe4taUkf/rhVO3d/h0M2rfARm/pXLcPEsjjMsFgrFgSrhQIxcSVrBz8w==} + engines: {node: '>=18'} iterator.prototype@1.1.5: resolution: {integrity: sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==} @@ -3225,8 +3229,8 @@ packages: mdast-util-find-and-replace@3.0.2: resolution: {integrity: sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==} - mdast-util-from-markdown@2.0.2: - resolution: {integrity: sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==} + mdast-util-from-markdown@2.0.3: + resolution: {integrity: sha512-W4mAWTvSlKvf8L6J+VN9yLSqQ9AOAAvHuoDAmPkz4dHf553m5gVj2ejadHJhoJmcmxEnOv6Pa8XJhpxE93kb8Q==} mdast-util-frontmatter@2.0.1: resolution: {integrity: sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==} @@ -3422,15 +3426,15 @@ packages: resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} engines: {node: '>=18'} - minimatch@10.1.1: - resolution: {integrity: sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==} - engines: {node: 20 || >=22} + minimatch@10.2.4: + resolution: {integrity: sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==} + engines: {node: 18 || 20 || >=22} - minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + minimatch@3.1.5: + resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==} - minimatch@9.0.5: - resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + minimatch@9.0.8: + resolution: {integrity: sha512-reYkDYtj/b19TeqbNZCV4q9t+Yxylf/rYBsLb42SXJatTv4/ylq5lEiAmhA/IToxO7NI2UzNMghHoHuaqDkAjw==} engines: {node: '>=16 || 14 >=14.17'} minimist@1.2.8: @@ -3459,8 +3463,8 @@ packages: ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - msw@2.12.7: - resolution: {integrity: sha512-retd5i3xCZDVWMYjHEVuKTmhqY8lSsxujjVrZiGbbdoxxIBg5S7rCuYy/YQpfrTYIxpd/o0Kyb/3H+1udBMoYg==} + msw@2.12.10: + resolution: {integrity: sha512-G3VUymSE0/iegFnuipujpwyTM2GuZAKXNeerUSrG2+Eg391wW63xFs5ixWsK9MWzr1AGoSkYGmyAzNgbR3+urw==} engines: {node: '>=18'} hasBin: true peerDependencies: @@ -3522,6 +3526,10 @@ packages: engines: {node: '>=10.5.0'} deprecated: Use your platform's native DOMException instead + node-exports-info@1.6.0: + resolution: {integrity: sha512-pyFS63ptit/P5WqUkt+UUfe+4oevH+bFeIiPPdfb0pFeYEu/1ELnJu5l+5EcTKYL5M7zaAa7S8ddywgXypqKCw==} + engines: {node: '>= 0.4'} + node-fetch@3.3.2: resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -3800,8 +3808,8 @@ packages: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} - qs@6.14.1: - resolution: {integrity: sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==} + qs@6.15.0: + resolution: {integrity: sha512-mAZTtNCeetKMH+pSjrb76NAM8V9a05I9aBZOHztWy/UqcJdQYNsf59vrRKWnojAT9Y+GbIvoTBC++CPHqpDBhQ==} engines: {node: '>=0.6'} queue-microtask@1.2.3: @@ -3963,16 +3971,17 @@ packages: engines: {node: '>= 0.4'} hasBin: true - resolve@2.0.0-next.5: - resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} + resolve@2.0.0-next.6: + resolution: {integrity: sha512-3JmVl5hMGtJ3kMmB3zi3DL25KfkCEyy3Tw7Gmw7z5w8M9WlwoPFnIvwChzu1+cF3iaK3sp18hhPz8ANeimdJfA==} + engines: {node: '>= 0.4'} hasBin: true restore-cursor@5.1.0: resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} engines: {node: '>=18'} - rettime@0.7.0: - resolution: {integrity: sha512-LPRKoHnLKd/r3dVxcwO7vhCW+orkOGj9ViueosEBK6ie89CijnfRlhaDhHq/3Hxu4CkWQtxwlBG0mzTQY6uQjw==} + rettime@0.10.1: + resolution: {integrity: sha512-uyDrIlUEH37cinabq0AX4QbgV4HbFZ/gqoiunWQ1UqBtRvTTytwhNYjE++pO/MjPTZL5KQCf2bEoJ/BJNVQ5Kw==} reusify@1.1.0: resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} @@ -4018,8 +4027,8 @@ packages: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true - semver@7.7.3: - resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==} + semver@7.7.4: + resolution: {integrity: sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==} engines: {node: '>=10'} hasBin: true @@ -4138,10 +4147,6 @@ packages: resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} engines: {node: '>=18'} - string-width@8.1.1: - resolution: {integrity: sha512-KpqHIdDL9KwYk22wEOg/VIqYbrnLeSApsKT/bSj6Ez7pn3CftUiLAv2Lccpq1ALcpLV9UX1Ppn92npZWu2w/aw==} - engines: {node: '>=20'} - string.prototype.includes@2.0.1: resolution: {integrity: sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==} engines: {node: '>= 0.4'} @@ -4266,11 +4271,11 @@ packages: resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} engines: {node: '>=12.0.0'} - tldts-core@7.0.21: - resolution: {integrity: sha512-oVOMdHvgjqyzUZH1rOESgJP1uNe2bVrfK0jUHHmiM2rpEiRbf3j4BrsIc6JigJRbHGanQwuZv/R+LTcHsw+bLA==} + tldts-core@7.0.23: + resolution: {integrity: sha512-0g9vrtDQLrNIiCj22HSe9d4mLVG3g5ph5DZ8zCKBr4OtrspmNB6ss7hVyzArAeE88ceZocIEGkyW1Ime7fxPtQ==} - tldts@7.0.21: - resolution: {integrity: sha512-Plu6V8fF/XU6d2k8jPtlQf5F4Xx2hAin4r2C2ca7wR8NK5MbRTo9huLUWRe28f3Uk8bYZfg74tit/dSjc18xnw==} + tldts@7.0.23: + resolution: {integrity: sha512-ASdhgQIBSay0R/eXggAkQ53G4nTJqTXqC2kbaBbdDwM7SkjyZyO0OaaN1/FH7U/yCeqOHDwFO5j8+Os/IS1dXw==} hasBin: true to-regex-range@5.0.1: @@ -4359,8 +4364,8 @@ packages: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} - type-fest@5.4.3: - resolution: {integrity: sha512-AXSAQJu79WGc79/3e9/CR77I/KQgeY1AhNvcShIH4PTcGYyC4xv6H4R4AUOwkPS5799KlVDAu8zExeCrkGquiA==} + type-fest@5.4.4: + resolution: {integrity: sha512-JnTrzGu+zPV3aXIUhnyWJj4z/wigMsdYajGLIYakqyOW1nPllzXEJee0QQbHj+CTIQtXGlAjuK0UY+2xTyjVAw==} engines: {node: '>=20'} type-is@2.0.1: @@ -4644,7 +4649,7 @@ snapshots: '@babel/core@7.29.0': dependencies: '@babel/code-frame': 7.29.0 - '@babel/generator': 7.29.0 + '@babel/generator': 7.29.1 '@babel/helper-compilation-targets': 7.28.6 '@babel/helper-module-transforms': 7.28.6(@babel/core@7.29.0) '@babel/helpers': 7.28.6 @@ -4661,7 +4666,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/generator@7.29.0': + '@babel/generator@7.29.1': dependencies: '@babel/parser': 7.29.0 '@babel/types': 7.29.0 @@ -4807,7 +4812,7 @@ snapshots: '@babel/traverse@7.29.0': dependencies: '@babel/code-frame': 7.29.0 - '@babel/generator': 7.29.0 + '@babel/generator': 7.29.1 '@babel/helper-globals': 7.28.0 '@babel/parser': 7.29.0 '@babel/template': 7.28.6 @@ -4845,41 +4850,41 @@ snapshots: optionalDependencies: '@types/react': 19.2.14 - '@clerc/core@1.2.1': + '@clerc/core@1.3.1': dependencies: - '@clerc/parser': 1.2.1 - '@clerc/utils': 1.2.1 + '@clerc/parser': 1.3.1 + '@clerc/utils': 1.3.1 lite-emit: 4.0.0 - '@clerc/parser@1.2.1': + '@clerc/parser@1.3.1': dependencies: - '@clerc/utils': 1.2.1 + '@clerc/utils': 1.3.1 - '@clerc/plugin-completions@1.2.1(@clerc/core@1.2.1)': + '@clerc/plugin-completions@1.3.1(@clerc/core@1.3.1)': dependencies: - '@clerc/core': 1.2.1 + '@clerc/core': 1.3.1 - '@clerc/plugin-help@1.2.1(@clerc/core@1.2.1)': + '@clerc/plugin-help@1.3.1(@clerc/core@1.3.1)': dependencies: - '@clerc/core': 1.2.1 - '@clerc/utils': 1.2.1 + '@clerc/core': 1.3.1 + '@clerc/utils': 1.3.1 '@uttr/tint': 0.1.3 - string-width: 8.1.1 + fast-string-width: 3.0.2 text-table: 0.2.0 - '@clerc/plugin-version@1.2.1(@clerc/core@1.2.1)': + '@clerc/plugin-version@1.3.1(@clerc/core@1.3.1)': dependencies: - '@clerc/core': 1.2.1 - '@clerc/utils': 1.2.1 + '@clerc/core': 1.3.1 + '@clerc/utils': 1.3.1 - '@clerc/utils@1.2.1': {} + '@clerc/utils@1.3.1': {} '@content-collections/cli@0.1.9(@content-collections/core@0.14.1(typescript@5.9.3))': dependencies: - '@clerc/core': 1.2.1 - '@clerc/plugin-completions': 1.2.1(@clerc/core@1.2.1) - '@clerc/plugin-help': 1.2.1(@clerc/core@1.2.1) - '@clerc/plugin-version': 1.2.1(@clerc/core@1.2.1) + '@clerc/core': 1.3.1 + '@clerc/plugin-completions': 1.3.1(@clerc/core@1.3.1) + '@clerc/plugin-help': 1.3.1(@clerc/core@1.3.1) + '@clerc/plugin-version': 1.3.1(@clerc/core@1.3.1) '@content-collections/core': 0.14.1(typescript@5.9.3) '@content-collections/integrations': 0.5.0(@content-collections/core@0.14.1(typescript@5.9.3)) @@ -4922,7 +4927,7 @@ snapshots: '@dotenvx/dotenvx@1.52.0': dependencies: commander: 11.1.0 - dotenv: 17.2.3 + dotenv: 17.3.1 eciesjs: 0.4.17 execa: 5.1.1 fdir: 6.5.0(picomatch@4.0.3) @@ -4964,157 +4969,157 @@ snapshots: '@esbuild/aix-ppc64@0.25.12': optional: true - '@esbuild/aix-ppc64@0.27.2': + '@esbuild/aix-ppc64@0.27.3': optional: true '@esbuild/android-arm64@0.25.12': optional: true - '@esbuild/android-arm64@0.27.2': + '@esbuild/android-arm64@0.27.3': optional: true '@esbuild/android-arm@0.25.12': optional: true - '@esbuild/android-arm@0.27.2': + '@esbuild/android-arm@0.27.3': optional: true '@esbuild/android-x64@0.25.12': optional: true - '@esbuild/android-x64@0.27.2': + '@esbuild/android-x64@0.27.3': optional: true '@esbuild/darwin-arm64@0.25.12': optional: true - '@esbuild/darwin-arm64@0.27.2': + '@esbuild/darwin-arm64@0.27.3': optional: true '@esbuild/darwin-x64@0.25.12': optional: true - '@esbuild/darwin-x64@0.27.2': + '@esbuild/darwin-x64@0.27.3': optional: true '@esbuild/freebsd-arm64@0.25.12': optional: true - '@esbuild/freebsd-arm64@0.27.2': + '@esbuild/freebsd-arm64@0.27.3': optional: true '@esbuild/freebsd-x64@0.25.12': optional: true - '@esbuild/freebsd-x64@0.27.2': + '@esbuild/freebsd-x64@0.27.3': optional: true '@esbuild/linux-arm64@0.25.12': optional: true - '@esbuild/linux-arm64@0.27.2': + '@esbuild/linux-arm64@0.27.3': optional: true '@esbuild/linux-arm@0.25.12': optional: true - '@esbuild/linux-arm@0.27.2': + '@esbuild/linux-arm@0.27.3': optional: true '@esbuild/linux-ia32@0.25.12': optional: true - '@esbuild/linux-ia32@0.27.2': + '@esbuild/linux-ia32@0.27.3': optional: true '@esbuild/linux-loong64@0.25.12': optional: true - '@esbuild/linux-loong64@0.27.2': + '@esbuild/linux-loong64@0.27.3': optional: true '@esbuild/linux-mips64el@0.25.12': optional: true - '@esbuild/linux-mips64el@0.27.2': + '@esbuild/linux-mips64el@0.27.3': optional: true '@esbuild/linux-ppc64@0.25.12': optional: true - '@esbuild/linux-ppc64@0.27.2': + '@esbuild/linux-ppc64@0.27.3': optional: true '@esbuild/linux-riscv64@0.25.12': optional: true - '@esbuild/linux-riscv64@0.27.2': + '@esbuild/linux-riscv64@0.27.3': optional: true '@esbuild/linux-s390x@0.25.12': optional: true - '@esbuild/linux-s390x@0.27.2': + '@esbuild/linux-s390x@0.27.3': optional: true '@esbuild/linux-x64@0.25.12': optional: true - '@esbuild/linux-x64@0.27.2': + '@esbuild/linux-x64@0.27.3': optional: true '@esbuild/netbsd-arm64@0.25.12': optional: true - '@esbuild/netbsd-arm64@0.27.2': + '@esbuild/netbsd-arm64@0.27.3': optional: true '@esbuild/netbsd-x64@0.25.12': optional: true - '@esbuild/netbsd-x64@0.27.2': + '@esbuild/netbsd-x64@0.27.3': optional: true '@esbuild/openbsd-arm64@0.25.12': optional: true - '@esbuild/openbsd-arm64@0.27.2': + '@esbuild/openbsd-arm64@0.27.3': optional: true '@esbuild/openbsd-x64@0.25.12': optional: true - '@esbuild/openbsd-x64@0.27.2': + '@esbuild/openbsd-x64@0.27.3': optional: true '@esbuild/openharmony-arm64@0.25.12': optional: true - '@esbuild/openharmony-arm64@0.27.2': + '@esbuild/openharmony-arm64@0.27.3': optional: true '@esbuild/sunos-x64@0.25.12': optional: true - '@esbuild/sunos-x64@0.27.2': + '@esbuild/sunos-x64@0.27.3': optional: true '@esbuild/win32-arm64@0.25.12': optional: true - '@esbuild/win32-arm64@0.27.2': + '@esbuild/win32-arm64@0.27.3': optional: true '@esbuild/win32-ia32@0.25.12': optional: true - '@esbuild/win32-ia32@0.27.2': + '@esbuild/win32-ia32@0.27.3': optional: true '@esbuild/win32-x64@0.25.12': optional: true - '@esbuild/win32-x64@0.27.2': + '@esbuild/win32-x64@0.27.3': optional: true '@eslint-community/eslint-utils@4.9.1(eslint@9.39.2(jiti@2.6.1))': @@ -5139,7 +5144,7 @@ snapshots: dependencies: '@eslint/object-schema': 2.1.7 debug: 4.4.3 - minimatch: 3.1.2 + minimatch: 3.1.5 transitivePeerDependencies: - supports-color @@ -5155,16 +5160,16 @@ snapshots: dependencies: '@types/json-schema': 7.0.15 - '@eslint/eslintrc@3.3.3': + '@eslint/eslintrc@3.3.4': dependencies: - ajv: 6.12.6 + ajv: 6.14.0 debug: 4.4.3 espree: 10.4.0 globals: 14.0.0 ignore: 5.3.2 import-fresh: 3.3.1 js-yaml: 4.1.1 - minimatch: 3.1.2 + minimatch: 3.1.5 strip-json-comments: 3.1.1 transitivePeerDependencies: - supports-color @@ -5199,9 +5204,9 @@ snapshots: '@floating-ui/utils@0.2.10': {} - '@hono/node-server@1.19.9(hono@4.11.7)': + '@hono/node-server@1.19.9(hono@4.12.2)': dependencies: - hono: 4.11.7 + hono: 4.12.2 '@humanfs/core@0.19.1': {} @@ -5339,12 +5344,6 @@ snapshots: optionalDependencies: '@types/node': 22.19.11 - '@isaacs/balanced-match@4.0.1': {} - - '@isaacs/brace-expansion@5.0.0': - dependencies: - '@isaacs/balanced-match': 4.0.1 - '@jridgewell/gen-mapping@0.3.13': dependencies: '@jridgewell/sourcemap-codec': 1.5.5 @@ -5381,7 +5380,7 @@ snapshots: '@types/estree-jsx': 1.0.5 '@types/hast': 3.0.4 '@types/mdx': 2.0.13 - acorn: 8.15.0 + acorn: 8.16.0 collapse-white-space: 2.1.0 devlop: 1.1.0 estree-util-is-identifier-name: 3.0.0 @@ -5390,7 +5389,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.15.0) + recma-jsx: 1.0.1(acorn@8.16.0) recma-stringify: 1.0.0 rehype-recma: 1.0.0 remark-mdx: 3.1.1 @@ -5405,11 +5404,11 @@ snapshots: transitivePeerDependencies: - supports-color - '@modelcontextprotocol/sdk@1.26.0(zod@3.25.76)': + '@modelcontextprotocol/sdk@1.27.1(zod@3.25.76)': dependencies: - '@hono/node-server': 1.19.9(hono@4.11.7) - ajv: 8.17.1 - ajv-formats: 3.0.1(ajv@8.17.1) + '@hono/node-server': 1.19.9(hono@4.12.2) + ajv: 8.18.0 + ajv-formats: 3.0.1(ajv@8.18.0) content-type: 1.0.5 cors: 2.8.6 cross-spawn: 7.0.6 @@ -5417,7 +5416,7 @@ snapshots: eventsource-parser: 3.0.6 express: 5.2.1 express-rate-limit: 8.2.1(express@5.2.1) - hono: 4.11.7 + hono: 4.12.2 jose: 6.1.3 json-schema-typed: 8.0.2 pkce-challenge: 5.0.1 @@ -5427,7 +5426,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@mswjs/interceptors@0.40.0': + '@mswjs/interceptors@0.41.3': dependencies: '@open-draft/deferred-promise': 2.2.0 '@open-draft/logger': 0.3.0 @@ -5804,7 +5803,7 @@ snapshots: '@ts-morph/common@0.27.0': dependencies: fast-glob: 3.3.3 - minimatch: 10.1.1 + minimatch: 10.2.4 path-browserify: 1.0.1 '@tybys/wasm-util@0.10.1': @@ -5931,8 +5930,8 @@ snapshots: '@typescript-eslint/types': 8.50.1 '@typescript-eslint/visitor-keys': 8.50.1 debug: 4.4.3 - minimatch: 9.0.5 - semver: 7.7.3 + minimatch: 9.0.8 + semver: 7.7.4 tinyglobby: 0.2.15 ts-api-utils: 2.4.0(typescript@5.9.3) typescript: 5.9.3 @@ -6023,26 +6022,26 @@ snapshots: mime-types: 3.0.2 negotiator: 1.0.0 - acorn-jsx@5.3.2(acorn@8.15.0): + acorn-jsx@5.3.2(acorn@8.16.0): dependencies: - acorn: 8.15.0 + acorn: 8.16.0 - acorn@8.15.0: {} + acorn@8.16.0: {} agent-base@7.1.4: {} - ajv-formats@3.0.1(ajv@8.17.1): + ajv-formats@3.0.1(ajv@8.18.0): optionalDependencies: - ajv: 8.17.1 + ajv: 8.18.0 - ajv@6.12.6: + ajv@6.14.0: dependencies: fast-deep-equal: 3.1.3 fast-json-stable-stringify: 2.1.0 json-schema-traverse: 0.4.1 uri-js: 4.4.1 - ajv@8.17.1: + ajv@8.18.0: dependencies: fast-deep-equal: 3.1.3 fast-uri: 3.1.0 @@ -6160,7 +6159,9 @@ snapshots: balanced-match@1.0.2: {} - baseline-browser-mapping@2.9.19: {} + balanced-match@4.0.4: {} + + baseline-browser-mapping@2.10.0: {} body-parser@2.2.2: dependencies: @@ -6170,7 +6171,7 @@ snapshots: http-errors: 2.0.1 iconv-lite: 0.7.2 on-finished: 2.4.1 - qs: 6.14.1 + qs: 6.15.0 raw-body: 3.0.2 type-is: 2.0.1 transitivePeerDependencies: @@ -6181,9 +6182,9 @@ snapshots: balanced-match: 1.0.2 concat-map: 0.0.1 - brace-expansion@2.0.2: + brace-expansion@5.0.3: dependencies: - balanced-match: 1.0.2 + balanced-match: 4.0.4 braces@3.0.3: dependencies: @@ -6191,9 +6192,9 @@ snapshots: browserslist@4.28.1: dependencies: - baseline-browser-mapping: 2.9.19 - caniuse-lite: 1.0.30001766 - electron-to-chromium: 1.5.283 + baseline-browser-mapping: 2.10.0 + caniuse-lite: 1.0.30001774 + electron-to-chromium: 1.5.302 node-releases: 2.0.27 update-browserslist-db: 1.2.3(browserslist@4.28.1) @@ -6224,7 +6225,7 @@ snapshots: camelcase@8.0.0: {} - caniuse-lite@1.0.30001766: {} + caniuse-lite@1.0.30001774: {} ccount@2.0.1: {} @@ -6377,7 +6378,7 @@ snapshots: default-browser-id@5.0.1: {} - default-browser@5.4.0: + default-browser@5.5.0: dependencies: bundle-name: 4.1.0 default-browser-id: 5.0.1 @@ -6416,7 +6417,7 @@ snapshots: dotenv@16.0.3: {} - dotenv@17.2.3: {} + dotenv@17.3.1: {} dunder-proto@1.0.1: dependencies: @@ -6433,7 +6434,7 @@ snapshots: ee-first@1.1.1: {} - electron-to-chromium@1.5.283: {} + electron-to-chromium@1.5.302: {} emoji-regex@10.6.0: {} @@ -6565,7 +6566,7 @@ snapshots: esast-util-from-js@2.0.1: dependencies: '@types/estree-jsx': 1.0.5 - acorn: 8.15.0 + acorn: 8.16.0 esast-util-from-estree: 2.0.0 vfile-message: 4.0.3 @@ -6598,34 +6599,34 @@ snapshots: '@esbuild/win32-ia32': 0.25.12 '@esbuild/win32-x64': 0.25.12 - esbuild@0.27.2: + esbuild@0.27.3: optionalDependencies: - '@esbuild/aix-ppc64': 0.27.2 - '@esbuild/android-arm': 0.27.2 - '@esbuild/android-arm64': 0.27.2 - '@esbuild/android-x64': 0.27.2 - '@esbuild/darwin-arm64': 0.27.2 - '@esbuild/darwin-x64': 0.27.2 - '@esbuild/freebsd-arm64': 0.27.2 - '@esbuild/freebsd-x64': 0.27.2 - '@esbuild/linux-arm': 0.27.2 - '@esbuild/linux-arm64': 0.27.2 - '@esbuild/linux-ia32': 0.27.2 - '@esbuild/linux-loong64': 0.27.2 - '@esbuild/linux-mips64el': 0.27.2 - '@esbuild/linux-ppc64': 0.27.2 - '@esbuild/linux-riscv64': 0.27.2 - '@esbuild/linux-s390x': 0.27.2 - '@esbuild/linux-x64': 0.27.2 - '@esbuild/netbsd-arm64': 0.27.2 - '@esbuild/netbsd-x64': 0.27.2 - '@esbuild/openbsd-arm64': 0.27.2 - '@esbuild/openbsd-x64': 0.27.2 - '@esbuild/openharmony-arm64': 0.27.2 - '@esbuild/sunos-x64': 0.27.2 - '@esbuild/win32-arm64': 0.27.2 - '@esbuild/win32-ia32': 0.27.2 - '@esbuild/win32-x64': 0.27.2 + '@esbuild/aix-ppc64': 0.27.3 + '@esbuild/android-arm': 0.27.3 + '@esbuild/android-arm64': 0.27.3 + '@esbuild/android-x64': 0.27.3 + '@esbuild/darwin-arm64': 0.27.3 + '@esbuild/darwin-x64': 0.27.3 + '@esbuild/freebsd-arm64': 0.27.3 + '@esbuild/freebsd-x64': 0.27.3 + '@esbuild/linux-arm': 0.27.3 + '@esbuild/linux-arm64': 0.27.3 + '@esbuild/linux-ia32': 0.27.3 + '@esbuild/linux-loong64': 0.27.3 + '@esbuild/linux-mips64el': 0.27.3 + '@esbuild/linux-ppc64': 0.27.3 + '@esbuild/linux-riscv64': 0.27.3 + '@esbuild/linux-s390x': 0.27.3 + '@esbuild/linux-x64': 0.27.3 + '@esbuild/netbsd-arm64': 0.27.3 + '@esbuild/netbsd-x64': 0.27.3 + '@esbuild/openbsd-arm64': 0.27.3 + '@esbuild/openbsd-x64': 0.27.3 + '@esbuild/openharmony-arm64': 0.27.3 + '@esbuild/sunos-x64': 0.27.3 + '@esbuild/win32-arm64': 0.27.3 + '@esbuild/win32-ia32': 0.27.3 + '@esbuild/win32-x64': 0.27.3 escalade@3.2.0: {} @@ -6672,7 +6673,7 @@ snapshots: '@nolyfill/is-core-module': 1.0.39 debug: 4.4.3 eslint: 9.39.2(jiti@2.6.1) - get-tsconfig: 4.13.1 + get-tsconfig: 4.13.6 is-bun-module: 2.0.0 stable-hash: 0.0.5 tinyglobby: 0.2.15 @@ -6708,7 +6709,7 @@ snapshots: hasown: 2.0.2 is-core-module: 2.16.1 is-glob: 4.0.3 - minimatch: 3.1.2 + minimatch: 3.1.5 object.fromentries: 2.0.8 object.groupby: 1.0.3 object.values: 1.2.1 @@ -6736,7 +6737,7 @@ snapshots: hasown: 2.0.2 jsx-ast-utils: 3.3.5 language-tags: 1.0.9 - minimatch: 3.1.2 + minimatch: 3.1.5 object.fromentries: 2.0.8 safe-regex-test: 1.1.0 string.prototype.includes: 2.0.1 @@ -6768,12 +6769,12 @@ snapshots: estraverse: 5.3.0 hasown: 2.0.2 jsx-ast-utils: 3.3.5 - minimatch: 3.1.2 + minimatch: 3.1.5 object.entries: 1.1.9 object.fromentries: 2.0.8 object.values: 1.2.1 prop-types: 15.8.1 - resolve: 2.0.0-next.5 + resolve: 2.0.0-next.6 semver: 6.3.1 string.prototype.matchall: 4.0.12 string.prototype.repeat: 1.0.0 @@ -6800,14 +6801,14 @@ snapshots: '@eslint/config-array': 0.21.1 '@eslint/config-helpers': 0.4.2 '@eslint/core': 0.17.0 - '@eslint/eslintrc': 3.3.3 + '@eslint/eslintrc': 3.3.4 '@eslint/js': 9.39.2 '@eslint/plugin-kit': 0.4.1 '@humanfs/node': 0.16.7 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.4.3 '@types/estree': 1.0.8 - ajv: 6.12.6 + ajv: 6.14.0 chalk: 4.1.2 cross-spawn: 7.0.6 debug: 4.4.3 @@ -6826,7 +6827,7 @@ snapshots: is-glob: 4.0.3 json-stable-stringify-without-jsonify: 1.0.1 lodash.merge: 4.6.2 - minimatch: 3.1.2 + minimatch: 3.1.5 natural-compare: 1.4.0 optionator: 0.9.4 optionalDependencies: @@ -6841,14 +6842,14 @@ snapshots: '@eslint/config-array': 0.21.1 '@eslint/config-helpers': 0.4.2 '@eslint/core': 0.17.0 - '@eslint/eslintrc': 3.3.3 + '@eslint/eslintrc': 3.3.4 '@eslint/js': 9.39.3 '@eslint/plugin-kit': 0.4.1 '@humanfs/node': 0.16.7 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.4.3 '@types/estree': 1.0.8 - ajv: 6.12.6 + ajv: 6.14.0 chalk: 4.1.2 cross-spawn: 7.0.6 debug: 4.4.3 @@ -6867,7 +6868,7 @@ snapshots: is-glob: 4.0.3 json-stable-stringify-without-jsonify: 1.0.1 lodash.merge: 4.6.2 - minimatch: 3.1.2 + minimatch: 3.1.5 natural-compare: 1.4.0 optionator: 0.9.4 optionalDependencies: @@ -6877,8 +6878,8 @@ snapshots: espree@10.4.0: dependencies: - acorn: 8.15.0 - acorn-jsx: 5.3.2(acorn@8.15.0) + acorn: 8.16.0 + acorn-jsx: 5.3.2(acorn@8.16.0) eslint-visitor-keys: 4.2.1 esprima@4.0.1: {} @@ -6994,7 +6995,7 @@ snapshots: once: 1.4.0 parseurl: 1.3.3 proxy-addr: 2.0.7 - qs: 6.14.1 + qs: 6.15.0 range-parser: 1.2.1 router: 2.2.0 send: 1.2.1 @@ -7033,6 +7034,12 @@ snapshots: fast-levenshtein@2.0.6: {} + fast-string-truncated-width@3.0.3: {} + + fast-string-width@3.0.2: + dependencies: + fast-string-truncated-width: 3.0.3 + fast-uri@3.1.0: {} fastq@1.20.1: @@ -7142,7 +7149,7 @@ snapshots: get-caller-file@2.0.5: {} - get-east-asian-width@1.4.0: {} + get-east-asian-width@1.5.0: {} get-intrinsic@1.3.0: dependencies: @@ -7179,7 +7186,7 @@ snapshots: es-errors: 1.3.0 get-intrinsic: 1.3.0 - get-tsconfig@4.13.1: + get-tsconfig@4.13.6: dependencies: resolve-pkg-maps: 1.0.0 @@ -7208,7 +7215,7 @@ snapshots: graceful-fs@4.2.11: {} - graphql@16.12.0: {} + graphql@16.13.0: {} gray-matter@4.0.3: dependencies: @@ -7318,7 +7325,7 @@ snapshots: dependencies: hermes-estree: 0.25.1 - hono@4.11.7: {} + hono@4.12.2: {} html-void-elements@3.0.0: {} @@ -7404,7 +7411,7 @@ snapshots: is-bun-module@2.0.0: dependencies: - semver: 7.7.3 + semver: 7.7.4 is-callable@1.2.7: {} @@ -7527,7 +7534,7 @@ snapshots: call-bound: 1.0.4 get-intrinsic: 1.3.0 - is-wsl@3.1.0: + is-wsl@3.1.1: dependencies: is-inside-container: 1.0.0 @@ -7535,7 +7542,7 @@ snapshots: isexe@2.0.0: {} - isexe@3.1.1: {} + isexe@3.1.5: {} iterator.prototype@1.1.5: dependencies: @@ -7710,7 +7717,7 @@ snapshots: unist-util-is: 6.0.1 unist-util-visit-parents: 6.0.2 - mdast-util-from-markdown@2.0.2: + mdast-util-from-markdown@2.0.3: dependencies: '@types/mdast': 4.0.4 '@types/unist': 3.0.3 @@ -7732,7 +7739,7 @@ snapshots: '@types/mdast': 4.0.4 devlop: 1.1.0 escape-string-regexp: 5.0.0 - mdast-util-from-markdown: 2.0.2 + mdast-util-from-markdown: 2.0.3 mdast-util-to-markdown: 2.1.2 micromark-extension-frontmatter: 2.0.0 transitivePeerDependencies: @@ -7750,7 +7757,7 @@ snapshots: dependencies: '@types/mdast': 4.0.4 devlop: 1.1.0 - mdast-util-from-markdown: 2.0.2 + mdast-util-from-markdown: 2.0.3 mdast-util-to-markdown: 2.1.2 micromark-util-normalize-identifier: 2.0.1 transitivePeerDependencies: @@ -7759,7 +7766,7 @@ snapshots: mdast-util-gfm-strikethrough@2.0.0: dependencies: '@types/mdast': 4.0.4 - mdast-util-from-markdown: 2.0.2 + mdast-util-from-markdown: 2.0.3 mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: - supports-color @@ -7769,7 +7776,7 @@ snapshots: '@types/mdast': 4.0.4 devlop: 1.1.0 markdown-table: 3.0.4 - mdast-util-from-markdown: 2.0.2 + mdast-util-from-markdown: 2.0.3 mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: - supports-color @@ -7778,14 +7785,14 @@ snapshots: dependencies: '@types/mdast': 4.0.4 devlop: 1.1.0 - mdast-util-from-markdown: 2.0.2 + mdast-util-from-markdown: 2.0.3 mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: - supports-color mdast-util-gfm@3.1.0: dependencies: - mdast-util-from-markdown: 2.0.2 + mdast-util-from-markdown: 2.0.3 mdast-util-gfm-autolink-literal: 2.0.1 mdast-util-gfm-footnote: 2.1.0 mdast-util-gfm-strikethrough: 2.0.0 @@ -7801,7 +7808,7 @@ snapshots: '@types/hast': 3.0.4 '@types/mdast': 4.0.4 devlop: 1.1.0 - mdast-util-from-markdown: 2.0.2 + mdast-util-from-markdown: 2.0.3 mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: - supports-color @@ -7814,7 +7821,7 @@ snapshots: '@types/unist': 3.0.3 ccount: 2.0.1 devlop: 1.1.0 - mdast-util-from-markdown: 2.0.2 + mdast-util-from-markdown: 2.0.3 mdast-util-to-markdown: 2.1.2 parse-entities: 4.0.2 stringify-entities: 4.0.4 @@ -7825,7 +7832,7 @@ snapshots: mdast-util-mdx@3.0.0: dependencies: - mdast-util-from-markdown: 2.0.2 + mdast-util-from-markdown: 2.0.3 mdast-util-mdx-expression: 2.0.1 mdast-util-mdx-jsx: 3.2.0 mdast-util-mdxjs-esm: 2.0.1 @@ -7839,7 +7846,7 @@ snapshots: '@types/hast': 3.0.4 '@types/mdast': 4.0.4 devlop: 1.1.0 - mdast-util-from-markdown: 2.0.2 + mdast-util-from-markdown: 2.0.3 mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: - supports-color @@ -8026,8 +8033,8 @@ snapshots: micromark-extension-mdxjs@3.0.0: dependencies: - acorn: 8.15.0 - acorn-jsx: 5.3.2(acorn@8.15.0) + acorn: 8.16.0 + acorn-jsx: 5.3.2(acorn@8.16.0) micromark-extension-mdx-expression: 3.0.1 micromark-extension-mdx-jsx: 3.0.2 micromark-extension-mdx-md: 2.0.0 @@ -8186,17 +8193,17 @@ snapshots: mimic-function@5.0.1: {} - minimatch@10.1.1: + minimatch@10.2.4: dependencies: - '@isaacs/brace-expansion': 5.0.0 + brace-expansion: 5.0.3 - minimatch@3.1.2: + minimatch@3.1.5: dependencies: brace-expansion: 1.1.12 - minimatch@9.0.5: + minimatch@9.0.8: dependencies: - brace-expansion: 2.0.2 + brace-expansion: 5.0.3 minimist@1.2.8: {} @@ -8216,24 +8223,24 @@ snapshots: ms@2.1.3: {} - msw@2.12.7(@types/node@22.19.11)(typescript@5.9.3): + msw@2.12.10(@types/node@22.19.11)(typescript@5.9.3): dependencies: '@inquirer/confirm': 5.1.21(@types/node@22.19.11) - '@mswjs/interceptors': 0.40.0 + '@mswjs/interceptors': 0.41.3 '@open-draft/deferred-promise': 2.2.0 '@types/statuses': 2.0.6 cookie: 1.1.1 - graphql: 16.12.0 + graphql: 16.13.0 headers-polyfill: 4.0.3 is-node-process: 1.2.0 outvariant: 1.4.3 path-to-regexp: 6.3.0 picocolors: 1.1.1 - rettime: 0.7.0 + rettime: 0.10.1 statuses: 2.0.2 strict-event-emitter: 0.5.1 tough-cookie: 6.0.0 - type-fest: 5.4.3 + type-fest: 5.4.4 until-async: 3.0.2 yargs: 17.7.2 optionalDependencies: @@ -8260,8 +8267,8 @@ snapshots: dependencies: '@next/env': 16.1.6 '@swc/helpers': 0.5.15 - baseline-browser-mapping: 2.9.19 - caniuse-lite: 1.0.30001766 + baseline-browser-mapping: 2.10.0 + caniuse-lite: 1.0.30001774 postcss: 8.4.31 react: 19.2.4 react-dom: 19.2.4(react@19.2.4) @@ -8282,6 +8289,13 @@ snapshots: node-domexception@1.0.0: {} + node-exports-info@1.6.0: + dependencies: + array.prototype.flatmap: 1.3.3 + es-errors: 1.3.0 + object.entries: 1.1.9 + semver: 6.3.1 + node-fetch@3.3.2: dependencies: data-uri-to-buffer: 4.0.1 @@ -8369,7 +8383,7 @@ snapshots: open@11.0.0: dependencies: - default-browser: 5.4.0 + default-browser: 5.5.0 define-lazy-prop: 3.0.0 is-in-ssh: 1.0.0 is-inside-container: 1.0.0 @@ -8526,7 +8540,7 @@ snapshots: punycode@2.3.1: {} - qs@6.14.1: + qs@6.15.0: dependencies: side-channel: 1.1.0 @@ -8606,10 +8620,10 @@ snapshots: estree-util-build-jsx: 3.0.1 vfile: 6.0.3 - recma-jsx@1.0.1(acorn@8.15.0): + recma-jsx@1.0.1(acorn@8.16.0): dependencies: - acorn: 8.15.0 - acorn-jsx: 5.3.2(acorn@8.15.0) + acorn: 8.16.0 + acorn-jsx: 5.3.2(acorn@8.16.0) estree-util-to-js: 2.0.0 recma-parse: 1.0.0 recma-stringify: 1.0.0 @@ -8723,7 +8737,7 @@ snapshots: remark-parse@11.0.0: dependencies: '@types/mdast': 4.0.4 - mdast-util-from-markdown: 2.0.2 + mdast-util-from-markdown: 2.0.3 micromark-util-types: 2.0.2 unified: 11.0.5 transitivePeerDependencies: @@ -8759,9 +8773,12 @@ snapshots: path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - resolve@2.0.0-next.5: + resolve@2.0.0-next.6: dependencies: + es-errors: 1.3.0 is-core-module: 2.16.1 + node-exports-info: 1.6.0 + object-keys: 1.1.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 @@ -8770,7 +8787,7 @@ snapshots: onetime: 7.0.0 signal-exit: 4.1.0 - rettime@0.7.0: {} + rettime@0.10.1: {} reusify@1.1.0: {} @@ -8822,7 +8839,7 @@ snapshots: semver@6.3.1: {} - semver@7.7.3: {} + semver@7.7.4: {} send@1.2.1: dependencies: @@ -8885,7 +8902,7 @@ snapshots: '@babel/plugin-transform-typescript': 7.28.6(@babel/core@7.29.0) '@babel/preset-typescript': 7.28.5(@babel/core@7.29.0) '@dotenvx/dotenvx': 1.52.0 - '@modelcontextprotocol/sdk': 1.26.0(zod@3.25.76) + '@modelcontextprotocol/sdk': 1.27.1(zod@3.25.76) '@types/validate-npm-package-name': 4.0.2 browserslist: 4.28.1 commander: 14.0.3 @@ -8899,7 +8916,7 @@ snapshots: fuzzysort: 3.1.0 https-proxy-agent: 7.0.6 kleur: 4.1.5 - msw: 2.12.7(@types/node@22.19.11)(typescript@5.9.3) + msw: 2.12.10(@types/node@22.19.11)(typescript@5.9.3) node-fetch: 3.3.2 open: 11.0.0 ora: 8.2.0 @@ -8925,7 +8942,7 @@ snapshots: dependencies: '@img/colour': 1.0.0 detect-libc: 2.1.2 - semver: 7.7.3 + semver: 7.7.4 optionalDependencies: '@img/sharp-darwin-arm64': 0.34.5 '@img/sharp-darwin-x64': 0.34.5 @@ -9036,12 +9053,7 @@ snapshots: string-width@7.2.0: dependencies: emoji-regex: 10.6.0 - get-east-asian-width: 1.4.0 - strip-ansi: 7.1.2 - - string-width@8.1.1: - dependencies: - get-east-asian-width: 1.4.0 + get-east-asian-width: 1.5.0 strip-ansi: 7.1.2 string.prototype.includes@2.0.1: @@ -9173,11 +9185,11 @@ snapshots: fdir: 6.5.0(picomatch@4.0.3) picomatch: 4.0.3 - tldts-core@7.0.21: {} + tldts-core@7.0.23: {} - tldts@7.0.21: + tldts@7.0.23: dependencies: - tldts-core: 7.0.21 + tldts-core: 7.0.23 to-regex-range@5.0.1: dependencies: @@ -9189,7 +9201,7 @@ snapshots: tough-cookie@6.0.0: dependencies: - tldts: 7.0.21 + tldts: 7.0.23 trim-lines@3.0.1: {} @@ -9221,8 +9233,8 @@ snapshots: tsx@4.21.0: dependencies: - esbuild: 0.27.2 - get-tsconfig: 4.13.1 + esbuild: 0.27.3 + get-tsconfig: 4.13.6 optionalDependencies: fsevents: 2.3.3 @@ -9259,7 +9271,7 @@ snapshots: dependencies: prelude-ls: 1.2.1 - type-fest@5.4.3: + type-fest@5.4.4: dependencies: tagged-tag: 1.0.0 @@ -9493,7 +9505,7 @@ snapshots: which@4.0.0: dependencies: - isexe: 3.1.1 + isexe: 3.1.5 word-wrap@1.2.5: {} @@ -9513,7 +9525,7 @@ snapshots: wsl-utils@0.3.1: dependencies: - is-wsl: 3.1.0 + is-wsl: 3.1.1 powershell-utils: 0.1.0 y18n@5.0.8: {} From b7d9e0559115d4f48374f3583e264099fe5269ca Mon Sep 17 00:00:00 2001 From: pheralb Date: Fri, 27 Feb 2026 00:05:01 +0000 Subject: [PATCH 09/14] feat: (shiki) add word-highlight + styles + docs --- .../website/src/docs/shiki/word-highlight.mdx | 70 +++++++++++++++++++ apps/website/src/mdx/plugins/rehypeShiki.ts | 4 ++ apps/website/src/styles/shiki.css | 9 +++ 3 files changed, 83 insertions(+) create mode 100644 apps/website/src/docs/shiki/word-highlight.mdx diff --git a/apps/website/src/docs/shiki/word-highlight.mdx b/apps/website/src/docs/shiki/word-highlight.mdx new file mode 100644 index 0000000..86e3f32 --- /dev/null +++ b/apps/website/src/docs/shiki/word-highlight.mdx @@ -0,0 +1,70 @@ +--- +title: Word Highlight +description: How to highlight specific words in code blocks using Shiki. +category: [Shiki, Markdown, MDX] +--- + + + +```ts /highlight()/ title="Highlighted Word in Shiki" +const code = `console.log('hello')`; +const highlighter = await highlight(); +const html = highlighter.codeToHtml(code, { + lang: "javascript", + theme: "one-light", +}); +``` + +```html {2} title="Output HTML" +
+  
+    highlight
+    ()
+  
+
+``` + +
+ +## Installation + +1. Install the following dependencies: + + + +2. Customize the styles in your CSS file if needed: + + + +## Usage + +### `shikijs/rehype` + +1. Set up `transformerMetaWordHighlight`: + +```ts title="Shiki Word Highlight Transformer" +import { transformerMetaWordHighlight } from "@shikijs/transformers"; + +const rehypeShikiOptions: RehypeShikiCoreOptions = { + //... + transformers: [ + transformerMetaWordHighlight({ + className: "shiki-word-highlight", + }), + ], +}; + +export { rehypeShikiOptions }; +``` + +2. Add `/text-to-highlight/` to the meta string of the code block. For example: + +````mdx +```js /hello/ +console.log("hello world"); +``` +```` diff --git a/apps/website/src/mdx/plugins/rehypeShiki.ts b/apps/website/src/mdx/plugins/rehypeShiki.ts index f4894f4..7d763eb 100644 --- a/apps/website/src/mdx/plugins/rehypeShiki.ts +++ b/apps/website/src/mdx/plugins/rehypeShiki.ts @@ -14,6 +14,7 @@ import { transformerMetaHighlight, transformerNotationDiff, transformerNotationFocus, + transformerMetaWordHighlight, } from "@shikijs/transformers"; const rehypeShikiOptions: RehypeShikiCoreOptions = { @@ -34,6 +35,9 @@ const rehypeShikiOptions: RehypeShikiCoreOptions = { transformerMetaHighlight({ className: "shiki-line-highlight", }), + transformerMetaWordHighlight({ + className: "shiki-word-highlight", + }), ], }; diff --git a/apps/website/src/styles/shiki.css b/apps/website/src/styles/shiki.css index 7ba2dc1..0a068f8 100644 --- a/apps/website/src/styles/shiki.css +++ b/apps/website/src/styles/shiki.css @@ -101,3 +101,12 @@ pre.shiki-line-numbers.shiki-line-anchors code .line::before { pre.shiki-line-numbers.shiki-line-anchors code .line::before:hover { @apply text-blue-500 underline dark:text-blue-400; } + +/* Shiki Highlighted Word */ +pre span.shiki-word-highlight { + @apply relative z-0 px-0.5 inline-block rounded-sm; + &::after { + content: ""; + @apply absolute inset-0 -z-10 rounded-sm bg-neutral-500/25!; + } +} From 217ad86eb42563f047d586056935b6d7ac420a3e Mon Sep 17 00:00:00 2001 From: pheralb Date: Fri, 27 Feb 2026 00:05:08 +0000 Subject: [PATCH 10/14] fix: update CodeBlockContent background color for improved visibility --- apps/website/src/components/code-block/code-block.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/website/src/components/code-block/code-block.tsx b/apps/website/src/components/code-block/code-block.tsx index 4911f46..4e5eb4d 100644 --- a/apps/website/src/components/code-block/code-block.tsx +++ b/apps/website/src/components/code-block/code-block.tsx @@ -93,7 +93,7 @@ const CodeBlockContent = ({
Date: Fri, 27 Feb 2026 00:05:19 +0000 Subject: [PATCH 11/14] feat: enhance ThemeToggle with grouped menu items and labels for better organization --- apps/website/src/components/theme-toggle.tsx | 31 ++++++++++++------- .../src/components/ui/dropdown-menu.tsx | 22 +++++++++++++ 2 files changed, 41 insertions(+), 12 deletions(-) diff --git a/apps/website/src/components/theme-toggle.tsx b/apps/website/src/components/theme-toggle.tsx index 0585d50..c1453e6 100644 --- a/apps/website/src/components/theme-toggle.tsx +++ b/apps/website/src/components/theme-toggle.tsx @@ -6,7 +6,10 @@ import { useTheme } from "next-themes"; import { DropdownMenu, DropdownMenuContent, + DropdownMenuGroup, DropdownMenuItem, + DropdownMenuLabel, + DropdownMenuSeparator, DropdownMenuTrigger, } from "@/components/ui/dropdown-menu"; import { buttonVariants } from "@/components/ui/button"; @@ -34,18 +37,22 @@ const ThemeToggle = () => { Toggle theme (t) - setTheme("light")}> - - Light - - setTheme("dark")}> - - Dark - - setTheme("system")}> - - System - + + Theme (press t) + + setTheme("light")}> + + Light + + setTheme("dark")}> + + Dark + + setTheme("system")}> + + System + + ); diff --git a/apps/website/src/components/ui/dropdown-menu.tsx b/apps/website/src/components/ui/dropdown-menu.tsx index 04c60a4..635ea9f 100644 --- a/apps/website/src/components/ui/dropdown-menu.tsx +++ b/apps/website/src/components/ui/dropdown-menu.tsx @@ -2,6 +2,7 @@ import { cn } from "@/utils/cn"; import { Menu as MenuPrimitive } from "@base-ui/react/menu"; +import type { ComponentProps } from "react"; function DropdownMenu({ ...props }: MenuPrimitive.Root.Props) { return ; @@ -92,6 +93,26 @@ function DropdownMenuSeparator({ ); } +function DropdownMenuLabel({ + className, + inset, + ...props +}: ComponentProps & { + inset?: boolean; +}) { + return ( + + ); +} + export { DropdownMenu, DropdownMenuPortal, @@ -100,4 +121,5 @@ export { DropdownMenuGroup, DropdownMenuItem, DropdownMenuSeparator, + DropdownMenuLabel, }; From 20d28e77095027b1a18054d7922980a7c03c7626 Mon Sep 17 00:00:00 2001 From: pheralb Date: Fri, 27 Feb 2026 00:05:29 +0000 Subject: [PATCH 12/14] fix: update DocCard and DocOptions components for improved styling and layout --- apps/website/src/components/docs/doc-card.tsx | 14 ++------------ apps/website/src/components/docs/doc-options.tsx | 4 ++-- 2 files changed, 4 insertions(+), 14 deletions(-) diff --git a/apps/website/src/components/docs/doc-card.tsx b/apps/website/src/components/docs/doc-card.tsx index 045a580..9cc57cb 100644 --- a/apps/website/src/components/docs/doc-card.tsx +++ b/apps/website/src/components/docs/doc-card.tsx @@ -1,12 +1,7 @@ import { getDocument } from "@/utils/docs"; -import { - FileIcon, - ArrowUpRightIcon, - ChevronRightIcon, - CornerDownRightIcon, -} from "lucide-react"; import { ExternalLink } from "@/components/ui/external-link"; +import { FileIcon, ChevronRightIcon, CornerDownRightIcon } from "lucide-react"; interface DocCardProps { document: string; @@ -19,7 +14,7 @@ const DocCard = ({ document, folder, anchor }: DocCardProps) => { return (
@@ -45,11 +40,6 @@ const DocCard = ({ document, folder, anchor }: DocCardProps) => {

{documentData?.description}

-
); }; diff --git a/apps/website/src/components/docs/doc-options.tsx b/apps/website/src/components/docs/doc-options.tsx index 43e7366..90da02d 100644 --- a/apps/website/src/components/docs/doc-options.tsx +++ b/apps/website/src/components/docs/doc-options.tsx @@ -71,7 +71,7 @@ const DocOptions = ({ content, folder, file }: DocOptionsProps) => { View as Markdown @@ -79,7 +79,7 @@ const DocOptions = ({ content, folder, file }: DocOptionsProps) => { Edit on GitHub From 8847fe55c699b517df46508ecc7fa3c408c68ba0 Mon Sep 17 00:00:00 2001 From: pheralb Date: Fri, 27 Feb 2026 00:07:32 +0000 Subject: [PATCH 13/14] chore: (workspace) upgrade prettier & turbo --- package.json | 4 +-- pnpm-lock.yaml | 80 +++++++++++++++++++++++++------------------------- 2 files changed, 42 insertions(+), 42 deletions(-) diff --git a/package.json b/package.json index 523f6b9..400b02c 100644 --- a/package.json +++ b/package.json @@ -20,9 +20,9 @@ "fix:format": "prettier --write \"**/*.{ts,tsx,js,jsx,mdx}\" --cache" }, "devDependencies": { - "prettier": "3.7.4", + "prettier": "3.8.1", "prettier-plugin-tailwindcss": "0.7.2", - "turbo": "2.7.2", + "turbo": "2.8.11", "typescript": "5.9.3" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index dd3220b..8ade995 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,14 +9,14 @@ importers: .: devDependencies: prettier: - specifier: 3.7.4 - version: 3.7.4 + specifier: 3.8.1 + version: 3.8.1 prettier-plugin-tailwindcss: specifier: 0.7.2 - version: 0.7.2(prettier@3.7.4) + version: 0.7.2(prettier@3.8.1) turbo: - specifier: 2.7.2 - version: 2.7.2 + specifier: 2.8.11 + version: 2.8.11 typescript: specifier: 5.9.3 version: 5.9.3 @@ -191,7 +191,7 @@ importers: version: 0.4.26(eslint@9.39.2(jiti@2.6.1)) eslint-plugin-turbo: specifier: 2.7.2 - version: 2.7.2(eslint@9.39.2(jiti@2.6.1))(turbo@2.7.2) + version: 2.7.2(eslint@9.39.2(jiti@2.6.1))(turbo@2.8.11) globals: specifier: 17.0.0 version: 17.0.0 @@ -3781,8 +3781,8 @@ packages: prettier-plugin-svelte: optional: true - prettier@3.7.4: - resolution: {integrity: sha512-v6UNi1+3hSlVvv8fSaoUbggEM5VErKmmpGA7Pl3HF8V6uKY7rvClBOJlH6yNwQtfTueNkGVpOv/mtWL9L4bgRA==} + prettier@3.8.1: + resolution: {integrity: sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==} engines: {node: '>=14'} hasBin: true @@ -4323,38 +4323,38 @@ packages: engines: {node: '>=18.0.0'} hasBin: true - turbo-darwin-64@2.7.2: - resolution: {integrity: sha512-dxY3X6ezcT5vm3coK6VGixbrhplbQMwgNsCsvZamS/+/6JiebqW9DKt4NwpgYXhDY2HdH00I7FWs3wkVuan4rA==} + turbo-darwin-64@2.8.11: + resolution: {integrity: sha512-XKaCWaz4OCt77oYYvGCIRpvYD4c/aNaKjRkUpv+e8rN3RZb+5Xsyew4yRO+gaHdMIUhQznXNXfHlhs+/p7lIhA==} cpu: [x64] os: [darwin] - turbo-darwin-arm64@2.7.2: - resolution: {integrity: sha512-1bXmuwPLqNFt3mzrtYcVx1sdJ8UYb124Bf48nIgcpMCGZy3kDhgxNv1503kmuK/37OGOZbsWSQFU4I08feIuSg==} + turbo-darwin-arm64@2.8.11: + resolution: {integrity: sha512-VvynLHGUNvQ9k7GZjRPSsRcK4VkioTfFb7O7liAk4nHKjEcMdls7GqxzjVWgJiKz3hWmQGaP9hRa9UUnhVWCxA==} cpu: [arm64] os: [darwin] - turbo-linux-64@2.7.2: - resolution: {integrity: sha512-kP+TiiMaiPugbRlv57VGLfcjFNsFbo8H64wMBCPV2270Or2TpDCBULMzZrvEsvWFjT3pBFvToYbdp8/Kw0jAQg==} + turbo-linux-64@2.8.11: + resolution: {integrity: sha512-cbSn37dcm+EmkQ7DD0euy7xV7o2el4GAOr1XujvkAyKjjNvQ+6QIUeDgQcwAx3D17zPpDvfDMJY2dLQadWnkmQ==} cpu: [x64] os: [linux] - turbo-linux-arm64@2.7.2: - resolution: {integrity: sha512-VDJwQ0+8zjAfbyY6boNaWfP6RIez4ypKHxwkuB6SrWbOSk+vxTyW5/hEjytTwK8w/TsbKVcMDyvpora8tEsRFw==} + turbo-linux-arm64@2.8.11: + resolution: {integrity: sha512-+trymp2s2aBrhS04l6qFxcExzZ8ffndevuUB9c5RCeqsVpZeiWuGQlWNm5XjOmzoMayxRARZ5ma7yiWbGMiLqQ==} cpu: [arm64] os: [linux] - turbo-windows-64@2.7.2: - resolution: {integrity: sha512-rPjqQXVnI6A6oxgzNEE8DNb6Vdj2Wwyhfv3oDc+YM3U9P7CAcBIlKv/868mKl4vsBtz4ouWpTQNXG8vljgJO+w==} + turbo-windows-64@2.8.11: + resolution: {integrity: sha512-3kJjFSM4yw1n9Uzmi+XkAUgCae19l/bH6RJ442xo7mnZm0tpOjo33F+FYHoSVpIWVMd0HG0LDccyafPSdylQbA==} cpu: [x64] os: [win32] - turbo-windows-arm64@2.7.2: - resolution: {integrity: sha512-tcnHvBhO515OheIFWdxA+qUvZzNqqcHbLVFc1+n+TJ1rrp8prYicQtbtmsiKgMvr/54jb9jOabU62URAobnB7g==} + turbo-windows-arm64@2.8.11: + resolution: {integrity: sha512-JOM4uF2vuLsJUvibdR6X9QqdZr6BhC6Nhlrw4LKFPsXZZI/9HHLoqAiYRpE4MuzIwldCH/jVySnWXrI1SKto0g==} cpu: [arm64] os: [win32] - turbo@2.7.2: - resolution: {integrity: sha512-5JIA5aYBAJSAhrhbyag1ZuMSgUZnHtI+Sq3H8D3an4fL8PeF+L1yYvbEJg47akP1PFfATMf5ehkqFnxfkmuwZQ==} + turbo@2.8.11: + resolution: {integrity: sha512-H+rwSHHPLoyPOSoHdmI1zY0zy0GGj1Dmr7SeJW+nZiWLz2nex8EJ+fkdVabxXFMNEux+aywI4Sae8EqhmnOv4A==} hasBin: true tw-animate-css@1.4.0: @@ -6779,11 +6779,11 @@ snapshots: string.prototype.matchall: 4.0.12 string.prototype.repeat: 1.0.0 - eslint-plugin-turbo@2.7.2(eslint@9.39.2(jiti@2.6.1))(turbo@2.7.2): + eslint-plugin-turbo@2.7.2(eslint@9.39.2(jiti@2.6.1))(turbo@2.8.11): dependencies: dotenv: 16.0.3 eslint: 9.39.2(jiti@2.6.1) - turbo: 2.7.2 + turbo: 2.8.11 eslint-scope@8.4.0: dependencies: @@ -8510,11 +8510,11 @@ snapshots: prelude-ls@1.2.1: {} - prettier-plugin-tailwindcss@0.7.2(prettier@3.7.4): + prettier-plugin-tailwindcss@0.7.2(prettier@3.8.1): dependencies: - prettier: 3.7.4 + prettier: 3.8.1 - prettier@3.7.4: {} + prettier@3.8.1: {} pretty-ms@9.3.0: dependencies: @@ -9238,32 +9238,32 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - turbo-darwin-64@2.7.2: + turbo-darwin-64@2.8.11: optional: true - turbo-darwin-arm64@2.7.2: + turbo-darwin-arm64@2.8.11: optional: true - turbo-linux-64@2.7.2: + turbo-linux-64@2.8.11: optional: true - turbo-linux-arm64@2.7.2: + turbo-linux-arm64@2.8.11: optional: true - turbo-windows-64@2.7.2: + turbo-windows-64@2.8.11: optional: true - turbo-windows-arm64@2.7.2: + turbo-windows-arm64@2.8.11: optional: true - turbo@2.7.2: + turbo@2.8.11: optionalDependencies: - turbo-darwin-64: 2.7.2 - turbo-darwin-arm64: 2.7.2 - turbo-linux-64: 2.7.2 - turbo-linux-arm64: 2.7.2 - turbo-windows-64: 2.7.2 - turbo-windows-arm64: 2.7.2 + turbo-darwin-64: 2.8.11 + turbo-darwin-arm64: 2.8.11 + turbo-linux-64: 2.8.11 + turbo-linux-arm64: 2.8.11 + turbo-windows-64: 2.8.11 + turbo-windows-arm64: 2.8.11 tw-animate-css@1.4.0: {} From 53c680cc26ad73885f95ba1905f331ca01eceb12 Mon Sep 17 00:00:00 2001 From: pheralb Date: Fri, 27 Feb 2026 00:08:51 +0000 Subject: [PATCH 14/14] docs: update readme --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 923f26e..53697e2 100644 --- a/README.md +++ b/README.md @@ -32,6 +32,7 @@
+![Turborepo Badge](https://img.shields.io/badge/Turbo-FF1E56?logo=turborepo&logoColor=fff&style=flat) ![Next.js Badge](https://img.shields.io/badge/Docs-000?logo=nextdotjs&logoColor=fff&style=flat) ![Tailwind CSS Badge](https://img.shields.io/badge/Styles-06B6D4?logo=tailwindcss&logoColor=fff&style=flat) ![React Badge](https://img.shields.io/badge/Components-61DAFB?logo=react&logoColor=000&style=flat)