diff --git a/.vscode/settings.json b/.vscode/settings.json index 07bb728a..d40ae7d2 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -2,6 +2,7 @@ "editor.formatOnSave": true, "files.autoSave": "off", "editor.defaultFormatter": "esbenp.prettier-vscode", + "eslint.workingDirectories": [{ "pattern": "./apps/*/" }, { "pattern": "./packages/*/" }], "editor.codeActionsOnSave": ["source.formatDocument", "source.fixAll.eslint"], "typescript.validate.enable": true, "typescript.tsserver.experimental.enableProjectDiagnostics": true, diff --git a/apps/hub/app/_components/ui/DateInput.tsx b/apps/hub/app/_components/ui/DateInput.tsx index 6558d627..870f8b9e 100644 --- a/apps/hub/app/_components/ui/DateInput.tsx +++ b/apps/hub/app/_components/ui/DateInput.tsx @@ -24,7 +24,7 @@ export const DateInput = ({ locale={"de"} onChange={(date) => field.onChange(date)} selected={field.value} - {...(props as any)} + {...props} /> )} /> diff --git a/apps/hub/app/_components/ui/FormTextInput.tsx b/apps/hub/app/_components/ui/FormTextInput.tsx index 05436bbf..433df844 100644 --- a/apps/hub/app/_components/ui/FormTextInput.tsx +++ b/apps/hub/app/_components/ui/FormTextInput.tsx @@ -1,24 +1,18 @@ -import { DetailedHTMLProps, InputHTMLAttributes, ReactNode } from 'react'; +import { InputHTMLAttributes, ReactNode } from "react"; interface FormTextInputProps extends InputHTMLAttributes { - error: any; - Svg: ReactNode; - children?: ReactNode; + error: ReactNode; + children?: ReactNode; } -export const FormTextInput = ({ - error, - Svg, - children, - ...props -}: FormTextInputProps) => { - return ( - <> - -

{error}

- - ); +export const FormTextInput = ({ error, children, ...props }: FormTextInputProps) => { + return ( + <> + +

{error}

+ + ); }; diff --git a/apps/hub/app/_components/ui/List.tsx b/apps/hub/app/_components/ui/List.tsx index afd62856..6e1b875d 100644 --- a/apps/hub/app/_components/ui/List.tsx +++ b/apps/hub/app/_components/ui/List.tsx @@ -1,5 +1,6 @@ -import DatePicker, { DatePickerProps, registerLocale } from "react-datepicker"; -import { Control, Controller, FieldValues, Path, PathValue } from "react-hook-form"; +/* eslint-disable @typescript-eslint/no-explicit-any */ +import { DatePickerProps, registerLocale } from "react-datepicker"; +import { Control, Controller, FieldValues, Path } from "react-hook-form"; import { de } from "date-fns/locale"; import { useState } from "react"; import { cn } from "@repo/shared-components"; @@ -44,7 +45,7 @@ export const ListInput = ({ setValue(""); }} type="button" - onSubmit={(e) => false} + onSubmit={() => false} > Hinzufügen diff --git a/apps/hub/app/_components/ui/MDEditor.tsx b/apps/hub/app/_components/ui/MDEditor.tsx index 37dd93d7..a8e1dd27 100644 --- a/apps/hub/app/_components/ui/MDEditor.tsx +++ b/apps/hub/app/_components/ui/MDEditor.tsx @@ -1,3 +1,4 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ "use client"; import MDEditor from "@uiw/react-md-editor"; import { FieldValues, Path, RegisterOptions, UseFormReturn } from "react-hook-form"; @@ -5,7 +6,7 @@ import { cn } from "@repo/shared-components"; interface MarkdownEditorProps { name: Path; - form: UseFormReturn; + form: UseFormReturn; formOptions?: RegisterOptions; label?: string; placeholder?: string; diff --git a/apps/hub/app/_components/ui/Select.tsx b/apps/hub/app/_components/ui/Select.tsx index 94fa04e4..edbcbd9d 100644 --- a/apps/hub/app/_components/ui/Select.tsx +++ b/apps/hub/app/_components/ui/Select.tsx @@ -1,19 +1,20 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ "use client"; import { FieldValues, Path, RegisterOptions, UseFormReturn } from "react-hook-form"; import SelectTemplate, { Props as SelectTemplateProps, StylesConfig } from "react-select"; import { cn } from "@repo/shared-components"; import dynamic from "next/dynamic"; -import { CSSProperties } from "react"; interface SelectProps extends Omit { - label?: any; + label?: React.ReactNode; name: Path; - form: UseFormReturn | any; + form: UseFormReturn; formOptions?: RegisterOptions; - // eslint-disable-next-line @typescript-eslint/no-explicit-any } -const customStyles: StylesConfig = { +type OptionType = { label: string; value: string }; + +const customStyles: StylesConfig = { control: (provided) => ({ ...provided, backgroundColor: "var(--color-base-100)", @@ -55,7 +56,6 @@ const SelectCom = ({ label = name, placeholder = label, form, - formOptions, className, ...inputProps }: SelectProps) => { @@ -74,7 +74,6 @@ const SelectCom = ({ }); } form.trigger(name); - form.Dirty; }} value={ (inputProps as any)?.isMulti diff --git a/apps/hub/app/_components/ui/Switch.tsx b/apps/hub/app/_components/ui/Switch.tsx index 094af4bd..4a6d9dc8 100644 --- a/apps/hub/app/_components/ui/Switch.tsx +++ b/apps/hub/app/_components/ui/Switch.tsx @@ -1,10 +1,11 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ import { FieldValues, Path, RegisterOptions, UseFormReturn } from "react-hook-form"; import { cn } from "@repo/shared-components"; interface InputProps extends Omit, "form"> { name: Path; - form: UseFormReturn; + form: UseFormReturn; formOptions?: RegisterOptions; label?: string; } @@ -13,7 +14,6 @@ export const Switch = ({ name, label = name, form, - formOptions, className, ...inputProps }: InputProps) => { @@ -21,7 +21,12 @@ export const Switch = ({
); diff --git a/apps/hub/app/api/auth/[...nextauth]/auth.ts b/apps/hub/app/api/auth/[...nextauth]/auth.ts index 390faa8f..5344eb86 100644 --- a/apps/hub/app/api/auth/[...nextauth]/auth.ts +++ b/apps/hub/app/api/auth/[...nextauth]/auth.ts @@ -1,7 +1,7 @@ import { AuthOptions, getServerSession as getNextAuthServerSession } from "next-auth"; import { PrismaAdapter } from "@next-auth/prisma-adapter"; import Credentials from "next-auth/providers/credentials"; -import { DiscordAccount, prisma, User } from "@repo/db"; +import { prisma } from "@repo/db"; import bcrypt from "bcryptjs"; import oldUser from "./var.User.json"; import { createNewUserFromOld, OldUser } from "../../../../types/oldUser"; @@ -70,7 +70,7 @@ export const options: AuthOptions = { }, }, }, - adapter: PrismaAdapter(prisma as any), + adapter: PrismaAdapter(prisma), callbacks: { jwt: async ({ token, user }) => { if (user && "firstname" in user) { @@ -88,6 +88,7 @@ export const options: AuthOptions = { }, }); if (!dbUser) { + // eslint-disable-next-line @typescript-eslint/no-explicit-any return null as any; } return { diff --git a/apps/hub/app/api/config/route.ts b/apps/hub/app/api/config/route.ts index 5cd7f85f..0bea3a8b 100644 --- a/apps/hub/app/api/config/route.ts +++ b/apps/hub/app/api/config/route.ts @@ -1,7 +1,7 @@ import { prisma } from "@repo/db"; import { NextResponse } from "next/server"; -export async function GET(request: Request): Promise { +export async function GET(): Promise { try { const config = await prisma.config.findFirst({ orderBy: { diff --git a/apps/hub/app/layout.tsx b/apps/hub/app/layout.tsx index 22b224a3..eb6fb6cb 100644 --- a/apps/hub/app/layout.tsx +++ b/apps/hub/app/layout.tsx @@ -7,7 +7,6 @@ import "./globals.css"; import { QueryProvider } from "_components/QueryClient"; import { prisma } from "@repo/db"; import React from "react"; -import { Error as ErrorComp } from "_components/Error"; import { Maintenance } from "@repo/shared-components"; const geistSans = Geist({ diff --git a/apps/hub/eslint.config.mjs b/apps/hub/eslint.config.mjs index e8759ff5..47794e08 100644 --- a/apps/hub/eslint.config.mjs +++ b/apps/hub/eslint.config.mjs @@ -1,4 +1,4 @@ -import { nextJsConfig } from "@repo/eslint-config/next-js"; +import nextJsConfig from "@repo/eslint-config/next-js"; /** @type {import("eslint").Linter.Config} */ export default nextJsConfig; diff --git a/apps/hub/helper/mail.ts b/apps/hub/helper/mail.ts index 74ac9fad..01c1b66c 100644 --- a/apps/hub/helper/mail.ts +++ b/apps/hub/helper/mail.ts @@ -19,7 +19,7 @@ export const sendMailByTemplate = async ( | "email-verification" | "ban-notice" | "timeban-notice", - data: any, + data: unknown, ) => { try { await fetch(`${process.env.NEXT_PUBLIC_HUB_SERVER_URL}/mail/template/${template}`, { diff --git a/apps/hub/helper/moodle.ts b/apps/hub/helper/moodle.ts index 6ed72609..b2bc9562 100644 --- a/apps/hub/helper/moodle.ts +++ b/apps/hub/helper/moodle.ts @@ -25,7 +25,7 @@ export const enrollUserInCourse = async (courseid: number | string, userid: numb ); return enrollmentResponse; } catch (error) { - return new Error("Failed to enroll user in course"); + return error; } }; diff --git a/apps/hub/next.config.ts b/apps/hub/next.config.ts index 91adb3e6..462b9e72 100644 --- a/apps/hub/next.config.ts +++ b/apps/hub/next.config.ts @@ -1,5 +1,5 @@ /** @type {import('next').NextConfig} */ -const removeImports = require("next-remove-imports")(); +/* const removeImports = require("next-remove-imports")(); */ /* const nextConfig = removeImports({}); */ const nextConfig = {}; diff --git a/apps/hub/package.json b/apps/hub/package.json index 01db4d23..77689001 100644 --- a/apps/hub/package.json +++ b/apps/hub/package.json @@ -31,7 +31,6 @@ "clsx": "^2.1.1", "daisyui": "^5.0.43", "date-fns": "^4.1.0", - "eslint": "^9.30.0", "eslint-config-next": "^15.3.4", "i": "^0.3.7", "jsonwebtoken": "^9.0.2", @@ -52,8 +51,13 @@ "react-select": "^5.10.1", "tailwind-merge": "^3.3.1", "tailwindcss": "^4.1.11", - "typescript": "^5.8.3", "zod": "^3.25.67", "zustand": "^5.0.6" + }, + "devDependencies": { + "@eslint/js": "^9.30.0", + "eslint": "^9.30.0", + "typescript": "^5.8.3", + "typescript-eslint": "^8.33.1" } } diff --git a/apps/hub/types/next-auth.d.ts b/apps/hub/types/next-auth.d.ts index 511b2555..5d6c6cd0 100644 --- a/apps/hub/types/next-auth.d.ts +++ b/apps/hub/types/next-auth.d.ts @@ -1,4 +1,3 @@ -import NextAuth from "next-auth"; import { User as IUser } from "@repo/db"; declare module "next-auth" { diff --git a/apps/hub/types/prisma.d.ts b/apps/hub/types/prisma.d.ts index bc0723f6..f1914bf5 100644 --- a/apps/hub/types/prisma.d.ts +++ b/apps/hub/types/prisma.d.ts @@ -1,14 +1,8 @@ -import { Prisma } from "@prisma/client"; -import { JsonArray, JsonObject } from "@prisma/client/runtime/library"; +/* import { JsonArray, JsonObject } from "@prisma/client/runtime/library"; declare module "@prisma/client" { - export type InputJsonValue = - | string - | number - | boolean - | null - | JsonObject - | JsonArray; + export type InputJsonValue = string | number | boolean | null | JsonObject | JsonArray; export type JsonValue = any; // Erzwingt Flexibilität } + */ diff --git a/packages/eslint-config/next.js b/packages/eslint-config/next.js index 13f96eee..a79ba5ea 100644 --- a/packages/eslint-config/next.js +++ b/packages/eslint-config/next.js @@ -1,49 +1,32 @@ +import { defineConfig } from "eslint/config"; import js from "@eslint/js"; import eslintConfigPrettier from "eslint-config-prettier"; import tseslint from "typescript-eslint"; import pluginReactHooks from "eslint-plugin-react-hooks"; -import pluginReact from "eslint-plugin-react"; import globals from "globals"; import pluginNext from "@next/eslint-plugin-next"; -import { config as baseConfig } from "./base.js"; -/** - * A custom ESLint configuration for libraries that use Next.js. - * - * @type {import("eslint").Linter.Config} - * */ -export const nextJsConfig = [ - ...baseConfig, - js.configs.recommended, - eslintConfigPrettier, - ...tseslint.configs.recommended, +export default defineConfig([ { - ...pluginReact.configs.flat.recommended, - languageOptions: { - ...pluginReact.configs.flat.recommended.languageOptions, - globals: { - ...globals.serviceworker, - }, - }, + ignores: ["node_modules/*", "dist/*", ".next/*", "out/*"], }, { + files: ["**/*.{js,ts,jsx,tsx}"], + languageOptions: { + globals: { + ...globals.browser, + ...globals.node, + }, + }, plugins: { + "react-hooks": pluginReactHooks, "@next/next": pluginNext, }, - rules: { - ...pluginNext.configs.recommended.rules, - ...pluginNext.configs["core-web-vitals"].rules, - }, - }, - { - plugins: { - "react-hooks": pluginReactHooks, - }, - settings: { react: { version: "detect" } }, rules: { ...pluginReactHooks.configs.recommended.rules, - // React scope no longer necessary with new JSX transform. + ...pluginNext.configs.recommended.rules, "react/react-in-jsx-scope": "off", }, }, -]; + ...tseslint.config(js.configs.recommended, tseslint.configs.recommended, eslintConfigPrettier), +]); diff --git a/packages/eslint-config/package.json b/packages/eslint-config/package.json index bef55051..b2d551cd 100644 --- a/packages/eslint-config/package.json +++ b/packages/eslint-config/package.json @@ -9,15 +9,18 @@ }, "devDependencies": { "@eslint/js": "^9.17.0", - "@next/eslint-plugin-next": "^15.1.0", + "@next/eslint-plugin-next": "^15.3.3", "eslint": "^9.15.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-only-warn": "^1.1.0", - "eslint-plugin-react": "^7.37.2", - "eslint-plugin-react-hooks": "^5.0.0", + "eslint-plugin-react": "^7.37.5", + "eslint-plugin-react-hooks": "^5.2.0", "eslint-plugin-turbo": "^2.3.0", "globals": "^15.12.0", "typescript": "^5.8.3", "typescript-eslint": "^8.15.0" + }, + "dependencies": { + "@typescript-eslint/eslint-plugin": "^8.36.0" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c9c1c1e4..980656a9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -95,7 +95,7 @@ importers: version: 0.5.7(@types/dom-mediacapture-transform@0.1.11)(livekit-client@2.14.0(@types/dom-mediacapture-record@1.0.22)) '@next-auth/prisma-adapter': specifier: ^1.0.7 - version: 1.0.7(@prisma/client@6.8.2(prisma@6.8.2(typescript@5.8.3))(typescript@5.8.3))(next-auth@4.24.11(next@15.3.4(@babel/core@7.27.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.52.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)) + version: 1.0.7(@prisma/client@6.8.2(prisma@6.8.2(typescript@5.8.3))(typescript@5.8.3))(next-auth@4.24.11(next@15.3.4(@opentelemetry/api@1.9.0)(@playwright/test@1.52.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)) '@radix-ui/react-icons': specifier: ^1.3.2 version: 1.3.2(react@19.1.0) @@ -176,7 +176,7 @@ importers: version: 15.3.4(@babel/core@7.27.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.52.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) next-auth: specifier: ^4.24.11 - version: 4.24.11(next@15.3.4(@babel/core@7.27.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.52.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 4.24.11(next@15.3.4(@opentelemetry/api@1.9.0)(@playwright/test@1.52.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) npm: specifier: ^11.4.2 version: 11.4.2 @@ -325,9 +325,6 @@ importers: '@catppuccin/vitepress': specifier: ^0.1.2 version: 0.1.2(typescript@5.8.3) - '@repo/typescript-config': - specifier: workspace:* - version: link:../../packages/typescript-config devDependencies: vitepress: specifier: ^1.6.3 @@ -343,7 +340,7 @@ importers: version: 5.1.1(react-hook-form@7.59.0(react@19.1.0)) '@next-auth/prisma-adapter': specifier: ^1.0.7 - version: 1.0.7(@prisma/client@6.8.2(prisma@6.8.2(typescript@5.8.3))(typescript@5.8.3))(next-auth@4.24.11(next@15.3.4(@babel/core@7.27.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.52.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)) + version: 1.0.7(@prisma/client@6.8.2(prisma@6.8.2(typescript@5.8.3))(typescript@5.8.3))(next-auth@4.24.11(next@15.3.4(@opentelemetry/api@1.9.0)(@playwright/test@1.52.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)) '@radix-ui/react-icons': specifier: ^1.3.2 version: 1.3.2(react@19.1.0) @@ -398,9 +395,6 @@ importers: date-fns: specifier: ^4.1.0 version: 4.1.0 - eslint: - specifier: ^9.30.0 - version: 9.30.0(jiti@2.4.2) eslint-config-next: specifier: ^15.3.4 version: 15.3.4(eslint@9.30.0(jiti@2.4.2))(typescript@5.8.3) @@ -421,7 +415,7 @@ importers: version: 15.3.4(@babel/core@7.27.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.52.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) next-auth: specifier: ^4.24.11 - version: 4.24.11(next@15.3.4(@babel/core@7.27.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.52.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + version: 4.24.11(next@15.3.4(@opentelemetry/api@1.9.0)(@playwright/test@1.52.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) next-remove-imports: specifier: ^1.0.12 version: 1.0.12(webpack@5.99.9) @@ -461,15 +455,25 @@ importers: tailwindcss: specifier: ^4.1.11 version: 4.1.11 - typescript: - specifier: ^5.8.3 - version: 5.8.3 zod: specifier: ^3.25.67 version: 3.25.67 zustand: specifier: ^5.0.6 version: 5.0.6(@types/react@19.1.8)(react@19.1.0) + devDependencies: + '@eslint/js': + specifier: ^9.30.0 + version: 9.30.0 + eslint: + specifier: ^9.30.0 + version: 9.30.0(jiti@2.4.2) + typescript: + specifier: ^5.8.3 + version: 5.8.3 + typescript-eslint: + specifier: ^8.33.1 + version: 8.33.1(eslint@9.30.0(jiti@2.4.2))(typescript@5.8.3) apps/hub-server: dependencies: @@ -555,12 +559,16 @@ importers: version: 6.8.2(typescript@5.8.3) packages/eslint-config: + dependencies: + '@typescript-eslint/eslint-plugin': + specifier: ^8.36.0 + version: 8.36.0(@typescript-eslint/parser@8.35.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) devDependencies: '@eslint/js': specifier: ^9.17.0 version: 9.28.0 '@next/eslint-plugin-next': - specifier: ^15.1.0 + specifier: ^15.3.3 version: 15.3.3 eslint: specifier: ^9.15.0 @@ -572,10 +580,10 @@ importers: specifier: ^1.1.0 version: 1.1.0 eslint-plugin-react: - specifier: ^7.37.2 + specifier: ^7.37.5 version: 7.37.5(eslint@9.28.0(jiti@2.4.2)) eslint-plugin-react-hooks: - specifier: ^5.0.0 + specifier: ^5.2.0 version: 5.2.0(eslint@9.28.0(jiti@2.4.2)) eslint-plugin-turbo: specifier: ^2.3.0 @@ -2569,6 +2577,14 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/eslint-plugin@8.36.0': + resolution: {integrity: sha512-lZNihHUVB6ZZiPBNgOQGSxUASI7UJWhT8nHyUGCnaQ28XFCw98IfrMCG3rUl1uwUWoAvodJQby2KTs79UTcrAg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + '@typescript-eslint/parser': ^8.36.0 + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/parser@8.33.1': resolution: {integrity: sha512-qwxv6dq682yVvgKKp2qWwLgRbscDAYktPptK4JPojCwwi3R9cwrvIxS4lvBpzmcqzR4bdn54Z0IG1uHFskW4dA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2595,6 +2611,12 @@ packages: peerDependencies: typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/project-service@8.36.0': + resolution: {integrity: sha512-JAhQFIABkWccQYeLMrHadu/fhpzmSQ1F1KXkpzqiVxA/iYI6UnRt2trqXHt1sYEcw1mxLnB9rKMsOxXPxowN/g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/scope-manager@8.33.1': resolution: {integrity: sha512-dM4UBtgmzHR9bS0Rv09JST0RcHYearoEoo3pG5B6GoTR9XcyeqX87FEhPo+5kTvVfKCvfHaHrcgeJQc6mrDKrA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2603,6 +2625,10 @@ packages: resolution: {integrity: sha512-+AgL5+mcoLxl1vGjwNfiWq5fLDZM1TmTPYs2UkyHfFhgERxBbqHlNjRzhThJqz+ktBqTChRYY6zwbMwy0591AA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/scope-manager@8.36.0': + resolution: {integrity: sha512-wCnapIKnDkN62fYtTGv2+RY8FlnBYA3tNm0fm91kc2BjPhV2vIjwwozJ7LToaLAyb1ca8BxrS7vT+Pvvf7RvqA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/tsconfig-utils@8.33.1': resolution: {integrity: sha512-STAQsGYbHCF0/e+ShUQ4EatXQ7ceh3fBCXkNU7/MZVKulrlq1usH7t2FhxvCpuCi5O5oi1vmVaAjrGeL71OK1g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2615,6 +2641,12 @@ packages: peerDependencies: typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/tsconfig-utils@8.36.0': + resolution: {integrity: sha512-Nhh3TIEgN18mNbdXpd5Q8mSCBnrZQeY9V7Ca3dqYvNDStNIGRmJA6dmrIPMJ0kow3C7gcQbpsG2rPzy1Ks/AnA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/type-utils@8.33.1': resolution: {integrity: sha512-1cG37d9xOkhlykom55WVwG2QRNC7YXlxMaMzqw2uPeJixBFfKWZgaP/hjAObqMN/u3fr5BrTwTnc31/L9jQ2ww==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2629,6 +2661,13 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/type-utils@8.36.0': + resolution: {integrity: sha512-5aaGYG8cVDd6cxfk/ynpYzxBRZJk7w/ymto6uiyUFtdCozQIsQWh7M28/6r57Fwkbweng8qAzoMCPwSJfWlmsg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/types@8.33.1': resolution: {integrity: sha512-xid1WfizGhy/TKMTwhtVOgalHwPtV8T32MS9MaH50Cwvz6x6YqRIPdD2WvW0XaqOzTV9p5xdLY0h/ZusU5Lokg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2637,6 +2676,10 @@ packages: resolution: {integrity: sha512-0mYH3emanku0vHw2aRLNGqe7EXh9WHEhi7kZzscrMDf6IIRUQ5Jk4wp1QrledE/36KtdZrVfKnE32eZCf/vaVQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/types@8.36.0': + resolution: {integrity: sha512-xGms6l5cTJKQPZOKM75Dl9yBfNdGeLRsIyufewnxT4vZTrjC0ImQT4fj8QmtJK84F58uSh5HVBSANwcfiXxABQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/typescript-estree@8.33.1': resolution: {integrity: sha512-+s9LYcT8LWjdYWu7IWs7FvUxpQ/DGkdjZeE/GGulHvv8rvYwQvVaUZ6DE+j5x/prADUgSbbCWZ2nPI3usuVeOA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2649,6 +2692,12 @@ packages: peerDependencies: typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/typescript-estree@8.36.0': + resolution: {integrity: sha512-JaS8bDVrfVJX4av0jLpe4ye0BpAaUW7+tnS4Y4ETa3q7NoZgzYbN9zDQTJ8kPb5fQ4n0hliAt9tA4Pfs2zA2Hg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/utils@8.33.1': resolution: {integrity: sha512-52HaBiEQUaRYqAXpfzWSR2U3gxk92Kw006+xZpElaPMg3C4PgM+A5LqwoQI1f9E5aZ/qlxAZxzm42WX+vn92SQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2663,6 +2712,13 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/utils@8.36.0': + resolution: {integrity: sha512-VOqmHu42aEMT+P2qYjylw6zP/3E/HvptRwdn/PZxyV27KhZg2IOszXod4NcXisWzPAGSS4trE/g4moNj6XmH2g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/visitor-keys@8.33.1': resolution: {integrity: sha512-3i8NrFcZeeDHJ+7ZUuDkGT+UHq+XoFGsymNK2jZCOHcfEzRQ0BdpRtdpSx/Iyf3MHLWIcLS0COuOPibKQboIiQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2671,6 +2727,10 @@ packages: resolution: {integrity: sha512-zTh2+1Y8ZpmeQaQVIc/ZZxsx8UzgKJyNg1PTvjzC7WMhPSVS8bfDX34k1SrwOf016qd5RU3az2UxUNue3IfQ5g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/visitor-keys@8.36.0': + resolution: {integrity: sha512-vZrhV2lRPWDuGoxcmrzRZyxAggPL+qp3WzUrlZD+slFueDiYHxeBa34dUXPuC0RmGKzl4lS5kFJYvKCq9cnNDA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@uiw/copy-to-clipboard@1.0.17': resolution: {integrity: sha512-O2GUHV90Iw2VrSLVLK0OmNIMdZ5fgEg4NhvtwINsX+eZ/Wf6DWD0TdsK9xwV7dNRnK/UI2mQtl0a2/kRgm1m1A==} @@ -4394,6 +4454,7 @@ packages: livekit-client@2.14.0: resolution: {integrity: sha512-+ryoX3bFUNVWTjXsPLnPTW8O9wKUo/ZDPxCPLBeE72Ny0JVIK8QRIW0J/CZbcGCK5VRpYf+jMojKmjlztbSuOg==} + deprecated: This release is deprecated, update to @latest peerDependencies: '@types/dom-mediacapture-record': ^1 @@ -6884,10 +6945,10 @@ snapshots: '@tybys/wasm-util': 0.9.0 optional: true - '@next-auth/prisma-adapter@1.0.7(@prisma/client@6.8.2(prisma@6.8.2(typescript@5.8.3))(typescript@5.8.3))(next-auth@4.24.11(next@15.3.4(@babel/core@7.27.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.52.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0))': + '@next-auth/prisma-adapter@1.0.7(@prisma/client@6.8.2(prisma@6.8.2(typescript@5.8.3))(typescript@5.8.3))(next-auth@4.24.11(next@15.3.4(@opentelemetry/api@1.9.0)(@playwright/test@1.52.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0))': dependencies: '@prisma/client': 6.8.2(prisma@6.8.2(typescript@5.8.3))(typescript@5.8.3) - next-auth: 4.24.11(next@15.3.4(@babel/core@7.27.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.52.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + next-auth: 4.24.11(next@15.3.4(@opentelemetry/api@1.9.0)(@playwright/test@1.52.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@next/env@15.3.4': {} @@ -8656,6 +8717,23 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/eslint-plugin@8.33.1(@typescript-eslint/parser@8.33.1(eslint@9.30.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.30.0(jiti@2.4.2))(typescript@5.8.3)': + dependencies: + '@eslint-community/regexpp': 4.12.1 + '@typescript-eslint/parser': 8.33.1(eslint@9.30.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/scope-manager': 8.33.1 + '@typescript-eslint/type-utils': 8.33.1(eslint@9.30.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/utils': 8.33.1(eslint@9.30.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 8.33.1 + eslint: 9.30.0(jiti@2.4.2) + graphemer: 1.4.0 + ignore: 7.0.5 + natural-compare: 1.4.0 + ts-api-utils: 2.1.0(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/eslint-plugin@8.35.0(@typescript-eslint/parser@8.35.0(eslint@9.30.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.30.0(jiti@2.4.2))(typescript@5.8.3)': dependencies: '@eslint-community/regexpp': 4.12.1 @@ -8673,6 +8751,23 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/eslint-plugin@8.36.0(@typescript-eslint/parser@8.35.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)': + dependencies: + '@eslint-community/regexpp': 4.12.1 + '@typescript-eslint/parser': 8.35.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/scope-manager': 8.36.0 + '@typescript-eslint/type-utils': 8.36.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/utils': 8.36.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 8.36.0 + eslint: 9.28.0(jiti@2.4.2) + graphemer: 1.4.0 + ignore: 7.0.5 + natural-compare: 1.4.0 + ts-api-utils: 2.1.0(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/parser@8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)': dependencies: '@typescript-eslint/scope-manager': 8.33.1 @@ -8685,6 +8780,30 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/parser@8.33.1(eslint@9.30.0(jiti@2.4.2))(typescript@5.8.3)': + dependencies: + '@typescript-eslint/scope-manager': 8.33.1 + '@typescript-eslint/types': 8.33.1 + '@typescript-eslint/typescript-estree': 8.33.1(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 8.33.1 + debug: 4.4.1(supports-color@5.5.0) + eslint: 9.30.0(jiti@2.4.2) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/parser@8.35.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)': + dependencies: + '@typescript-eslint/scope-manager': 8.35.0 + '@typescript-eslint/types': 8.35.0 + '@typescript-eslint/typescript-estree': 8.35.0(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 8.35.0 + debug: 4.4.1(supports-color@5.5.0) + eslint: 9.28.0(jiti@2.4.2) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/parser@8.35.0(eslint@9.30.0(jiti@2.4.2))(typescript@5.8.3)': dependencies: '@typescript-eslint/scope-manager': 8.35.0 @@ -8699,8 +8818,8 @@ snapshots: '@typescript-eslint/project-service@8.33.1(typescript@5.8.3)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.33.1(typescript@5.8.3) - '@typescript-eslint/types': 8.33.1 + '@typescript-eslint/tsconfig-utils': 8.36.0(typescript@5.8.3) + '@typescript-eslint/types': 8.36.0 debug: 4.4.1(supports-color@5.5.0) typescript: 5.8.3 transitivePeerDependencies: @@ -8708,8 +8827,17 @@ snapshots: '@typescript-eslint/project-service@8.35.0(typescript@5.8.3)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.35.0(typescript@5.8.3) - '@typescript-eslint/types': 8.35.0 + '@typescript-eslint/tsconfig-utils': 8.36.0(typescript@5.8.3) + '@typescript-eslint/types': 8.36.0 + debug: 4.4.1(supports-color@5.5.0) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/project-service@8.36.0(typescript@5.8.3)': + dependencies: + '@typescript-eslint/tsconfig-utils': 8.36.0(typescript@5.8.3) + '@typescript-eslint/types': 8.36.0 debug: 4.4.1(supports-color@5.5.0) typescript: 5.8.3 transitivePeerDependencies: @@ -8725,6 +8853,11 @@ snapshots: '@typescript-eslint/types': 8.35.0 '@typescript-eslint/visitor-keys': 8.35.0 + '@typescript-eslint/scope-manager@8.36.0': + dependencies: + '@typescript-eslint/types': 8.36.0 + '@typescript-eslint/visitor-keys': 8.36.0 + '@typescript-eslint/tsconfig-utils@8.33.1(typescript@5.8.3)': dependencies: typescript: 5.8.3 @@ -8733,6 +8866,10 @@ snapshots: dependencies: typescript: 5.8.3 + '@typescript-eslint/tsconfig-utils@8.36.0(typescript@5.8.3)': + dependencies: + typescript: 5.8.3 + '@typescript-eslint/type-utils@8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)': dependencies: '@typescript-eslint/typescript-estree': 8.33.1(typescript@5.8.3) @@ -8744,6 +8881,17 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/type-utils@8.33.1(eslint@9.30.0(jiti@2.4.2))(typescript@5.8.3)': + dependencies: + '@typescript-eslint/typescript-estree': 8.33.1(typescript@5.8.3) + '@typescript-eslint/utils': 8.33.1(eslint@9.30.0(jiti@2.4.2))(typescript@5.8.3) + debug: 4.4.1(supports-color@5.5.0) + eslint: 9.30.0(jiti@2.4.2) + ts-api-utils: 2.1.0(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/type-utils@8.35.0(eslint@9.30.0(jiti@2.4.2))(typescript@5.8.3)': dependencies: '@typescript-eslint/typescript-estree': 8.35.0(typescript@5.8.3) @@ -8755,10 +8903,23 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/type-utils@8.36.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)': + dependencies: + '@typescript-eslint/typescript-estree': 8.36.0(typescript@5.8.3) + '@typescript-eslint/utils': 8.36.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3) + debug: 4.4.1(supports-color@5.5.0) + eslint: 9.28.0(jiti@2.4.2) + ts-api-utils: 2.1.0(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/types@8.33.1': {} '@typescript-eslint/types@8.35.0': {} + '@typescript-eslint/types@8.36.0': {} + '@typescript-eslint/typescript-estree@8.33.1(typescript@5.8.3)': dependencies: '@typescript-eslint/project-service': 8.33.1(typescript@5.8.3) @@ -8791,6 +8952,22 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/typescript-estree@8.36.0(typescript@5.8.3)': + dependencies: + '@typescript-eslint/project-service': 8.36.0(typescript@5.8.3) + '@typescript-eslint/tsconfig-utils': 8.36.0(typescript@5.8.3) + '@typescript-eslint/types': 8.36.0 + '@typescript-eslint/visitor-keys': 8.36.0 + debug: 4.4.1(supports-color@5.5.0) + fast-glob: 3.3.3 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.7.2 + ts-api-utils: 2.1.0(typescript@5.8.3) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/utils@8.33.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)': dependencies: '@eslint-community/eslint-utils': 4.7.0(eslint@9.28.0(jiti@2.4.2)) @@ -8802,6 +8979,17 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/utils@8.33.1(eslint@9.30.0(jiti@2.4.2))(typescript@5.8.3)': + dependencies: + '@eslint-community/eslint-utils': 4.7.0(eslint@9.30.0(jiti@2.4.2)) + '@typescript-eslint/scope-manager': 8.33.1 + '@typescript-eslint/types': 8.33.1 + '@typescript-eslint/typescript-estree': 8.33.1(typescript@5.8.3) + eslint: 9.30.0(jiti@2.4.2) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/utils@8.35.0(eslint@9.30.0(jiti@2.4.2))(typescript@5.8.3)': dependencies: '@eslint-community/eslint-utils': 4.7.0(eslint@9.30.0(jiti@2.4.2)) @@ -8813,6 +9001,17 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/utils@8.36.0(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)': + dependencies: + '@eslint-community/eslint-utils': 4.7.0(eslint@9.28.0(jiti@2.4.2)) + '@typescript-eslint/scope-manager': 8.36.0 + '@typescript-eslint/types': 8.36.0 + '@typescript-eslint/typescript-estree': 8.36.0(typescript@5.8.3) + eslint: 9.28.0(jiti@2.4.2) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/visitor-keys@8.33.1': dependencies: '@typescript-eslint/types': 8.33.1 @@ -8823,6 +9022,11 @@ snapshots: '@typescript-eslint/types': 8.35.0 eslint-visitor-keys: 4.2.1 + '@typescript-eslint/visitor-keys@8.36.0': + dependencies: + '@typescript-eslint/types': 8.36.0 + eslint-visitor-keys: 4.2.1 + '@uiw/copy-to-clipboard@1.0.17': {} '@uiw/react-markdown-preview@5.1.4(@types/react@19.1.8)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': @@ -11472,7 +11676,7 @@ snapshots: neo-async@2.6.2: {} - next-auth@4.24.11(next@15.3.4(@babel/core@7.27.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.52.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0): + next-auth@4.24.11(next@15.3.4(@opentelemetry/api@1.9.0)(@playwright/test@1.52.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0): dependencies: '@babel/runtime': 7.27.6 '@panva/hkdf': 1.2.1 @@ -12710,6 +12914,16 @@ snapshots: transitivePeerDependencies: - supports-color + typescript-eslint@8.33.1(eslint@9.30.0(jiti@2.4.2))(typescript@5.8.3): + dependencies: + '@typescript-eslint/eslint-plugin': 8.33.1(@typescript-eslint/parser@8.33.1(eslint@9.30.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.30.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/parser': 8.33.1(eslint@9.30.0(jiti@2.4.2))(typescript@5.8.3) + '@typescript-eslint/utils': 8.33.1(eslint@9.30.0(jiti@2.4.2))(typescript@5.8.3) + eslint: 9.30.0(jiti@2.4.2) + typescript: 5.8.3 + transitivePeerDependencies: + - supports-color + typescript@5.8.3: {} uid2@1.0.0: {}