From 8aab8dd2a5491fd43bdebab0f45af11e53ec17fa Mon Sep 17 00:00:00 2001 From: Mauricio Siu Date: Mon, 16 Feb 2026 02:09:33 -0600 Subject: [PATCH] chore(dependencies): update zod version across multiple packages to 3.25.76 and remove unused i18next dependencies - Updated zod version from 3.25.32 to 3.25.76 in pnpm-lock.yaml, package.json files for api, dokploy, schedules, and server. - Removed i18next and related localization code from the dokploy application to streamline the codebase. --- apps/api/package.json | 2 +- .../settings/profile/profile-form.tsx | 20 +- .../servers/actions/show-dokploy-actions.tsx | 14 +- .../servers/actions/show-storage-actions.tsx | 18 +- .../servers/actions/show-traefik-actions.tsx | 14 +- .../settings/servers/handle-servers.tsx | 8 +- .../settings/servers/show-servers.tsx | 2 - .../dashboard/settings/web-domain.tsx | 14 +- .../dashboard/settings/web-server.tsx | 10 +- .../web-server/local-server-config.tsx | 11 +- .../web-server/manage-traefik-ports.tsx | 10 +- apps/dokploy/components/layouts/user-nav.tsx | 56 +-- apps/dokploy/lib/languages.ts | 29 -- apps/dokploy/next.config.mjs | 9 - apps/dokploy/package.json | 5 +- apps/dokploy/pages/_app.tsx | 14 +- apps/dokploy/pages/dashboard/settings/ai.tsx | 3 - .../pages/dashboard/settings/license.tsx | 3 - .../pages/dashboard/settings/profile.tsx | 3 - .../pages/dashboard/settings/server.tsx | 3 - .../pages/dashboard/settings/servers.tsx | 3 - apps/dokploy/pages/dashboard/settings/sso.tsx | 3 - apps/dokploy/tsconfig.json | 3 +- apps/dokploy/utils/hooks/use-locale.ts | 16 - apps/dokploy/utils/i18n.ts | 23 -- apps/schedules/package.json | 2 +- packages/server/package.json | 2 +- pnpm-lock.yaml | 340 +++++++----------- 28 files changed, 191 insertions(+), 449 deletions(-) delete mode 100644 apps/dokploy/lib/languages.ts delete mode 100644 apps/dokploy/utils/hooks/use-locale.ts delete mode 100644 apps/dokploy/utils/i18n.ts diff --git a/apps/api/package.json b/apps/api/package.json index 70c8aaac8..71d948076 100644 --- a/apps/api/package.json +++ b/apps/api/package.json @@ -20,7 +20,7 @@ "react": "18.2.0", "react-dom": "18.2.0", "redis": "4.7.0", - "zod": "^3.25.32" + "zod": "^3.25.76" }, "devDependencies": { "@types/node": "^20.16.0", diff --git a/apps/dokploy/components/dashboard/settings/profile/profile-form.tsx b/apps/dokploy/components/dashboard/settings/profile/profile-form.tsx index 461a4c17c..6a8381279 100644 --- a/apps/dokploy/components/dashboard/settings/profile/profile-form.tsx +++ b/apps/dokploy/components/dashboard/settings/profile/profile-form.tsx @@ -1,6 +1,5 @@ import { zodResolver } from "@hookform/resolvers/zod"; import { Loader2, Palette, User } from "lucide-react"; -import { useTranslation } from "next-i18next"; import { useEffect, useMemo, useRef, useState } from "react"; import { useForm } from "react-hook-form"; import { toast } from "sonner"; @@ -73,7 +72,6 @@ export const ProfileForm = () => { isError, error, } = api.user.update.useMutation(); - const { t } = useTranslation("settings"); const [gravatarHash, setGravatarHash] = useState(null); const colorInputRef = useRef(null); @@ -157,10 +155,10 @@ export const ProfileForm = () => {
- {t("settings.profile.title")} + Account - {t("settings.profile.description")} + Change the details of your profile here.
@@ -213,10 +211,10 @@ export const ProfileForm = () => { name="email" render={({ field }) => ( - {t("settings.profile.email")} + Email @@ -233,7 +231,7 @@ export const ProfileForm = () => { @@ -248,12 +246,12 @@ export const ProfileForm = () => { render={({ field }) => ( - {t("settings.profile.password")} + Password @@ -269,7 +267,7 @@ export const ProfileForm = () => { render={({ field }) => ( - {t("settings.profile.avatar")} + Avatar {
diff --git a/apps/dokploy/components/dashboard/settings/servers/actions/show-dokploy-actions.tsx b/apps/dokploy/components/dashboard/settings/servers/actions/show-dokploy-actions.tsx index 42b73cf59..59e1684d7 100644 --- a/apps/dokploy/components/dashboard/settings/servers/actions/show-dokploy-actions.tsx +++ b/apps/dokploy/components/dashboard/settings/servers/actions/show-dokploy-actions.tsx @@ -1,4 +1,3 @@ -import { useTranslation } from "next-i18next"; import { toast } from "sonner"; import { UpdateServerIp } from "@/components/dashboard/settings/web-server/update-server-ip"; import { Button } from "@/components/ui/button"; @@ -17,7 +16,6 @@ import { TerminalModal } from "../../web-server/terminal-modal"; import { GPUSupportModal } from "../gpu-support-modal"; export const ShowDokployActions = () => { - const { t } = useTranslation("settings"); const { mutateAsync: reloadServer, isLoading } = api.settings.reloadServer.useMutation(); @@ -30,12 +28,12 @@ export const ShowDokployActions = () => { - {t("settings.server.webServer.actions")} + Actions @@ -51,17 +49,17 @@ export const ShowDokployActions = () => { }} className="cursor-pointer" > - {t("settings.server.webServer.reload")} + Reload - {t("settings.common.enterTerminal")} + Terminal e.preventDefault()} > - {t("settings.server.webServer.watchLogs")} + View Logs @@ -70,7 +68,7 @@ export const ShowDokployActions = () => { className="cursor-pointer" onSelect={(e) => e.preventDefault()} > - {t("settings.server.webServer.updateServerIp")} + Update Server IP diff --git a/apps/dokploy/components/dashboard/settings/servers/actions/show-storage-actions.tsx b/apps/dokploy/components/dashboard/settings/servers/actions/show-storage-actions.tsx index c80648142..4467246ec 100644 --- a/apps/dokploy/components/dashboard/settings/servers/actions/show-storage-actions.tsx +++ b/apps/dokploy/components/dashboard/settings/servers/actions/show-storage-actions.tsx @@ -1,4 +1,3 @@ -import { useTranslation } from "next-i18next"; import { toast } from "sonner"; import { Button } from "@/components/ui/button"; import { @@ -16,7 +15,6 @@ interface Props { serverId?: string; } export const ShowStorageActions = ({ serverId }: Props) => { - const { t } = useTranslation("settings"); const { mutateAsync: cleanAll, isLoading: cleanAllIsLoading } = api.settings.cleanAll.useMutation(); @@ -64,12 +62,12 @@ export const ShowStorageActions = ({ serverId }: Props) => { } variant="outline" > - {t("settings.server.webServer.storage.label")} + Space - {t("settings.server.webServer.actions")} + Actions @@ -88,7 +86,7 @@ export const ShowStorageActions = ({ serverId }: Props) => { }} > - {t("settings.server.webServer.storage.cleanUnusedImages")} + Clean unused images { }} > - {t("settings.server.webServer.storage.cleanUnusedVolumes")} + Clean unused volumes @@ -125,7 +123,7 @@ export const ShowStorageActions = ({ serverId }: Props) => { }} > - {t("settings.server.webServer.storage.cleanStoppedContainers")} + Clean stopped containers @@ -144,7 +142,7 @@ export const ShowStorageActions = ({ serverId }: Props) => { }} > - {t("settings.server.webServer.storage.cleanDockerBuilder")} + Clean Docker Builder & System {!serverId && ( @@ -161,7 +159,7 @@ export const ShowStorageActions = ({ serverId }: Props) => { }} > - {t("settings.server.webServer.storage.cleanMonitoring")} + Clean Monitoring )} @@ -180,7 +178,7 @@ export const ShowStorageActions = ({ serverId }: Props) => { }); }} > - {t("settings.server.webServer.storage.cleanAll")} + Clean all diff --git a/apps/dokploy/components/dashboard/settings/servers/actions/show-traefik-actions.tsx b/apps/dokploy/components/dashboard/settings/servers/actions/show-traefik-actions.tsx index 5b4d751ff..a169bcde9 100644 --- a/apps/dokploy/components/dashboard/settings/servers/actions/show-traefik-actions.tsx +++ b/apps/dokploy/components/dashboard/settings/servers/actions/show-traefik-actions.tsx @@ -1,4 +1,3 @@ -import { useTranslation } from "next-i18next"; import { toast } from "sonner"; import { AlertBlock } from "@/components/shared/alert-block"; import { DialogAction } from "@/components/shared/dialog-action"; @@ -22,7 +21,6 @@ interface Props { serverId?: string; } export const ShowTraefikActions = ({ serverId }: Props) => { - const { t } = useTranslation("settings"); const { mutateAsync: reloadTraefik, isLoading: reloadTraefikIsLoading } = api.settings.reloadTraefik.useMutation(); @@ -75,12 +73,12 @@ export const ShowTraefikActions = ({ serverId }: Props) => { } variant="outline" > - {t("settings.server.webServer.traefik.label")} + Traefik - {t("settings.server.webServer.actions")} + Actions @@ -100,7 +98,7 @@ export const ShowTraefikActions = ({ serverId }: Props) => { className="cursor-pointer" disabled={isReloadHealthCheckExecuting} > - {t("settings.server.webServer.reload")} + Reload { onSelect={(e) => e.preventDefault()} className="cursor-pointer" > - {t("settings.server.webServer.watchLogs")} + View Logs @@ -119,7 +117,7 @@ export const ShowTraefikActions = ({ serverId }: Props) => { onSelect={(e) => e.preventDefault()} className="cursor-pointer" > - {t("settings.server.webServer.traefik.modifyEnv")} + Modify Environment @@ -176,7 +174,7 @@ export const ShowTraefikActions = ({ serverId }: Props) => { onSelect={(e) => e.preventDefault()} className="cursor-pointer" > - {t("settings.server.webServer.traefik.managePorts")} + Additional Port Mappings diff --git a/apps/dokploy/components/dashboard/settings/servers/handle-servers.tsx b/apps/dokploy/components/dashboard/settings/servers/handle-servers.tsx index 99804ba6b..bb68dc52c 100644 --- a/apps/dokploy/components/dashboard/settings/servers/handle-servers.tsx +++ b/apps/dokploy/components/dashboard/settings/servers/handle-servers.tsx @@ -1,7 +1,6 @@ import { zodResolver } from "@hookform/resolvers/zod"; import { Pencil, PlusIcon } from "lucide-react"; import Link from "next/link"; -import { useTranslation } from "next-i18next"; import { useEffect, useState } from "react"; import { useForm } from "react-hook-form"; import { toast } from "sonner"; @@ -63,7 +62,6 @@ interface Props { } export const HandleServers = ({ serverId, asButton = false }: Props) => { - const { t } = useTranslation("settings"); const utils = api.useUtils(); const [isOpen, setIsOpen] = useState(false); @@ -365,7 +363,7 @@ export const HandleServers = ({ serverId, asButton = false }: Props) => { name="ipAddress" render={({ field }) => ( - {t("settings.terminal.ipAddress")} + IP Address @@ -379,7 +377,7 @@ export const HandleServers = ({ serverId, asButton = false }: Props) => { name="port" render={({ field }) => ( - {t("settings.terminal.port")} + Port { name="username" render={({ field }) => ( - {t("settings.terminal.username")} + Username diff --git a/apps/dokploy/components/dashboard/settings/servers/show-servers.tsx b/apps/dokploy/components/dashboard/settings/servers/show-servers.tsx index 92d6fc5c3..657ac2453 100644 --- a/apps/dokploy/components/dashboard/settings/servers/show-servers.tsx +++ b/apps/dokploy/components/dashboard/settings/servers/show-servers.tsx @@ -13,7 +13,6 @@ import { } from "lucide-react"; import Link from "next/link"; import { useRouter } from "next/router"; -import { useTranslation } from "next-i18next"; import { toast } from "sonner"; import { AlertBlock } from "@/components/shared/alert-block"; import { DialogAction } from "@/components/shared/dialog-action"; @@ -52,7 +51,6 @@ import { ShowTraefikFileSystemModal } from "./show-traefik-file-system-modal"; import { WelcomeSuscription } from "./welcome-stripe/welcome-suscription"; export const ShowServers = () => { - const { t } = useTranslation("settings"); const router = useRouter(); const query = router.query; const { data, refetch, isLoading } = api.server.all.useQuery(); diff --git a/apps/dokploy/components/dashboard/settings/web-domain.tsx b/apps/dokploy/components/dashboard/settings/web-domain.tsx index e0be5c7f3..159d950d4 100644 --- a/apps/dokploy/components/dashboard/settings/web-domain.tsx +++ b/apps/dokploy/components/dashboard/settings/web-domain.tsx @@ -1,6 +1,5 @@ import { zodResolver } from "@hookform/resolvers/zod"; import { GlobeIcon } from "lucide-react"; -import { useTranslation } from "next-i18next"; import { useEffect } from "react"; import { useForm } from "react-hook-form"; import { toast } from "sonner"; @@ -66,7 +65,6 @@ const addServerDomain = z type AddServerDomain = z.infer; export const WebDomain = () => { - const { t } = useTranslation("settings"); const { data, refetch } = api.settings.getWebServerSettings.useQuery(); const { mutateAsync, isLoading } = api.settings.assignDomainServer.useMutation(); @@ -119,10 +117,10 @@ export const WebDomain = () => {
- {t("settings.server.domain.title")} + Server Domain - {t("settings.server.domain.description")} + Add a domain to your server application.
@@ -152,7 +150,7 @@ export const WebDomain = () => { return ( - {t("settings.server.domain.form.domain")} + Domain { return ( - {t("settings.server.domain.form.letsEncryptEmail")} + Let's Encrypt Email { return ( - {t("settings.server.domain.form.certificate.label")} + Certificate Provider { name="username" render={({ field }) => ( - {t("settings.terminal.username")} + Username @@ -142,7 +139,7 @@ const LocalServerConfig = ({ onSave }: Props) => { className="ml-auto" disabled={!form.formState.isDirty} > - {t("settings.common.save")} + Save diff --git a/apps/dokploy/components/dashboard/settings/web-server/manage-traefik-ports.tsx b/apps/dokploy/components/dashboard/settings/web-server/manage-traefik-ports.tsx index 73973ef06..59dfca9ee 100644 --- a/apps/dokploy/components/dashboard/settings/web-server/manage-traefik-ports.tsx +++ b/apps/dokploy/components/dashboard/settings/web-server/manage-traefik-ports.tsx @@ -1,6 +1,5 @@ import { zodResolver } from "@hookform/resolvers/zod"; import { ArrowRightLeft, Plus, Trash2 } from "lucide-react"; -import { useTranslation } from "next-i18next"; import { useHealthCheckAfterMutation } from "@/hooks/use-health-check-after-mutation"; import type React from "react"; import { useEffect, useState } from "react"; @@ -56,7 +55,6 @@ const TraefikPortsSchema = z.object({ type TraefikPortsForm = z.infer; export const ManageTraefikPorts = ({ children, serverId }: Props) => { - const { t } = useTranslation("settings"); const [open, setOpen] = useState(false); const form = useForm({ @@ -84,7 +82,7 @@ export const ManageTraefikPorts = ({ children, serverId }: Props) => { isExecuting: isHealthCheckExecuting, } = useHealthCheckAfterMutation({ initialDelay: 5000, - successMessage: t("settings.server.webServer.traefik.portsUpdated"), + successMessage: "Ports updated successfully", onSuccess: () => { refetchPorts(); setOpen(false); @@ -129,14 +127,12 @@ export const ManageTraefikPorts = ({ children, serverId }: Props) => { - {t("settings.server.webServer.traefik.managePorts")} + Additional Port Mappings
- {t( - "settings.server.webServer.traefik.managePortsDescription", - )} + Add or remove additional ports for Traefik {fields.length} port mapping{fields.length !== 1 ? "s" : ""}{" "} configured diff --git a/apps/dokploy/components/layouts/user-nav.tsx b/apps/dokploy/components/layouts/user-nav.tsx index cc952150b..141ee5cce 100644 --- a/apps/dokploy/components/layouts/user-nav.tsx +++ b/apps/dokploy/components/layouts/user-nav.tsx @@ -10,18 +10,9 @@ import { DropdownMenuSeparator, DropdownMenuTrigger, } from "@/components/ui/dropdown-menu"; -import { - Select, - SelectContent, - SelectItem, - SelectTrigger, - SelectValue, -} from "@/components/ui/select"; import { authClient } from "@/lib/auth-client"; -import { Languages } from "@/lib/languages"; import { getFallbackAvatarInitials } from "@/lib/utils"; import { api } from "@/utils/api"; -import useLocale from "@/utils/hooks/use-locale"; import { ModeToggle } from "../ui/modeToggle"; import { SidebarMenuButton } from "../ui/sidebar"; @@ -32,7 +23,6 @@ export const UserNav = () => { const { data } = api.user.get.useQuery(); const { data: isCloud } = api.settings.isCloud.useQuery(); - const { locale, setLocale } = useLocale(); // const { mutateAsync } = api.auth.logout.useMutation(); return ( @@ -155,39 +145,19 @@ export const UserNav = () => { )} -
- { - await authClient.signOut().then(() => { - router.push("/"); - }); - // await mutateAsync().then(() => { - // router.push("/"); - // }); - }} - > - Log out - -
- -
-
+ { + await authClient.signOut().then(() => { + router.push("/"); + }); + // await mutateAsync().then(() => { + // router.push("/"); + // }); + }} + > + Log out + ); diff --git a/apps/dokploy/lib/languages.ts b/apps/dokploy/lib/languages.ts deleted file mode 100644 index 7a4d54fa5..000000000 --- a/apps/dokploy/lib/languages.ts +++ /dev/null @@ -1,29 +0,0 @@ -/** - * Sorted list based off of population of the country / speakers of the language. - */ -export const Languages = { - english: { code: "en", name: "English" }, - spanish: { code: "es", name: "Español" }, - chineseSimplified: { code: "zh-Hans", name: "简体中文" }, - chineseTraditional: { code: "zh-Hant", name: "繁體中文" }, - portuguese: { code: "pt-br", name: "Português" }, - russian: { code: "ru", name: "Русский" }, - japanese: { code: "ja", name: "日本語" }, - german: { code: "de", name: "Deutsch" }, - korean: { code: "ko", name: "한국어" }, - french: { code: "fr", name: "Français" }, - turkish: { code: "tr", name: "Türkçe" }, - italian: { code: "it", name: "Italiano" }, - polish: { code: "pl", name: "Polski" }, - ukrainian: { code: "uk", name: "Українська" }, - persian: { code: "fa", name: "فارسی" }, - dutch: { code: "nl", name: "Nederlands" }, - indonesian: { code: "id", name: "Bahasa Indonesia" }, - kazakh: { code: "kz", name: "Қазақ" }, - norwegian: { code: "no", name: "Norsk" }, - azerbaijani: { code: "az", name: "Azərbaycan" }, - malayalam: { code: "ml", name: "മലയാളം" }, -}; - -export type Language = keyof typeof Languages; -export type LanguageCode = (typeof Languages)[keyof typeof Languages]["code"]; diff --git a/apps/dokploy/next.config.mjs b/apps/dokploy/next.config.mjs index 48231114a..2f12eccee 100644 --- a/apps/dokploy/next.config.mjs +++ b/apps/dokploy/next.config.mjs @@ -10,15 +10,6 @@ const nextConfig = { ignoreBuildErrors: true, }, transpilePackages: ["@dokploy/server"], - /** - * If you are using `appDir` then you must comment the below `i18n` config out. - * - * @see https://github.com/vercel/next.js/issues/41980 - */ - i18n: { - locales: ["en"], - defaultLocale: "en", - }, async headers() { return [ { diff --git a/apps/dokploy/package.json b/apps/dokploy/package.json index 4566c71de..1dbd0a3bc 100644 --- a/apps/dokploy/package.json +++ b/apps/dokploy/package.json @@ -113,7 +113,6 @@ "drizzle-orm": "^0.41.0", "drizzle-zod": "0.5.1", "fancy-ansi": "^0.1.3", - "i18next": "^23.16.8", "input-otp": "^1.4.2", "js-cookie": "^3.0.5", "lodash": "4.17.21", @@ -121,7 +120,6 @@ "micromatch": "4.0.8", "nanoid": "3.3.11", "next": "^16.1.6", - "next-i18next": "^15.4.2", "next-themes": "^0.2.1", "nextjs-toploader": "^3.9.17", "node-os-utils": "2.0.1", @@ -139,7 +137,6 @@ "react-day-picker": "8.10.1", "react-dom": "18.2.0", "react-hook-form": "^7.56.4", - "react-i18next": "^15.5.2", "react-markdown": "^9.1.0", "recharts": "^2.15.3", "slugify": "^1.6.6", @@ -156,7 +153,7 @@ "ws": "8.16.0", "xterm-addon-fit": "^0.8.0", "yaml": "2.8.1", - "zod": "^3.25.32", + "zod": "^3.25.76", "zod-form-data": "^2.0.7", "semver": "7.7.3" }, diff --git a/apps/dokploy/pages/_app.tsx b/apps/dokploy/pages/_app.tsx index 78e9862d0..ad6f8d336 100644 --- a/apps/dokploy/pages/_app.tsx +++ b/apps/dokploy/pages/_app.tsx @@ -4,13 +4,11 @@ import type { NextPage } from "next"; import type { AppProps } from "next/app"; import { Inter } from "next/font/google"; import Head from "next/head"; -import { appWithTranslation } from "next-i18next"; import { ThemeProvider } from "next-themes"; import NextTopLoader from "nextjs-toploader"; import type { ReactElement, ReactNode } from "react"; import { SearchCommand } from "@/components/dashboard/search-command"; import { Toaster } from "@/components/ui/sonner"; -import { Languages } from "@/lib/languages"; import { api } from "@/utils/api"; const inter = Inter({ subsets: ["latin"] }); @@ -58,14 +56,4 @@ const MyApp = ({ ); }; -export default api.withTRPC( - appWithTranslation(MyApp, { - i18n: { - defaultLocale: "en", - locales: Object.values(Languages).map((language) => language.code), - localeDetection: false, - }, - fallbackLng: "en", - keySeparator: false, - }), -); +export default api.withTRPC(MyApp); diff --git a/apps/dokploy/pages/dashboard/settings/ai.tsx b/apps/dokploy/pages/dashboard/settings/ai.tsx index 925bc561a..0dc9b203e 100644 --- a/apps/dokploy/pages/dashboard/settings/ai.tsx +++ b/apps/dokploy/pages/dashboard/settings/ai.tsx @@ -6,7 +6,6 @@ import superjson from "superjson"; import { AiForm } from "@/components/dashboard/settings/ai-form"; import { DashboardLayout } from "@/components/layouts/dashboard-layout"; import { appRouter } from "@/server/api/root"; -import { getLocale, serverSideTranslations } from "@/utils/i18n"; const Page = () => { return ( @@ -26,7 +25,6 @@ export async function getServerSideProps( ) { const { req, res } = ctx; const { user, session } = await validateRequest(req); - const locale = getLocale(req.cookies); const helpers = createServerSideHelpers({ router: appRouter, @@ -55,7 +53,6 @@ export async function getServerSideProps( return { props: { trpcState: helpers.dehydrate(), - ...(await serverSideTranslations(locale, ["settings"])), }, }; } diff --git a/apps/dokploy/pages/dashboard/settings/license.tsx b/apps/dokploy/pages/dashboard/settings/license.tsx index 28e0d54ae..6a0f0f854 100644 --- a/apps/dokploy/pages/dashboard/settings/license.tsx +++ b/apps/dokploy/pages/dashboard/settings/license.tsx @@ -7,7 +7,6 @@ import { DashboardLayout } from "@/components/layouts/dashboard-layout"; import { LicenseKeySettings } from "@/components/proprietary/license-keys/license-key"; import { Card } from "@/components/ui/card"; import { appRouter } from "@/server/api/root"; -import { getLocale, serverSideTranslations } from "@/utils/i18n"; const Page = () => { return ( @@ -35,7 +34,6 @@ export async function getServerSideProps( ctx: GetServerSidePropsContext<{ serviceId: string }>, ) { const { req, res } = ctx; - const locale = await getLocale(req.cookies); const { user, session } = await validateRequest(ctx.req); if (!user) { return { @@ -70,7 +68,6 @@ export async function getServerSideProps( return { props: { trpcState: helpers.dehydrate(), - ...(await serverSideTranslations(locale, ["settings"])), }, }; } diff --git a/apps/dokploy/pages/dashboard/settings/profile.tsx b/apps/dokploy/pages/dashboard/settings/profile.tsx index 7e0ccdc83..22077fb41 100644 --- a/apps/dokploy/pages/dashboard/settings/profile.tsx +++ b/apps/dokploy/pages/dashboard/settings/profile.tsx @@ -9,7 +9,6 @@ import { ProfileForm } from "@/components/dashboard/settings/profile/profile-for import { DashboardLayout } from "@/components/layouts/dashboard-layout"; import { appRouter } from "@/server/api/root"; import { api } from "@/utils/api"; -import { getLocale, serverSideTranslations } from "@/utils/i18n"; const Page = () => { const { data } = api.user.get.useQuery(); @@ -37,7 +36,6 @@ export async function getServerSideProps( ctx: GetServerSidePropsContext<{ serviceId: string }>, ) { const { req, res } = ctx; - const locale = getLocale(req.cookies); const { user, session } = await validateRequest(req); const helpers = createServerSideHelpers({ @@ -67,7 +65,6 @@ export async function getServerSideProps( return { props: { trpcState: helpers.dehydrate(), - ...(await serverSideTranslations(locale, ["settings"])), }, }; } diff --git a/apps/dokploy/pages/dashboard/settings/server.tsx b/apps/dokploy/pages/dashboard/settings/server.tsx index dbe4917dd..eba6c8764 100644 --- a/apps/dokploy/pages/dashboard/settings/server.tsx +++ b/apps/dokploy/pages/dashboard/settings/server.tsx @@ -10,7 +10,6 @@ import { DashboardLayout } from "@/components/layouts/dashboard-layout"; import { Card } from "@/components/ui/card"; import { appRouter } from "@/server/api/root"; import { api } from "@/utils/api"; -import { getLocale, serverSideTranslations } from "@/utils/i18n"; const Page = () => { const { data: user } = api.user.get.useQuery(); @@ -42,7 +41,6 @@ export async function getServerSideProps( ctx: GetServerSidePropsContext<{ serviceId: string }>, ) { const { req, res } = ctx; - const locale = await getLocale(req.cookies); if (IS_CLOUD) { return { redirect: { @@ -85,7 +83,6 @@ export async function getServerSideProps( return { props: { trpcState: helpers.dehydrate(), - ...(await serverSideTranslations(locale, ["settings"])), }, }; } diff --git a/apps/dokploy/pages/dashboard/settings/servers.tsx b/apps/dokploy/pages/dashboard/settings/servers.tsx index 5562f460b..9912f1e82 100644 --- a/apps/dokploy/pages/dashboard/settings/servers.tsx +++ b/apps/dokploy/pages/dashboard/settings/servers.tsx @@ -6,7 +6,6 @@ import superjson from "superjson"; import { ShowServers } from "@/components/dashboard/settings/servers/show-servers"; import { DashboardLayout } from "@/components/layouts/dashboard-layout"; import { appRouter } from "@/server/api/root"; -import { getLocale, serverSideTranslations } from "@/utils/i18n"; const Page = () => { return ( @@ -25,7 +24,6 @@ export async function getServerSideProps( ctx: GetServerSidePropsContext<{ serviceId: string }>, ) { const { req, res } = ctx; - const locale = await getLocale(req.cookies); const { user, session } = await validateRequest(req); if (!user) { return { @@ -61,7 +59,6 @@ export async function getServerSideProps( return { props: { trpcState: helpers.dehydrate(), - ...(await serverSideTranslations(locale, ["settings"])), }, }; } diff --git a/apps/dokploy/pages/dashboard/settings/sso.tsx b/apps/dokploy/pages/dashboard/settings/sso.tsx index 164e2c3da..4203d7725 100644 --- a/apps/dokploy/pages/dashboard/settings/sso.tsx +++ b/apps/dokploy/pages/dashboard/settings/sso.tsx @@ -8,7 +8,6 @@ import { EnterpriseFeatureGate } from "@/components/proprietary/enterprise-featu import { SSOSettings } from "@/components/proprietary/sso/sso-settings"; import { Card } from "@/components/ui/card"; import { appRouter } from "@/server/api/root"; -import { getLocale, serverSideTranslations } from "@/utils/i18n"; const Page = () => { return ( @@ -43,7 +42,6 @@ Page.getLayout = (page: ReactElement) => { export async function getServerSideProps(ctx: GetServerSidePropsContext) { const { req, res } = ctx; - const locale = await getLocale(req.cookies); const { user, session } = await validateRequest(ctx.req); if (!user) { return { @@ -78,7 +76,6 @@ export async function getServerSideProps(ctx: GetServerSidePropsContext) { return { props: { trpcState: helpers.dehydrate(), - ...(await serverSideTranslations(locale, ["settings"])), }, }; } diff --git a/apps/dokploy/tsconfig.json b/apps/dokploy/tsconfig.json index 9f664e78a..de0d647d2 100644 --- a/apps/dokploy/tsconfig.json +++ b/apps/dokploy/tsconfig.json @@ -39,8 +39,7 @@ "**/*.js", ".next/types/**/*.ts", "env.js", - "next.config.mjs", - "next-i18next.config.mjs" + "next.config.mjs" ], "exclude": [ "node_modules", diff --git a/apps/dokploy/utils/hooks/use-locale.ts b/apps/dokploy/utils/hooks/use-locale.ts deleted file mode 100644 index 0d6ac9b55..000000000 --- a/apps/dokploy/utils/hooks/use-locale.ts +++ /dev/null @@ -1,16 +0,0 @@ -import Cookies from "js-cookie"; -import type { LanguageCode } from "@/lib/languages"; - -export default function useLocale() { - const currentLocale = (Cookies.get("DOKPLOY_LOCALE") ?? "en") as LanguageCode; - - const setLocale = (locale: LanguageCode) => { - Cookies.set("DOKPLOY_LOCALE", locale, { expires: 365 }); - window.location.reload(); - }; - - return { - locale: currentLocale, - setLocale, - }; -} diff --git a/apps/dokploy/utils/i18n.ts b/apps/dokploy/utils/i18n.ts deleted file mode 100644 index c56673d28..000000000 --- a/apps/dokploy/utils/i18n.ts +++ /dev/null @@ -1,23 +0,0 @@ -import type { NextApiRequestCookies } from "next/dist/server/api-utils"; - -export function getLocale(cookies: NextApiRequestCookies) { - const locale = cookies.DOKPLOY_LOCALE ?? "en"; - return locale; -} - -import { serverSideTranslations as originalServerSideTranslations } from "next-i18next/serverSideTranslations"; -import { Languages } from "@/lib/languages"; - -export const serverSideTranslations = ( - locale: string, - namespaces = ["common"], -) => - originalServerSideTranslations(locale, namespaces, { - fallbackLng: "en", - keySeparator: false, - i18n: { - defaultLocale: "en", - locales: Object.values(Languages).map((language) => language.code), - localeDetection: false, - }, - }); diff --git a/apps/schedules/package.json b/apps/schedules/package.json index 620b73f92..52e91470d 100644 --- a/apps/schedules/package.json +++ b/apps/schedules/package.json @@ -20,7 +20,7 @@ "pino-pretty": "11.2.2", "react": "18.2.0", "react-dom": "18.2.0", - "zod": "^3.25.32" + "zod": "^3.25.76" }, "devDependencies": { "@types/node": "^20.16.0", diff --git a/packages/server/package.json b/packages/server/package.json index bf7a43ab3..b45ee287f 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -81,7 +81,7 @@ "ssh2": "1.15.0", "toml": "3.0.0", "ws": "8.16.0", - "zod": "^3.25.32", + "zod": "^3.25.76", "semver": "7.7.3" }, "devDependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 788d6c5fa..6342503db 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -41,7 +41,7 @@ importers: version: 1.14.3(hono@4.11.7) '@hono/zod-validator': specifier: 0.3.0 - version: 0.3.0(hono@4.11.7)(zod@3.25.32) + version: 0.3.0(hono@4.11.7)(zod@3.25.76) dotenv: specifier: ^16.4.5 version: 16.4.5 @@ -67,8 +67,8 @@ importers: specifier: 4.7.0 version: 4.7.0 zod: - specifier: ^3.25.32 - version: 3.25.32 + specifier: ^3.25.76 + version: 3.25.76 devDependencies: '@types/node': specifier: ^20.16.0 @@ -90,25 +90,25 @@ importers: dependencies: '@ai-sdk/anthropic': specifier: ^2.0.5 - version: 2.0.5(zod@3.25.32) + version: 2.0.5(zod@3.25.76) '@ai-sdk/azure': specifier: ^2.0.16 - version: 2.0.16(zod@3.25.32) + version: 2.0.16(zod@3.25.76) '@ai-sdk/cohere': specifier: ^2.0.4 - version: 2.0.4(zod@3.25.32) + version: 2.0.4(zod@3.25.76) '@ai-sdk/deepinfra': specifier: ^1.0.10 - version: 1.0.10(zod@3.25.32) + version: 1.0.10(zod@3.25.76) '@ai-sdk/mistral': specifier: ^2.0.7 - version: 2.0.7(zod@3.25.32) + version: 2.0.7(zod@3.25.76) '@ai-sdk/openai': specifier: ^2.0.16 - version: 2.0.16(zod@3.25.32) + version: 2.0.16(zod@3.25.76) '@ai-sdk/openai-compatible': specifier: ^1.0.10 - version: 1.0.10(zod@3.25.32) + version: 1.0.10(zod@3.25.76) '@better-auth/sso': specifier: 1.4.18 version: 1.4.18(@better-auth/utils@0.3.0)(better-auth@1.4.18(@prisma/client@5.22.0(prisma@5.22.0))(better-sqlite3@12.6.2)(drizzle-kit@0.31.8)(drizzle-orm@0.41.0(@opentelemetry/api@1.9.0)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.16.0)(better-sqlite3@12.6.2)(gel@2.1.0)(kysely@0.28.7)(pg@8.17.2)(postgres@3.4.4)(prisma@5.22.0))(next@16.1.6(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(pg@8.17.2)(prisma@5.22.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(vitest@4.0.18(@opentelemetry/api@1.9.0)(@types/node@20.17.51)(jiti@2.6.1)(tsx@4.16.2)(yaml@2.8.1))) @@ -135,7 +135,7 @@ importers: version: link:../../packages/server '@dokploy/trpc-openapi': specifier: 0.0.4 - version: 0.0.4(@trpc/server@10.45.2)(@types/node@20.17.51)(zod@3.25.32) + version: 0.0.4(@trpc/server@10.45.2)(@types/node@20.17.51)(zod@3.25.76) '@faker-js/faker': specifier: ^8.4.1 version: 8.4.1 @@ -255,10 +255,10 @@ importers: version: 0.5.16 ai: specifier: ^5.0.17 - version: 5.0.17(zod@3.25.32) + version: 5.0.17(zod@3.25.76) ai-sdk-ollama: specifier: ^0.5.1 - version: 0.5.1(zod@3.25.32) + version: 0.5.1(zod@3.25.76) bcrypt: specifier: 5.1.1 version: 5.1.1 @@ -300,13 +300,10 @@ importers: version: 0.41.0(@opentelemetry/api@1.9.0)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.16.0)(better-sqlite3@12.6.2)(gel@2.1.0)(kysely@0.28.7)(pg@8.17.2)(postgres@3.4.4)(prisma@5.22.0) drizzle-zod: specifier: 0.5.1 - version: 0.5.1(drizzle-orm@0.41.0(@opentelemetry/api@1.9.0)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.16.0)(better-sqlite3@12.6.2)(gel@2.1.0)(kysely@0.28.7)(pg@8.17.2)(postgres@3.4.4)(prisma@5.22.0))(zod@3.25.32) + version: 0.5.1(drizzle-orm@0.41.0(@opentelemetry/api@1.9.0)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.16.0)(better-sqlite3@12.6.2)(gel@2.1.0)(kysely@0.28.7)(pg@8.17.2)(postgres@3.4.4)(prisma@5.22.0))(zod@3.25.76) fancy-ansi: specifier: ^0.1.3 version: 0.1.3 - i18next: - specifier: ^23.16.8 - version: 23.16.8 input-otp: specifier: ^1.4.2 version: 1.4.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -328,9 +325,6 @@ importers: next: specifier: ^16.1.6 version: 16.1.6(@babel/core@7.28.6)(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - next-i18next: - specifier: ^15.4.2 - version: 15.4.2(i18next@23.16.8)(next@16.1.6(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-i18next@15.5.2(i18next@23.16.8)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3))(react@18.2.0) next-themes: specifier: ^0.2.1 version: 0.2.1(next@16.1.6(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -382,9 +376,6 @@ importers: react-hook-form: specifier: ^7.56.4 version: 7.56.4(react@18.2.0) - react-i18next: - specifier: ^15.5.2 - version: 15.5.2(i18next@23.16.8)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) react-markdown: specifier: ^9.1.0 version: 9.1.0(@types/react@18.3.5)(react@18.2.0) @@ -443,11 +434,11 @@ importers: specifier: 2.8.1 version: 2.8.1 zod: - specifier: ^3.25.32 - version: 3.25.32 + specifier: ^3.25.76 + version: 3.25.76 zod-form-data: specifier: ^2.0.7 - version: 2.0.7(zod@3.25.32) + version: 2.0.7(zod@3.25.76) devDependencies: '@types/adm-zip': specifier: ^0.5.7 @@ -499,7 +490,7 @@ importers: version: 8.5.10 autoprefixer: specifier: 10.4.12 - version: 10.4.12(postcss@8.5.3) + version: 10.4.12(postcss@8.5.6) drizzle-kit: specifier: ^0.31.4 version: 0.31.8 @@ -538,7 +529,7 @@ importers: version: 1.14.3(hono@4.11.7) '@hono/zod-validator': specifier: 0.3.0 - version: 0.3.0(hono@4.11.7)(zod@3.25.32) + version: 0.3.0(hono@4.11.7)(zod@3.25.76) bullmq: specifier: 5.67.3 version: 5.67.3 @@ -567,8 +558,8 @@ importers: specifier: 18.2.0 version: 18.2.0(react@18.2.0) zod: - specifier: ^3.25.32 - version: 3.25.32 + specifier: ^3.25.76 + version: 3.25.76 devDependencies: '@types/node': specifier: ^20.16.0 @@ -590,25 +581,25 @@ importers: dependencies: '@ai-sdk/anthropic': specifier: ^2.0.5 - version: 2.0.5(zod@3.25.32) + version: 2.0.5(zod@3.25.76) '@ai-sdk/azure': specifier: ^2.0.16 - version: 2.0.16(zod@3.25.32) + version: 2.0.16(zod@3.25.76) '@ai-sdk/cohere': specifier: ^2.0.4 - version: 2.0.4(zod@3.25.32) + version: 2.0.4(zod@3.25.76) '@ai-sdk/deepinfra': specifier: ^1.0.10 - version: 1.0.10(zod@3.25.32) + version: 1.0.10(zod@3.25.76) '@ai-sdk/mistral': specifier: ^2.0.7 - version: 2.0.7(zod@3.25.32) + version: 2.0.7(zod@3.25.76) '@ai-sdk/openai': specifier: ^2.0.16 - version: 2.0.16(zod@3.25.32) + version: 2.0.16(zod@3.25.76) '@ai-sdk/openai-compatible': specifier: ^1.0.10 - version: 1.0.10(zod@3.25.32) + version: 1.0.10(zod@3.25.76) '@better-auth/sso': specifier: 1.4.18 version: 1.4.18(@better-auth/utils@0.3.0)(better-auth@1.4.18(@prisma/client@5.22.0(prisma@5.22.0))(better-sqlite3@12.6.2)(drizzle-kit@0.31.8)(drizzle-orm@0.41.0(@opentelemetry/api@1.9.0)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.16.0)(better-sqlite3@12.6.2)(gel@2.1.0)(kysely@0.28.7)(pg@8.17.2)(postgres@3.4.4)(prisma@5.22.0))(next@16.1.6(@babel/core@7.28.6)(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(pg@8.17.2)(prisma@5.22.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(vitest@4.0.18(@opentelemetry/api@1.9.0)(@types/node@20.17.51)(jiti@2.6.1)(tsx@4.16.2)(yaml@2.8.1))) @@ -641,10 +632,10 @@ importers: version: 0.5.16 ai: specifier: ^5.0.17 - version: 5.0.17(zod@3.25.32) + version: 5.0.17(zod@3.25.76) ai-sdk-ollama: specifier: ^0.5.1 - version: 0.5.1(zod@3.25.32) + version: 0.5.1(zod@3.25.76) bcrypt: specifier: 5.1.1 version: 5.1.1 @@ -674,7 +665,7 @@ importers: version: 0.41.0(@opentelemetry/api@1.9.0)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.16.0)(better-sqlite3@12.6.2)(gel@2.1.0)(kysely@0.28.7)(pg@8.17.2)(postgres@3.4.4)(prisma@5.22.0) drizzle-zod: specifier: 0.5.1 - version: 0.5.1(drizzle-orm@0.41.0(@opentelemetry/api@1.9.0)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.16.0)(better-sqlite3@12.6.2)(gel@2.1.0)(kysely@0.28.7)(pg@8.17.2)(postgres@3.4.4)(prisma@5.22.0))(zod@3.25.32) + version: 0.5.1(drizzle-orm@0.41.0(@opentelemetry/api@1.9.0)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.16.0)(better-sqlite3@12.6.2)(gel@2.1.0)(kysely@0.28.7)(pg@8.17.2)(postgres@3.4.4)(prisma@5.22.0))(zod@3.25.76) lodash: specifier: 4.17.21 version: 4.17.21 @@ -745,12 +736,12 @@ importers: specifier: 2.8.1 version: 2.8.1 zod: - specifier: ^3.25.32 - version: 3.25.32 + specifier: ^3.25.76 + version: 3.25.76 devDependencies: '@better-auth/cli': specifier: 1.4.18 - version: 1.4.18(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-call@1.1.8(zod@3.25.32))(drizzle-kit@0.31.8)(gel@2.1.0)(jose@6.1.3)(kysely@0.28.7)(nanostores@1.1.0)(next@16.1.6(@babel/core@7.28.6)(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(postgres@3.4.4)(prisma@5.22.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(vitest@4.0.18(@opentelemetry/api@1.9.0)(@types/node@20.17.51)(jiti@2.6.1)(tsx@4.16.2)(yaml@2.8.1)) + version: 1.4.18(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-call@1.1.8(zod@3.25.76))(drizzle-kit@0.31.8)(gel@2.1.0)(jose@6.1.3)(kysely@0.28.7)(nanostores@1.1.0)(next@16.1.6(@babel/core@7.28.6)(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(postgres@3.4.4)(prisma@5.22.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(vitest@4.0.18(@opentelemetry/api@1.9.0)(@types/node@20.17.51)(jiti@2.6.1)(tsx@4.16.2)(yaml@2.8.1)) '@types/adm-zip': specifier: ^0.5.7 version: 0.5.7 @@ -4311,9 +4302,6 @@ packages: '@types/hast@3.0.4': resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} - '@types/hoist-non-react-statics@3.3.6': - resolution: {integrity: sha512-lPByRJUer/iN/xa4qpyL0qmL11DqNW81iU/IG1S3uvRUq4oKagz8VCxZjiWkumgt66YT3vOdDgZ0o32sGKtCEw==} - '@types/http-cache-semantics@4.0.4': resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==} @@ -5072,9 +5060,6 @@ packages: core-js-pure@3.42.0: resolution: {integrity: sha512-007bM04u91fF4kMgwom2I5cQxAFIy8jVulgr9eozILl/SZE53QOqnW/+vviC+wQWLv+AunBG+8Q0TLoeSsSxRQ==} - core-js@3.42.0: - resolution: {integrity: sha512-Sz4PP4ZA+Rq4II21qkNqOEDTDrCvcANId3xpIgB34NDkWc3UduWj2dqEtN9yZIq8Dk3HyPI33x9sqqU5C8sr0g==} - cpu-features@0.0.10: resolution: {integrity: sha512-9IkYqtX3YHPCzoVg1Py+o9057a3i0fp7S530UWokCSaFVTc7CwXPRiOjRjBQQ18ZCNafx78YfnG+HALxtVmOGA==} engines: {node: '>=10.0.0'} @@ -5843,9 +5828,6 @@ packages: resolution: {integrity: sha512-l7qMiNee7t82bH3SeyUCt9UF15EVmaBvsppY2zQtrbIhl/yzBTny+YUxsVjSjQ6gaqaeVtZmGocom8TzBlA4Yw==} engines: {node: '>=16.9.0'} - html-parse-stringify@3.0.1: - resolution: {integrity: sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==} - html-to-text@9.0.5: resolution: {integrity: sha512-qY60FjREgVZL03vJU6IfMV4GDjGBIoOyvuFdpBDIX9yTlDw0TjxVBQp+P8NvpdIXNJvfWBTNul7fsAQJq2FNpg==} engines: {node: '>=14'} @@ -5886,12 +5868,6 @@ packages: hyphenate-style-name@1.1.0: resolution: {integrity: sha512-WDC/ui2VVRrz3jOVi+XtjqkDjiVjTtFaAGiW37k6b+ohyQ5wYDOGkvCZa8+H0nx3gyvv0+BST9xuOgIyGQ00gw==} - i18next-fs-backend@2.6.0: - resolution: {integrity: sha512-3ZlhNoF9yxnM8pa8bWp5120/Ob6t4lVl1l/tbLmkml/ei3ud8IWySCHt2lrY5xWRlSU5D9IV2sm5bEbGuTqwTw==} - - i18next@23.16.8: - resolution: {integrity: sha512-06r/TitrM88Mg5FdUXAKL96dJMzgqLE5dv3ryBAra4KCwD9mJ4ndOTS95ZuymIGoE+2hzfdaMak2X11/es7ZWg==} - iconv-lite@0.4.24: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} engines: {node: '>=0.10.0'} @@ -6601,15 +6577,6 @@ packages: resolution: {integrity: sha512-Z4SmBUweYa09+o6pG+eASabEpP6QkQ70yHj351pQoEXIs8uHbaU2DWVmzBANKgflPa47A50PtB2+NgRpQvr7vA==} engines: {node: '>= 10'} - next-i18next@15.4.2: - resolution: {integrity: sha512-zgRxWf7kdXtM686ecGIBQL+Bq0+DqAhRlasRZ3vVF0TmrNTWkVhs52n//oU3Fj5O7r/xOKkECDUwfOuXVwTK/g==} - engines: {node: '>=14'} - peerDependencies: - i18next: '>= 23.7.13' - next: '>= 12.0.0' - react: '>= 17.0.2' - react-i18next: '>= 13.5.0' - next-themes@0.2.1: resolution: {integrity: sha512-B+AKNfYNIzh0vqQQKqQItTS8evEouKD7H5Hj3kmuPERwddR2TxvDSFZuTj6T7Jfn1oyeUyJMydPl1Bkxkh0W7A==} peerDependencies: @@ -7215,22 +7182,6 @@ packages: peerDependencies: react: ^16.8.0 || ^17 || ^18 || ^19 - react-i18next@15.5.2: - resolution: {integrity: sha512-ePODyXgmZQAOYTbZXQn5rRsSBu3Gszo69jxW6aKmlSgxKAI1fOhDwSu6bT4EKHciWPKQ7v7lPrjeiadR6Gi+1A==} - peerDependencies: - i18next: '>= 23.2.3' - react: '>= 16.8.0' - react-dom: '*' - react-native: '*' - typescript: ^5 - peerDependenciesMeta: - react-dom: - optional: true - react-native: - optional: true - typescript: - optional: true - react-immutable-proptypes@2.2.0: resolution: {integrity: sha512-Vf4gBsePlwdGvSZoLSBfd4HAP93HDauMY4fDjXhreg/vg6F3Fj/MXDNyTbltPC/xZKmZc+cjLu3598DdYK6sgQ==} peerDependencies: @@ -8170,10 +8121,6 @@ packages: jsdom: optional: true - void-elements@3.1.0: - resolution: {integrity: sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==} - engines: {node: '>=0.10.0'} - w3c-keyname@2.2.8: resolution: {integrity: sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==} @@ -8355,8 +8302,8 @@ packages: zod@3.22.5: resolution: {integrity: sha512-HqnGsCdVZ2xc0qWPLdO25WnseXThh0kEYKIdV5F/hTHO75hNZFp8thxSeHhiPrHZKrFTo1SOgkAj9po5bexZlw==} - zod@3.25.32: - resolution: {integrity: sha512-OSm2xTIRfW8CV5/QKgngwmQW/8aPfGdaQFlrGoErlgg/Epm7cjb6K6VEyExfe65a3VybUOnu381edLb0dfJl0g==} + zod@3.25.76: + resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} zod@4.3.6: resolution: {integrity: sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==} @@ -8366,63 +8313,63 @@ packages: snapshots: - '@ai-sdk/anthropic@2.0.5(zod@3.25.32)': + '@ai-sdk/anthropic@2.0.5(zod@3.25.76)': dependencies: '@ai-sdk/provider': 2.0.0 - '@ai-sdk/provider-utils': 3.0.4(zod@3.25.32) - zod: 3.25.32 + '@ai-sdk/provider-utils': 3.0.4(zod@3.25.76) + zod: 3.25.76 - '@ai-sdk/azure@2.0.16(zod@3.25.32)': + '@ai-sdk/azure@2.0.16(zod@3.25.76)': dependencies: - '@ai-sdk/openai': 2.0.16(zod@3.25.32) + '@ai-sdk/openai': 2.0.16(zod@3.25.76) '@ai-sdk/provider': 2.0.0 - '@ai-sdk/provider-utils': 3.0.4(zod@3.25.32) - zod: 3.25.32 + '@ai-sdk/provider-utils': 3.0.4(zod@3.25.76) + zod: 3.25.76 - '@ai-sdk/cohere@2.0.4(zod@3.25.32)': + '@ai-sdk/cohere@2.0.4(zod@3.25.76)': dependencies: '@ai-sdk/provider': 2.0.0 - '@ai-sdk/provider-utils': 3.0.4(zod@3.25.32) - zod: 3.25.32 + '@ai-sdk/provider-utils': 3.0.4(zod@3.25.76) + zod: 3.25.76 - '@ai-sdk/deepinfra@1.0.10(zod@3.25.32)': + '@ai-sdk/deepinfra@1.0.10(zod@3.25.76)': dependencies: - '@ai-sdk/openai-compatible': 1.0.10(zod@3.25.32) + '@ai-sdk/openai-compatible': 1.0.10(zod@3.25.76) '@ai-sdk/provider': 2.0.0 - '@ai-sdk/provider-utils': 3.0.4(zod@3.25.32) - zod: 3.25.32 + '@ai-sdk/provider-utils': 3.0.4(zod@3.25.76) + zod: 3.25.76 - '@ai-sdk/gateway@1.0.8(zod@3.25.32)': + '@ai-sdk/gateway@1.0.8(zod@3.25.76)': dependencies: '@ai-sdk/provider': 2.0.0 - '@ai-sdk/provider-utils': 3.0.4(zod@3.25.32) - zod: 3.25.32 + '@ai-sdk/provider-utils': 3.0.4(zod@3.25.76) + zod: 3.25.76 - '@ai-sdk/mistral@2.0.7(zod@3.25.32)': + '@ai-sdk/mistral@2.0.7(zod@3.25.76)': dependencies: '@ai-sdk/provider': 2.0.0 - '@ai-sdk/provider-utils': 3.0.4(zod@3.25.32) - zod: 3.25.32 + '@ai-sdk/provider-utils': 3.0.4(zod@3.25.76) + zod: 3.25.76 - '@ai-sdk/openai-compatible@1.0.10(zod@3.25.32)': + '@ai-sdk/openai-compatible@1.0.10(zod@3.25.76)': dependencies: '@ai-sdk/provider': 2.0.0 - '@ai-sdk/provider-utils': 3.0.4(zod@3.25.32) - zod: 3.25.32 + '@ai-sdk/provider-utils': 3.0.4(zod@3.25.76) + zod: 3.25.76 - '@ai-sdk/openai@2.0.16(zod@3.25.32)': + '@ai-sdk/openai@2.0.16(zod@3.25.76)': dependencies: '@ai-sdk/provider': 2.0.0 - '@ai-sdk/provider-utils': 3.0.4(zod@3.25.32) - zod: 3.25.32 + '@ai-sdk/provider-utils': 3.0.4(zod@3.25.76) + zod: 3.25.76 - '@ai-sdk/provider-utils@3.0.4(zod@3.25.32)': + '@ai-sdk/provider-utils@3.0.4(zod@3.25.76)': dependencies: '@ai-sdk/provider': 2.0.0 '@standard-schema/spec': 1.0.0 eventsource-parser: 3.0.5 - zod: 3.25.32 - zod-to-json-schema: 3.24.5(zod@3.25.32) + zod: 3.25.76 + zod-to-json-schema: 3.24.5(zod@3.25.76) '@ai-sdk/provider@2.0.0': dependencies: @@ -8671,13 +8618,13 @@ snapshots: '@balena/dockerignore@1.0.2': {} - '@better-auth/cli@1.4.18(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-call@1.1.8(zod@3.25.32))(drizzle-kit@0.31.8)(gel@2.1.0)(jose@6.1.3)(kysely@0.28.7)(nanostores@1.1.0)(next@16.1.6(@babel/core@7.28.6)(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(postgres@3.4.4)(prisma@5.22.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(vitest@4.0.18(@opentelemetry/api@1.9.0)(@types/node@20.17.51)(jiti@2.6.1)(tsx@4.16.2)(yaml@2.8.1))': + '@better-auth/cli@1.4.18(@better-fetch/fetch@1.1.21)(@opentelemetry/api@1.9.0)(@types/better-sqlite3@7.6.13)(better-call@1.1.8(zod@3.25.76))(drizzle-kit@0.31.8)(gel@2.1.0)(jose@6.1.3)(kysely@0.28.7)(nanostores@1.1.0)(next@16.1.6(@babel/core@7.28.6)(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(postgres@3.4.4)(prisma@5.22.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(vitest@4.0.18(@opentelemetry/api@1.9.0)(@types/node@20.17.51)(jiti@2.6.1)(tsx@4.16.2)(yaml@2.8.1))': dependencies: '@babel/core': 7.28.6 '@babel/preset-react': 7.28.5(@babel/core@7.28.6) '@babel/preset-typescript': 7.28.5(@babel/core@7.28.6) - '@better-auth/core': 1.4.18(@better-auth/utils@0.3.0)(@better-fetch/fetch@1.1.21)(better-call@1.1.8(zod@3.25.32))(jose@6.1.3)(kysely@0.28.7)(nanostores@1.1.0) - '@better-auth/telemetry': 1.4.18(@better-auth/core@1.4.18(@better-auth/utils@0.3.0)(@better-fetch/fetch@1.1.21)(better-call@1.1.8(zod@3.25.32))(jose@6.1.3)(kysely@0.28.7)(nanostores@1.1.0)) + '@better-auth/core': 1.4.18(@better-auth/utils@0.3.0)(@better-fetch/fetch@1.1.21)(better-call@1.1.8(zod@4.3.6))(jose@6.1.3)(kysely@0.28.7)(nanostores@1.1.0) + '@better-auth/telemetry': 1.4.18(@better-auth/core@1.4.18(@better-auth/utils@0.3.0)(@better-fetch/fetch@1.1.21)(better-call@1.1.8(zod@4.3.6))(jose@6.1.3)(kysely@0.28.7)(nanostores@1.1.0)) '@better-auth/utils': 0.3.0 '@clack/prompts': 0.11.0 '@mrleebo/prisma-ast': 0.13.1 @@ -8743,12 +8690,12 @@ snapshots: - vitest - vue - '@better-auth/core@1.4.18(@better-auth/utils@0.3.0)(@better-fetch/fetch@1.1.21)(better-call@1.1.8(zod@3.25.32))(jose@6.1.3)(kysely@0.28.7)(nanostores@1.1.0)': + '@better-auth/core@1.4.18(@better-auth/utils@0.3.0)(@better-fetch/fetch@1.1.21)(better-call@1.1.8(zod@4.3.6))(jose@6.1.3)(kysely@0.28.7)(nanostores@1.1.0)': dependencies: '@better-auth/utils': 0.3.0 '@better-fetch/fetch': 1.1.21 '@standard-schema/spec': 1.0.0 - better-call: 1.1.8(zod@3.25.32) + better-call: 1.1.8(zod@3.25.76) jose: 6.1.3 kysely: 0.28.7 nanostores: 1.1.0 @@ -8774,9 +8721,9 @@ snapshots: samlify: 2.10.2 zod: 4.3.6 - '@better-auth/telemetry@1.4.18(@better-auth/core@1.4.18(@better-auth/utils@0.3.0)(@better-fetch/fetch@1.1.21)(better-call@1.1.8(zod@3.25.32))(jose@6.1.3)(kysely@0.28.7)(nanostores@1.1.0))': + '@better-auth/telemetry@1.4.18(@better-auth/core@1.4.18(@better-auth/utils@0.3.0)(@better-fetch/fetch@1.1.21)(better-call@1.1.8(zod@4.3.6))(jose@6.1.3)(kysely@0.28.7)(nanostores@1.1.0))': dependencies: - '@better-auth/core': 1.4.18(@better-auth/utils@0.3.0)(@better-fetch/fetch@1.1.21)(better-call@1.1.8(zod@3.25.32))(jose@6.1.3)(kysely@0.28.7)(nanostores@1.1.0) + '@better-auth/core': 1.4.18(@better-auth/utils@0.3.0)(@better-fetch/fetch@1.1.21)(better-call@1.1.8(zod@4.3.6))(jose@6.1.3)(kysely@0.28.7)(nanostores@1.1.0) '@better-auth/utils': 0.3.0 '@better-fetch/fetch': 1.1.21 @@ -8924,7 +8871,7 @@ snapshots: style-mod: 4.1.2 w3c-keyname: 2.2.8 - '@dokploy/trpc-openapi@0.0.4(@trpc/server@10.45.2)(@types/node@20.17.51)(zod@3.25.32)': + '@dokploy/trpc-openapi@0.0.4(@trpc/server@10.45.2)(@types/node@20.17.51)(zod@3.25.76)': dependencies: '@trpc/server': 10.45.2 co-body: 6.2.0 @@ -8932,8 +8879,8 @@ snapshots: lodash.clonedeep: 4.5.0 node-mocks-http: 1.17.2(@types/node@20.17.51) openapi-types: 12.1.3 - zod: 3.25.32 - zod-to-json-schema: 3.24.5(zod@3.25.32) + zod: 3.25.76 + zod-to-json-schema: 3.24.5(zod@3.25.76) transitivePeerDependencies: - '@types/express' - '@types/node' @@ -9358,10 +9305,10 @@ snapshots: dependencies: hono: 4.11.7 - '@hono/zod-validator@0.3.0(hono@4.11.7)(zod@3.25.32)': + '@hono/zod-validator@0.3.0(hono@4.11.7)(zod@3.25.76)': dependencies: hono: 4.11.7 - zod: 3.25.32 + zod: 3.25.76 '@hookform/resolvers@3.10.0(react-hook-form@7.56.4(react@18.2.0))': dependencies: @@ -12116,11 +12063,6 @@ snapshots: dependencies: '@types/unist': 3.0.3 - '@types/hoist-non-react-statics@3.3.6': - dependencies: - '@types/react': 18.3.5 - hoist-non-react-statics: 3.3.2 - '@types/http-cache-semantics@4.0.4': {} '@types/js-cookie@3.0.6': {} @@ -12378,22 +12320,22 @@ snapshots: clean-stack: 4.2.0 indent-string: 5.0.0 - ai-sdk-ollama@0.5.1(zod@3.25.32): + ai-sdk-ollama@0.5.1(zod@3.25.76): dependencies: '@ai-sdk/provider': 2.0.0 - '@ai-sdk/provider-utils': 3.0.4(zod@3.25.32) - ai: 5.0.17(zod@3.25.32) + '@ai-sdk/provider-utils': 3.0.4(zod@3.25.76) + ai: 5.0.17(zod@3.25.76) ollama: 0.5.17 transitivePeerDependencies: - zod - ai@5.0.17(zod@3.25.32): + ai@5.0.17(zod@3.25.76): dependencies: - '@ai-sdk/gateway': 1.0.8(zod@3.25.32) + '@ai-sdk/gateway': 1.0.8(zod@3.25.76) '@ai-sdk/provider': 2.0.0 - '@ai-sdk/provider-utils': 3.0.4(zod@3.25.32) + '@ai-sdk/provider-utils': 3.0.4(zod@3.25.76) '@opentelemetry/api': 1.9.0 - zod: 3.25.32 + zod: 3.25.76 ansi-align@3.0.1: dependencies: @@ -12459,14 +12401,14 @@ snapshots: dependencies: tslib: 2.8.1 - autoprefixer@10.4.12(postcss@8.5.3): + autoprefixer@10.4.12(postcss@8.5.6): dependencies: browserslist: 4.24.5 caniuse-lite: 1.0.30001718 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.1.1 - postcss: 8.5.3 + postcss: 8.5.6 postcss-value-parser: 4.2.0 available-typed-arrays@1.0.7: @@ -12505,8 +12447,34 @@ snapshots: better-auth@1.4.18(@prisma/client@5.22.0(prisma@5.22.0))(better-sqlite3@12.6.2)(drizzle-kit@0.31.8)(drizzle-orm@0.41.0(@opentelemetry/api@1.9.0)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.16.0)(better-sqlite3@12.6.2)(gel@2.1.0)(kysely@0.28.7)(pg@8.17.2)(postgres@3.4.4)(prisma@5.22.0))(next@16.1.6(@babel/core@7.28.6)(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(pg@8.17.2)(prisma@5.22.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(vitest@4.0.18(@opentelemetry/api@1.9.0)(@types/node@20.17.51)(jiti@2.6.1)(tsx@4.16.2)(yaml@2.8.1)): dependencies: - '@better-auth/core': 1.4.18(@better-auth/utils@0.3.0)(@better-fetch/fetch@1.1.21)(better-call@1.1.8(zod@3.25.32))(jose@6.1.3)(kysely@0.28.7)(nanostores@1.1.0) - '@better-auth/telemetry': 1.4.18(@better-auth/core@1.4.18(@better-auth/utils@0.3.0)(@better-fetch/fetch@1.1.21)(better-call@1.1.8(zod@3.25.32))(jose@6.1.3)(kysely@0.28.7)(nanostores@1.1.0)) + '@better-auth/core': 1.4.18(@better-auth/utils@0.3.0)(@better-fetch/fetch@1.1.21)(better-call@1.1.8(zod@4.3.6))(jose@6.1.3)(kysely@0.28.7)(nanostores@1.1.0) + '@better-auth/telemetry': 1.4.18(@better-auth/core@1.4.18(@better-auth/utils@0.3.0)(@better-fetch/fetch@1.1.21)(better-call@1.1.8(zod@4.3.6))(jose@6.1.3)(kysely@0.28.7)(nanostores@1.1.0)) + '@better-auth/utils': 0.3.0 + '@better-fetch/fetch': 1.1.21 + '@noble/ciphers': 2.1.1 + '@noble/hashes': 2.0.1 + better-call: 1.1.8(zod@3.25.76) + defu: 6.1.4 + jose: 6.1.3 + kysely: 0.28.7 + nanostores: 1.1.0 + zod: 4.3.6 + optionalDependencies: + '@prisma/client': 5.22.0(prisma@5.22.0) + better-sqlite3: 12.6.2 + drizzle-kit: 0.31.8 + drizzle-orm: 0.41.0(@opentelemetry/api@1.9.0)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.16.0)(better-sqlite3@12.6.2)(gel@2.1.0)(kysely@0.28.7)(pg@8.17.2)(postgres@3.4.4)(prisma@5.22.0) + next: 16.1.6(@babel/core@7.28.6)(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + pg: 8.17.2 + prisma: 5.22.0 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + vitest: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@20.17.51)(jiti@2.6.1)(tsx@4.16.2)(yaml@2.8.1) + + better-auth@1.4.18(@prisma/client@5.22.0(prisma@5.22.0))(better-sqlite3@12.6.2)(drizzle-kit@0.31.8)(drizzle-orm@0.41.0(@opentelemetry/api@1.9.0)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.16.0)(better-sqlite3@12.6.2)(gel@2.1.0)(kysely@0.28.7)(pg@8.17.2)(postgres@3.4.4)(prisma@5.22.0))(next@16.1.6(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(pg@8.17.2)(prisma@5.22.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(vitest@4.0.18(@opentelemetry/api@1.9.0)(@types/node@20.17.51)(jiti@2.6.1)(tsx@4.16.2)(yaml@2.8.1)): + dependencies: + '@better-auth/core': 1.4.18(@better-auth/utils@0.3.0)(@better-fetch/fetch@1.1.21)(better-call@1.1.8(zod@4.3.6))(jose@6.1.3)(kysely@0.28.7)(nanostores@1.1.0) + '@better-auth/telemetry': 1.4.18(@better-auth/core@1.4.18(@better-auth/utils@0.3.0)(@better-fetch/fetch@1.1.21)(better-call@1.1.8(zod@4.3.6))(jose@6.1.3)(kysely@0.28.7)(nanostores@1.1.0)) '@better-auth/utils': 0.3.0 '@better-fetch/fetch': 1.1.21 '@noble/ciphers': 2.1.1 @@ -12529,40 +12497,14 @@ snapshots: react-dom: 18.2.0(react@18.2.0) vitest: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@20.17.51)(jiti@2.6.1)(tsx@4.16.2)(yaml@2.8.1) - better-auth@1.4.18(@prisma/client@5.22.0(prisma@5.22.0))(better-sqlite3@12.6.2)(drizzle-kit@0.31.8)(drizzle-orm@0.41.0(@opentelemetry/api@1.9.0)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.16.0)(better-sqlite3@12.6.2)(gel@2.1.0)(kysely@0.28.7)(pg@8.17.2)(postgres@3.4.4)(prisma@5.22.0))(next@16.1.6(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(pg@8.17.2)(prisma@5.22.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(vitest@4.0.18(@opentelemetry/api@1.9.0)(@types/node@20.17.51)(jiti@2.6.1)(tsx@4.16.2)(yaml@2.8.1)): - dependencies: - '@better-auth/core': 1.4.18(@better-auth/utils@0.3.0)(@better-fetch/fetch@1.1.21)(better-call@1.1.8(zod@3.25.32))(jose@6.1.3)(kysely@0.28.7)(nanostores@1.1.0) - '@better-auth/telemetry': 1.4.18(@better-auth/core@1.4.18(@better-auth/utils@0.3.0)(@better-fetch/fetch@1.1.21)(better-call@1.1.8(zod@3.25.32))(jose@6.1.3)(kysely@0.28.7)(nanostores@1.1.0)) - '@better-auth/utils': 0.3.0 - '@better-fetch/fetch': 1.1.21 - '@noble/ciphers': 2.1.1 - '@noble/hashes': 2.0.1 - better-call: 1.1.8(zod@3.25.32) - defu: 6.1.4 - jose: 6.1.3 - kysely: 0.28.7 - nanostores: 1.1.0 - zod: 4.3.6 - optionalDependencies: - '@prisma/client': 5.22.0(prisma@5.22.0) - better-sqlite3: 12.6.2 - drizzle-kit: 0.31.8 - drizzle-orm: 0.41.0(@opentelemetry/api@1.9.0)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.16.0)(better-sqlite3@12.6.2)(gel@2.1.0)(kysely@0.28.7)(pg@8.17.2)(postgres@3.4.4)(prisma@5.22.0) - next: 16.1.6(@babel/core@7.28.6)(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - pg: 8.17.2 - prisma: 5.22.0 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - vitest: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@20.17.51)(jiti@2.6.1)(tsx@4.16.2)(yaml@2.8.1) - - better-call@1.1.8(zod@3.25.32): + better-call@1.1.8(zod@3.25.76): dependencies: '@better-auth/utils': 0.3.0 '@better-fetch/fetch': 1.1.21 rou3: 0.7.12 set-cookie-parser: 2.7.1 optionalDependencies: - zod: 3.25.32 + zod: 3.25.76 better-call@1.1.8(zod@4.3.6): dependencies: @@ -12915,8 +12857,6 @@ snapshots: core-js-pure@3.42.0: {} - core-js@3.42.0: {} - cpu-features@0.0.10: dependencies: buildcheck: 0.0.6 @@ -13163,10 +13103,10 @@ snapshots: postgres: 3.4.4 prisma: 5.22.0 - drizzle-zod@0.5.1(drizzle-orm@0.41.0(@opentelemetry/api@1.9.0)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.16.0)(better-sqlite3@12.6.2)(gel@2.1.0)(kysely@0.28.7)(pg@8.17.2)(postgres@3.4.4)(prisma@5.22.0))(zod@3.25.32): + drizzle-zod@0.5.1(drizzle-orm@0.41.0(@opentelemetry/api@1.9.0)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.16.0)(better-sqlite3@12.6.2)(gel@2.1.0)(kysely@0.28.7)(pg@8.17.2)(postgres@3.4.4)(prisma@5.22.0))(zod@3.25.76): dependencies: drizzle-orm: 0.41.0(@opentelemetry/api@1.9.0)(@prisma/client@5.22.0(prisma@5.22.0))(@types/better-sqlite3@7.6.13)(@types/pg@8.16.0)(better-sqlite3@12.6.2)(gel@2.1.0)(kysely@0.28.7)(pg@8.17.2)(postgres@3.4.4)(prisma@5.22.0) - zod: 3.25.32 + zod: 3.25.76 dunder-proto@1.0.1: dependencies: @@ -13731,10 +13671,6 @@ snapshots: hono@4.11.7: {} - html-parse-stringify@3.0.1: - dependencies: - void-elements: 3.1.0 - html-to-text@9.0.5: dependencies: '@selderee/plugin-htmlparser2': 0.11.0 @@ -13787,12 +13723,6 @@ snapshots: hyphenate-style-name@1.1.0: {} - i18next-fs-backend@2.6.0: {} - - i18next@23.16.8: - dependencies: - '@babel/runtime': 7.27.3 - iconv-lite@0.4.24: dependencies: safer-buffer: 2.1.2 @@ -14619,18 +14549,6 @@ snapshots: neotraverse@0.6.18: {} - next-i18next@15.4.2(i18next@23.16.8)(next@16.1.6(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-i18next@15.5.2(i18next@23.16.8)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3))(react@18.2.0): - dependencies: - '@babel/runtime': 7.27.3 - '@types/hoist-non-react-statics': 3.3.6 - core-js: 3.42.0 - hoist-non-react-statics: 3.3.2 - i18next: 23.16.8 - i18next-fs-backend: 2.6.0 - next: 16.1.6(@babel/core@7.28.6)(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - react: 18.2.0 - react-i18next: 15.5.2(i18next@23.16.8)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3) - next-themes@0.2.1(next@16.1.6(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0): dependencies: next: 16.1.6(@babel/core@7.28.6)(@opentelemetry/api@1.9.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -15240,16 +15158,6 @@ snapshots: dependencies: react: 18.2.0 - react-i18next@15.5.2(i18next@23.16.8)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.8.3): - dependencies: - '@babel/runtime': 7.27.3 - html-parse-stringify: 3.0.1 - i18next: 23.16.8 - react: 18.2.0 - optionalDependencies: - react-dom: 18.2.0(react@18.2.0) - typescript: 5.8.3 - react-immutable-proptypes@2.2.0(immutable@3.8.2): dependencies: immutable: 3.8.2 @@ -16338,8 +16246,6 @@ snapshots: - tsx - yaml - void-elements@3.1.0: {} - w3c-keyname@2.2.8: {} web-streams-polyfill@3.3.3: {} @@ -16499,18 +16405,18 @@ snapshots: zenscroll@4.0.2: {} - zod-form-data@2.0.7(zod@3.25.32): + zod-form-data@2.0.7(zod@3.25.76): dependencies: '@rvf/set-get': 7.0.1 - zod: 3.25.32 + zod: 3.25.76 - zod-to-json-schema@3.24.5(zod@3.25.32): + zod-to-json-schema@3.24.5(zod@3.25.76): dependencies: - zod: 3.25.32 + zod: 3.25.76 zod@3.22.5: {} - zod@3.25.32: {} + zod@3.25.76: {} zod@4.3.6: {}