Compare commits

...
4 Commits
Author SHA1 Message Date
Rami BitarandClaude Opus 5.5 67d4e973e0 Upgrade Next.js to 16.3.6
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-26 20:47:43 -04:00
Rami Bitar 42246c2f41 Simplify site metadata and centralize site configuration 2026-09-16 21:28:46 -04:00
Rami Bitar 9e6dbfd721 Refine mobile navigation, header controls, and branding 2026-09-16 14:56:27 -04:00
Rami Bitar 1eedca17d8 Refine logo SVG geometry 2026-09-16 12:22:26 -04:00
9 changed files with 340 additions and 331 deletions
+3 -40
View File
@@ -2,6 +2,7 @@ import type { Metadata } from "next";
import { Geist, Geist_Mono } from "next/font/google";
import { ThemeProvider } from "@/components/layout/theme-provider";
import { siteConfig } from "@/lib/site";
import "./globals.css";
const geistSans = Geist({
@@ -14,47 +15,9 @@ const geistMono = Geist_Mono({
subsets: ["latin"],
});
const siteName = "Vertex — The Unified AI Gateway";
const siteDescription =
"Route, optimize, and observe every AI model request through one OpenAI-compatible API.";
// Absolute origin behind `metadataBase`, so Open Graph images resolve to full
// URLs. Vercel injects VERCEL_PROJECT_PRODUCTION_URL on deployed builds.
const siteUrl =
process.env.NEXT_PUBLIC_SITE_URL ??
(process.env.VERCEL_PROJECT_PRODUCTION_URL
? `https://${process.env.VERCEL_PROJECT_PRODUCTION_URL}`
: "http://localhost:3000");
// Routes only set their own `title`; the template appends the site name.
export const metadata: Metadata = {
metadataBase: new URL(siteUrl),
title: {
default: siteName,
template: `%s — ${siteName}`,
},
description: siteDescription,
openGraph: {
type: "website",
siteName,
title: siteName,
description: siteDescription,
url: "/",
images: [
{
url: "/og.png",
width: 1732,
height: 908,
alt: "Vertex — One API for every AI model",
},
],
},
twitter: {
card: "summary_large_image",
title: siteName,
description: siteDescription,
images: ["/og.png"],
},
title: siteConfig.name,
description: siteConfig.description,
};
export default function RootLayout({
+79 -85
View File
@@ -1,19 +1,17 @@
"use client"
import { useEffect, useRef, useState } from "react"
import { RiArrowRightLine, RiCloseLine, RiMenu3Line } from "@remixicon/react"
import { Dialog as DialogPrimitive } from "radix-ui"
import { RiCloseLine, RiMenuLine } from "@remixicon/react"
import { Brand } from "@/components/shared/brand"
import {
Dialog,
DialogClose,
DialogDescription,
DialogOverlay,
DialogPortal,
DialogTitle,
DialogTrigger,
} from "@/components/ui/dialog"
Sheet,
SheetClose,
SheetContent,
SheetDescription,
SheetTitle,
SheetTrigger,
} from "@/components/ui/sheet"
type NavigationItem = {
label: string
@@ -36,88 +34,84 @@ export function MobileNavigation({ items }: { items: NavigationItem[] }) {
}, [])
return (
<Dialog open={open} onOpenChange={setOpen}>
<DialogTrigger asChild>
<Sheet open={open} onOpenChange={setOpen}>
<SheetTrigger asChild>
<button
type="button"
aria-label="Open navigation menu"
className="inline-flex size-11 items-center justify-center rounded-sm border bg-background/80 text-foreground transition-colors hover:border-blue-500/40 hover:bg-blue-600/10 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring md:hidden"
className="inline-flex size-11 items-center justify-center rounded-sm bg-background/80 text-foreground transition-colors hover:bg-blue-600/10 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring md:hidden"
>
<RiMenu3Line className="size-5" aria-hidden="true" />
<RiMenuLine className="size-5" aria-hidden="true" />
</button>
</DialogTrigger>
</SheetTrigger>
<DialogPortal>
<DialogOverlay className="z-[60] bg-black/45 duration-200 supports-backdrop-filter:backdrop-blur-md md:hidden" />
<DialogPrimitive.Content
className="fixed inset-x-3 top-3 z-[61] mx-auto flex max-h-[calc(100dvh-1.5rem)] max-w-lg flex-col overflow-hidden rounded-2xl border bg-background text-foreground shadow-[0_24px_100px_rgba(0,0,0,.35)] outline-none duration-200 data-open:animate-in data-open:fade-in-0 data-open:slide-in-from-top-4 data-closed:animate-out data-closed:fade-out-0 data-closed:slide-out-to-top-4 md:hidden"
onCloseAutoFocus={(event) => {
// Let the anchor move focus to its section without the trigger
// interrupting the page's smooth scroll when the dialog closes.
if (navigating.current) event.preventDefault()
navigating.current = false
}}
>
<div className="flex shrink-0 items-center justify-between border-b bg-linear-to-r from-blue-600/10 via-blue-600/5 to-transparent px-5 py-3">
<Brand />
<DialogClose asChild>
<button
type="button"
aria-label="Close navigation menu"
className="inline-flex size-11 items-center justify-center rounded-full border bg-background/70 text-muted-foreground transition-colors hover:bg-muted hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring"
>
<RiCloseLine className="size-5" aria-hidden="true" />
</button>
</DialogClose>
</div>
<SheetContent
side="top"
showCloseButton={false}
overlayClassName="z-[60] bg-black/45 duration-300 supports-backdrop-filter:backdrop-blur-md md:hidden"
className="z-[61] max-h-dvh w-full gap-0 overflow-hidden rounded-none bg-background text-foreground outline-none duration-300 data-[side=top]:data-open:slide-in-from-top data-[side=top]:data-closed:slide-out-to-top md:hidden"
onCloseAutoFocus={(event) => {
// Let the anchor move focus to its section without the trigger
// interrupting the page's smooth scroll when the sheet closes.
if (navigating.current) event.preventDefault()
navigating.current = false
}}
>
<div className="flex shrink-0 items-center justify-between border-b bg-linear-to-r from-blue-600/10 via-blue-600/5 to-transparent px-5 py-3">
<Brand />
<SheetClose asChild>
<button
type="button"
aria-label="Close navigation menu"
className="inline-flex size-11 items-center justify-center rounded-sm bg-background/70 text-muted-foreground transition-colors hover:bg-muted hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring"
>
<RiCloseLine className="size-5" aria-hidden="true" />
</button>
</SheetClose>
</div>
<div className="min-h-0 overflow-y-auto overscroll-contain p-3">
<DialogTitle className="px-3 pb-2 pt-3 font-mono text-[10px] font-medium tracking-[0.18em] text-muted-foreground uppercase">
Explore Vertex
</DialogTitle>
<DialogDescription className="sr-only">
Explore our products, models, features, pricing, and developer documentation.
</DialogDescription>
<nav aria-label="Mobile navigation">
<ul className="space-y-1">
{items.map(({ label, href, description }) => (
<li key={label}>
<DialogClose asChild>
<a
href={href}
onClick={() => { navigating.current = true }}
className="group flex items-center justify-between gap-4 rounded-xl px-3 py-3 transition-colors hover:bg-blue-600/8 focus-visible:bg-blue-600/8 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring"
>
<span className="min-w-0">
<span className="block text-xl font-medium tracking-tight">{label}</span>
<span className="mt-0.5 block text-xs leading-5 text-muted-foreground">{description}</span>
</span>
<span className="flex size-8 shrink-0 items-center justify-center rounded-full border text-muted-foreground transition-colors group-hover:border-blue-500/30 group-hover:bg-blue-600/10 group-hover:text-blue-600 dark:group-hover:text-blue-400">
<RiArrowRightLine className="size-4" aria-hidden="true" />
</span>
</a>
</DialogClose>
</li>
))}
</ul>
</nav>
</div>
<div className="min-h-0 overflow-y-auto overscroll-contain p-3">
<SheetTitle className="px-3 pb-2 pt-3 font-mono text-[10px] font-medium tracking-[0.18em] text-muted-foreground uppercase">
Explore Vertex
</SheetTitle>
<SheetDescription className="sr-only">
Explore our products, models, features, pricing, and developer documentation.
</SheetDescription>
<nav aria-label="Mobile navigation">
<ul className="space-y-1">
{items.map(({ label, href, description }) => (
<li key={label}>
<SheetClose asChild>
<a
href={href}
onClick={() => { navigating.current = true }}
className="flex items-center rounded-xl px-3 py-3 transition-colors hover:bg-blue-600/8 focus-visible:bg-blue-600/8 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring"
>
<span className="min-w-0">
<span className="block text-xl font-medium tracking-tight">{label}</span>
<span className="mt-0.5 block text-xs leading-5 text-muted-foreground">{description}</span>
</span>
</a>
</SheetClose>
</li>
))}
</ul>
</nav>
</div>
<div className="shrink-0 border-t bg-muted/35 p-5">
<p className="mb-3 text-xs text-muted-foreground">One API. Every AI model.</p>
<DialogClose asChild>
<a
href="#pricing"
onClick={() => { navigating.current = true }}
className="flex h-12 items-center justify-between rounded-lg bg-blue-600 px-4 text-sm font-medium text-white shadow-[0_6px_24px_rgba(23,61,166,.2)] transition-colors hover:bg-blue-500 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background"
>
Get started
<RiArrowRightLine className="size-4" aria-hidden="true" />
</a>
</DialogClose>
</div>
</DialogPrimitive.Content>
</DialogPortal>
</Dialog>
<div className="shrink-0 border-t bg-muted/35 p-5">
<p className="mb-3 text-xs text-muted-foreground">One API. Every AI model.</p>
<SheetClose asChild>
<a
href="#pricing"
onClick={() => { navigating.current = true }}
className="flex h-12 items-center justify-center rounded-lg bg-blue-600 px-4 text-sm font-medium text-white shadow-[0_6px_24px_rgba(23,61,166,.2)] transition-colors hover:bg-blue-500 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background"
>
Get started
</a>
</SheetClose>
</div>
</SheetContent>
</Sheet>
)
}
+7 -3
View File
@@ -4,6 +4,8 @@ import { RiMoonLine, RiSunLine } from "@remixicon/react"
import { useTheme } from "next-themes"
import { useSyncExternalStore } from "react"
import { Button } from "@/components/ui/button"
const emptySubscribe = () => () => {}
export function ThemeToggle() {
@@ -13,10 +15,12 @@ export function ThemeToggle() {
const isDark = mounted && resolvedTheme === "dark"
return (
<button
<Button
type="button"
variant="ghost"
size="icon-lg"
aria-label={mounted ? `Switch to ${isDark ? "light" : "dark"} theme` : "Toggle theme"}
className="inline-flex size-9 items-center justify-center rounded-sm border bg-background/80 text-muted-foreground transition-colors hover:border-foreground/20 hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-500/60"
className="text-muted-foreground"
onClick={() => setTheme(isDark ? "light" : "dark")}
>
{mounted ? (
@@ -24,6 +28,6 @@ export function ThemeToggle() {
) : (
<span className="size-4" aria-hidden="true" />
)}
</button>
</Button>
)
}
+1 -1
View File
@@ -9,7 +9,7 @@ export function HeroSection() {
<div className="relative z-10 mx-auto max-w-4xl">
<a
href="#features"
className="mb-7 inline-flex items-center justify-center rounded-full border border-blue-600/15 bg-gradient-to-br from-white/80 via-blue-600/10 to-blue-600/20 px-5 py-2 text-xs font-medium text-foreground shadow-[inset_0_1px_0_rgba(255,255,255,.6),0_4px_20px_rgba(23,61,166,.1)] backdrop-blur-xl transition-colors hover:border-blue-600/35 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background dark:border-white/15 dark:from-white/10 dark:via-blue-600/15 dark:to-blue-600/30 dark:shadow-[inset_0_1px_0_rgba(255,255,255,.12),0_4px_20px_rgba(23,61,166,.15)] dark:hover:border-white/30"
className="mb-7 inline-flex items-center justify-center rounded-full border border-blue-600/25 bg-clip-padding bg-gradient-to-br from-white/80 via-blue-600/10 to-blue-600/20 px-5 py-2 text-xs font-medium text-foreground shadow-[inset_0_1px_0_rgba(255,255,255,.6),0_4px_20px_rgba(23,61,166,.1)] backdrop-blur-xl transition-colors hover:border-blue-600/35 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background dark:border-white/15 dark:from-white/10 dark:via-blue-600/15 dark:to-blue-600/30 dark:shadow-[inset_0_1px_0_rgba(255,255,255,.12),0_4px_20px_rgba(23,61,166,.15)] dark:hover:border-white/30"
>
The unified AI gateway
</a>
+5 -2
View File
@@ -5,6 +5,7 @@ import { Dialog as SheetPrimitive } from "radix-ui"
import { cn } from "@/lib/utils"
import { Button } from "@/components/ui/button"
import { DialogPortal } from "@/components/ui/dialog"
import { RiCloseLine } from "@remixicon/react"
function Sheet({ ...props }: React.ComponentProps<typeof SheetPrimitive.Root>) {
@@ -26,7 +27,7 @@ function SheetClose({
function SheetPortal({
...props
}: React.ComponentProps<typeof SheetPrimitive.Portal>) {
return <SheetPrimitive.Portal data-slot="sheet-portal" {...props} />
return <DialogPortal data-slot="sheet-portal" {...props} />
}
function SheetOverlay({
@@ -50,14 +51,16 @@ function SheetContent({
children,
side = "right",
showCloseButton = true,
overlayClassName,
...props
}: React.ComponentProps<typeof SheetPrimitive.Content> & {
side?: "top" | "right" | "bottom" | "left"
showCloseButton?: boolean
overlayClassName?: string
}) {
return (
<SheetPortal>
<SheetOverlay />
<SheetOverlay className={overlayClassName} />
<SheetPrimitive.Content
data-slot="sheet-content"
data-side={side}
+6
View File
@@ -0,0 +1,6 @@
export const siteConfig = {
name: "Vertex — The Unified AI Gateway",
url: "http://localhost:3000",
description:
"Route, optimize, and observe every AI model request through one OpenAI-compatible API.",
};
+3 -3
View File
@@ -10,7 +10,7 @@
},
"dependencies": {
"@base-ui/react": "^1.6.0",
"@next/swc-wasm-web": "16.2.10",
"@next/swc-wasm-web": "16.3.6",
"@remixicon/react": "^4.9.0",
"@shadcn/react": "^0.1.0",
"class-variance-authority": "^0.7.1",
@@ -20,7 +20,7 @@
"embla-carousel-react": "^8.6.0",
"input-otp": "^1.4.2",
"motion": "^13.3.0",
"next": "16.2.10",
"next": "16.3.6",
"next-themes": "^0.4.6",
"radix-ui": "^1.6.0",
"react": "19.2.4",
@@ -42,7 +42,7 @@
"@types/react-dom": "^19",
"@types/react-is": "^19",
"eslint": "^9",
"eslint-config-next": "16.2.9",
"eslint-config-next": "16.3.6",
"tailwindcss": "^4",
"typescript": "^5"
},
+6 -1
View File
@@ -1,3 +1,8 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="-3 3 24 24" fill="currentColor" fill-rule="evenodd">
<path transform="rotate(45 12 12)" d="M13.236 2.377 2.751 20.493H0L11.863 0l1.373 2.377Zm3.554 6.156-9.606 11.96H4.13L15.511 6.32l1.279 2.212Zm6.908 11.96H14.05l8.406-2.151 1.242 2.15Zm-3.42-5.922-7.843 5.92H8.482l10.597-7.997 1.2 2.077Z"/>
<g transform="rotate(45 12 12)">
<path d="M13.236 2.377 2.751 20.493H0L11.863 0l1.373 2.377Z"/>
<path d="M16.790 8.533 7.184 20.493H4.130L15.511 6.320l1.279 2.212Z"/>
</g>
<path d="M4.070494 16.081410 L16.928016 16.338560 L16.341956 18.526839 L6.315392 18.326308 Z"/>
<path d="M7.444111 19.455027 L15.518911 21.600000 L14.266277 26.277193 Z"/>
</svg>

Before

Width:  |  Height:  |  Size: 352 B

After

Width:  |  Height:  |  Size: 469 B

+230 -196
View File
@@ -447,7 +447,7 @@ __metadata:
languageName: node
linkType: hard
"@emnapi/runtime@npm:^1.10.0, @emnapi/runtime@npm:^1.7.0":
"@emnapi/runtime@npm:^1.10.0":
version: 1.11.1
resolution: "@emnapi/runtime@npm:1.11.1"
dependencies:
@@ -456,6 +456,15 @@ __metadata:
languageName: node
linkType: hard
"@emnapi/runtime@npm:^1.11.3":
version: 1.11.3
resolution: "@emnapi/runtime@npm:1.11.3"
dependencies:
tslib: "npm:^2.4.0"
checksum: 10c0/a00f1020fefb9d4145c367f93a9fddb383a00da8ffd7871e20b19659890379b83aeecb9f84d7d0eda5456343f4a09eb05b0acb5153b0d3d889539dedb1ed87c3
languageName: node
linkType: hard
"@emnapi/wasi-threads@npm:1.2.1":
version: 1.2.1
resolution: "@emnapi/wasi-threads@npm:1.2.1"
@@ -474,7 +483,7 @@ __metadata:
languageName: node
linkType: hard
"@eslint-community/eslint-utils@npm:^4.8.0, @eslint-community/eslint-utils@npm:^4.9.1":
"@eslint-community/eslint-utils@npm:4.9.1, @eslint-community/eslint-utils@npm:^4.8.0, @eslint-community/eslint-utils@npm:^4.9.1":
version: 4.9.1
resolution: "@eslint-community/eslint-utils@npm:4.9.1"
dependencies:
@@ -650,18 +659,18 @@ __metadata:
languageName: node
linkType: hard
"@img/colour@npm:^1.0.0":
"@img/colour@npm:^1.1.0":
version: 1.1.0
resolution: "@img/colour@npm:1.1.0"
checksum: 10c0/2ebea2c0bbaee73b99badcefa04e1e71d83f36e5369337d3121dca841f4569533c4e2faddda6d62dd247f0d5cca143711f9446c59bcce81e427ba433a7a94a17
languageName: node
linkType: hard
"@img/sharp-darwin-arm64@npm:0.34.5":
version: 0.34.5
resolution: "@img/sharp-darwin-arm64@npm:0.34.5"
"@img/sharp-darwin-arm64@npm:0.35.4":
version: 0.35.4
resolution: "@img/sharp-darwin-arm64@npm:0.35.4"
dependencies:
"@img/sharp-libvips-darwin-arm64": "npm:1.2.4"
"@img/sharp-libvips-darwin-arm64": "npm:1.3.3"
dependenciesMeta:
"@img/sharp-libvips-darwin-arm64":
optional: true
@@ -669,11 +678,11 @@ __metadata:
languageName: node
linkType: hard
"@img/sharp-darwin-x64@npm:0.34.5":
version: 0.34.5
resolution: "@img/sharp-darwin-x64@npm:0.34.5"
"@img/sharp-darwin-x64@npm:0.35.4":
version: 0.35.4
resolution: "@img/sharp-darwin-x64@npm:0.35.4"
dependencies:
"@img/sharp-libvips-darwin-x64": "npm:1.2.4"
"@img/sharp-libvips-darwin-x64": "npm:1.3.3"
dependenciesMeta:
"@img/sharp-libvips-darwin-x64":
optional: true
@@ -681,81 +690,90 @@ __metadata:
languageName: node
linkType: hard
"@img/sharp-libvips-darwin-arm64@npm:1.2.4":
version: 1.2.4
resolution: "@img/sharp-libvips-darwin-arm64@npm:1.2.4"
"@img/sharp-freebsd-wasm32@npm:0.35.4":
version: 0.35.4
resolution: "@img/sharp-freebsd-wasm32@npm:0.35.4"
dependencies:
"@img/sharp-wasm32": "npm:0.35.4"
conditions: os=freebsd
languageName: node
linkType: hard
"@img/sharp-libvips-darwin-arm64@npm:1.3.3":
version: 1.3.3
resolution: "@img/sharp-libvips-darwin-arm64@npm:1.3.3"
conditions: os=darwin & cpu=arm64
languageName: node
linkType: hard
"@img/sharp-libvips-darwin-x64@npm:1.2.4":
version: 1.2.4
resolution: "@img/sharp-libvips-darwin-x64@npm:1.2.4"
"@img/sharp-libvips-darwin-x64@npm:1.3.3":
version: 1.3.3
resolution: "@img/sharp-libvips-darwin-x64@npm:1.3.3"
conditions: os=darwin & cpu=x64
languageName: node
linkType: hard
"@img/sharp-libvips-linux-arm64@npm:1.2.4":
version: 1.2.4
resolution: "@img/sharp-libvips-linux-arm64@npm:1.2.4"
"@img/sharp-libvips-linux-arm64@npm:1.3.3":
version: 1.3.3
resolution: "@img/sharp-libvips-linux-arm64@npm:1.3.3"
conditions: os=linux & cpu=arm64 & libc=glibc
languageName: node
linkType: hard
"@img/sharp-libvips-linux-arm@npm:1.2.4":
version: 1.2.4
resolution: "@img/sharp-libvips-linux-arm@npm:1.2.4"
"@img/sharp-libvips-linux-arm@npm:1.3.3":
version: 1.3.3
resolution: "@img/sharp-libvips-linux-arm@npm:1.3.3"
conditions: os=linux & cpu=arm & libc=glibc
languageName: node
linkType: hard
"@img/sharp-libvips-linux-ppc64@npm:1.2.4":
version: 1.2.4
resolution: "@img/sharp-libvips-linux-ppc64@npm:1.2.4"
"@img/sharp-libvips-linux-ppc64@npm:1.3.3":
version: 1.3.3
resolution: "@img/sharp-libvips-linux-ppc64@npm:1.3.3"
conditions: os=linux & cpu=ppc64 & libc=glibc
languageName: node
linkType: hard
"@img/sharp-libvips-linux-riscv64@npm:1.2.4":
version: 1.2.4
resolution: "@img/sharp-libvips-linux-riscv64@npm:1.2.4"
"@img/sharp-libvips-linux-riscv64@npm:1.3.3":
version: 1.3.3
resolution: "@img/sharp-libvips-linux-riscv64@npm:1.3.3"
conditions: os=linux & cpu=riscv64 & libc=glibc
languageName: node
linkType: hard
"@img/sharp-libvips-linux-s390x@npm:1.2.4":
version: 1.2.4
resolution: "@img/sharp-libvips-linux-s390x@npm:1.2.4"
"@img/sharp-libvips-linux-s390x@npm:1.3.3":
version: 1.3.3
resolution: "@img/sharp-libvips-linux-s390x@npm:1.3.3"
conditions: os=linux & cpu=s390x & libc=glibc
languageName: node
linkType: hard
"@img/sharp-libvips-linux-x64@npm:1.2.4":
version: 1.2.4
resolution: "@img/sharp-libvips-linux-x64@npm:1.2.4"
"@img/sharp-libvips-linux-x64@npm:1.3.3":
version: 1.3.3
resolution: "@img/sharp-libvips-linux-x64@npm:1.3.3"
conditions: os=linux & cpu=x64 & libc=glibc
languageName: node
linkType: hard
"@img/sharp-libvips-linuxmusl-arm64@npm:1.2.4":
version: 1.2.4
resolution: "@img/sharp-libvips-linuxmusl-arm64@npm:1.2.4"
"@img/sharp-libvips-linuxmusl-arm64@npm:1.3.3":
version: 1.3.3
resolution: "@img/sharp-libvips-linuxmusl-arm64@npm:1.3.3"
conditions: os=linux & cpu=arm64 & libc=musl
languageName: node
linkType: hard
"@img/sharp-libvips-linuxmusl-x64@npm:1.2.4":
version: 1.2.4
resolution: "@img/sharp-libvips-linuxmusl-x64@npm:1.2.4"
"@img/sharp-libvips-linuxmusl-x64@npm:1.3.3":
version: 1.3.3
resolution: "@img/sharp-libvips-linuxmusl-x64@npm:1.3.3"
conditions: os=linux & cpu=x64 & libc=musl
languageName: node
linkType: hard
"@img/sharp-linux-arm64@npm:0.34.5":
version: 0.34.5
resolution: "@img/sharp-linux-arm64@npm:0.34.5"
"@img/sharp-linux-arm64@npm:0.35.4":
version: 0.35.4
resolution: "@img/sharp-linux-arm64@npm:0.35.4"
dependencies:
"@img/sharp-libvips-linux-arm64": "npm:1.2.4"
"@img/sharp-libvips-linux-arm64": "npm:1.3.3"
dependenciesMeta:
"@img/sharp-libvips-linux-arm64":
optional: true
@@ -763,11 +781,11 @@ __metadata:
languageName: node
linkType: hard
"@img/sharp-linux-arm@npm:0.34.5":
version: 0.34.5
resolution: "@img/sharp-linux-arm@npm:0.34.5"
"@img/sharp-linux-arm@npm:0.35.4":
version: 0.35.4
resolution: "@img/sharp-linux-arm@npm:0.35.4"
dependencies:
"@img/sharp-libvips-linux-arm": "npm:1.2.4"
"@img/sharp-libvips-linux-arm": "npm:1.3.3"
dependenciesMeta:
"@img/sharp-libvips-linux-arm":
optional: true
@@ -775,11 +793,11 @@ __metadata:
languageName: node
linkType: hard
"@img/sharp-linux-ppc64@npm:0.34.5":
version: 0.34.5
resolution: "@img/sharp-linux-ppc64@npm:0.34.5"
"@img/sharp-linux-ppc64@npm:0.35.4":
version: 0.35.4
resolution: "@img/sharp-linux-ppc64@npm:0.35.4"
dependencies:
"@img/sharp-libvips-linux-ppc64": "npm:1.2.4"
"@img/sharp-libvips-linux-ppc64": "npm:1.3.3"
dependenciesMeta:
"@img/sharp-libvips-linux-ppc64":
optional: true
@@ -787,11 +805,11 @@ __metadata:
languageName: node
linkType: hard
"@img/sharp-linux-riscv64@npm:0.34.5":
version: 0.34.5
resolution: "@img/sharp-linux-riscv64@npm:0.34.5"
"@img/sharp-linux-riscv64@npm:0.35.4":
version: 0.35.4
resolution: "@img/sharp-linux-riscv64@npm:0.35.4"
dependencies:
"@img/sharp-libvips-linux-riscv64": "npm:1.2.4"
"@img/sharp-libvips-linux-riscv64": "npm:1.3.3"
dependenciesMeta:
"@img/sharp-libvips-linux-riscv64":
optional: true
@@ -799,11 +817,11 @@ __metadata:
languageName: node
linkType: hard
"@img/sharp-linux-s390x@npm:0.34.5":
version: 0.34.5
resolution: "@img/sharp-linux-s390x@npm:0.34.5"
"@img/sharp-linux-s390x@npm:0.35.4":
version: 0.35.4
resolution: "@img/sharp-linux-s390x@npm:0.35.4"
dependencies:
"@img/sharp-libvips-linux-s390x": "npm:1.2.4"
"@img/sharp-libvips-linux-s390x": "npm:1.3.3"
dependenciesMeta:
"@img/sharp-libvips-linux-s390x":
optional: true
@@ -811,11 +829,11 @@ __metadata:
languageName: node
linkType: hard
"@img/sharp-linux-x64@npm:0.34.5":
version: 0.34.5
resolution: "@img/sharp-linux-x64@npm:0.34.5"
"@img/sharp-linux-x64@npm:0.35.4":
version: 0.35.4
resolution: "@img/sharp-linux-x64@npm:0.35.4"
dependencies:
"@img/sharp-libvips-linux-x64": "npm:1.2.4"
"@img/sharp-libvips-linux-x64": "npm:1.3.3"
dependenciesMeta:
"@img/sharp-libvips-linux-x64":
optional: true
@@ -823,11 +841,11 @@ __metadata:
languageName: node
linkType: hard
"@img/sharp-linuxmusl-arm64@npm:0.34.5":
version: 0.34.5
resolution: "@img/sharp-linuxmusl-arm64@npm:0.34.5"
"@img/sharp-linuxmusl-arm64@npm:0.35.4":
version: 0.35.4
resolution: "@img/sharp-linuxmusl-arm64@npm:0.35.4"
dependencies:
"@img/sharp-libvips-linuxmusl-arm64": "npm:1.2.4"
"@img/sharp-libvips-linuxmusl-arm64": "npm:1.3.3"
dependenciesMeta:
"@img/sharp-libvips-linuxmusl-arm64":
optional: true
@@ -835,11 +853,11 @@ __metadata:
languageName: node
linkType: hard
"@img/sharp-linuxmusl-x64@npm:0.34.5":
version: 0.34.5
resolution: "@img/sharp-linuxmusl-x64@npm:0.34.5"
"@img/sharp-linuxmusl-x64@npm:0.35.4":
version: 0.35.4
resolution: "@img/sharp-linuxmusl-x64@npm:0.35.4"
dependencies:
"@img/sharp-libvips-linuxmusl-x64": "npm:1.2.4"
"@img/sharp-libvips-linuxmusl-x64": "npm:1.3.3"
dependenciesMeta:
"@img/sharp-libvips-linuxmusl-x64":
optional: true
@@ -847,32 +865,41 @@ __metadata:
languageName: node
linkType: hard
"@img/sharp-wasm32@npm:0.34.5":
version: 0.34.5
resolution: "@img/sharp-wasm32@npm:0.34.5"
"@img/sharp-wasm32@npm:0.35.4":
version: 0.35.4
resolution: "@img/sharp-wasm32@npm:0.35.4"
dependencies:
"@emnapi/runtime": "npm:^1.7.0"
"@emnapi/runtime": "npm:^1.11.3"
checksum: 10c0/7f5e394f168eb2f038b8ae4949fb5434085d1db931ede2ae1389479d7a1dbe11e2fc9d58e8e9830bff744ba996256c9e411be1d466dfcbf6e1f4d153b84f25ff
languageName: node
linkType: hard
"@img/sharp-webcontainers-wasm32@npm:0.35.4":
version: 0.35.4
resolution: "@img/sharp-webcontainers-wasm32@npm:0.35.4"
dependencies:
"@img/sharp-wasm32": "npm:0.35.4"
conditions: cpu=wasm32
languageName: node
linkType: hard
"@img/sharp-win32-arm64@npm:0.34.5":
version: 0.34.5
resolution: "@img/sharp-win32-arm64@npm:0.34.5"
"@img/sharp-win32-arm64@npm:0.35.4":
version: 0.35.4
resolution: "@img/sharp-win32-arm64@npm:0.35.4"
conditions: os=win32 & cpu=arm64
languageName: node
linkType: hard
"@img/sharp-win32-ia32@npm:0.34.5":
version: 0.34.5
resolution: "@img/sharp-win32-ia32@npm:0.34.5"
"@img/sharp-win32-ia32@npm:0.35.4":
version: 0.35.4
resolution: "@img/sharp-win32-ia32@npm:0.35.4"
conditions: os=win32 & cpu=ia32
languageName: node
linkType: hard
"@img/sharp-win32-x64@npm:0.34.5":
version: 0.34.5
resolution: "@img/sharp-win32-x64@npm:0.34.5"
"@img/sharp-win32-x64@npm:0.35.4":
version: 0.35.4
resolution: "@img/sharp-win32-x64@npm:0.35.4"
conditions: os=win32 & cpu=x64
languageName: node
linkType: hard
@@ -966,81 +993,82 @@ __metadata:
languageName: node
linkType: hard
"@next/env@npm:16.2.10":
version: 16.2.10
resolution: "@next/env@npm:16.2.10"
checksum: 10c0/712d2aaa313e133c86103772015da2393e1d68092b55ac4c8842d5b7205d2152acf2098eaed5137e39979ad0c26dd951e82bc3ab43c2beb33a4f88498051d574
"@next/env@npm:16.3.6":
version: 16.3.6
resolution: "@next/env@npm:16.3.6"
checksum: 10c0/febd44cb159f1d9ecddcde54c6b1ca261274d53745945410bf552f62d405a49029719b1f1e30783dcb08cc2f61d69c00e4340bdcb5472e5519bd86ff6543226c
languageName: node
linkType: hard
"@next/eslint-plugin-next@npm:16.2.9":
version: 16.2.9
resolution: "@next/eslint-plugin-next@npm:16.2.9"
"@next/eslint-plugin-next@npm:16.3.6":
version: 16.3.6
resolution: "@next/eslint-plugin-next@npm:16.3.6"
dependencies:
"@eslint-community/eslint-utils": "npm:4.9.1"
fast-glob: "npm:3.3.1"
checksum: 10c0/74501333ce844ec02f2518c98859a42d3db1bcae3e7365a2c0f6691d38621719783d285572a23ca1c3edd2801f9805c073d6e572990e70a11f2e894361774f69
checksum: 10c0/f78b03376db616dd12cfd9c511a2d0d4fadea41e72e01d21fac6df50ac29bbaefb14aebb7f2a87215ee9526fea8e78de18e674e483f658c6cd3ee8c38eaf7687
languageName: node
linkType: hard
"@next/swc-darwin-arm64@npm:16.2.10":
version: 16.2.10
resolution: "@next/swc-darwin-arm64@npm:16.2.10"
"@next/swc-darwin-arm64@npm:16.3.6":
version: 16.3.6
resolution: "@next/swc-darwin-arm64@npm:16.3.6"
conditions: os=darwin & cpu=arm64
languageName: node
linkType: hard
"@next/swc-darwin-x64@npm:16.2.10":
version: 16.2.10
resolution: "@next/swc-darwin-x64@npm:16.2.10"
"@next/swc-darwin-x64@npm:16.3.6":
version: 16.3.6
resolution: "@next/swc-darwin-x64@npm:16.3.6"
conditions: os=darwin & cpu=x64
languageName: node
linkType: hard
"@next/swc-linux-arm64-gnu@npm:16.2.10":
version: 16.2.10
resolution: "@next/swc-linux-arm64-gnu@npm:16.2.10"
"@next/swc-linux-arm64-gnu@npm:16.3.6":
version: 16.3.6
resolution: "@next/swc-linux-arm64-gnu@npm:16.3.6"
conditions: os=linux & cpu=arm64 & libc=glibc
languageName: node
linkType: hard
"@next/swc-linux-arm64-musl@npm:16.2.10":
version: 16.2.10
resolution: "@next/swc-linux-arm64-musl@npm:16.2.10"
"@next/swc-linux-arm64-musl@npm:16.3.6":
version: 16.3.6
resolution: "@next/swc-linux-arm64-musl@npm:16.3.6"
conditions: os=linux & cpu=arm64 & libc=musl
languageName: node
linkType: hard
"@next/swc-linux-x64-gnu@npm:16.2.10":
version: 16.2.10
resolution: "@next/swc-linux-x64-gnu@npm:16.2.10"
"@next/swc-linux-x64-gnu@npm:16.3.6":
version: 16.3.6
resolution: "@next/swc-linux-x64-gnu@npm:16.3.6"
conditions: os=linux & cpu=x64 & libc=glibc
languageName: node
linkType: hard
"@next/swc-linux-x64-musl@npm:16.2.10":
version: 16.2.10
resolution: "@next/swc-linux-x64-musl@npm:16.2.10"
"@next/swc-linux-x64-musl@npm:16.3.6":
version: 16.3.6
resolution: "@next/swc-linux-x64-musl@npm:16.3.6"
conditions: os=linux & cpu=x64 & libc=musl
languageName: node
linkType: hard
"@next/swc-wasm-web@npm:16.2.10":
version: 16.2.10
resolution: "@next/swc-wasm-web@npm:16.2.10"
checksum: 10c0/cec051e5e167951f558d00109abd8dc9a9ebacbf3946033add2fa9ba9f2c1775e9f64c32c812cad23dfc6ee00cb1d4f93b4e4416358cd2f124058e53a7ade4ac
"@next/swc-wasm-web@npm:16.3.6":
version: 16.3.6
resolution: "@next/swc-wasm-web@npm:16.3.6"
checksum: 10c0/a7a4937b409842226e287a68f6bdfa048e80707363acb808df7cc619a548df02d4bda9f4e8cd33230a51886c4e607f13aa5c8938fb45de74b11b666be3eef420
languageName: node
linkType: hard
"@next/swc-win32-arm64-msvc@npm:16.2.10":
version: 16.2.10
resolution: "@next/swc-win32-arm64-msvc@npm:16.2.10"
"@next/swc-win32-arm64-msvc@npm:16.3.6":
version: 16.3.6
resolution: "@next/swc-win32-arm64-msvc@npm:16.3.6"
conditions: os=win32 & cpu=arm64
languageName: node
linkType: hard
"@next/swc-win32-x64-msvc@npm:16.2.10":
version: 16.2.10
resolution: "@next/swc-win32-x64-msvc@npm:16.2.10"
"@next/swc-win32-x64-msvc@npm:16.3.6":
version: 16.3.6
resolution: "@next/swc-win32-x64-msvc@npm:16.3.6"
conditions: os=win32 & cpu=x64
languageName: node
linkType: hard
@@ -2451,12 +2479,12 @@ __metadata:
languageName: node
linkType: hard
"@swc/helpers@npm:0.5.15":
version: 0.5.15
resolution: "@swc/helpers@npm:0.5.15"
"@swc/helpers@npm:0.5.23":
version: 0.5.23
resolution: "@swc/helpers@npm:0.5.23"
dependencies:
tslib: "npm:^2.8.0"
checksum: 10c0/33002f74f6f885f04c132960835fdfc474186983ea567606db62e86acd0680ca82f34647e8e610f4e1e422d1c16fce729dde22cd3b797ab1fd9061a825dabca4
checksum: 10c0/02da7b4df465693933ecd4851cc193ec729c309939c8a84eccae5ec0010aafc3894e713b8ef8d13a6ba401759f0e900c88e2dcfef5872c27bb91e70f73275cce
languageName: node
linkType: hard
@@ -4410,11 +4438,11 @@ __metadata:
languageName: node
linkType: hard
"eslint-config-next@npm:16.2.9":
version: 16.2.9
resolution: "eslint-config-next@npm:16.2.9"
"eslint-config-next@npm:16.3.6":
version: 16.3.6
resolution: "eslint-config-next@npm:16.3.6"
dependencies:
"@next/eslint-plugin-next": "npm:16.2.9"
"@next/eslint-plugin-next": "npm:16.3.6"
eslint-import-resolver-node: "npm:^0.3.6"
eslint-import-resolver-typescript: "npm:^3.5.2"
eslint-plugin-import: "npm:^2.32.0"
@@ -4429,7 +4457,7 @@ __metadata:
peerDependenciesMeta:
typescript:
optional: true
checksum: 10c0/266764e180cc2aa75fe0c357218a24d7f9ebc28e2d7f6195080ca90052373181605a942be1c14c8018e4302859758f2d28c87200236396bf9d5de1cc1badc2a0
checksum: 10c0/59e2efef2398976b034ce21d06d8ac217889888c60814f6dc3b62314cd375b02f85a4fc628826c5f17f0301e7382f27a65db27d6846eac8988eb6019e5dd6dbb
languageName: node
linkType: hard
@@ -6377,7 +6405,7 @@ __metadata:
languageName: node
linkType: hard
"nanoid@npm:^3.3.12, nanoid@npm:^3.3.6":
"nanoid@npm:^3.3.12":
version: 3.3.15
resolution: "nanoid@npm:3.3.15"
bin:
@@ -6428,24 +6456,24 @@ __metadata:
languageName: node
linkType: hard
"next@npm:16.2.10":
version: 16.2.10
resolution: "next@npm:16.2.10"
"next@npm:16.3.6":
version: 16.3.6
resolution: "next@npm:16.3.6"
dependencies:
"@next/env": "npm:16.2.10"
"@next/swc-darwin-arm64": "npm:16.2.10"
"@next/swc-darwin-x64": "npm:16.2.10"
"@next/swc-linux-arm64-gnu": "npm:16.2.10"
"@next/swc-linux-arm64-musl": "npm:16.2.10"
"@next/swc-linux-x64-gnu": "npm:16.2.10"
"@next/swc-linux-x64-musl": "npm:16.2.10"
"@next/swc-win32-arm64-msvc": "npm:16.2.10"
"@next/swc-win32-x64-msvc": "npm:16.2.10"
"@swc/helpers": "npm:0.5.15"
"@next/env": "npm:16.3.6"
"@next/swc-darwin-arm64": "npm:16.3.6"
"@next/swc-darwin-x64": "npm:16.3.6"
"@next/swc-linux-arm64-gnu": "npm:16.3.6"
"@next/swc-linux-arm64-musl": "npm:16.3.6"
"@next/swc-linux-x64-gnu": "npm:16.3.6"
"@next/swc-linux-x64-musl": "npm:16.3.6"
"@next/swc-win32-arm64-msvc": "npm:16.3.6"
"@next/swc-win32-x64-msvc": "npm:16.3.6"
"@swc/helpers": "npm:0.5.23"
baseline-browser-mapping: "npm:^2.9.19"
caniuse-lite: "npm:^1.0.30001579"
postcss: "npm:8.4.31"
sharp: "npm:^0.34.5"
postcss: "npm:8.5.23"
sharp: "npm:^0.35.4"
styled-jsx: "npm:5.1.6"
peerDependencies:
"@opentelemetry/api": ^1.1.0
@@ -6484,7 +6512,7 @@ __metadata:
optional: true
bin:
next: dist/bin/next
checksum: 10c0/e242f60b3caaf05bdf62a9ca85cea774f3081e1e900ac9ffe5b5975ca10584a904cf566873812abf1f25b965ef3de6451e7790e947800616909c2d4ecb54d1b9
checksum: 10c0/a67c2f34374d495e9b9cd7a7825404f50713012ee8653dc9cf3f454adba48a2303d3424c70c5a40fe1f421f65e3e10175a17604acb86106242ff65c59e115e56
languageName: node
linkType: hard
@@ -6493,7 +6521,7 @@ __metadata:
resolution: "nextjs-vercel@workspace:."
dependencies:
"@base-ui/react": "npm:^1.6.0"
"@next/swc-wasm-web": "npm:16.2.10"
"@next/swc-wasm-web": "npm:16.3.6"
"@remixicon/react": "npm:^4.9.0"
"@shadcn/react": "npm:^0.1.0"
"@tailwindcss/postcss": "npm:^4"
@@ -6507,10 +6535,10 @@ __metadata:
cobe: "npm:^0.6.4"
embla-carousel-react: "npm:^8.6.0"
eslint: "npm:^9"
eslint-config-next: "npm:16.2.9"
eslint-config-next: "npm:16.3.6"
input-otp: "npm:^1.4.2"
motion: "npm:^13.3.0"
next: "npm:16.2.10"
next: "npm:16.3.6"
next-themes: "npm:^0.4.6"
radix-ui: "npm:^1.6.0"
react: "npm:19.2.4"
@@ -6900,7 +6928,7 @@ __metadata:
languageName: node
linkType: hard
"picocolors@npm:^1.0.0, picocolors@npm:^1.1.1":
"picocolors@npm:^1.1.1":
version: 1.1.1
resolution: "picocolors@npm:1.1.1"
checksum: 10c0/e2e3e8170ab9d7c7421969adaa7e1b31434f789afb9b3f115f6b96d91945041ac3ceb02e9ec6fe6510ff036bcc0bf91e69a1772edc0b707e12b19c0f2d6bcf58
@@ -6954,17 +6982,6 @@ __metadata:
languageName: node
linkType: hard
"postcss@npm:8.4.31":
version: 8.4.31
resolution: "postcss@npm:8.4.31"
dependencies:
nanoid: "npm:^3.3.6"
picocolors: "npm:^1.0.0"
source-map-js: "npm:^1.0.2"
checksum: 10c0/748b82e6e5fc34034dcf2ae88ea3d11fd09f69b6c50ecdd3b4a875cfc7cdca435c958b211e2cb52355422ab6fccb7d8f2f2923161d7a1b281029e4a913d59acf
languageName: node
linkType: hard
"postcss@npm:8.5.15":
version: 8.5.15
resolution: "postcss@npm:8.5.15"
@@ -6976,6 +6993,17 @@ __metadata:
languageName: node
linkType: hard
"postcss@npm:8.5.23":
version: 8.5.23
resolution: "postcss@npm:8.5.23"
dependencies:
nanoid: "npm:^3.3.16"
picocolors: "npm:^1.1.1"
source-map-js: "npm:^1.2.1"
checksum: 10c0/ed714e635b330bb42666ecdd0c0b4f30224ded15b0b0052d6bc2b92832f2cf17d1c1141359453f96f0a84f8fbf4c405a74df187f559163b8f31131b2535455aa
languageName: node
linkType: hard
"postcss@npm:^8.5.6":
version: 8.5.22
resolution: "postcss@npm:8.5.22"
@@ -7544,7 +7572,7 @@ __metadata:
languageName: node
linkType: hard
"semver@npm:^7.3.5, semver@npm:^7.7.1, semver@npm:^7.7.3":
"semver@npm:^7.3.5, semver@npm:^7.7.1, semver@npm:^7.7.3, semver@npm:^7.8.5":
version: 7.8.5
resolution: "semver@npm:7.8.5"
bin:
@@ -7670,42 +7698,45 @@ __metadata:
languageName: node
linkType: hard
"sharp@npm:^0.34.5":
version: 0.34.5
resolution: "sharp@npm:0.34.5"
"sharp@npm:^0.35.4":
version: 0.35.4
resolution: "sharp@npm:0.35.4"
dependencies:
"@img/colour": "npm:^1.0.0"
"@img/sharp-darwin-arm64": "npm:0.34.5"
"@img/sharp-darwin-x64": "npm:0.34.5"
"@img/sharp-libvips-darwin-arm64": "npm:1.2.4"
"@img/sharp-libvips-darwin-x64": "npm:1.2.4"
"@img/sharp-libvips-linux-arm": "npm:1.2.4"
"@img/sharp-libvips-linux-arm64": "npm:1.2.4"
"@img/sharp-libvips-linux-ppc64": "npm:1.2.4"
"@img/sharp-libvips-linux-riscv64": "npm:1.2.4"
"@img/sharp-libvips-linux-s390x": "npm:1.2.4"
"@img/sharp-libvips-linux-x64": "npm:1.2.4"
"@img/sharp-libvips-linuxmusl-arm64": "npm:1.2.4"
"@img/sharp-libvips-linuxmusl-x64": "npm:1.2.4"
"@img/sharp-linux-arm": "npm:0.34.5"
"@img/sharp-linux-arm64": "npm:0.34.5"
"@img/sharp-linux-ppc64": "npm:0.34.5"
"@img/sharp-linux-riscv64": "npm:0.34.5"
"@img/sharp-linux-s390x": "npm:0.34.5"
"@img/sharp-linux-x64": "npm:0.34.5"
"@img/sharp-linuxmusl-arm64": "npm:0.34.5"
"@img/sharp-linuxmusl-x64": "npm:0.34.5"
"@img/sharp-wasm32": "npm:0.34.5"
"@img/sharp-win32-arm64": "npm:0.34.5"
"@img/sharp-win32-ia32": "npm:0.34.5"
"@img/sharp-win32-x64": "npm:0.34.5"
"@img/colour": "npm:^1.1.0"
"@img/sharp-darwin-arm64": "npm:0.35.4"
"@img/sharp-darwin-x64": "npm:0.35.4"
"@img/sharp-freebsd-wasm32": "npm:0.35.4"
"@img/sharp-libvips-darwin-arm64": "npm:1.3.3"
"@img/sharp-libvips-darwin-x64": "npm:1.3.3"
"@img/sharp-libvips-linux-arm": "npm:1.3.3"
"@img/sharp-libvips-linux-arm64": "npm:1.3.3"
"@img/sharp-libvips-linux-ppc64": "npm:1.3.3"
"@img/sharp-libvips-linux-riscv64": "npm:1.3.3"
"@img/sharp-libvips-linux-s390x": "npm:1.3.3"
"@img/sharp-libvips-linux-x64": "npm:1.3.3"
"@img/sharp-libvips-linuxmusl-arm64": "npm:1.3.3"
"@img/sharp-libvips-linuxmusl-x64": "npm:1.3.3"
"@img/sharp-linux-arm": "npm:0.35.4"
"@img/sharp-linux-arm64": "npm:0.35.4"
"@img/sharp-linux-ppc64": "npm:0.35.4"
"@img/sharp-linux-riscv64": "npm:0.35.4"
"@img/sharp-linux-s390x": "npm:0.35.4"
"@img/sharp-linux-x64": "npm:0.35.4"
"@img/sharp-linuxmusl-arm64": "npm:0.35.4"
"@img/sharp-linuxmusl-x64": "npm:0.35.4"
"@img/sharp-webcontainers-wasm32": "npm:0.35.4"
"@img/sharp-win32-arm64": "npm:0.35.4"
"@img/sharp-win32-ia32": "npm:0.35.4"
"@img/sharp-win32-x64": "npm:0.35.4"
detect-libc: "npm:^2.1.2"
semver: "npm:^7.7.3"
semver: "npm:^7.8.5"
dependenciesMeta:
"@img/sharp-darwin-arm64":
optional: true
"@img/sharp-darwin-x64":
optional: true
"@img/sharp-freebsd-wasm32":
optional: true
"@img/sharp-libvips-darwin-arm64":
optional: true
"@img/sharp-libvips-darwin-x64":
@@ -7742,7 +7773,7 @@ __metadata:
optional: true
"@img/sharp-linuxmusl-x64":
optional: true
"@img/sharp-wasm32":
"@img/sharp-webcontainers-wasm32":
optional: true
"@img/sharp-win32-arm64":
optional: true
@@ -7750,7 +7781,10 @@ __metadata:
optional: true
"@img/sharp-win32-x64":
optional: true
checksum: 10c0/fd79e29df0597a7d5704b8461c51f944ead91a5243691697be6e8243b966402beda53ddc6f0a53b96ea3cb8221f0b244aa588114d3ebf8734fb4aefd41ab802f
peerDependenciesMeta:
"@types/node":
optional: true
checksum: 10c0/dbcc0909200cbff98e82805c86085b94afbd45f373897a04b21e52e9bbc1671dc64970350dd3cb6b2d0970f3444be7100d728005dc6620e39b599269ed7e15eb
languageName: node
linkType: hard
@@ -7849,7 +7883,7 @@ __metadata:
languageName: node
linkType: hard
"source-map-js@npm:^1.0.2, source-map-js@npm:^1.2.1":
"source-map-js@npm:^1.2.1":
version: 1.2.1
resolution: "source-map-js@npm:1.2.1"
checksum: 10c0/7bda1fc4c197e3c6ff17de1b8b2c20e60af81b63a52cb32ec5a5d67a20a7d42651e2cb34ebe93833c5a2a084377e17455854fee3e21e7925c64a51b6a52b0faf