1
mirror of https://github.com/jakejarvis/jarv.is.git synced 2026-06-05 20:35:29 -04:00

bump deps & small fixes

This commit is contained in:
2025-05-06 09:22:34 -04:00
parent 62e95e3cfe
commit 3a10769bd7
9 changed files with 138 additions and 153 deletions
+16 -26
View File
@@ -7,32 +7,22 @@ import { Resend } from "resend";
import siteConfig from "@/lib/config/site";
const ContactSchema = v.object({
// TODO: replace duplicate error messages with v.message() when released. see:
// https://valibot.dev/api/message/
// https://github.com/fabian-hiller/valibot/blob/main/library/src/methods/message/message.ts
name: v.pipe(v.string("Your name is required."), v.trim(), v.nonEmpty("Your name is required.")),
email: v.pipe(
v.string("Your email address is required."),
v.trim(),
v.nonEmpty("Your email address is required."),
v.email("Invalid email address.")
),
message: v.pipe(
v.string("A message is required."),
v.trim(),
v.nonEmpty("A message is required."),
v.minLength(10, "Your message must be at least 10 characters.")
),
"cf-turnstile-response": v.pipe(
// token wasn't submitted at _all_, most likely a direct POST request by a spam bot
v.string("Shoo, bot."),
// form submitted properly but token was missing, might be a forgetful human
v.nonEmpty("Just do the stinkin CAPTCHA, human! 🤖"),
// very rudimentary length check based on Cloudflare's docs
// https://developers.cloudflare.com/turnstile/troubleshooting/testing/
// https://developers.cloudflare.com/turnstile/get-started/server-side-validation/
v.maxLength(2048),
v.readonly()
name: v.message(v.pipe(v.string(), v.trim(), v.nonEmpty()), "Your name is required."),
email: v.message(v.pipe(v.string(), v.trim(), v.nonEmpty(), v.email()), "Your email address is required."),
message: v.message(v.pipe(v.string(), v.trim(), v.minLength(15)), "Your message must be at least 15 characters."),
"cf-turnstile-response": v.message(
v.pipe(
// token wasn't submitted at _all_, most likely a direct POST request by a spam bot
v.string(),
// form submitted properly but token was missing, might be a forgetful human
v.nonEmpty(),
// very rudimentary length check based on Cloudflare's docs
// https://developers.cloudflare.com/turnstile/troubleshooting/testing/
// https://developers.cloudflare.com/turnstile/get-started/server-side-validation/
v.maxLength(2048),
v.readonly()
),
"Are you sure you're not a robot...? 🤖"
),
});
+2 -2
View File
@@ -110,7 +110,7 @@ const ContactForm = () => {
)}
</div>
<div className="flex min-h-16 items-center">
<div className="flex min-h-16 items-center space-x-4">
{!formState.success && (
<Button type="submit" size="lg" disabled={pending}>
{pending ? (
@@ -128,7 +128,7 @@ const ContactForm = () => {
{!pending && formState.message && (
<div
className={cn(
"ml-4 space-x-[2px] text-[0.9rem] font-semibold",
"space-x-0.5 text-[0.9rem] font-semibold",
formState.success ? "text-success" : "text-destructive"
)}
>
+8 -8
View File
@@ -88,15 +88,15 @@ const Page = async ({ params }: { params: Promise<{ slug: string }> }) => {
<div className="text-foreground/70 -mt-1 flex flex-wrap justify-items-start space-x-4 text-[0.8rem] leading-9 tracking-wide md:text-[0.85rem]">
<Link
href={`/${POSTS_DIR}/${frontmatter!.slug}`}
className={"text-foreground/70 space-x-2 whitespace-nowrap hover:no-underline"}
className={"text-foreground/70 flex items-center space-x-2 whitespace-nowrap hover:no-underline"}
>
<CalendarDaysIcon className="inline size-4 shrink-0 align-text-bottom" />
<CalendarDaysIcon className="inline size-4 shrink-0" />
<Time date={frontmatter!.date} format="MMMM d, y" />
</Link>
{frontmatter!.tags && (
<div className="space-x-2">
<TagIcon className="inline size-4 shrink-0 align-text-bottom" />
<div className="flex flex-wrap items-center space-x-2 whitespace-nowrap">
<TagIcon className="inline size-4 shrink-0" />
{frontmatter!.tags.map((tag) => (
<span
key={tag}
@@ -113,14 +113,14 @@ const Page = async ({ params }: { params: Promise<{ slug: string }> }) => {
<Link
href={`https://github.com/${env.NEXT_PUBLIC_GITHUB_REPO}/blob/main/${POSTS_DIR}/${frontmatter!.slug}/index.mdx`}
title={`Edit "${frontmatter!.title}" on GitHub`}
className={"text-foreground/70 space-x-2 whitespace-nowrap hover:no-underline"}
className={"text-foreground/70 flex items-center space-x-2 whitespace-nowrap hover:no-underline"}
>
<SquarePenIcon className="inline size-4 shrink-0 align-text-bottom" />
<SquarePenIcon className="inline size-4 shrink-0" />
<span>Improve This Post</span>
</Link>
<div className="min-w-14 space-x-2 whitespace-nowrap">
<EyeIcon className="inline size-4 shrink-0 align-text-bottom" />
<div className="flex min-w-14 items-center space-x-2 whitespace-nowrap">
<EyeIcon className="inline size-4 shrink-0" />
<Suspense
// when this loads, the component will count up from zero to the actual number of hits, so we can simply
// show a zero here as a "loading indicator"
+1 -1
View File
@@ -199,7 +199,7 @@ const Page = () => {
className="text-muted-foreground hover:decoration-muted-foreground/40 text-nowrap hover:decoration-1 hover:underline-offset-4"
>
<LockIcon className="mr-0.5 inline size-3 align-text-top" />
<code className="mx-0.5 tracking-wider text-wrap [word-spacing:-4px]">2B0C 9CF2 51E6 9A39</code>
<code className="mx-0.5 tracking-wider text-wrap [word-spacing:-0.4em]">2B0C 9CF2 51E6 9A39</code>
</Link>
</sup>
,{" "}
+2 -2
View File
@@ -12,14 +12,14 @@ export const metadata = createMetadata({
export const Terminal = () => (
<div
className="relative mx-auto my-4 w-full rounded-lg"
className="relative mx-auto my-6 w-full rounded-lg"
style={{
backgroundImage: `url(${backgroundImg.src})`,
backgroundRepeat: "repeat",
backgroundPosition: "center",
}}
>
<code className="border-ring block overflow-x-auto rounded-lg border border-solid bg-black/60 p-4 text-sm text-white/90 backdrop-blur-xs backdrop-saturate-150">
<code className="border-ring block rounded-lg border border-solid bg-black/60 p-4 text-sm break-all text-white/90 backdrop-blur-xs backdrop-saturate-150">
<span style={{ color: "#f95757" }}>sundar</span>@<span style={{ color: "#3b9dd2" }}>google</span>:
<span style={{ color: "#78df55" }}>~</span>$ <span style={{ color: "#d588fb" }}>mv</span> /root
<a href="https://killedbygoogle.com/" style={{ color: "inherit" }} className="hover:no-underline">
+1 -1
View File
@@ -36,7 +36,7 @@ const CodeBlock = async ({
});
return (
<div className={cn("bg-muted/35 relative rounded-lg border-2 font-mono", className)}>
<div className={cn("bg-muted/35 relative isolate rounded-lg border-2 font-mono", className)}>
<div
className={cn(
"grid max-h-[500px] w-full overflow-x-auto p-4 **:bg-transparent! md:max-h-[650px] dark:**:text-[var(--shiki-dark)]! [&_pre]:whitespace-normal",
+2 -1
View File
@@ -8,7 +8,8 @@ import YouTube from "@/components/third-party/youtube";
import Gist from "@/components/third-party/gist";
import CodePen from "@/components/third-party/codepen";
import { cn } from "./lib/utils";
import { cn } from "@/lib/utils";
import type { MDXComponents } from "mdx/types";
export const useMDXComponents = (components: MDXComponents): MDXComponents => {
+6 -6
View File
@@ -39,7 +39,7 @@
"date-fns": "^4.1.0",
"fast-glob": "^3.3.3",
"feed": "^4.2.2",
"geist": "^1.4.1",
"geist": "^1.4.2",
"html-entities": "^2.6.0",
"lucide-react": "0.507.0",
"next": "15.4.0-canary.23",
@@ -74,11 +74,11 @@
"remark-strip-mdx-imports-exports": "^1.0.1",
"resend": "^4.5.1",
"server-only": "0.0.1",
"shiki": "^3.3.0",
"shiki": "^3.4.0",
"tailwind-merge": "^3.2.0",
"tailwindcss": "^4.1.5",
"unified": "^11.0.5",
"valibot": "^1.0.0"
"valibot": "^1.1.0"
},
"devDependencies": {
"@eslint/eslintrc": "^3.3.1",
@@ -86,9 +86,9 @@
"@jakejarvis/eslint-config": "^4.0.7",
"@tailwindcss/postcss": "^4.1.5",
"@types/mdx": "^2.0.13",
"@types/node": "^22.15.10",
"@types/node": "^22.15.12",
"@types/prop-types": "^15.7.14",
"@types/react": "^19.1.2",
"@types/react": "^19.1.3",
"@types/react-dom": "^19.1.3",
"@types/react-is": "^19.0.0",
"babel-plugin-react-compiler": "19.0.0-beta-af1b7da-20250417",
@@ -105,7 +105,7 @@
"eslint-plugin-react-compiler": "19.0.0-beta-af1b7da-20250417",
"eslint-plugin-react-hooks": "^5.2.0",
"husky": "^9.1.7",
"lint-staged": "^15.5.1",
"lint-staged": "^15.5.2",
"postcss": "^8.5.3",
"prettier": "^3.5.3",
"prettier-plugin-tailwindcss": "^0.6.11",
+100 -106
View File
@@ -22,13 +22,13 @@ importers:
version: 3.1.0(acorn@8.14.1)
'@mdx-js/react':
specifier: ^3.1.0
version: 3.1.0(@types/react@19.1.2)(react@19.1.0)
version: 3.1.0(@types/react@19.1.3)(react@19.1.0)
'@next/bundle-analyzer':
specifier: 15.4.0-canary.23
version: 15.4.0-canary.23
'@next/mdx':
specifier: 15.4.0-canary.23
version: 15.4.0-canary.23(@mdx-js/loader@3.1.0(acorn@8.14.1))(@mdx-js/react@3.1.0(@types/react@19.1.2)(react@19.1.0))
version: 15.4.0-canary.23(@mdx-js/loader@3.1.0(acorn@8.14.1))(@mdx-js/react@3.1.0(@types/react@19.1.3)(react@19.1.0))
'@octokit/graphql':
specifier: ^8.2.2
version: 8.2.2
@@ -37,13 +37,13 @@ importers:
version: 15.26.0
'@radix-ui/react-label':
specifier: ^2.1.6
version: 2.1.6(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
version: 2.1.6(@types/react-dom@19.1.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
'@radix-ui/react-slot':
specifier: ^1.2.2
version: 1.2.2(@types/react@19.1.2)(react@19.1.0)
version: 1.2.2(@types/react@19.1.3)(react@19.1.0)
'@t3-oss/env-nextjs':
specifier: ^0.13.4
version: 0.13.4(arktype@2.1.20)(typescript@5.8.3)(valibot@1.0.0(typescript@5.8.3))(zod@3.24.3)
version: 0.13.4(arktype@2.1.20)(typescript@5.8.3)(valibot@1.1.0(typescript@5.8.3))(zod@3.24.3)
'@vercel/analytics':
specifier: ^1.5.0
version: 1.5.0(next@15.4.0-canary.23(@babel/core@7.26.10)(babel-plugin-react-compiler@19.0.0-beta-af1b7da-20250417)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)
@@ -72,8 +72,8 @@ importers:
specifier: ^4.2.2
version: 4.2.2
geist:
specifier: ^1.4.1
version: 1.4.1(next@15.4.0-canary.23(@babel/core@7.26.10)(babel-plugin-react-compiler@19.0.0-beta-af1b7da-20250417)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))
specifier: ^1.4.2
version: 1.4.2(next@15.4.0-canary.23(@babel/core@7.26.10)(babel-plugin-react-compiler@19.0.0-beta-af1b7da-20250417)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))
html-entities:
specifier: ^2.6.0
version: 2.6.0
@@ -177,8 +177,8 @@ importers:
specifier: 0.0.1
version: 0.0.1
shiki:
specifier: ^3.3.0
version: 3.3.0
specifier: ^3.4.0
version: 3.4.0
tailwind-merge:
specifier: ^3.2.0
version: 3.2.0
@@ -189,8 +189,8 @@ importers:
specifier: ^11.0.5
version: 11.0.5
valibot:
specifier: ^1.0.0
version: 1.0.0(typescript@5.8.3)
specifier: ^1.1.0
version: 1.1.0(typescript@5.8.3)
devDependencies:
'@eslint/eslintrc':
specifier: ^3.3.1
@@ -208,17 +208,17 @@ importers:
specifier: ^2.0.13
version: 2.0.13
'@types/node':
specifier: ^22.15.10
version: 22.15.10
specifier: ^22.15.12
version: 22.15.12
'@types/prop-types':
specifier: ^15.7.14
version: 15.7.14
'@types/react':
specifier: ^19.1.2
version: 19.1.2
specifier: ^19.1.3
version: 19.1.3
'@types/react-dom':
specifier: ^19.1.3
version: 19.1.3(@types/react@19.1.2)
version: 19.1.3(@types/react@19.1.3)
'@types/react-is':
specifier: ^19.0.0
version: 19.0.0
@@ -265,8 +265,8 @@ importers:
specifier: ^9.1.7
version: 9.1.7
lint-staged:
specifier: ^15.5.1
version: 15.5.1
specifier: ^15.5.2
version: 15.5.2
postcss:
specifier: ^8.5.3
version: 8.5.3
@@ -872,23 +872,23 @@ packages:
'@selderee/plugin-htmlparser2@0.11.0':
resolution: {integrity: sha512-P33hHGdldxGabLFjPPpaTxVolMrzrcegejx+0GxjrIb9Zv48D8yAIA/QTDR2dFl7Uz7urX8aX6+5bCZslr+gWQ==}
'@shikijs/core@3.3.0':
resolution: {integrity: sha512-CovkFL2WVaHk6PCrwv6ctlmD4SS1qtIfN8yEyDXDYWh4ONvomdM9MaFw20qHuqJOcb8/xrkqoWQRJ//X10phOQ==}
'@shikijs/core@3.4.0':
resolution: {integrity: sha512-0YOzTSRDn/IAfQWtK791gs1u8v87HNGToU6IwcA3K7nPoVOrS2Dh6X6A6YfXgPTSkTwR5y6myk0MnI0htjnwrA==}
'@shikijs/engine-javascript@3.3.0':
resolution: {integrity: sha512-XlhnFGv0glq7pfsoN0KyBCz9FJU678LZdQ2LqlIdAj6JKsg5xpYKay3DkazXWExp3DTJJK9rMOuGzU2911pg7Q==}
'@shikijs/engine-javascript@3.4.0':
resolution: {integrity: sha512-1ywDoe+z/TPQKj9Jw0eU61B003J9DqUFRfH+DVSzdwPUFhR7yOmfyLzUrFz0yw8JxFg/NgzXoQyyykXgO21n5Q==}
'@shikijs/engine-oniguruma@3.3.0':
resolution: {integrity: sha512-l0vIw+GxeNU7uGnsu6B+Crpeqf+WTQ2Va71cHb5ZYWEVEPdfYwY5kXwYqRJwHrxz9WH+pjSpXQz+TJgAsrkA5A==}
'@shikijs/engine-oniguruma@3.4.0':
resolution: {integrity: sha512-zwcWlZ4OQuJ/+1t32ClTtyTU1AiDkK1lhtviRWoq/hFqPjCNyLj22bIg9rB7BfoZKOEOfrsGz7No33BPCf+WlQ==}
'@shikijs/langs@3.3.0':
resolution: {integrity: sha512-zt6Kf/7XpBQKSI9eqku+arLkAcDQ3NHJO6zFjiChI8w0Oz6Jjjay7pToottjQGjSDCFk++R85643WbyINcuL+g==}
'@shikijs/langs@3.4.0':
resolution: {integrity: sha512-bQkR+8LllaM2duU9BBRQU0GqFTx7TuF5kKlw/7uiGKoK140n1xlLAwCgXwSxAjJ7Htk9tXTFwnnsJTCU5nDPXQ==}
'@shikijs/themes@3.3.0':
resolution: {integrity: sha512-tXeCvLXBnqq34B0YZUEaAD1lD4lmN6TOHAhnHacj4Owh7Ptb/rf5XCDeROZt2rEOk5yuka3OOW2zLqClV7/SOg==}
'@shikijs/themes@3.4.0':
resolution: {integrity: sha512-YPP4PKNFcFGLxItpbU0ZW1Osyuk8AyZ24YEFaq04CFsuCbcqydMvMUTi40V2dkc0qs1U2uZFrnU6s5zI6IH+uA==}
'@shikijs/types@3.3.0':
resolution: {integrity: sha512-KPCGnHG6k06QG/2pnYGbFtFvpVJmC3uIpXrAiPrawETifujPBv0Se2oUxm5qYgjCvGJS9InKvjytOdN+bGuX+Q==}
'@shikijs/types@3.4.0':
resolution: {integrity: sha512-EUT/0lGiE//7j5N/yTMNMT3eCWNcHJLrRKxT0NDXWIfdfSmFJKfPX7nMmRBrQnWboAzIsUziCThrYMMhjbMS1A==}
'@shikijs/vscode-textmate@10.0.2':
resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==}
@@ -1058,8 +1058,8 @@ packages:
'@types/nlcst@2.0.3':
resolution: {integrity: sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==}
'@types/node@22.15.10':
resolution: {integrity: sha512-j2U4KRlgZ9Q8tVO/KDAvXu68vutX4kxoRysL6Q22oEU4ZFT2A16aIyqiIWAwFBZkvKep2UOcSGNoLe/6BI0nrg==}
'@types/node@22.15.12':
resolution: {integrity: sha512-K0fpC/ZVeb8G9rm7bH7vI0KAec4XHEhBam616nVJCV51bKzJ6oA3luG4WdKoaztxe70QaNjS/xBmcDLmr4PiGw==}
'@types/prop-types@15.7.14':
resolution: {integrity: sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==}
@@ -1072,8 +1072,8 @@ packages:
'@types/react-is@19.0.0':
resolution: {integrity: sha512-71dSZeeJ0t3aoPyY9x6i+JNSvg5m9EF2i2OlSZI5QoJuI8Ocgor610i+4A10TQmURR+0vLwcVCEYFpXdzM1Biw==}
'@types/react@19.1.2':
resolution: {integrity: sha512-oxLPMytKchWGbnQM9O7D67uPa9paTNxO7jVoNMXgkkErULBPhPARCfkKL9ytcIJJRGjbsVwW4ugJzyFFvm/Tiw==}
'@types/react@19.1.3':
resolution: {integrity: sha512-dLWQ+Z0CkIvK1J8+wrDPwGxEYFA4RAyHoZPxHVGspYmFVnwGSNT24cGIhFJrtfRnWVuW8X7NO52gCXmhkVUWGQ==}
'@types/supports-color@8.1.3':
resolution: {integrity: sha512-Hy6UMpxhE3j1tLpl27exp1XqHD7n8chAiNPzWfz16LPZoMMoSc4dzLl6w9qijkEb/r5O1ozdu1CWGA2L83ZeZg==}
@@ -1682,9 +1682,6 @@ packages:
electron-to-chromium@1.5.138:
resolution: {integrity: sha512-FWlQc52z1dXqm+9cCJ2uyFgJkESd+16j6dBEjsgDNuHjBpuIzL8/lRc0uvh1k8RNI6waGo6tcy2DvwkTBJOLDg==}
emoji-regex-xs@1.0.0:
resolution: {integrity: sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==}
emoji-regex@10.4.0:
resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==}
@@ -2098,8 +2095,8 @@ packages:
functions-have-names@1.2.3:
resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
geist@1.4.1:
resolution: {integrity: sha512-uyVD2rGwXoGNqr+SfXzz3eL2h6zDG72d6vPbfm6u2BEfk8WT23BC1lxSwAV/FIFezPkTutAw00MQ0at5W+5olA==}
geist@1.4.2:
resolution: {integrity: sha512-OQUga/KUc8ueijck6EbtT07L4tZ5+TZgjw8PyWfxo16sL5FWk7gNViPNU8hgCFjy6bJi9yuTP+CRpywzaGN8zw==}
peerDependencies:
next: '>=13.2.0'
@@ -2637,8 +2634,8 @@ packages:
resolution: {integrity: sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
lint-staged@15.5.1:
resolution: {integrity: sha512-6m7u8mue4Xn6wK6gZvSCQwBvMBR36xfY24nF5bMTf2MHDYG6S3yhJuOgdYVw99hsjyDt2d4z168b3naI8+NWtQ==}
lint-staged@15.5.2:
resolution: {integrity: sha512-YUSOLq9VeRNAo/CTaVmhGDKG+LBtA8KF1X4K5+ykMSwWST1vDxJRB2kv2COgLb1fvpCo+A/y9A0G0znNVmdx4w==}
engines: {node: '>=18.12.0'}
hasBin: true
@@ -3047,11 +3044,11 @@ packages:
resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==}
engines: {node: '>=18'}
oniguruma-parser@0.11.2:
resolution: {integrity: sha512-F7Ld4oDZJCI5/wCZ8AOffQbqjSzIRpKH7I/iuSs1SkhZeCj0wS6PMZ4W6VA16TWHrAo0Y9bBKEJOe7tvwcTXnw==}
oniguruma-parser@0.12.1:
resolution: {integrity: sha512-8Unqkvk1RYc6yq2WBYRj4hdnsAxVze8i7iPfQr8e4uSP3tRv0rpZcbGUDvxfQQcdwHt/e9PrMvGCsa8OqG9X3w==}
oniguruma-to-es@4.2.0:
resolution: {integrity: sha512-MDPs6KSOLS0tKQ7joqg44dRIRZUyotfTy0r+7oEEs6VwWWP0+E2PPDYWMFN0aqOjRyWHBYq7RfKw9GQk2S2z5g==}
oniguruma-to-es@4.3.3:
resolution: {integrity: sha512-rPiZhzC3wXwE59YQMRDodUwwT9FZ9nNBwQQfsd1wfdtlKEyCdRV0avrTcSZ5xlIvGRVPd/cx6ZN45ECmS39xvg==}
opener@1.5.2:
resolution: {integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==}
@@ -3601,8 +3598,8 @@ packages:
resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
engines: {node: '>=8'}
shiki@3.3.0:
resolution: {integrity: sha512-j0Z1tG5vlOFGW8JVj0Cpuatzvshes7VJy5ncDmmMaYcmnGW0Js1N81TOW98ivTFNZfKRn9uwEg/aIm638o368g==}
shiki@3.4.0:
resolution: {integrity: sha512-Ni80XHcqhOEXv5mmDAvf5p6PAJqbUc/RzFeaOqk+zP5DLvTPS3j0ckvA+MI87qoxTQ5RGJDVTbdl/ENLSyyAnQ==}
side-channel-list@1.0.0:
resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==}
@@ -3973,8 +3970,8 @@ packages:
engines: {node: '>=8'}
hasBin: true
valibot@1.0.0:
resolution: {integrity: sha512-1Hc0ihzWxBar6NGeZv7fPLY0QuxFMyxwYR2sF1Blu7Wq7EnremwY2W02tit2ij2VJT8HcSkHAQqmFfl77f73Yw==}
valibot@1.1.0:
resolution: {integrity: sha512-Nk8lX30Qhu+9txPYTwM0cFlWLdPFsFr6LblzqIySfbZph9+BFsAHsNvHOymEviUepeIW6KFHzpX8TKhbptBXXw==}
peerDependencies:
typescript: '>=5'
peerDependenciesMeta:
@@ -4530,10 +4527,10 @@ snapshots:
- acorn
- supports-color
'@mdx-js/react@3.1.0(@types/react@19.1.2)(react@19.1.0)':
'@mdx-js/react@3.1.0(@types/react@19.1.3)(react@19.1.0)':
dependencies:
'@types/mdx': 2.0.13
'@types/react': 19.1.2
'@types/react': 19.1.3
react: 19.1.0
'@modelcontextprotocol/sdk@1.11.0':
@@ -4571,12 +4568,12 @@ snapshots:
dependencies:
fast-glob: 3.3.1
'@next/mdx@15.4.0-canary.23(@mdx-js/loader@3.1.0(acorn@8.14.1))(@mdx-js/react@3.1.0(@types/react@19.1.2)(react@19.1.0))':
'@next/mdx@15.4.0-canary.23(@mdx-js/loader@3.1.0(acorn@8.14.1))(@mdx-js/react@3.1.0(@types/react@19.1.3)(react@19.1.0))':
dependencies:
source-map: 0.7.4
optionalDependencies:
'@mdx-js/loader': 3.1.0(acorn@8.14.1)
'@mdx-js/react': 3.1.0(@types/react@19.1.2)(react@19.1.0)
'@mdx-js/react': 3.1.0(@types/react@19.1.3)(react@19.1.0)
'@next/swc-darwin-arm64@15.4.0-canary.23':
optional: true
@@ -4709,36 +4706,36 @@ snapshots:
'@polka/url@1.0.0-next.29': {}
'@radix-ui/react-compose-refs@1.1.2(@types/react@19.1.2)(react@19.1.0)':
'@radix-ui/react-compose-refs@1.1.2(@types/react@19.1.3)(react@19.1.0)':
dependencies:
react: 19.1.0
optionalDependencies:
'@types/react': 19.1.2
'@types/react': 19.1.3
'@radix-ui/react-label@2.1.6(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
'@radix-ui/react-label@2.1.6(@types/react-dom@19.1.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
dependencies:
'@radix-ui/react-primitive': 2.1.2(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
'@radix-ui/react-primitive': 2.1.2(@types/react-dom@19.1.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
react: 19.1.0
react-dom: 19.1.0(react@19.1.0)
optionalDependencies:
'@types/react': 19.1.2
'@types/react-dom': 19.1.3(@types/react@19.1.2)
'@types/react': 19.1.3
'@types/react-dom': 19.1.3(@types/react@19.1.3)
'@radix-ui/react-primitive@2.1.2(@types/react-dom@19.1.3(@types/react@19.1.2))(@types/react@19.1.2)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
'@radix-ui/react-primitive@2.1.2(@types/react-dom@19.1.3(@types/react@19.1.3))(@types/react@19.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
dependencies:
'@radix-ui/react-slot': 1.2.2(@types/react@19.1.2)(react@19.1.0)
'@radix-ui/react-slot': 1.2.2(@types/react@19.1.3)(react@19.1.0)
react: 19.1.0
react-dom: 19.1.0(react@19.1.0)
optionalDependencies:
'@types/react': 19.1.2
'@types/react-dom': 19.1.3(@types/react@19.1.2)
'@types/react': 19.1.3
'@types/react-dom': 19.1.3(@types/react@19.1.3)
'@radix-ui/react-slot@1.2.2(@types/react@19.1.2)(react@19.1.0)':
'@radix-ui/react-slot@1.2.2(@types/react@19.1.3)(react@19.1.0)':
dependencies:
'@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.2)(react@19.1.0)
'@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.3)(react@19.1.0)
react: 19.1.0
optionalDependencies:
'@types/react': 19.1.2
'@types/react': 19.1.3
'@react-email/render@1.0.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
dependencies:
@@ -4757,33 +4754,33 @@ snapshots:
domhandler: 5.0.3
selderee: 0.11.0
'@shikijs/core@3.3.0':
'@shikijs/core@3.4.0':
dependencies:
'@shikijs/types': 3.3.0
'@shikijs/types': 3.4.0
'@shikijs/vscode-textmate': 10.0.2
'@types/hast': 3.0.4
hast-util-to-html: 9.0.5
'@shikijs/engine-javascript@3.3.0':
'@shikijs/engine-javascript@3.4.0':
dependencies:
'@shikijs/types': 3.3.0
'@shikijs/types': 3.4.0
'@shikijs/vscode-textmate': 10.0.2
oniguruma-to-es: 4.2.0
oniguruma-to-es: 4.3.3
'@shikijs/engine-oniguruma@3.3.0':
'@shikijs/engine-oniguruma@3.4.0':
dependencies:
'@shikijs/types': 3.3.0
'@shikijs/types': 3.4.0
'@shikijs/vscode-textmate': 10.0.2
'@shikijs/langs@3.3.0':
'@shikijs/langs@3.4.0':
dependencies:
'@shikijs/types': 3.3.0
'@shikijs/types': 3.4.0
'@shikijs/themes@3.3.0':
'@shikijs/themes@3.4.0':
dependencies:
'@shikijs/types': 3.3.0
'@shikijs/types': 3.4.0
'@shikijs/types@3.3.0':
'@shikijs/types@3.4.0':
dependencies:
'@shikijs/vscode-textmate': 10.0.2
'@types/hast': 3.0.4
@@ -4798,20 +4795,20 @@ snapshots:
dependencies:
tslib: 2.8.1
'@t3-oss/env-core@0.13.4(arktype@2.1.20)(typescript@5.8.3)(valibot@1.0.0(typescript@5.8.3))(zod@3.24.3)':
'@t3-oss/env-core@0.13.4(arktype@2.1.20)(typescript@5.8.3)(valibot@1.1.0(typescript@5.8.3))(zod@3.24.3)':
dependencies:
arktype: 2.1.20
optionalDependencies:
typescript: 5.8.3
valibot: 1.0.0(typescript@5.8.3)
valibot: 1.1.0(typescript@5.8.3)
zod: 3.24.3
'@t3-oss/env-nextjs@0.13.4(arktype@2.1.20)(typescript@5.8.3)(valibot@1.0.0(typescript@5.8.3))(zod@3.24.3)':
'@t3-oss/env-nextjs@0.13.4(arktype@2.1.20)(typescript@5.8.3)(valibot@1.1.0(typescript@5.8.3))(zod@3.24.3)':
dependencies:
'@t3-oss/env-core': 0.13.4(arktype@2.1.20)(typescript@5.8.3)(valibot@1.0.0(typescript@5.8.3))(zod@3.24.3)
'@t3-oss/env-core': 0.13.4(arktype@2.1.20)(typescript@5.8.3)(valibot@1.1.0(typescript@5.8.3))(zod@3.24.3)
optionalDependencies:
typescript: 5.8.3
valibot: 1.0.0(typescript@5.8.3)
valibot: 1.1.0(typescript@5.8.3)
zod: 3.24.3
transitivePeerDependencies:
- arktype
@@ -4889,7 +4886,7 @@ snapshots:
'@types/concat-stream@2.0.3':
dependencies:
'@types/node': 22.15.10
'@types/node': 22.15.12
'@types/debug@4.1.12':
dependencies:
@@ -4925,21 +4922,21 @@ snapshots:
dependencies:
'@types/unist': 3.0.3
'@types/node@22.15.10':
'@types/node@22.15.12':
dependencies:
undici-types: 6.21.0
'@types/prop-types@15.7.14': {}
'@types/react-dom@19.1.3(@types/react@19.1.2)':
'@types/react-dom@19.1.3(@types/react@19.1.3)':
dependencies:
'@types/react': 19.1.2
'@types/react': 19.1.3
'@types/react-is@19.0.0':
dependencies:
'@types/react': 19.1.2
'@types/react': 19.1.3
'@types/react@19.1.2':
'@types/react@19.1.3':
dependencies:
csstype: 3.1.3
@@ -5546,8 +5543,6 @@ snapshots:
electron-to-chromium@1.5.138: {}
emoji-regex-xs@1.0.0: {}
emoji-regex@10.4.0: {}
emoji-regex@8.0.0: {}
@@ -6174,7 +6169,7 @@ snapshots:
functions-have-names@1.2.3: {}
geist@1.4.1(next@15.4.0-canary.23(@babel/core@7.26.10)(babel-plugin-react-compiler@19.0.0-beta-af1b7da-20250417)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)):
geist@1.4.2(next@15.4.0-canary.23(@babel/core@7.26.10)(babel-plugin-react-compiler@19.0.0-beta-af1b7da-20250417)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)):
dependencies:
next: 15.4.0-canary.23(@babel/core@7.26.10)(babel-plugin-react-compiler@19.0.0-beta-af1b7da-20250417)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
@@ -6734,7 +6729,7 @@ snapshots:
lines-and-columns@2.0.4: {}
lint-staged@15.5.1:
lint-staged@15.5.2:
dependencies:
chalk: 5.4.1
commander: 13.1.0
@@ -7452,12 +7447,11 @@ snapshots:
dependencies:
mimic-function: 5.0.1
oniguruma-parser@0.11.2: {}
oniguruma-parser@0.12.1: {}
oniguruma-to-es@4.2.0:
oniguruma-to-es@4.3.3:
dependencies:
emoji-regex-xs: 1.0.0
oniguruma-parser: 0.11.2
oniguruma-parser: 0.12.1
regex: 6.0.1
regex-recursion: 6.0.2
@@ -8128,14 +8122,14 @@ snapshots:
shebang-regex@3.0.0: {}
shiki@3.3.0:
shiki@3.4.0:
dependencies:
'@shikijs/core': 3.3.0
'@shikijs/engine-javascript': 3.3.0
'@shikijs/engine-oniguruma': 3.3.0
'@shikijs/langs': 3.3.0
'@shikijs/themes': 3.3.0
'@shikijs/types': 3.3.0
'@shikijs/core': 3.4.0
'@shikijs/engine-javascript': 3.4.0
'@shikijs/engine-oniguruma': 3.4.0
'@shikijs/langs': 3.4.0
'@shikijs/themes': 3.4.0
'@shikijs/types': 3.4.0
'@shikijs/vscode-textmate': 10.0.2
'@types/hast': 3.0.4
@@ -8479,7 +8473,7 @@ snapshots:
'@types/concat-stream': 2.0.3
'@types/debug': 4.1.12
'@types/is-empty': 1.2.3
'@types/node': 22.15.10
'@types/node': 22.15.12
'@types/unist': 3.0.3
concat-stream: 2.0.0
debug: 4.4.0
@@ -8607,7 +8601,7 @@ snapshots:
kleur: 4.1.5
sade: 1.8.1
valibot@1.0.0(typescript@5.8.3):
valibot@1.1.0(typescript@5.8.3):
optionalDependencies:
typescript: 5.8.3