Split guest user feature

This commit is contained in:
Luke Vella 2024-11-02 18:51:34 +00:00
parent bd8029774e
commit 401e132f11
No known key found for this signature in database
GPG key ID: 469CAD687F0D784C
42 changed files with 246 additions and 510 deletions

View file

@ -3,7 +3,7 @@ import type { TimeFormat } from "@rallly/database";
import { extend } from "lodash"; import { extend } from "lodash";
import type { DefaultSession, DefaultUser } from "next-auth"; import type { DefaultSession, DefaultUser } from "next-auth";
import NextAuth from "next-auth"; import NextAuth from "next-auth";
import type { DefaultJWT} from "next-auth/jwt"; import type { DefaultJWT } from "next-auth/jwt";
import { JWT } from "next-auth/jwt"; import { JWT } from "next-auth/jwt";
declare module "next-auth" { declare module "next-auth" {
@ -11,7 +11,7 @@ declare module "next-auth" {
* Returned by `useSession`, `getSession` and received as a prop on the `SessionProvider` React Context * Returned by `useSession`, `getSession` and received as a prop on the `SessionProvider` React Context
*/ */
interface Session { interface Session {
user: { user?: {
id: string; id: string;
timeZone?: string | null; timeZone?: string | null;
timeFormat?: TimeFormat | null; timeFormat?: TimeFormat | null;

View file

@ -23,6 +23,7 @@ const nextConfig = {
"@rallly/ui", "@rallly/ui",
"@rallly/tailwind-config", "@rallly/tailwind-config",
"@rallly/posthog", "@rallly/posthog",
"@rallly/guest-user",
"@rallly/emails", "@rallly/emails",
], ],
webpack(config) { webpack(config) {

View file

@ -34,7 +34,7 @@
"@rallly/posthog": "*", "@rallly/posthog": "*",
"@rallly/tailwind-config": "*", "@rallly/tailwind-config": "*",
"@rallly/ui": "*", "@rallly/ui": "*",
"@sentry/nextjs": "*", "@sentry/nextjs": "^8.32.0",
"@svgr/webpack": "^6.5.1", "@svgr/webpack": "^6.5.1",
"@t3-oss/env-nextjs": "^0.11.0", "@t3-oss/env-nextjs": "^0.11.0",
"@tanstack/react-query": "^4.0.0", "@tanstack/react-query": "^4.0.0",

View file

@ -3,7 +3,7 @@
import { Badge } from "@rallly/ui/badge"; import { Badge } from "@rallly/ui/badge";
import { Trans } from "@/components/trans"; import { Trans } from "@/components/trans";
import { useUser } from "@/components/user-provider"; import { useUser } from "@/auth/client/user-provider";
export function ProBadge() { export function ProBadge() {
const { user } = useUser(); const { user } = useUser();

View file

@ -12,13 +12,13 @@ import { useTranslation } from "next-i18next";
import { DeleteAccountDialog } from "@/app/[locale]/(admin)/settings/profile/delete-account-dialog"; import { DeleteAccountDialog } from "@/app/[locale]/(admin)/settings/profile/delete-account-dialog";
import { ProfileSettings } from "@/app/[locale]/(admin)/settings/profile/profile-settings"; import { ProfileSettings } from "@/app/[locale]/(admin)/settings/profile/profile-settings";
import { LogoutButton } from "@/app/components/logout-button"; import { LogoutButton } from "@/app/components/logout-button";
import { useUser } from "@/auth/client/user-provider";
import { import {
Settings, Settings,
SettingsContent, SettingsContent,
SettingsSection, SettingsSection,
} from "@/components/settings/settings"; } from "@/components/settings/settings";
import { Trans } from "@/components/trans"; import { Trans } from "@/components/trans";
import { useUser } from "@/components/user-provider";
export const ProfilePage = () => { export const ProfilePage = () => {
const { t } = useTranslation(); const { t } = useTranslation();

View file

@ -7,7 +7,7 @@ import { z } from "zod";
import { OptimizedAvatarImage } from "@/components/optimized-avatar-image"; import { OptimizedAvatarImage } from "@/components/optimized-avatar-image";
import { Trans } from "@/components/trans"; import { Trans } from "@/components/trans";
import { useUser } from "@/components/user-provider"; import { useUser } from "@/auth/client/user-provider";
import { IfCloudHosted } from "@/contexts/environment"; import { IfCloudHosted } from "@/contexts/environment";
import { useTranslation } from "@/i18n/client"; import { useTranslation } from "@/i18n/client";
import { trpc } from "@/trpc/client"; import { trpc } from "@/trpc/client";

View file

@ -11,7 +11,7 @@ import { useForm } from "react-hook-form";
import { ProfilePicture } from "@/app/[locale]/(admin)/settings/profile/profile-picture"; import { ProfilePicture } from "@/app/[locale]/(admin)/settings/profile/profile-picture";
import { Trans } from "@/components/trans"; import { Trans } from "@/components/trans";
import { useUser } from "@/components/user-provider"; import { useUser } from "@/auth/client/user-provider";
import { trpc } from "@/trpc/client"; import { trpc } from "@/trpc/client";
export const ProfileSettings = () => { export const ProfileSettings = () => {

View file

@ -24,7 +24,7 @@ import { OptimizedAvatarImage } from "@/components/optimized-avatar-image";
import { PayWallDialog } from "@/components/pay-wall-dialog"; import { PayWallDialog } from "@/components/pay-wall-dialog";
import { ProBadge } from "@/components/pro-badge"; import { ProBadge } from "@/components/pro-badge";
import { Trans } from "@/components/trans"; import { Trans } from "@/components/trans";
import { IfGuest, useUser } from "@/components/user-provider"; import { IfGuest, useUser } from "@/auth/client/user-provider";
import { IfFreeUser } from "@/contexts/plan"; import { IfFreeUser } from "@/contexts/plan";
import type { IconComponent } from "@/types"; import type { IconComponent } from "@/types";

View file

@ -11,7 +11,7 @@ import { ScheduledEvent } from "@/components/poll/scheduled-event";
import { useTouchBeacon } from "@/components/poll/use-touch-beacon"; import { useTouchBeacon } from "@/components/poll/use-touch-beacon";
import { VotingForm } from "@/components/poll/voting-form"; import { VotingForm } from "@/components/poll/voting-form";
import { Trans } from "@/components/trans"; import { Trans } from "@/components/trans";
import { useUser } from "@/components/user-provider"; import { useUser } from "@/auth/client/user-provider";
import { usePoll } from "@/contexts/poll"; import { usePoll } from "@/contexts/poll";
const GoToApp = () => { const GoToApp = () => {

View file

@ -6,7 +6,7 @@ import Link from "next/link";
import { PageHeader } from "@/app/components/page-layout"; import { PageHeader } from "@/app/components/page-layout";
import { Trans } from "@/components/trans"; import { Trans } from "@/components/trans";
import { UserDropdown } from "@/components/user-dropdown"; import { UserDropdown } from "@/components/user-dropdown";
import { useUser } from "@/components/user-provider"; import { useUser } from "@/auth/client/user-provider";
import { usePoll } from "@/contexts/poll"; import { usePoll } from "@/contexts/poll";
export const Nav = () => { export const Nav = () => {

View file

@ -12,6 +12,8 @@ import React from "react";
import { TimeZoneChangeDetector } from "@/app/[locale]/timezone-change-detector"; import { TimeZoneChangeDetector } from "@/app/[locale]/timezone-change-detector";
import { Providers } from "@/app/providers"; import { Providers } from "@/app/providers";
import { getServerSession } from "@/auth"; import { getServerSession } from "@/auth";
import { getGuestUser } from "@/auth/next";
import type { User } from "@/auth/schema";
import { SessionProvider } from "@/auth/session-provider"; import { SessionProvider } from "@/auth/session-provider";
const PostHogPageView = dynamic(() => import("@rallly/posthog/next"), { const PostHogPageView = dynamic(() => import("@rallly/posthog/next"), {
@ -38,8 +40,11 @@ export default async function Root({
params: { locale: string }; params: { locale: string };
}) { }) {
let session: Session | null = null; let session: Session | null = null;
let guestUser: User | null = null;
try { try {
session = await getServerSession(); session = await getServerSession();
guestUser = await getGuestUser();
} catch (error) { } catch (error) {
console.error(error); console.error(error);
} }
@ -49,7 +54,7 @@ export default async function Root({
<body> <body>
<Toaster /> <Toaster />
<SessionProvider session={session}> <SessionProvider session={session}>
<PostHogProvider distinctId={session?.user?.id}> <PostHogProvider distinctId={session?.user?.id ?? guestUser?.id}>
<PostHogPageView /> <PostHogPageView />
<Providers> <Providers>
{children} {children}

View file

@ -5,7 +5,7 @@ import { Trans } from "next-i18next";
import { LoginLink } from "@/components/login-link"; import { LoginLink } from "@/components/login-link";
import { RegisterLink } from "@/components/register-link"; import { RegisterLink } from "@/components/register-link";
import { useUser } from "@/components/user-provider"; import { useUser } from "@/auth/client/user-provider";
import { usePoll } from "@/contexts/poll"; import { usePoll } from "@/contexts/poll";
export const GuestPollAlert = () => { export const GuestPollAlert = () => {

View file

@ -1,15 +1,17 @@
import languages from "@rallly/languages"; import languages from "@rallly/languages";
import { absoluteUrl } from "@rallly/utils/absolute-url"; import { absoluteUrl } from "@rallly/utils/absolute-url";
import { randomid } from "@rallly/utils/nanoid";
import languageParser from "accept-language-parser"; import languageParser from "accept-language-parser";
import type { NextRequest, NextResponse } from "next/server"; import type { NextRequest, NextResponse } from "next/server";
import type { JWT } from "next-auth/jwt"; import type { JWT } from "next-auth/jwt";
import { encode } from "next-auth/jwt"; import { decode, encode } from "next-auth/jwt";
import { randomid } from "@/utils/nanoid"; import { GUEST_USER_COOKIE } from "@/auth/constants";
import { createGuestUser } from "@/auth/lib/create-guest-user";
const supportedLocales = Object.keys(languages); const supportedLocales = Object.keys(languages);
function getCookieSettings() { function getNextAuthCookieSettings() {
const secure = absoluteUrl().startsWith("https://"); const secure = absoluteUrl().startsWith("https://");
const prefix = secure ? "__Secure-" : ""; const prefix = secure ? "__Secure-" : "";
const name = `${prefix}next-auth.session-token`; const name = `${prefix}next-auth.session-token`;
@ -30,7 +32,7 @@ export async function getLocaleFromHeader(req: NextRequest) {
} }
async function setCookie(res: NextResponse, jwt: JWT) { async function setCookie(res: NextResponse, jwt: JWT) {
const { name, secure } = getCookieSettings(); const { name, secure } = getNextAuthCookieSettings();
const token = await encode({ const token = await encode({
token: jwt, token: jwt,
@ -47,6 +49,33 @@ async function setCookie(res: NextResponse, jwt: JWT) {
}); });
} }
export async function migrateGuestFromNextAuthCookie(
req: NextRequest,
res: NextResponse,
) {
const { name } = getNextAuthCookieSettings();
if (req.cookies.has(name)) {
// get user session token
const token = req.cookies.get(name)?.value;
if (token) {
const jwt = await decode({
token,
secret: process.env.SECRET_PASSWORD,
});
if (jwt?.sub && jwt?.locale) {
const user = await createGuestUser({
id: jwt.sub,
locale: jwt.locale,
timeZone: jwt.timeZone ?? undefined,
weekStart: jwt.weekStart ?? undefined,
timeFormat: jwt.timeFormat ?? undefined,
});
res.cookies.set(GUEST_USER_COOKIE, JSON.stringify(user));
}
}
}
}
export async function resetUser(req: NextRequest, res: NextResponse) { export async function resetUser(req: NextRequest, res: NextResponse) {
// resets to a new guest user // resets to a new guest user
const locale = await getLocaleFromHeader(req); const locale = await getLocaleFromHeader(req);
@ -61,7 +90,7 @@ export async function resetUser(req: NextRequest, res: NextResponse) {
} }
export async function initGuest(req: NextRequest, res: NextResponse) { export async function initGuest(req: NextRequest, res: NextResponse) {
const { name } = getCookieSettings(); const { name } = getNextAuthCookieSettings();
if (req.cookies.has(name)) { if (req.cookies.has(name)) {
// already has a session token // already has a session token

View file

@ -5,7 +5,7 @@ import { createTRPCReact } from "@trpc/react-query";
import { domMax, LazyMotion } from "framer-motion"; import { domMax, LazyMotion } from "framer-motion";
import { useState } from "react"; import { useState } from "react";
import { UserProvider } from "@/components/user-provider"; import { UserProvider } from "@/auth/client/user-provider";
import { I18nProvider } from "@/i18n/client"; import { I18nProvider } from "@/i18n/client";
import { trpcConfig } from "@/trpc/client/config"; import { trpcConfig } from "@/trpc/client/config";
import type { AppRouter } from "@/trpc/routers"; import type { AppRouter } from "@/trpc/routers";

View file

@ -1,6 +1,7 @@
import { prisma } from "@rallly/database"; import { prisma } from "@rallly/database";
import { posthog } from "@rallly/posthog/server"; import { posthog } from "@rallly/posthog/server";
import { absoluteUrl } from "@rallly/utils/absolute-url"; import { absoluteUrl } from "@rallly/utils/absolute-url";
import { generateOtp, randomid } from "@rallly/utils/nanoid";
import type { import type {
GetServerSidePropsContext, GetServerSidePropsContext,
NextApiRequest, NextApiRequest,
@ -20,7 +21,6 @@ import { env } from "@/env";
import type { RegistrationTokenPayload } from "@/trpc/types"; import type { RegistrationTokenPayload } from "@/trpc/types";
import { getEmailClient } from "@/utils/emails"; import { getEmailClient } from "@/utils/emails";
import { getValueByPath } from "@/utils/get-value-by-path"; import { getValueByPath } from "@/utils/get-value-by-path";
import { generateOtp, randomid } from "@/utils/nanoid";
import { decryptToken } from "@/utils/session"; import { decryptToken } from "@/utils/session";
import { CustomPrismaAdapter } from "./auth/custom-prisma-adapter"; import { CustomPrismaAdapter } from "./auth/custom-prisma-adapter";
@ -239,7 +239,7 @@ const getAuthOptions = (...args: GetServerSessionParams) =>
return false; return false;
} }
} else { } else {
// merge guest user into newly logged in user // merge guest user into newly logged in user`
const session = await getServerSession(...args); const session = await getServerSession(...args);
if (session && session.user.email === null) { if (session && session.user.email === null) {
await mergeGuestsIntoUser(user.id, [session.user.id]); await mergeGuestsIntoUser(user.id, [session.user.id]);
@ -264,6 +264,9 @@ const getAuthOptions = (...args: GetServerSessionParams) =>
return token; return token;
}, },
async session({ session, token }) { async session({ session, token }) {
if (!session.user) {
return session;
}
// If the user is a guest, we don't need to fetch them from the database // If the user is a guest, we don't need to fetch them from the database
if (token.sub?.startsWith("user-")) { if (token.sub?.startsWith("user-")) {
session.user.id = token.sub as string; session.user.id = token.sub as string;

View file

@ -0,0 +1,13 @@
import Cookies from "js-cookie";
import { GUEST_USER_COOKIE } from "../constants";
import { safeParseGuestUser } from "../lib/parse-guest";
export function useGuestUser() {
const cookie = Cookies.get(GUEST_USER_COOKIE);
if (cookie) {
return safeParseGuestUser(cookie);
}
return null;
}

View file

@ -5,12 +5,13 @@ import { useSession } from "next-auth/react";
import React from "react"; import React from "react";
import { Spinner } from "@/components/spinner"; import { Spinner } from "@/components/spinner";
import { useRequiredContext } from "@/components/use-required-context";
import { useSubscription } from "@/contexts/plan"; import { useSubscription } from "@/contexts/plan";
import { PreferencesProvider } from "@/contexts/preferences"; import { PreferencesProvider } from "@/contexts/preferences";
import { useTranslation } from "@/i18n/client"; import { useTranslation } from "@/i18n/client";
import { trpc } from "@/trpc/client"; import { trpc } from "@/trpc/client";
import { useRequiredContext } from "./use-required-context"; import { useGuestUser } from "./use-guest-user";
type UserData = { type UserData = {
id: string; id: string;
@ -55,16 +56,28 @@ export const IfGuest = (props: { children?: React.ReactNode }) => {
export const UserProvider = (props: { children?: React.ReactNode }) => { export const UserProvider = (props: { children?: React.ReactNode }) => {
const session = useSession(); const session = useSession();
const user = session.data?.user; const guestUser = useGuestUser();
const authenticatedUser = session.data?.user;
const subscription = useSubscription(); const subscription = useSubscription();
const updatePreferences = trpc.user.updatePreferences.useMutation(); const updatePreferences = trpc.user.updatePreferences.useMutation();
const { t, i18n } = useTranslation(); const { t, i18n } = useTranslation();
const posthog = usePostHog(); const posthog = usePostHog();
const isGuest = !user?.email; const isGuest = !authenticatedUser?.email;
const tier = isGuest ? "guest" : subscription?.active ? "pro" : "hobby"; const tier = isGuest ? "guest" : subscription?.active ? "pro" : "hobby";
const user = {
id: authenticatedUser?.id ?? guestUser?.id,
name: authenticatedUser?.name,
email: authenticatedUser?.email,
timeZone: authenticatedUser?.timeZone ?? guestUser?.timeZone,
timeFormat: authenticatedUser?.timeFormat ?? guestUser?.timeFormat,
weekStart: authenticatedUser?.weekStart ?? guestUser?.weekStart,
image: authenticatedUser?.image,
locale: authenticatedUser?.locale ?? guestUser?.locale,
};
React.useEffect(() => { React.useEffect(() => {
if (user) { if (user) {
posthog?.identify(user.id, { posthog?.identify(user.id, {

View file

@ -0,0 +1 @@
export const GUEST_USER_COOKIE = "rallly-user";

36
apps/web/src/auth/edge.ts Normal file
View file

@ -0,0 +1,36 @@
import type { NextRequest, NextResponse } from "next/server";
import {
getLocaleFromHeader,
migrateGuestFromNextAuthCookie,
} from "@/app/guest";
import { GUEST_USER_COOKIE } from "./constants";
import { createGuestUser } from "./lib/create-guest-user";
import { safeParseGuestUser } from "./lib/parse-guest";
import { type User } from "./schema";
export async function initGuestUser(
req: NextRequest,
res: NextResponse,
): Promise<User> {
await migrateGuestFromNextAuthCookie(req, res);
const cookie = req.cookies.get(GUEST_USER_COOKIE);
if (cookie) {
const user = safeParseGuestUser(cookie.value);
if (user) {
return user;
}
}
const user = await createGuestUser({
locale: await getLocaleFromHeader(req),
});
res.cookies.set(GUEST_USER_COOKIE, JSON.stringify(user), {
httpOnly: false,
});
return user;
}

View file

@ -0,0 +1,12 @@
import { randomid } from "@rallly/utils/nanoid";
import type { User } from "../schema";
export async function createGuestUser(initialData: Partial<User>) {
const user: User = {
id: initialData.id ?? `user-${randomid()}`,
createdAt: new Date().toISOString(),
locale: initialData.locale ?? "en",
};
return user;
}

View file

@ -0,0 +1,13 @@
import { userSchema } from "../schema";
export function safeParseGuestUser(serialized: string) {
try {
const res = userSchema.safeParse(JSON.parse(serialized));
if (res.success) {
return res.data;
}
} catch (error) {
// TODO: Log error
}
return null;
}

31
apps/web/src/auth/next.ts Normal file
View file

@ -0,0 +1,31 @@
import type { NextApiRequest } from "next";
import { cookies } from "next/headers";
import { GUEST_USER_COOKIE } from "./constants";
import { safeParseGuestUser } from "./lib/parse-guest";
import { userSchema } from "./schema";
export async function getGuestUserFromApiRequest(req: NextApiRequest) {
const cookie = req.cookies[GUEST_USER_COOKIE];
if (cookie) {
try {
const res = userSchema.safeParse(JSON.parse(cookie));
if (res.success) {
return res.data;
}
} catch (error) {
console.error("Error parsing guest user cookie", error);
}
}
return null;
}
export async function getGuestUser() {
const cookie = cookies().get(GUEST_USER_COOKIE)?.value;
if (cookie) {
return safeParseGuestUser(cookie);
}
return null;
}

View file

@ -0,0 +1,12 @@
import { z } from "zod";
export const userSchema = z.object({
id: z.string(),
locale: z.string(),
createdAt: z.string(),
timeZone: z.string().optional().catch(undefined),
weekStart: z.number().optional().catch(undefined),
timeFormat: z.enum(["hours12", "hours24"]).optional().catch(undefined),
});
export type User = z.infer<typeof userSchema>;

View file

@ -17,11 +17,11 @@ import { useUnmount } from "react-use";
import { PollSettingsForm } from "@/components/forms/poll-settings"; import { PollSettingsForm } from "@/components/forms/poll-settings";
import { Trans } from "@/components/trans"; import { Trans } from "@/components/trans";
import { useUser } from "@/components/user-provider"; import { useUser } from "@/auth/client/user-provider";
import { trpc } from "@/trpc/client"; import { trpc } from "@/trpc/client";
import { setCookie } from "@/utils/cookies"; import { setCookie } from "@/utils/cookies";
import type { NewEventData} from "./forms"; import type { NewEventData } from "./forms";
import { PollDetailsForm, PollOptionsForm } from "./forms"; import { PollDetailsForm, PollOptionsForm } from "./forms";
const required = <T,>(v: T | undefined): T => { const required = <T,>(v: T | undefined): T => {

View file

@ -41,7 +41,7 @@ import { trpc } from "@/trpc/client";
import { requiredString } from "../../utils/form-validation"; import { requiredString } from "../../utils/form-validation";
import TruncatedLinkify from "../poll/truncated-linkify"; import TruncatedLinkify from "../poll/truncated-linkify";
import { useUser } from "../user-provider"; import { useUser } from "../../auth/client/user-provider";
interface CommentForm { interface CommentForm {
authorName: string; authorName: string;

View file

@ -29,7 +29,7 @@ import ManagePoll from "@/components/poll/manage-poll";
import NotificationsToggle from "@/components/poll/notifications-toggle"; import NotificationsToggle from "@/components/poll/notifications-toggle";
import { LegacyPollContextProvider } from "@/components/poll/poll-context-provider"; import { LegacyPollContextProvider } from "@/components/poll/poll-context-provider";
import { Trans } from "@/components/trans"; import { Trans } from "@/components/trans";
import { useUser } from "@/components/user-provider"; import { useUser } from "@/auth/client/user-provider";
import { usePlan } from "@/contexts/plan"; import { usePlan } from "@/contexts/plan";
import { usePoll } from "@/contexts/poll"; import { usePoll } from "@/contexts/poll";
import { trpc } from "@/trpc/client"; import { trpc } from "@/trpc/client";

View file

@ -11,7 +11,7 @@ import { Participant, ParticipantName } from "@/components/participant";
import { ParticipantDropdown } from "@/components/participant-dropdown"; import { ParticipantDropdown } from "@/components/participant-dropdown";
import { usePoll } from "@/components/poll-context"; import { usePoll } from "@/components/poll-context";
import { Trans } from "@/components/trans"; import { Trans } from "@/components/trans";
import { useUser } from "@/components/user-provider"; import { useUser } from "@/auth/client/user-provider";
import { usePermissions } from "@/contexts/permissions"; import { usePermissions } from "@/contexts/permissions";
import type { Vote } from "@/trpc/client/types"; import type { Vote } from "@/trpc/client/types";

View file

@ -26,7 +26,7 @@ import { Trans } from "@/components/trans";
import { usePermissions } from "@/contexts/permissions"; import { usePermissions } from "@/contexts/permissions";
import { useVisibleParticipants } from "../participants-provider"; import { useVisibleParticipants } from "../participants-provider";
import { useUser } from "../user-provider"; import { useUser } from "../../auth/client/user-provider";
import GroupedOptions from "./mobile-poll/grouped-options"; import GroupedOptions from "./mobile-poll/grouped-options";
if (typeof window !== "undefined") { if (typeof window !== "undefined") {

View file

@ -9,7 +9,7 @@ import * as React from "react";
import { Skeleton } from "@/components/skeleton"; import { Skeleton } from "@/components/skeleton";
import { Trans } from "@/components/trans"; import { Trans } from "@/components/trans";
import { useUser } from "@/components/user-provider"; import { useUser } from "@/auth/client/user-provider";
import { trpc } from "@/trpc/client"; import { trpc } from "@/trpc/client";
import { usePoll } from "../poll-context"; import { usePoll } from "../poll-context";

View file

@ -34,7 +34,11 @@ import { IfCloudHosted, IfSelfHosted } from "@/contexts/environment";
import { Plan, usePlan } from "@/contexts/plan"; import { Plan, usePlan } from "@/contexts/plan";
import { isFeedbackEnabled } from "@/utils/constants"; import { isFeedbackEnabled } from "@/utils/constants";
import { IfAuthenticated, IfGuest, useUser } from "./user-provider"; import {
IfAuthenticated,
IfGuest,
useUser,
} from "../auth/client/user-provider";
function logout() { function logout() {
// programmtically submit form with name="logout" // programmtically submit form with name="logout"

View file

@ -1,7 +1,7 @@
import React from "react"; import React from "react";
import { useParticipants } from "@/components/participants-provider"; import { useParticipants } from "@/components/participants-provider";
import { useUser } from "@/components/user-provider"; import { useUser } from "@/auth/client/user-provider";
import { usePoll } from "@/contexts/poll"; import { usePoll } from "@/contexts/poll";
import { useRole } from "@/contexts/role"; import { useRole } from "@/contexts/role";

View file

@ -2,7 +2,8 @@ import languages from "@rallly/languages";
import { NextResponse } from "next/server"; import { NextResponse } from "next/server";
import withAuth from "next-auth/middleware"; import withAuth from "next-auth/middleware";
import { getLocaleFromHeader, initGuest } from "@/app/guest"; import { getLocaleFromHeader } from "@/app/guest";
import { initGuestUser } from "@/auth/edge";
import { isSelfHosted } from "@/utils/constants"; import { isSelfHosted } from "@/utils/constants";
const supportedLocales = Object.keys(languages); const supportedLocales = Object.keys(languages);
@ -34,7 +35,7 @@ export const middleware = withAuth(
const res = NextResponse.rewrite(newUrl); const res = NextResponse.rewrite(newUrl);
await initGuest(req, res); await initGuestUser(req, res);
return res; return res;
}, },

View file

@ -12,7 +12,7 @@ import { SessionProvider, signIn, useSession } from "next-auth/react";
import React from "react"; import React from "react";
import Maintenance from "@/components/maintenance"; import Maintenance from "@/components/maintenance";
import { UserProvider } from "@/components/user-provider"; import { UserProvider } from "@/auth/client/user-provider";
import { I18nProvider } from "@/i18n/client"; import { I18nProvider } from "@/i18n/client";
import { trpc } from "@/trpc/client"; import { trpc } from "@/trpc/client";
import { ConnectedDayjsProvider } from "@/utils/dayjs"; import { ConnectedDayjsProvider } from "@/utils/dayjs";

View file

@ -4,6 +4,7 @@ import { TRPCError } from "@trpc/server";
import { createNextApiHandler } from "@trpc/server/adapters/next"; import { createNextApiHandler } from "@trpc/server/adapters/next";
import { getServerSession } from "@/auth"; import { getServerSession } from "@/auth";
import { getGuestUserFromApiRequest } from "@/auth/next";
import type { AppRouter } from "@/trpc/routers"; import type { AppRouter } from "@/trpc/routers";
import { appRouter } from "@/trpc/routers"; import { appRouter } from "@/trpc/routers";
import { getEmailClient } from "@/utils/emails"; import { getEmailClient } from "@/utils/emails";
@ -19,27 +20,28 @@ const trpcApiHandler = createNextApiHandler<AppRouter>({
router: appRouter, router: appRouter,
createContext: async (opts) => { createContext: async (opts) => {
const session = await getServerSession(opts.req, opts.res); const session = await getServerSession(opts.req, opts.res);
const guestUser = await getGuestUserFromApiRequest(opts.req);
if (!session) { const id = session?.user?.id || guestUser?.id;
throw new TRPCError({ const isGuest = !session?.user?.email;
code: "UNAUTHORIZED", const locale = session?.user?.locale ?? guestUser?.locale;
message: "Unauthorized", const image = session?.user?.image ?? undefined;
});
if (!id) {
throw new TRPCError({ code: "UNAUTHORIZED" });
} }
const res = { return {
user: { user: {
id: session.user.id, id,
isGuest: session.user.email === null, isGuest,
locale: session.user.locale ?? undefined, locale,
image: session.user.image ?? undefined, image,
getEmailClient: () => getEmailClient(session.user.locale ?? undefined), getEmailClient: () => getEmailClient(locale),
}, },
req: opts.req, req: opts.req,
res: opts.res, res: opts.res,
}; };
return res;
}, },
onError({ error }) { onError({ error }) {
if (error.code === "INTERNAL_SERVER_ERROR") { if (error.code === "INTERNAL_SERVER_ERROR") {

View file

@ -3,7 +3,7 @@ import { posthog } from "@rallly/posthog/server";
import { z } from "zod"; import { z } from "zod";
import { isEmailBlocked } from "@/auth"; import { isEmailBlocked } from "@/auth";
import { generateOtp } from "@/utils/nanoid"; import { generateOtp } from "@rallly/utils/nanoid";
import { createToken, decryptToken } from "@/utils/session"; import { createToken, decryptToken } from "@/utils/session";
import { publicProcedure, rateLimitMiddleware, router } from "../trpc"; import { publicProcedure, rateLimitMiddleware, router } from "../trpc";

View file

@ -2,6 +2,7 @@ import type { PollStatus } from "@rallly/database";
import { prisma } from "@rallly/database"; import { prisma } from "@rallly/database";
import { posthog } from "@rallly/posthog/server"; import { posthog } from "@rallly/posthog/server";
import { absoluteUrl, shortUrl } from "@rallly/utils/absolute-url"; import { absoluteUrl, shortUrl } from "@rallly/utils/absolute-url";
import { nanoid } from "@rallly/utils/nanoid";
import { TRPCError } from "@trpc/server"; import { TRPCError } from "@trpc/server";
import dayjs from "dayjs"; import dayjs from "dayjs";
import * as ics from "ics"; import * as ics from "ics";
@ -10,7 +11,6 @@ import { z } from "zod";
import { getEmailClient } from "@/utils/emails"; import { getEmailClient } from "@/utils/emails";
import { getTimeZoneAbbreviation } from "../../utils/date"; import { getTimeZoneAbbreviation } from "../../utils/date";
import { nanoid } from "../../utils/nanoid";
import { import {
possiblyPublicProcedure, possiblyPublicProcedure,
proProcedure, proProcedure,

View file

@ -9,7 +9,8 @@
"exports": { "exports": {
"./server": "./src/server/index.ts", "./server": "./src/server/index.ts",
"./client": "./src/client/index.ts", "./client": "./src/client/index.ts",
"./next": "./src/next.ts" "./next": "./src/next.ts",
"./edge": "./src/edge.ts"
}, },
"dependencies": { "dependencies": {
"posthog-js": "^1.180.1", "posthog-js": "^1.180.1",

View file

@ -3,10 +3,13 @@
"display": "Default", "display": "Default",
"extends": "@tsconfig/strictest/tsconfig.json", "extends": "@tsconfig/strictest/tsconfig.json",
"compilerOptions": { "compilerOptions": {
"module": "ESNext",
"moduleResolution": "Bundler",
"noPropertyAccessFromIndexSignature": false, "noPropertyAccessFromIndexSignature": false,
"exactOptionalPropertyTypes": false, "exactOptionalPropertyTypes": false,
"noUncheckedIndexedAccess": false, "noUncheckedIndexedAccess": false,
"noImplicitReturns": false, "noImplicitReturns": false,
"verbatimModuleSyntax": true "verbatimModuleSyntax": true,
"skipLibCheck": true
} }
} }

View file

@ -1,5 +1,6 @@
{ {
"name": "@rallly/utils", "name": "@rallly/utils",
"type": "module",
"version": "0.0.0", "version": "0.0.0",
"private": true, "private": true,
"scripts": { "scripts": {
@ -8,6 +9,9 @@
"exports": { "exports": {
"./*": "./src/*.ts" "./*": "./src/*.ts"
}, },
"dependencies": {
"nanoid": "^4.0.0"
},
"devDependencies": { "devDependencies": {
"vitest": "^2.1.1" "vitest": "^2.1.1"
} }

View file

@ -2,6 +2,6 @@
"compilerOptions": { "compilerOptions": {
"types": ["vitest/globals"], "types": ["vitest/globals"],
}, },
"extends": "@rallly/tsconfig/react.json", "extends": "@rallly/tsconfig/base.json",
"include": ["**/*.ts", "**/*.tsx"], "include": ["**/*.ts", "**/*.tsx"],
} }

466
yarn.lock
View file

@ -3137,16 +3137,6 @@
"@opentelemetry/instrumentation" "^0.53.0" "@opentelemetry/instrumentation" "^0.53.0"
"@opentelemetry/semantic-conventions" "^1.27.0" "@opentelemetry/semantic-conventions" "^1.27.0"
"@opentelemetry/instrumentation-connect@0.38.0":
version "0.38.0"
resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-connect/-/instrumentation-connect-0.38.0.tgz#1f4aa27894eac2538fb3c8fce7b1be92cae0217e"
integrity sha512-2/nRnx3pjYEmdPIaBwtgtSviTKHWnDZN3R+TkRUnhIVrvBKVcq+I5B2rtd6mr6Fe9cHlZ9Ojcuh7pkNh/xdWWg==
dependencies:
"@opentelemetry/core" "^1.8.0"
"@opentelemetry/instrumentation" "^0.52.0"
"@opentelemetry/semantic-conventions" "^1.22.0"
"@types/connect" "3.4.36"
"@opentelemetry/instrumentation-connect@0.39.0": "@opentelemetry/instrumentation-connect@0.39.0":
version "0.39.0" version "0.39.0"
resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-connect/-/instrumentation-connect-0.39.0.tgz#32bdbaac464cba061c95df6c850ee81efdd86f8b" resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-connect/-/instrumentation-connect-0.39.0.tgz#32bdbaac464cba061c95df6c850ee81efdd86f8b"
@ -3164,15 +3154,6 @@
dependencies: dependencies:
"@opentelemetry/instrumentation" "^0.53.0" "@opentelemetry/instrumentation" "^0.53.0"
"@opentelemetry/instrumentation-express@0.41.1":
version "0.41.1"
resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-express/-/instrumentation-express-0.41.1.tgz#658561df6ffbae86f5ad33e8d7ef2abb7b4967fc"
integrity sha512-uRx0V3LPGzjn2bxAnV8eUsDT82vT7NTwI0ezEuPMBOTOsnPpGhWdhcdNdhH80sM4TrWrOfXm9HGEdfWE3TRIww==
dependencies:
"@opentelemetry/core" "^1.8.0"
"@opentelemetry/instrumentation" "^0.52.0"
"@opentelemetry/semantic-conventions" "^1.22.0"
"@opentelemetry/instrumentation-express@0.42.0": "@opentelemetry/instrumentation-express@0.42.0":
version "0.42.0" version "0.42.0"
resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-express/-/instrumentation-express-0.42.0.tgz#279f195aa66baee2b98623a16666c6229c8e7564" resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-express/-/instrumentation-express-0.42.0.tgz#279f195aa66baee2b98623a16666c6229c8e7564"
@ -3182,15 +3163,6 @@
"@opentelemetry/instrumentation" "^0.53.0" "@opentelemetry/instrumentation" "^0.53.0"
"@opentelemetry/semantic-conventions" "^1.27.0" "@opentelemetry/semantic-conventions" "^1.27.0"
"@opentelemetry/instrumentation-fastify@0.38.0":
version "0.38.0"
resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-fastify/-/instrumentation-fastify-0.38.0.tgz#0cb02ee1156197075e8a90e4fd18a6b6c94221ba"
integrity sha512-HBVLpTSYpkQZ87/Df3N0gAw7VzYZV3n28THIBrJWfuqw3Or7UqdhnjeuMIPQ04BKk3aZc0cWn2naSQObbh5vXw==
dependencies:
"@opentelemetry/core" "^1.8.0"
"@opentelemetry/instrumentation" "^0.52.0"
"@opentelemetry/semantic-conventions" "^1.22.0"
"@opentelemetry/instrumentation-fastify@0.39.0": "@opentelemetry/instrumentation-fastify@0.39.0":
version "0.39.0" version "0.39.0"
resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-fastify/-/instrumentation-fastify-0.39.0.tgz#96a040e4944daf77c53a8fe5a128bc3b2568e4aa" resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-fastify/-/instrumentation-fastify-0.39.0.tgz#96a040e4944daf77c53a8fe5a128bc3b2568e4aa"
@ -3200,14 +3172,6 @@
"@opentelemetry/instrumentation" "^0.53.0" "@opentelemetry/instrumentation" "^0.53.0"
"@opentelemetry/semantic-conventions" "^1.27.0" "@opentelemetry/semantic-conventions" "^1.27.0"
"@opentelemetry/instrumentation-fs@0.14.0":
version "0.14.0"
resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-fs/-/instrumentation-fs-0.14.0.tgz#19f1cb38a8c2d05f3b96af67f1c8d43f0af2829b"
integrity sha512-pVc8P5AgliC1DphyyBUgsxXlm2XaPH4BpYvt7rAZDMIqUpRk8gs19SioABtKqqxvFzg5jPtgJfJsdxq0Y+maLw==
dependencies:
"@opentelemetry/core" "^1.8.0"
"@opentelemetry/instrumentation" "^0.52.0"
"@opentelemetry/instrumentation-fs@0.15.0": "@opentelemetry/instrumentation-fs@0.15.0":
version "0.15.0" version "0.15.0"
resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-fs/-/instrumentation-fs-0.15.0.tgz#41658507860f39fee5209bca961cea8d24ca2a83" resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-fs/-/instrumentation-fs-0.15.0.tgz#41658507860f39fee5209bca961cea8d24ca2a83"
@ -3223,13 +3187,6 @@
dependencies: dependencies:
"@opentelemetry/instrumentation" "^0.53.0" "@opentelemetry/instrumentation" "^0.53.0"
"@opentelemetry/instrumentation-graphql@0.42.0":
version "0.42.0"
resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-graphql/-/instrumentation-graphql-0.42.0.tgz#588a18c39e3b3f655bc09243566172ab0b638d35"
integrity sha512-N8SOwoKL9KQSX7z3gOaw5UaTeVQcfDO1c21csVHnmnmGUoqsXbArK2B8VuwPWcv6/BC/i3io+xTo7QGRZ/z28Q==
dependencies:
"@opentelemetry/instrumentation" "^0.52.0"
"@opentelemetry/instrumentation-graphql@0.43.0": "@opentelemetry/instrumentation-graphql@0.43.0":
version "0.43.0" version "0.43.0"
resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-graphql/-/instrumentation-graphql-0.43.0.tgz#71bb94ea775c70dbd388c739b397ec1418f3f170" resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-graphql/-/instrumentation-graphql-0.43.0.tgz#71bb94ea775c70dbd388c739b397ec1418f3f170"
@ -3237,15 +3194,6 @@
dependencies: dependencies:
"@opentelemetry/instrumentation" "^0.53.0" "@opentelemetry/instrumentation" "^0.53.0"
"@opentelemetry/instrumentation-hapi@0.40.0":
version "0.40.0"
resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-hapi/-/instrumentation-hapi-0.40.0.tgz#ae11190f0f57cdb4dc8d792cb8bca61e5343684c"
integrity sha512-8U/w7Ifumtd2bSN1OLaSwAAFhb9FyqWUki3lMMB0ds+1+HdSxYBe9aspEJEgvxAqOkrQnVniAPTEGf1pGM7SOw==
dependencies:
"@opentelemetry/core" "^1.8.0"
"@opentelemetry/instrumentation" "^0.52.0"
"@opentelemetry/semantic-conventions" "^1.22.0"
"@opentelemetry/instrumentation-hapi@0.41.0": "@opentelemetry/instrumentation-hapi@0.41.0":
version "0.41.0" version "0.41.0"
resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-hapi/-/instrumentation-hapi-0.41.0.tgz#de8711907256d8fae1b5faf71fc825cef4a7ddbb" resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-hapi/-/instrumentation-hapi-0.41.0.tgz#de8711907256d8fae1b5faf71fc825cef4a7ddbb"
@ -3255,16 +3203,6 @@
"@opentelemetry/instrumentation" "^0.53.0" "@opentelemetry/instrumentation" "^0.53.0"
"@opentelemetry/semantic-conventions" "^1.27.0" "@opentelemetry/semantic-conventions" "^1.27.0"
"@opentelemetry/instrumentation-http@0.52.1":
version "0.52.1"
resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-http/-/instrumentation-http-0.52.1.tgz#12061501601838d1c912f9c29bdd40a13a7e44cf"
integrity sha512-dG/aevWhaP+7OLv4BQQSEKMJv8GyeOp3Wxl31NHqE8xo9/fYMfEljiZphUHIfyg4gnZ9swMyWjfOQs5GUQe54Q==
dependencies:
"@opentelemetry/core" "1.25.1"
"@opentelemetry/instrumentation" "0.52.1"
"@opentelemetry/semantic-conventions" "1.25.1"
semver "^7.5.2"
"@opentelemetry/instrumentation-http@0.53.0": "@opentelemetry/instrumentation-http@0.53.0":
version "0.53.0" version "0.53.0"
resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-http/-/instrumentation-http-0.53.0.tgz#0d806adf1b3aba036bc46e16162e3c0dbb8a6b60" resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-http/-/instrumentation-http-0.53.0.tgz#0d806adf1b3aba036bc46e16162e3c0dbb8a6b60"
@ -3275,15 +3213,6 @@
"@opentelemetry/semantic-conventions" "1.27.0" "@opentelemetry/semantic-conventions" "1.27.0"
semver "^7.5.2" semver "^7.5.2"
"@opentelemetry/instrumentation-ioredis@0.42.0":
version "0.42.0"
resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-ioredis/-/instrumentation-ioredis-0.42.0.tgz#0f488ffc68af3caa474e2f67861759075170729c"
integrity sha512-P11H168EKvBB9TUSasNDOGJCSkpT44XgoM6d3gRIWAa9ghLpYhl0uRkS8//MqPzcJVHr3h3RmfXIpiYLjyIZTw==
dependencies:
"@opentelemetry/instrumentation" "^0.52.0"
"@opentelemetry/redis-common" "^0.36.2"
"@opentelemetry/semantic-conventions" "^1.23.0"
"@opentelemetry/instrumentation-ioredis@0.43.0": "@opentelemetry/instrumentation-ioredis@0.43.0":
version "0.43.0" version "0.43.0"
resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-ioredis/-/instrumentation-ioredis-0.43.0.tgz#dbadabaeefc4cb47c406f878444f1bcac774fa89" resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-ioredis/-/instrumentation-ioredis-0.43.0.tgz#dbadabaeefc4cb47c406f878444f1bcac774fa89"
@ -3301,15 +3230,6 @@
"@opentelemetry/instrumentation" "^0.53.0" "@opentelemetry/instrumentation" "^0.53.0"
"@opentelemetry/semantic-conventions" "^1.27.0" "@opentelemetry/semantic-conventions" "^1.27.0"
"@opentelemetry/instrumentation-koa@0.42.0":
version "0.42.0"
resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-koa/-/instrumentation-koa-0.42.0.tgz#1c180f3605448c2e57a4ba073b69ffba7b2970b3"
integrity sha512-H1BEmnMhho8o8HuNRq5zEI4+SIHDIglNB7BPKohZyWG4fWNuR7yM4GTlR01Syq21vODAS7z5omblScJD/eZdKw==
dependencies:
"@opentelemetry/core" "^1.8.0"
"@opentelemetry/instrumentation" "^0.52.0"
"@opentelemetry/semantic-conventions" "^1.22.0"
"@opentelemetry/instrumentation-koa@0.43.0": "@opentelemetry/instrumentation-koa@0.43.0":
version "0.43.0" version "0.43.0"
resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-koa/-/instrumentation-koa-0.43.0.tgz#963fd192a1b5f6cbae5dabf4ec82e3105cbb23b1" resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-koa/-/instrumentation-koa-0.43.0.tgz#963fd192a1b5f6cbae5dabf4ec82e3105cbb23b1"
@ -3319,15 +3239,6 @@
"@opentelemetry/instrumentation" "^0.53.0" "@opentelemetry/instrumentation" "^0.53.0"
"@opentelemetry/semantic-conventions" "^1.27.0" "@opentelemetry/semantic-conventions" "^1.27.0"
"@opentelemetry/instrumentation-mongodb@0.46.0":
version "0.46.0"
resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-mongodb/-/instrumentation-mongodb-0.46.0.tgz#e3720e8ca3ca9f228fbf02f0812f7518c030b05e"
integrity sha512-VF/MicZ5UOBiXrqBslzwxhN7TVqzu1/LN/QDpkskqM0Zm0aZ4CVRbUygL8d7lrjLn15x5kGIe8VsSphMfPJzlA==
dependencies:
"@opentelemetry/instrumentation" "^0.52.0"
"@opentelemetry/sdk-metrics" "^1.9.1"
"@opentelemetry/semantic-conventions" "^1.22.0"
"@opentelemetry/instrumentation-mongodb@0.47.0": "@opentelemetry/instrumentation-mongodb@0.47.0":
version "0.47.0" version "0.47.0"
resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-mongodb/-/instrumentation-mongodb-0.47.0.tgz#f8107d878281433905e717f223fb4c0f10356a7b" resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-mongodb/-/instrumentation-mongodb-0.47.0.tgz#f8107d878281433905e717f223fb4c0f10356a7b"
@ -3337,15 +3248,6 @@
"@opentelemetry/sdk-metrics" "^1.9.1" "@opentelemetry/sdk-metrics" "^1.9.1"
"@opentelemetry/semantic-conventions" "^1.27.0" "@opentelemetry/semantic-conventions" "^1.27.0"
"@opentelemetry/instrumentation-mongoose@0.40.0":
version "0.40.0"
resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-mongoose/-/instrumentation-mongoose-0.40.0.tgz#9c888312e524c381bfdf56a094c799150332dd51"
integrity sha512-niRi5ZUnkgzRhIGMOozTyoZIvJKNJyhijQI4nF4iFSb+FUx2v5fngfR+8XLmdQAO7xmsD8E5vEGdDVYVtKbZew==
dependencies:
"@opentelemetry/core" "^1.8.0"
"@opentelemetry/instrumentation" "^0.52.0"
"@opentelemetry/semantic-conventions" "^1.22.0"
"@opentelemetry/instrumentation-mongoose@0.42.0": "@opentelemetry/instrumentation-mongoose@0.42.0":
version "0.42.0" version "0.42.0"
resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-mongoose/-/instrumentation-mongoose-0.42.0.tgz#375afd21adfcd897a8f521c1ffd2d91e6a428705" resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-mongoose/-/instrumentation-mongoose-0.42.0.tgz#375afd21adfcd897a8f521c1ffd2d91e6a428705"
@ -3355,15 +3257,6 @@
"@opentelemetry/instrumentation" "^0.53.0" "@opentelemetry/instrumentation" "^0.53.0"
"@opentelemetry/semantic-conventions" "^1.27.0" "@opentelemetry/semantic-conventions" "^1.27.0"
"@opentelemetry/instrumentation-mysql2@0.40.0":
version "0.40.0"
resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-mysql2/-/instrumentation-mysql2-0.40.0.tgz#fa2992c36d54427dccea68e5c69fff01103dabe6"
integrity sha512-0xfS1xcqUmY7WE1uWjlmI67Xg3QsSUlNT+AcXHeA4BDUPwZtWqF4ezIwLgpVZfHOnkAEheqGfNSWd1PIu3Wnfg==
dependencies:
"@opentelemetry/instrumentation" "^0.52.0"
"@opentelemetry/semantic-conventions" "^1.22.0"
"@opentelemetry/sql-common" "^0.40.1"
"@opentelemetry/instrumentation-mysql2@0.41.0": "@opentelemetry/instrumentation-mysql2@0.41.0":
version "0.41.0" version "0.41.0"
resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-mysql2/-/instrumentation-mysql2-0.41.0.tgz#6377b6e2d2487fd88e1d79aa03658db6c8d51651" resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-mysql2/-/instrumentation-mysql2-0.41.0.tgz#6377b6e2d2487fd88e1d79aa03658db6c8d51651"
@ -3373,15 +3266,6 @@
"@opentelemetry/semantic-conventions" "^1.27.0" "@opentelemetry/semantic-conventions" "^1.27.0"
"@opentelemetry/sql-common" "^0.40.1" "@opentelemetry/sql-common" "^0.40.1"
"@opentelemetry/instrumentation-mysql@0.40.0":
version "0.40.0"
resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-mysql/-/instrumentation-mysql-0.40.0.tgz#bde5894c8eb447a4b8e940b030b2b73898da03fa"
integrity sha512-d7ja8yizsOCNMYIJt5PH/fKZXjb/mS48zLROO4BzZTtDfhNCl2UM/9VIomP2qkGIFVouSJrGr/T00EzY7bPtKA==
dependencies:
"@opentelemetry/instrumentation" "^0.52.0"
"@opentelemetry/semantic-conventions" "^1.22.0"
"@types/mysql" "2.15.22"
"@opentelemetry/instrumentation-mysql@0.41.0": "@opentelemetry/instrumentation-mysql@0.41.0":
version "0.41.0" version "0.41.0"
resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-mysql/-/instrumentation-mysql-0.41.0.tgz#2d50691ead5219774bd36d66c35d5b4681485dd7" resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-mysql/-/instrumentation-mysql-0.41.0.tgz#2d50691ead5219774bd36d66c35d5b4681485dd7"
@ -3391,14 +3275,6 @@
"@opentelemetry/semantic-conventions" "^1.27.0" "@opentelemetry/semantic-conventions" "^1.27.0"
"@types/mysql" "2.15.26" "@types/mysql" "2.15.26"
"@opentelemetry/instrumentation-nestjs-core@0.39.0":
version "0.39.0"
resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-nestjs-core/-/instrumentation-nestjs-core-0.39.0.tgz#733fef4306c796951d7ea1951b45f9df0aed234d"
integrity sha512-mewVhEXdikyvIZoMIUry8eb8l3HUjuQjSjVbmLVTt4NQi35tkpnHQrG9bTRBrl3403LoWZ2njMPJyg4l6HfKvA==
dependencies:
"@opentelemetry/instrumentation" "^0.52.0"
"@opentelemetry/semantic-conventions" "^1.23.0"
"@opentelemetry/instrumentation-nestjs-core@0.40.0": "@opentelemetry/instrumentation-nestjs-core@0.40.0":
version "0.40.0" version "0.40.0"
resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-nestjs-core/-/instrumentation-nestjs-core-0.40.0.tgz#2c0e6405b56caaec32747d55c57ff9a034668ea8" resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-nestjs-core/-/instrumentation-nestjs-core-0.40.0.tgz#2c0e6405b56caaec32747d55c57ff9a034668ea8"
@ -3407,17 +3283,6 @@
"@opentelemetry/instrumentation" "^0.53.0" "@opentelemetry/instrumentation" "^0.53.0"
"@opentelemetry/semantic-conventions" "^1.27.0" "@opentelemetry/semantic-conventions" "^1.27.0"
"@opentelemetry/instrumentation-pg@0.43.0":
version "0.43.0"
resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-pg/-/instrumentation-pg-0.43.0.tgz#3cd94ad5144e1fd326a921280fa8bb7b49005eb5"
integrity sha512-og23KLyoxdnAeFs1UWqzSonuCkePUzCX30keSYigIzJe/6WSYA8rnEI5lobcxPEzg+GcU06J7jzokuEHbjVJNw==
dependencies:
"@opentelemetry/instrumentation" "^0.52.0"
"@opentelemetry/semantic-conventions" "^1.22.0"
"@opentelemetry/sql-common" "^0.40.1"
"@types/pg" "8.6.1"
"@types/pg-pool" "2.0.4"
"@opentelemetry/instrumentation-pg@0.44.0": "@opentelemetry/instrumentation-pg@0.44.0":
version "0.44.0" version "0.44.0"
resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-pg/-/instrumentation-pg-0.44.0.tgz#1e97a0aeb2dca068ee23ce75884a0a0063a7ce3f" resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-pg/-/instrumentation-pg-0.44.0.tgz#1e97a0aeb2dca068ee23ce75884a0a0063a7ce3f"
@ -3429,15 +3294,6 @@
"@types/pg" "8.6.1" "@types/pg" "8.6.1"
"@types/pg-pool" "2.0.6" "@types/pg-pool" "2.0.6"
"@opentelemetry/instrumentation-redis-4@0.41.0":
version "0.41.0"
resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-redis-4/-/instrumentation-redis-4-0.41.0.tgz#6c1b1a37c18478887f346a3bc7ef309ee9f726c0"
integrity sha512-H7IfGTqW2reLXqput4yzAe8YpDC0fmVNal95GHMLOrS89W+qWUKIqxolSh63hJyfmwPSFwXASzj7wpSk8Az+Dg==
dependencies:
"@opentelemetry/instrumentation" "^0.52.0"
"@opentelemetry/redis-common" "^0.36.2"
"@opentelemetry/semantic-conventions" "^1.22.0"
"@opentelemetry/instrumentation-redis-4@0.42.0": "@opentelemetry/instrumentation-redis-4@0.42.0":
version "0.42.0" version "0.42.0"
resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-redis-4/-/instrumentation-redis-4-0.42.0.tgz#fc01104cfe884c7546385eaae03c57a47edd19d1" resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation-redis-4/-/instrumentation-redis-4-0.42.0.tgz#fc01104cfe884c7546385eaae03c57a47edd19d1"
@ -3455,18 +3311,6 @@
"@opentelemetry/core" "^1.8.0" "@opentelemetry/core" "^1.8.0"
"@opentelemetry/instrumentation" "^0.53.0" "@opentelemetry/instrumentation" "^0.53.0"
"@opentelemetry/instrumentation@0.52.1", "@opentelemetry/instrumentation@^0.49 || ^0.50 || ^0.51 || ^0.52.0", "@opentelemetry/instrumentation@^0.52.0", "@opentelemetry/instrumentation@^0.52.1":
version "0.52.1"
resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation/-/instrumentation-0.52.1.tgz#2e7e46a38bd7afbf03cf688c862b0b43418b7f48"
integrity sha512-uXJbYU/5/MBHjMp1FqrILLRuiJCs3Ofk0MeRDk8g1S1gD47U8X3JnSwcMO1rtRo1x1a7zKaQHaoYu49p/4eSKw==
dependencies:
"@opentelemetry/api-logs" "0.52.1"
"@types/shimmer" "^1.0.2"
import-in-the-middle "^1.8.1"
require-in-the-middle "^7.1.1"
semver "^7.5.2"
shimmer "^1.2.1"
"@opentelemetry/instrumentation@0.53.0", "@opentelemetry/instrumentation@^0.53.0": "@opentelemetry/instrumentation@0.53.0", "@opentelemetry/instrumentation@^0.53.0":
version "0.53.0" version "0.53.0"
resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation/-/instrumentation-0.53.0.tgz#e6369e4015eb5112468a4d45d38dcada7dad892d" resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation/-/instrumentation-0.53.0.tgz#e6369e4015eb5112468a4d45d38dcada7dad892d"
@ -3479,13 +3323,14 @@
semver "^7.5.2" semver "^7.5.2"
shimmer "^1.2.1" shimmer "^1.2.1"
"@opentelemetry/instrumentation@^0.46.0": "@opentelemetry/instrumentation@^0.49 || ^0.50 || ^0.51 || ^0.52.0":
version "0.46.0" version "0.52.1"
resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation/-/instrumentation-0.46.0.tgz#a8a252306f82e2eace489312798592a14eb9830e" resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation/-/instrumentation-0.52.1.tgz#2e7e46a38bd7afbf03cf688c862b0b43418b7f48"
integrity sha512-a9TijXZZbk0vI5TGLZl+0kxyFfrXHhX6Svtz7Pp2/VBlCSKrazuULEyoJQrOknJyFWNMEmbbJgOciHCCpQcisw== integrity sha512-uXJbYU/5/MBHjMp1FqrILLRuiJCs3Ofk0MeRDk8g1S1gD47U8X3JnSwcMO1rtRo1x1a7zKaQHaoYu49p/4eSKw==
dependencies: dependencies:
"@opentelemetry/api-logs" "0.52.1"
"@types/shimmer" "^1.0.2" "@types/shimmer" "^1.0.2"
import-in-the-middle "1.7.1" import-in-the-middle "^1.8.1"
require-in-the-middle "^7.1.1" require-in-the-middle "^7.1.1"
semver "^7.5.2" semver "^7.5.2"
shimmer "^1.2.1" shimmer "^1.2.1"
@ -3495,7 +3340,7 @@
resolved "https://registry.yarnpkg.com/@opentelemetry/redis-common/-/redis-common-0.36.2.tgz#906ac8e4d804d4109f3ebd5c224ac988276fdc47" resolved "https://registry.yarnpkg.com/@opentelemetry/redis-common/-/redis-common-0.36.2.tgz#906ac8e4d804d4109f3ebd5c224ac988276fdc47"
integrity sha512-faYX1N0gpLhej/6nyp6bgRjzAKXn5GOEMYY7YhciSfCoITAktLUtQ36d24QEWNA1/WA1y6qQunCe0OhHRkVl9g== integrity sha512-faYX1N0gpLhej/6nyp6bgRjzAKXn5GOEMYY7YhciSfCoITAktLUtQ36d24QEWNA1/WA1y6qQunCe0OhHRkVl9g==
"@opentelemetry/resources@1.25.1", "@opentelemetry/resources@^1.25.1": "@opentelemetry/resources@1.25.1":
version "1.25.1" version "1.25.1"
resolved "https://registry.yarnpkg.com/@opentelemetry/resources/-/resources-1.25.1.tgz#bb9a674af25a1a6c30840b755bc69da2796fefbb" resolved "https://registry.yarnpkg.com/@opentelemetry/resources/-/resources-1.25.1.tgz#bb9a674af25a1a6c30840b755bc69da2796fefbb"
integrity sha512-pkZT+iFYIZsVn6+GzM0kSX+u3MSLCY9md+lIJOoKl/P+gJFfxJte/60Usdp8Ce4rOs8GduUpSPNe1ddGyDT1sQ== integrity sha512-pkZT+iFYIZsVn6+GzM0kSX+u3MSLCY9md+lIJOoKl/P+gJFfxJte/60Usdp8Ce4rOs8GduUpSPNe1ddGyDT1sQ==
@ -3520,7 +3365,7 @@
"@opentelemetry/resources" "1.25.1" "@opentelemetry/resources" "1.25.1"
lodash.merge "^4.6.2" lodash.merge "^4.6.2"
"@opentelemetry/sdk-trace-base@^1.22", "@opentelemetry/sdk-trace-base@^1.25.1": "@opentelemetry/sdk-trace-base@^1.22":
version "1.25.1" version "1.25.1"
resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.25.1.tgz#cbc1e60af255655d2020aa14cde17b37bd13df37" resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.25.1.tgz#cbc1e60af255655d2020aa14cde17b37bd13df37"
integrity sha512-C8k4hnEbc5FamuZQ92nTOp8X/diCY56XUTnMiv9UTuJitCzaNNHAVsdm5+HLCdI8SLQsLWIrG38tddMxLVoftw== integrity sha512-C8k4hnEbc5FamuZQ92nTOp8X/diCY56XUTnMiv9UTuJitCzaNNHAVsdm5+HLCdI8SLQsLWIrG38tddMxLVoftw==
@ -3538,7 +3383,7 @@
"@opentelemetry/resources" "1.26.0" "@opentelemetry/resources" "1.26.0"
"@opentelemetry/semantic-conventions" "1.27.0" "@opentelemetry/semantic-conventions" "1.27.0"
"@opentelemetry/semantic-conventions@1.25.1", "@opentelemetry/semantic-conventions@^1.17.0", "@opentelemetry/semantic-conventions@^1.22.0", "@opentelemetry/semantic-conventions@^1.23.0", "@opentelemetry/semantic-conventions@^1.25.1": "@opentelemetry/semantic-conventions@1.25.1":
version "1.25.1" version "1.25.1"
resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.25.1.tgz#0deecb386197c5e9c2c28f2f89f51fb8ae9f145e" resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.25.1.tgz#0deecb386197c5e9c2c28f2f89f51fb8ae9f145e"
integrity sha512-ZDjMJJQRlyk8A1KZFCc+bCbsyrn1wTwdNt56F7twdfUfnHUZUq77/WfONCj8p72NZOyP7pNTdUWSTYC3GTbuuQ== integrity sha512-ZDjMJJQRlyk8A1KZFCc+bCbsyrn1wTwdNt56F7twdfUfnHUZUq77/WfONCj8p72NZOyP7pNTdUWSTYC3GTbuuQ==
@ -3650,15 +3495,6 @@
dependencies: dependencies:
"@prisma/debug" "5.17.0" "@prisma/debug" "5.17.0"
"@prisma/instrumentation@5.18.0":
version "5.18.0"
resolved "https://registry.yarnpkg.com/@prisma/instrumentation/-/instrumentation-5.18.0.tgz#8b49e25bf3f8f756eb0c4c199b4cf8b6631db891"
integrity sha512-r074avGkpPXItk+josQPhufZEmGhUCb16PQx4ITPS40vWTpTPET4VsgCBZB2alIN6SS7pRFod2vz2M2HHEEylQ==
dependencies:
"@opentelemetry/api" "^1.8"
"@opentelemetry/instrumentation" "^0.49 || ^0.50 || ^0.51 || ^0.52.0"
"@opentelemetry/sdk-trace-base" "^1.22"
"@prisma/instrumentation@5.19.1": "@prisma/instrumentation@5.19.1":
version "5.19.1" version "5.19.1"
resolved "https://registry.yarnpkg.com/@prisma/instrumentation/-/instrumentation-5.19.1.tgz#146319cf85f22b7a43296f0f40cfeac55516e66e" resolved "https://registry.yarnpkg.com/@prisma/instrumentation/-/instrumentation-5.19.1.tgz#146319cf85f22b7a43296f0f40cfeac55516e66e"
@ -4877,15 +4713,6 @@
domhandler "^5.0.3" domhandler "^5.0.3"
selderee "^0.11.0" selderee "^0.11.0"
"@sentry-internal/browser-utils@8.27.0":
version "8.27.0"
resolved "https://registry.yarnpkg.com/@sentry-internal/browser-utils/-/browser-utils-8.27.0.tgz#b8fd1c5e6b8c01d76abbba7ac5017eebcf7d3ed2"
integrity sha512-YTIwQ1GM1NTRXgN4DvpFSQ2x4pjlqQ0FQAyHW5x2ZYv4z7VmqG4Xkid1P/srQUipECk6nxkebfD4WR19nLsvnQ==
dependencies:
"@sentry/core" "8.27.0"
"@sentry/types" "8.27.0"
"@sentry/utils" "8.27.0"
"@sentry-internal/browser-utils@8.32.0": "@sentry-internal/browser-utils@8.32.0":
version "8.32.0" version "8.32.0"
resolved "https://registry.yarnpkg.com/@sentry-internal/browser-utils/-/browser-utils-8.32.0.tgz#9bcea7d107d5adc82ed9331168468ee44eef8f2d" resolved "https://registry.yarnpkg.com/@sentry-internal/browser-utils/-/browser-utils-8.32.0.tgz#9bcea7d107d5adc82ed9331168468ee44eef8f2d"
@ -4895,15 +4722,6 @@
"@sentry/types" "8.32.0" "@sentry/types" "8.32.0"
"@sentry/utils" "8.32.0" "@sentry/utils" "8.32.0"
"@sentry-internal/feedback@8.27.0":
version "8.27.0"
resolved "https://registry.yarnpkg.com/@sentry-internal/feedback/-/feedback-8.27.0.tgz#46a4cbde49d7a1cb182792c28341a8c89249e6b1"
integrity sha512-b71PQc9aK1X9b/SO1DiJlrnAEx4n0MzPZQ/tKd9oRWDyGit6pJWZfQns9r2rvc96kJPMOTxFAa/upXRCkA723A==
dependencies:
"@sentry/core" "8.27.0"
"@sentry/types" "8.27.0"
"@sentry/utils" "8.27.0"
"@sentry-internal/feedback@8.32.0": "@sentry-internal/feedback@8.32.0":
version "8.32.0" version "8.32.0"
resolved "https://registry.yarnpkg.com/@sentry-internal/feedback/-/feedback-8.32.0.tgz#ac9a08b060d1016704e42f8c2726ead419f64061" resolved "https://registry.yarnpkg.com/@sentry-internal/feedback/-/feedback-8.32.0.tgz#ac9a08b060d1016704e42f8c2726ead419f64061"
@ -4913,16 +4731,6 @@
"@sentry/types" "8.32.0" "@sentry/types" "8.32.0"
"@sentry/utils" "8.32.0" "@sentry/utils" "8.32.0"
"@sentry-internal/replay-canvas@8.27.0":
version "8.27.0"
resolved "https://registry.yarnpkg.com/@sentry-internal/replay-canvas/-/replay-canvas-8.27.0.tgz#24a154f37b200ed99bb99a39cf98c35f25c2b93b"
integrity sha512-uuEfiWbjwugB9M4KxXxovHYiKRqg/R6U4EF8xM/Ub4laUuEcWsfRp7lQ3MxL3qYojbca8ncIFic2bIoKMPeejA==
dependencies:
"@sentry-internal/replay" "8.27.0"
"@sentry/core" "8.27.0"
"@sentry/types" "8.27.0"
"@sentry/utils" "8.27.0"
"@sentry-internal/replay-canvas@8.32.0": "@sentry-internal/replay-canvas@8.32.0":
version "8.32.0" version "8.32.0"
resolved "https://registry.yarnpkg.com/@sentry-internal/replay-canvas/-/replay-canvas-8.32.0.tgz#5d56161b0b62b22cbd49db120e3ea56b370ead8c" resolved "https://registry.yarnpkg.com/@sentry-internal/replay-canvas/-/replay-canvas-8.32.0.tgz#5d56161b0b62b22cbd49db120e3ea56b370ead8c"
@ -4933,16 +4741,6 @@
"@sentry/types" "8.32.0" "@sentry/types" "8.32.0"
"@sentry/utils" "8.32.0" "@sentry/utils" "8.32.0"
"@sentry-internal/replay@8.27.0":
version "8.27.0"
resolved "https://registry.yarnpkg.com/@sentry-internal/replay/-/replay-8.27.0.tgz#7762647930c3a9b3d99f6d4c486b28f9d3da70c2"
integrity sha512-Ofucncaon98dvlxte2L//hwuG9yILSxNrTz/PmO0k+HzB9q+oBic4667QF+azWR2qv4oKSWpc+vEovP3hVqveA==
dependencies:
"@sentry-internal/browser-utils" "8.27.0"
"@sentry/core" "8.27.0"
"@sentry/types" "8.27.0"
"@sentry/utils" "8.27.0"
"@sentry-internal/replay@8.32.0": "@sentry-internal/replay@8.32.0":
version "8.32.0" version "8.32.0"
resolved "https://registry.yarnpkg.com/@sentry-internal/replay/-/replay-8.32.0.tgz#59e3ec7b51c9214eeae9fa617490b89ce6737e1c" resolved "https://registry.yarnpkg.com/@sentry-internal/replay/-/replay-8.32.0.tgz#59e3ec7b51c9214eeae9fa617490b89ce6737e1c"
@ -4953,29 +4751,11 @@
"@sentry/types" "8.32.0" "@sentry/types" "8.32.0"
"@sentry/utils" "8.32.0" "@sentry/utils" "8.32.0"
"@sentry/babel-plugin-component-annotate@2.20.1":
version "2.20.1"
resolved "https://registry.yarnpkg.com/@sentry/babel-plugin-component-annotate/-/babel-plugin-component-annotate-2.20.1.tgz#204c63ed006a048f48f633876e1b8bacf87a9722"
integrity sha512-4mhEwYTK00bIb5Y9UWIELVUfru587Vaeg0DQGswv4aIRHIiMKLyNqCEejaaybQ/fNChIZOKmvyqXk430YVd7Qg==
"@sentry/babel-plugin-component-annotate@2.22.3": "@sentry/babel-plugin-component-annotate@2.22.3":
version "2.22.3" version "2.22.3"
resolved "https://registry.yarnpkg.com/@sentry/babel-plugin-component-annotate/-/babel-plugin-component-annotate-2.22.3.tgz#de4970d51a54ef52b21f0d6ec49bd06bf37753c1" resolved "https://registry.yarnpkg.com/@sentry/babel-plugin-component-annotate/-/babel-plugin-component-annotate-2.22.3.tgz#de4970d51a54ef52b21f0d6ec49bd06bf37753c1"
integrity sha512-OlHA+i+vnQHRIdry4glpiS/xTOtgjmpXOt6IBOUqynx5Jd/iK1+fj+t8CckqOx9wRacO/hru2wfW/jFq0iViLg== integrity sha512-OlHA+i+vnQHRIdry4glpiS/xTOtgjmpXOt6IBOUqynx5Jd/iK1+fj+t8CckqOx9wRacO/hru2wfW/jFq0iViLg==
"@sentry/browser@8.27.0":
version "8.27.0"
resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-8.27.0.tgz#997eb6b3c298a659a109704a0fb660eae365cd3a"
integrity sha512-eL1eaHwoYUGkp4mpeYesH6WtCrm+0u9jYCW5Lm0MAeTmpx22BZKEmj0OljuUJXGnJwFbvPDlRjyz6QG11m8kZA==
dependencies:
"@sentry-internal/browser-utils" "8.27.0"
"@sentry-internal/feedback" "8.27.0"
"@sentry-internal/replay" "8.27.0"
"@sentry-internal/replay-canvas" "8.27.0"
"@sentry/core" "8.27.0"
"@sentry/types" "8.27.0"
"@sentry/utils" "8.27.0"
"@sentry/browser@8.32.0": "@sentry/browser@8.32.0":
version "8.32.0" version "8.32.0"
resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-8.32.0.tgz#3944bc5178e6cfffc8c71ba05920fee7dec5bd38" resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-8.32.0.tgz#3944bc5178e6cfffc8c71ba05920fee7dec5bd38"
@ -4989,20 +4769,6 @@
"@sentry/types" "8.32.0" "@sentry/types" "8.32.0"
"@sentry/utils" "8.32.0" "@sentry/utils" "8.32.0"
"@sentry/bundler-plugin-core@2.20.1":
version "2.20.1"
resolved "https://registry.yarnpkg.com/@sentry/bundler-plugin-core/-/bundler-plugin-core-2.20.1.tgz#c9dd35e2177a4c22ecf675558eb84fbc2607e465"
integrity sha512-6ipbmGzHekxeRCbp7eoefr6bdd/lW4cNA9eNnrmd9+PicubweGaZZbH2NjhFHsaxzgOezwipDHjrTaap2kTHgw==
dependencies:
"@babel/core" "^7.18.5"
"@sentry/babel-plugin-component-annotate" "2.20.1"
"@sentry/cli" "^2.22.3"
dotenv "^16.3.1"
find-up "^5.0.0"
glob "^9.3.2"
magic-string "0.30.8"
unplugin "1.0.1"
"@sentry/bundler-plugin-core@2.22.3": "@sentry/bundler-plugin-core@2.22.3":
version "2.22.3" version "2.22.3"
resolved "https://registry.yarnpkg.com/@sentry/bundler-plugin-core/-/bundler-plugin-core-2.22.3.tgz#f8c0a25321216ae9777749c1a4b9d982ae1ec2e1" resolved "https://registry.yarnpkg.com/@sentry/bundler-plugin-core/-/bundler-plugin-core-2.22.3.tgz#f8c0a25321216ae9777749c1a4b9d982ae1ec2e1"
@ -5017,95 +4783,41 @@
magic-string "0.30.8" magic-string "0.30.8"
unplugin "1.0.1" unplugin "1.0.1"
"@sentry/cli-darwin@2.32.1":
version "2.32.1"
resolved "https://registry.yarnpkg.com/@sentry/cli-darwin/-/cli-darwin-2.32.1.tgz#9cb3b8cfb7068d40979514dee72e2bb3ad2c6d0a"
integrity sha512-z/lEwANTYPCzbWTZ2+eeeNYxRLllC8knd0h+vtAKlhmGw/fyc/N39cznIFyFu+dLJ6tTdjOWOeikHtKuS/7onw==
"@sentry/cli-darwin@2.36.3": "@sentry/cli-darwin@2.36.3":
version "2.36.3" version "2.36.3"
resolved "https://registry.yarnpkg.com/@sentry/cli-darwin/-/cli-darwin-2.36.3.tgz#17798bb784d09dfa3c91cbe68366c6403527cd11" resolved "https://registry.yarnpkg.com/@sentry/cli-darwin/-/cli-darwin-2.36.3.tgz#17798bb784d09dfa3c91cbe68366c6403527cd11"
integrity sha512-U0Uean/tW99G5Ma3CjNDXg5bjd4Tmf91Sd/9JKK6dGcEsrWiQpn7ao70kkHy/fwMbeOWE37L7O+NPf86CxHzGA== integrity sha512-U0Uean/tW99G5Ma3CjNDXg5bjd4Tmf91Sd/9JKK6dGcEsrWiQpn7ao70kkHy/fwMbeOWE37L7O+NPf86CxHzGA==
"@sentry/cli-linux-arm64@2.32.1":
version "2.32.1"
resolved "https://registry.yarnpkg.com/@sentry/cli-linux-arm64/-/cli-linux-arm64-2.32.1.tgz#785a5d5d3d2919c581bf5b4efc638c3695d8c3bf"
integrity sha512-hsGqHYuecUl1Yhq4MhiRejfh1gNlmhyNPcQEoO/DDRBnGnJyEAdiDpKXJcc2e/lT9k40B55Ob2CP1SeY040T2w==
"@sentry/cli-linux-arm64@2.36.3": "@sentry/cli-linux-arm64@2.36.3":
version "2.36.3" version "2.36.3"
resolved "https://registry.yarnpkg.com/@sentry/cli-linux-arm64/-/cli-linux-arm64-2.36.3.tgz#0133753bbd6fc624815bb34afa69f5fd3c703013" resolved "https://registry.yarnpkg.com/@sentry/cli-linux-arm64/-/cli-linux-arm64-2.36.3.tgz#0133753bbd6fc624815bb34afa69f5fd3c703013"
integrity sha512-bNr9GUYsn+VcK09FjE+llvxUwtPFAva6FMIcYiAKi6iY3wdmtaOou0Mtkd9dQXkxONAZ0T113x/WQANKBjl4+A== integrity sha512-bNr9GUYsn+VcK09FjE+llvxUwtPFAva6FMIcYiAKi6iY3wdmtaOou0Mtkd9dQXkxONAZ0T113x/WQANKBjl4+A==
"@sentry/cli-linux-arm@2.32.1":
version "2.32.1"
resolved "https://registry.yarnpkg.com/@sentry/cli-linux-arm/-/cli-linux-arm-2.32.1.tgz#7f9e8292850311bab263e7b84800eb407ff37998"
integrity sha512-m0lHkn+o4YKBq8KptGZvpT64FAwSl9mYvHZO9/ChnEGIJ/WyJwiN1X1r9JHVaW4iT5lD0Y5FAyq3JLkk0m0XHg==
"@sentry/cli-linux-arm@2.36.3": "@sentry/cli-linux-arm@2.36.3":
version "2.36.3" version "2.36.3"
resolved "https://registry.yarnpkg.com/@sentry/cli-linux-arm/-/cli-linux-arm-2.36.3.tgz#673e0870561480bca034c4db389c374ceebf3dfb" resolved "https://registry.yarnpkg.com/@sentry/cli-linux-arm/-/cli-linux-arm-2.36.3.tgz#673e0870561480bca034c4db389c374ceebf3dfb"
integrity sha512-Kq8+TG/p/j0GLlJVxnLguAGcp3EqrU4msl4K+7g+6JYnOPLVbUzwZ6ah2WVGtWqlZ3QMFgeeXc7VgPY8KXViqw== integrity sha512-Kq8+TG/p/j0GLlJVxnLguAGcp3EqrU4msl4K+7g+6JYnOPLVbUzwZ6ah2WVGtWqlZ3QMFgeeXc7VgPY8KXViqw==
"@sentry/cli-linux-i686@2.32.1":
version "2.32.1"
resolved "https://registry.yarnpkg.com/@sentry/cli-linux-i686/-/cli-linux-i686-2.32.1.tgz#8e85fa58dee042e6a4642e960d226788f8e7288b"
integrity sha512-SuMLN1/ceFd3Q/B0DVyh5igjetTAF423txiABAHASenEev0lG0vZkRDXFclfgDtDUKRPmOXW7VDMirM3yZWQHQ==
"@sentry/cli-linux-i686@2.36.3": "@sentry/cli-linux-i686@2.36.3":
version "2.36.3" version "2.36.3"
resolved "https://registry.yarnpkg.com/@sentry/cli-linux-i686/-/cli-linux-i686-2.36.3.tgz#2cb08f8aaf8a9f1e1207ea7ef00e5635a744698e" resolved "https://registry.yarnpkg.com/@sentry/cli-linux-i686/-/cli-linux-i686-2.36.3.tgz#2cb08f8aaf8a9f1e1207ea7ef00e5635a744698e"
integrity sha512-5J5lOzZgvhcjbtuw/JD7jMq1liNbtYXvEuSd+qZa7D8i+Va5cFF8fQui3eev2RxqeYLLwkJWE/djLjeWjMZ7jQ== integrity sha512-5J5lOzZgvhcjbtuw/JD7jMq1liNbtYXvEuSd+qZa7D8i+Va5cFF8fQui3eev2RxqeYLLwkJWE/djLjeWjMZ7jQ==
"@sentry/cli-linux-x64@2.32.1":
version "2.32.1"
resolved "https://registry.yarnpkg.com/@sentry/cli-linux-x64/-/cli-linux-x64-2.32.1.tgz#b68ed9c4ba163b6730d386dbeca828114f1c979b"
integrity sha512-x4FGd6xgvFddz8V/dh6jii4wy9qjWyvYLBTz8Fhi9rIP+b8wQ3oxwHIdzntareetZP7C1ggx+hZheiYocNYVwA==
"@sentry/cli-linux-x64@2.36.3": "@sentry/cli-linux-x64@2.36.3":
version "2.36.3" version "2.36.3"
resolved "https://registry.yarnpkg.com/@sentry/cli-linux-x64/-/cli-linux-x64-2.36.3.tgz#97587b3e4b65f36bfbe66823dabec98e723b5c17" resolved "https://registry.yarnpkg.com/@sentry/cli-linux-x64/-/cli-linux-x64-2.36.3.tgz#97587b3e4b65f36bfbe66823dabec98e723b5c17"
integrity sha512-48pyk93yRiQ7x7ABobYupVfGg1f/vUrBZG7CcaIsDiQL66/kIRjYoh7d7kH8Da/x/LKMiVf/i8/rh2Vr1pcSEw== integrity sha512-48pyk93yRiQ7x7ABobYupVfGg1f/vUrBZG7CcaIsDiQL66/kIRjYoh7d7kH8Da/x/LKMiVf/i8/rh2Vr1pcSEw==
"@sentry/cli-win32-i686@2.32.1":
version "2.32.1"
resolved "https://registry.yarnpkg.com/@sentry/cli-win32-i686/-/cli-win32-i686-2.32.1.tgz#e2532893f87f5d180f6e56f49904d4ac141c8788"
integrity sha512-i6aZma9mFzR+hqMY5VliQZEX6ypP/zUjPK0VtIMYWs5cC6PsQLRmuoeJmy3Z7d4nlh0CdK5NPC813Ej6RY6/vg==
"@sentry/cli-win32-i686@2.36.3": "@sentry/cli-win32-i686@2.36.3":
version "2.36.3" version "2.36.3"
resolved "https://registry.yarnpkg.com/@sentry/cli-win32-i686/-/cli-win32-i686-2.36.3.tgz#c953ce5c91bd75618b21c7b50bf4326435863824" resolved "https://registry.yarnpkg.com/@sentry/cli-win32-i686/-/cli-win32-i686-2.36.3.tgz#c953ce5c91bd75618b21c7b50bf4326435863824"
integrity sha512-IEuTCeQjgffvBjDGVYV9d2uWBzmFGmwWIyWUTEMjy76tRnIz0MJaW59Lxd7JdTd1s9xO1F2K7Iz+zxd/kufMRg== integrity sha512-IEuTCeQjgffvBjDGVYV9d2uWBzmFGmwWIyWUTEMjy76tRnIz0MJaW59Lxd7JdTd1s9xO1F2K7Iz+zxd/kufMRg==
"@sentry/cli-win32-x64@2.32.1":
version "2.32.1"
resolved "https://registry.yarnpkg.com/@sentry/cli-win32-x64/-/cli-win32-x64-2.32.1.tgz#6b60607cbba243f3708779443cd3f16e09d4289c"
integrity sha512-B58w/lRHLb4MUSjJNfMMw2cQykfimDCMLMmeK+1EiT2RmSeNQliwhhBxYcKk82a8kszH6zg3wT2vCea7LyPUyA==
"@sentry/cli-win32-x64@2.36.3": "@sentry/cli-win32-x64@2.36.3":
version "2.36.3" version "2.36.3"
resolved "https://registry.yarnpkg.com/@sentry/cli-win32-x64/-/cli-win32-x64-2.36.3.tgz#01cf4dd581f0a7871397569fc459062a98a51e4f" resolved "https://registry.yarnpkg.com/@sentry/cli-win32-x64/-/cli-win32-x64-2.36.3.tgz#01cf4dd581f0a7871397569fc459062a98a51e4f"
integrity sha512-ygJLd3nazoNcDMJu1sl8xoSWmmjeBJMMUH6MnDhtQdM9T2j+ndqfL0fZZNO0/kyMv0Bo7/n5kRmKiX2m9Dsi/g== integrity sha512-ygJLd3nazoNcDMJu1sl8xoSWmmjeBJMMUH6MnDhtQdM9T2j+ndqfL0fZZNO0/kyMv0Bo7/n5kRmKiX2m9Dsi/g==
"@sentry/cli@^2.22.3":
version "2.32.1"
resolved "https://registry.yarnpkg.com/@sentry/cli/-/cli-2.32.1.tgz#80932d3d58e6d3b52e2bd705673e08deeb9cb5b0"
integrity sha512-MWkbkzZfnlE7s2pPbg4VozRSAeMlIObfZlTIou9ye6XnPt6ZmmxCLOuOgSKMv4sXg6aeqKNzMNiadThxCWyvPg==
dependencies:
https-proxy-agent "^5.0.0"
node-fetch "^2.6.7"
progress "^2.0.3"
proxy-from-env "^1.1.0"
which "^2.0.2"
optionalDependencies:
"@sentry/cli-darwin" "2.32.1"
"@sentry/cli-linux-arm" "2.32.1"
"@sentry/cli-linux-arm64" "2.32.1"
"@sentry/cli-linux-i686" "2.32.1"
"@sentry/cli-linux-x64" "2.32.1"
"@sentry/cli-win32-i686" "2.32.1"
"@sentry/cli-win32-x64" "2.32.1"
"@sentry/cli@^2.33.1": "@sentry/cli@^2.33.1":
version "2.36.3" version "2.36.3"
resolved "https://registry.yarnpkg.com/@sentry/cli/-/cli-2.36.3.tgz#8f0545251c0cf90fe492ce8ca46869d17f5021cd" resolved "https://registry.yarnpkg.com/@sentry/cli/-/cli-2.36.3.tgz#8f0545251c0cf90fe492ce8ca46869d17f5021cd"
@ -5125,14 +4837,6 @@
"@sentry/cli-win32-i686" "2.36.3" "@sentry/cli-win32-i686" "2.36.3"
"@sentry/cli-win32-x64" "2.36.3" "@sentry/cli-win32-x64" "2.36.3"
"@sentry/core@8.27.0":
version "8.27.0"
resolved "https://registry.yarnpkg.com/@sentry/core/-/core-8.27.0.tgz#a0ebe31cdd9313186a14d9738238ed9cf7a59c01"
integrity sha512-4frlXluHT3Du+Omw91K04jpvbfMtydvg4Bxj2+gt/DT19Swhm/fbEpzdUjgbAd3Jinj/n0qk/jFRXjr9JZKFjg==
dependencies:
"@sentry/types" "8.27.0"
"@sentry/utils" "8.27.0"
"@sentry/core@8.32.0": "@sentry/core@8.32.0":
version "8.32.0" version "8.32.0"
resolved "https://registry.yarnpkg.com/@sentry/core/-/core-8.32.0.tgz#7c4b74afa7a15bd31f5e6881aac82ccfd753e1d6" resolved "https://registry.yarnpkg.com/@sentry/core/-/core-8.32.0.tgz#7c4b74afa7a15bd31f5e6881aac82ccfd753e1d6"
@ -5141,27 +4845,6 @@
"@sentry/types" "8.32.0" "@sentry/types" "8.32.0"
"@sentry/utils" "8.32.0" "@sentry/utils" "8.32.0"
"@sentry/nextjs@*":
version "8.27.0"
resolved "https://registry.yarnpkg.com/@sentry/nextjs/-/nextjs-8.27.0.tgz#c6fece7bf856777e3b4b9d67db67af84df68a29c"
integrity sha512-fJgyBZj+arrNDtmxyKlWBm9ApxyzU3ydZPviSK3ub9gJemk0YqW/IKjF3PojtqLvtBnT81heDb/cysBadb+WpA==
dependencies:
"@opentelemetry/instrumentation-http" "0.52.1"
"@opentelemetry/semantic-conventions" "^1.25.1"
"@rollup/plugin-commonjs" "26.0.1"
"@sentry/core" "8.27.0"
"@sentry/node" "8.27.0"
"@sentry/opentelemetry" "8.27.0"
"@sentry/react" "8.27.0"
"@sentry/types" "8.27.0"
"@sentry/utils" "8.27.0"
"@sentry/vercel-edge" "8.27.0"
"@sentry/webpack-plugin" "2.20.1"
chalk "3.0.0"
resolve "1.22.8"
rollup "3.29.4"
stacktrace-parser "^0.1.10"
"@sentry/nextjs@^8.32.0": "@sentry/nextjs@^8.32.0":
version "8.32.0" version "8.32.0"
resolved "https://registry.yarnpkg.com/@sentry/nextjs/-/nextjs-8.32.0.tgz#33e1fed7e428e88591740e40abacb2c85336d19e" resolved "https://registry.yarnpkg.com/@sentry/nextjs/-/nextjs-8.32.0.tgz#33e1fed7e428e88591740e40abacb2c85336d19e"
@ -5184,43 +4867,6 @@
rollup "3.29.5" rollup "3.29.5"
stacktrace-parser "^0.1.10" stacktrace-parser "^0.1.10"
"@sentry/node@8.27.0":
version "8.27.0"
resolved "https://registry.yarnpkg.com/@sentry/node/-/node-8.27.0.tgz#91a56b907f4cf7f5d7b2cbb97dbee313383f2887"
integrity sha512-nE2VPSHOW/tzH/lB6CoBtYkmXqXncUuWMC56RLRiPyHEXDktZx8oFp364/3m117iKOjO0XHP57Kl5cdb90IM7g==
dependencies:
"@opentelemetry/api" "^1.9.0"
"@opentelemetry/context-async-hooks" "^1.25.1"
"@opentelemetry/core" "^1.25.1"
"@opentelemetry/instrumentation" "^0.52.1"
"@opentelemetry/instrumentation-connect" "0.38.0"
"@opentelemetry/instrumentation-express" "0.41.1"
"@opentelemetry/instrumentation-fastify" "0.38.0"
"@opentelemetry/instrumentation-fs" "0.14.0"
"@opentelemetry/instrumentation-graphql" "0.42.0"
"@opentelemetry/instrumentation-hapi" "0.40.0"
"@opentelemetry/instrumentation-http" "0.52.1"
"@opentelemetry/instrumentation-ioredis" "0.42.0"
"@opentelemetry/instrumentation-koa" "0.42.0"
"@opentelemetry/instrumentation-mongodb" "0.46.0"
"@opentelemetry/instrumentation-mongoose" "0.40.0"
"@opentelemetry/instrumentation-mysql" "0.40.0"
"@opentelemetry/instrumentation-mysql2" "0.40.0"
"@opentelemetry/instrumentation-nestjs-core" "0.39.0"
"@opentelemetry/instrumentation-pg" "0.43.0"
"@opentelemetry/instrumentation-redis-4" "0.41.0"
"@opentelemetry/resources" "^1.25.1"
"@opentelemetry/sdk-trace-base" "^1.25.1"
"@opentelemetry/semantic-conventions" "^1.25.1"
"@prisma/instrumentation" "5.18.0"
"@sentry/core" "8.27.0"
"@sentry/opentelemetry" "8.27.0"
"@sentry/types" "8.27.0"
"@sentry/utils" "8.27.0"
import-in-the-middle "^1.11.0"
optionalDependencies:
opentelemetry-instrumentation-fetch-node "1.2.3"
"@sentry/node@8.32.0": "@sentry/node@8.32.0":
version "8.32.0" version "8.32.0"
resolved "https://registry.yarnpkg.com/@sentry/node/-/node-8.32.0.tgz#68822b3246fb2ed7418f21795ed539a18058cfa8" resolved "https://registry.yarnpkg.com/@sentry/node/-/node-8.32.0.tgz#68822b3246fb2ed7418f21795ed539a18058cfa8"
@ -5261,15 +4907,6 @@
"@sentry/utils" "8.32.0" "@sentry/utils" "8.32.0"
import-in-the-middle "^1.11.0" import-in-the-middle "^1.11.0"
"@sentry/opentelemetry@8.27.0":
version "8.27.0"
resolved "https://registry.yarnpkg.com/@sentry/opentelemetry/-/opentelemetry-8.27.0.tgz#d5b55cf277ad1fc8111467887fd40ef428229a40"
integrity sha512-FRz7ApnyZYDFmi2CWUhKBux2N/0WswRLHwHDZ31FYCajujw7vQKucgdsxDW2RIRPWDwcMxHY1kvt6EzM1hIsxQ==
dependencies:
"@sentry/core" "8.27.0"
"@sentry/types" "8.27.0"
"@sentry/utils" "8.27.0"
"@sentry/opentelemetry@8.32.0": "@sentry/opentelemetry@8.32.0":
version "8.32.0" version "8.32.0"
resolved "https://registry.yarnpkg.com/@sentry/opentelemetry/-/opentelemetry-8.32.0.tgz#4af02c17102635e4b34942d2e82d3620ddb7d95a" resolved "https://registry.yarnpkg.com/@sentry/opentelemetry/-/opentelemetry-8.32.0.tgz#4af02c17102635e4b34942d2e82d3620ddb7d95a"
@ -5279,17 +4916,6 @@
"@sentry/types" "8.32.0" "@sentry/types" "8.32.0"
"@sentry/utils" "8.32.0" "@sentry/utils" "8.32.0"
"@sentry/react@8.27.0":
version "8.27.0"
resolved "https://registry.yarnpkg.com/@sentry/react/-/react-8.27.0.tgz#3ff4b8ece65af170fe32102ecb8847b53c675ffd"
integrity sha512-8pD+J9UVnSGmPnm5dHJup5OVsHTN/pL4Ozi01yyrpivLkQiMZNac3OXsc0C7zXnztfLQx0kmTyCOzbRROfbpnA==
dependencies:
"@sentry/browser" "8.27.0"
"@sentry/core" "8.27.0"
"@sentry/types" "8.27.0"
"@sentry/utils" "8.27.0"
hoist-non-react-statics "^3.3.2"
"@sentry/react@8.32.0": "@sentry/react@8.32.0":
version "8.32.0" version "8.32.0"
resolved "https://registry.yarnpkg.com/@sentry/react/-/react-8.32.0.tgz#0f2cf7212df652653e32fa22778723035617f65d" resolved "https://registry.yarnpkg.com/@sentry/react/-/react-8.32.0.tgz#0f2cf7212df652653e32fa22778723035617f65d"
@ -5301,23 +4927,11 @@
"@sentry/utils" "8.32.0" "@sentry/utils" "8.32.0"
hoist-non-react-statics "^3.3.2" hoist-non-react-statics "^3.3.2"
"@sentry/types@8.27.0":
version "8.27.0"
resolved "https://registry.yarnpkg.com/@sentry/types/-/types-8.27.0.tgz#a5c7d2877c6c3620f812b2b31377b58d390b89d4"
integrity sha512-B6lrP46+m2x0lfqWc9F4VcUbN893mVGnPEd7KIMRk95mPzkFJ3sNxggTQF5/ZfNO7lDQYQb22uysB5sj/BqFiw==
"@sentry/types@8.32.0": "@sentry/types@8.32.0":
version "8.32.0" version "8.32.0"
resolved "https://registry.yarnpkg.com/@sentry/types/-/types-8.32.0.tgz#dfd8aa9449a5f793b9c720888819a74a11f1790d" resolved "https://registry.yarnpkg.com/@sentry/types/-/types-8.32.0.tgz#dfd8aa9449a5f793b9c720888819a74a11f1790d"
integrity sha512-hxckvN2MzS5SgGDgVQ0/QpZXk13Vrq4BtZLwXhPhyeTmZtUiUfWvcL5TFQqLinfKdTKPe9q2MxeAJ0D4LalhMg== integrity sha512-hxckvN2MzS5SgGDgVQ0/QpZXk13Vrq4BtZLwXhPhyeTmZtUiUfWvcL5TFQqLinfKdTKPe9q2MxeAJ0D4LalhMg==
"@sentry/utils@8.27.0":
version "8.27.0"
resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-8.27.0.tgz#308f6cc34acac175c500e4dd5b5007cdb621c79e"
integrity sha512-gyJM3SyLQe0A3mkQVVNdKYvk3ZoikkYgyA/D+5StFNLKdyUgEbJgXOGXrQSSYPF7BSX6Sc5b0KHCglPII0KuKw==
dependencies:
"@sentry/types" "8.27.0"
"@sentry/utils@8.32.0": "@sentry/utils@8.32.0":
version "8.32.0" version "8.32.0"
resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-8.32.0.tgz#99a4298ee8fd7208ade470931c19d71c571dfce8" resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-8.32.0.tgz#99a4298ee8fd7208ade470931c19d71c571dfce8"
@ -5325,15 +4939,6 @@
dependencies: dependencies:
"@sentry/types" "8.32.0" "@sentry/types" "8.32.0"
"@sentry/vercel-edge@8.27.0":
version "8.27.0"
resolved "https://registry.yarnpkg.com/@sentry/vercel-edge/-/vercel-edge-8.27.0.tgz#ae2b91449c4676fff3c09e08b1feb5ef0069d9c9"
integrity sha512-ZBi8JHLQ1lUzw/nKMvGq1rFZTFkC3nhN4CeRLfFdTN3w3+76yejOnvSZZ6+Fl01kfdl6ThRnFdBvfNuXzjC9cQ==
dependencies:
"@sentry/core" "8.27.0"
"@sentry/types" "8.27.0"
"@sentry/utils" "8.27.0"
"@sentry/vercel-edge@8.32.0": "@sentry/vercel-edge@8.32.0":
version "8.32.0" version "8.32.0"
resolved "https://registry.yarnpkg.com/@sentry/vercel-edge/-/vercel-edge-8.32.0.tgz#35d1eac12685ebd12619dfde10a494cc05eb8301" resolved "https://registry.yarnpkg.com/@sentry/vercel-edge/-/vercel-edge-8.32.0.tgz#35d1eac12685ebd12619dfde10a494cc05eb8301"
@ -5343,15 +4948,6 @@
"@sentry/types" "8.32.0" "@sentry/types" "8.32.0"
"@sentry/utils" "8.32.0" "@sentry/utils" "8.32.0"
"@sentry/webpack-plugin@2.20.1":
version "2.20.1"
resolved "https://registry.yarnpkg.com/@sentry/webpack-plugin/-/webpack-plugin-2.20.1.tgz#285d325a0a1bd0a534126b97e0190da9486ff7f6"
integrity sha512-U6LzoE09Ndt0OCWROoRaZqqIHGxyMRdKpBhbqoBqyyfVwXN/zGW3I/cWZ1e8rreiKFj+2+c7+X0kOS+NGMTUrg==
dependencies:
"@sentry/bundler-plugin-core" "2.20.1"
unplugin "1.0.1"
uuid "^9.0.0"
"@sentry/webpack-plugin@2.22.3": "@sentry/webpack-plugin@2.22.3":
version "2.22.3" version "2.22.3"
resolved "https://registry.yarnpkg.com/@sentry/webpack-plugin/-/webpack-plugin-2.22.3.tgz#a9eeb4689c062eb6dc50671c09f06ec6875b9b02" resolved "https://registry.yarnpkg.com/@sentry/webpack-plugin/-/webpack-plugin-2.22.3.tgz#a9eeb4689c062eb6dc50671c09f06ec6875b9b02"
@ -6790,13 +6386,6 @@
resolved "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz" resolved "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz"
integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA== integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==
"@types/mysql@2.15.22":
version "2.15.22"
resolved "https://registry.yarnpkg.com/@types/mysql/-/mysql-2.15.22.tgz#8705edb9872bf4aa9dbc004cd494e00334e5cdb4"
integrity sha512-wK1pzsJVVAjYCSZWQoWHziQZbNggXFDUEIGf54g4ZM/ERuP86uGdWeKZWMYlqTPMZfHJJvLPyogXGvCOg87yLQ==
dependencies:
"@types/node" "*"
"@types/mysql@2.15.26": "@types/mysql@2.15.26":
version "2.15.26" version "2.15.26"
resolved "https://registry.yarnpkg.com/@types/mysql/-/mysql-2.15.26.tgz#f0de1484b9e2354d587e7d2bd17a873cc8300836" resolved "https://registry.yarnpkg.com/@types/mysql/-/mysql-2.15.26.tgz#f0de1484b9e2354d587e7d2bd17a873cc8300836"
@ -6857,13 +6446,6 @@
resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz" resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz"
integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==
"@types/pg-pool@2.0.4":
version "2.0.4"
resolved "https://registry.yarnpkg.com/@types/pg-pool/-/pg-pool-2.0.4.tgz#b5c60f678094ff3acf3442628a7f708928fcf263"
integrity sha512-qZAvkv1K3QbmHHFYSNRYPkRjOWRLBYrL4B9c+wG0GSVGBw0NtJwPcgx/DSddeDJvRGMHCEQ4VMEVfuJ/0gZ3XQ==
dependencies:
"@types/pg" "*"
"@types/pg-pool@2.0.6": "@types/pg-pool@2.0.6":
version "2.0.6" version "2.0.6"
resolved "https://registry.yarnpkg.com/@types/pg-pool/-/pg-pool-2.0.6.tgz#1376d9dc5aec4bb2ec67ce28d7e9858227403c77" resolved "https://registry.yarnpkg.com/@types/pg-pool/-/pg-pool-2.0.6.tgz#1376d9dc5aec4bb2ec67ce28d7e9858227403c77"
@ -7418,11 +7000,6 @@ acorn-dynamic-import@^4.0.0:
resolved "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz" resolved "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz"
integrity sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw== integrity sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw==
acorn-import-assertions@^1.9.0:
version "1.9.0"
resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz#507276249d684797c84e0734ef84860334cfb1ac"
integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==
acorn-import-attributes@^1.9.5: acorn-import-attributes@^1.9.5:
version "1.9.5" version "1.9.5"
resolved "https://registry.yarnpkg.com/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz#7eb1557b1ba05ef18b5ed0ec67591bfab04688ef" resolved "https://registry.yarnpkg.com/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz#7eb1557b1ba05ef18b5ed0ec67591bfab04688ef"
@ -10415,16 +9992,6 @@ import-fresh@^3.2.1:
parent-module "^1.0.0" parent-module "^1.0.0"
resolve-from "^4.0.0" resolve-from "^4.0.0"
import-in-the-middle@1.7.1:
version "1.7.1"
resolved "https://registry.yarnpkg.com/import-in-the-middle/-/import-in-the-middle-1.7.1.tgz#3e111ff79c639d0bde459bd7ba29dd9fdf357364"
integrity sha512-1LrZPDtW+atAxH42S6288qyDFNQ2YCty+2mxEPRtfazH6Z5QwkaBSTS2ods7hnVJioF6rkRfNoA6A/MstpFXLg==
dependencies:
acorn "^8.8.2"
acorn-import-assertions "^1.9.0"
cjs-module-lexer "^1.2.2"
module-details-from-path "^1.0.3"
import-in-the-middle@^1.11.0: import-in-the-middle@^1.11.0:
version "1.11.0" version "1.11.0"
resolved "https://registry.yarnpkg.com/import-in-the-middle/-/import-in-the-middle-1.11.0.tgz#a94c4925b8da18256cde3b3b7b38253e6ca5e708" resolved "https://registry.yarnpkg.com/import-in-the-middle/-/import-in-the-middle-1.11.0.tgz#a94c4925b8da18256cde3b3b7b38253e6ca5e708"
@ -12349,14 +11916,6 @@ openid-client@^5.4.0:
object-hash "^2.2.0" object-hash "^2.2.0"
oidc-token-hash "^5.0.3" oidc-token-hash "^5.0.3"
opentelemetry-instrumentation-fetch-node@1.2.3:
version "1.2.3"
resolved "https://registry.yarnpkg.com/opentelemetry-instrumentation-fetch-node/-/opentelemetry-instrumentation-fetch-node-1.2.3.tgz#beb24048bdccb1943ba2a5bbadca68020e448ea7"
integrity sha512-Qb11T7KvoCevMaSeuamcLsAD+pZnavkhDnlVL0kRozfhl42dKG5Q3anUklAFKJZjY3twLR+BnRa6DlwwkIE/+A==
dependencies:
"@opentelemetry/instrumentation" "^0.46.0"
"@opentelemetry/semantic-conventions" "^1.17.0"
optionator@^0.9.3: optionator@^0.9.3:
version "0.9.3" version "0.9.3"
resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz" resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz"
@ -13537,13 +13096,6 @@ rimraf@^3.0.2:
dependencies: dependencies:
glob "^7.1.3" glob "^7.1.3"
rollup@3.29.4:
version "3.29.4"
resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.29.4.tgz#4d70c0f9834146df8705bfb69a9a19c9e1109981"
integrity sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==
optionalDependencies:
fsevents "~2.3.2"
rollup@3.29.5: rollup@3.29.5:
version "3.29.5" version "3.29.5"
resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.29.5.tgz#8a2e477a758b520fb78daf04bca4c522c1da8a54" resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.29.5.tgz#8a2e477a758b520fb78daf04bca4c522c1da8a54"