From a576d1621451798c1179459240fd9b22b834e1e2 Mon Sep 17 00:00:00 2001 From: Sam Rizvi Date: Tue, 26 Mar 2024 22:27:30 -0700 Subject: [PATCH 01/16] chore: update pnpm --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 984b71b81..dbf6cd28d 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "engines": { "node": ">=20.11.1" }, - "packageManager": "pnpm@8.15.4", + "packageManager": "pnpm@8.15.5", "scripts": { "build": "turbo build", "clean": "git clean -xdf node_modules pnpm-lock.yaml", From 821a4f82678cce51cbe759219e405a4799d78b14 Mon Sep 17 00:00:00 2001 From: Sam Rizvi Date: Tue, 26 Mar 2024 22:29:11 -0700 Subject: [PATCH 02/16] chore: update eslint types #174 --- pnpm-lock.yaml | 2 +- tooling/eslint/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index faaa3634f..dfb6be5b4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -755,7 +755,7 @@ importers: version: 4.6.0(eslint@8.57.0) devDependencies: '@types/eslint': - specifier: ^8.56.5 + specifier: ^8.56.6 version: 8.56.6 '@yocxo/prettier-config': specifier: workspace:^0.1.0 diff --git a/tooling/eslint/package.json b/tooling/eslint/package.json index af00f054b..06446be0d 100644 --- a/tooling/eslint/package.json +++ b/tooling/eslint/package.json @@ -27,7 +27,7 @@ "devDependencies": { "@yocxo/prettier-config": "workspace:^0.1.0", "@yocxo/tsconfig": "workspace:^0.1.0", - "@types/eslint": "^8.56.5", + "@types/eslint": "^8.56.6", "eslint": "^8.57.0", "prettier": "^3.2.5", "typescript": "^5.3.3" From 261f30100324fda687ca9647b0bd5adc9f2618f6 Mon Sep 17 00:00:00 2001 From: Sam Rizvi Date: Tue, 26 Mar 2024 22:31:49 -0700 Subject: [PATCH 03/16] chore: update turbo and linting #174 --- package.json | 4 ++-- pnpm-lock.yaml | 6 +++--- tooling/eslint/package.json | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index dbf6cd28d..4ab2d8dcc 100644 --- a/package.json +++ b/package.json @@ -22,9 +22,9 @@ }, "devDependencies": { "@yocxo/prettier-config": "workspace:^0.1.0", - "@turbo/gen": "^1.12.4", + "@turbo/gen": "^1.13.0", "prettier": "^3.2.5", - "turbo": "^1.12.4", + "turbo": "^1.13.0", "typescript": "^5.3.3" }, "prettier": "@yocxo/prettier-config" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index dfb6be5b4..cb886ede4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,7 +9,7 @@ importers: .: devDependencies: '@turbo/gen': - specifier: ^1.12.4 + specifier: ^1.13.0 version: 1.13.0(@types/node@20.11.30)(typescript@5.4.3) '@yocxo/prettier-config': specifier: workspace:^0.1.0 @@ -18,7 +18,7 @@ importers: specifier: ^3.2.5 version: 3.2.5 turbo: - specifier: ^1.12.4 + specifier: ^1.13.0 version: 1.13.0 typescript: specifier: ^5.3.3 @@ -739,7 +739,7 @@ importers: specifier: ^7.2.0 version: 7.4.0(eslint@8.57.0)(typescript@5.4.3) eslint-config-turbo: - specifier: ^1.12.4 + specifier: ^1.13.0 version: 1.13.0(eslint@8.57.0) eslint-plugin-import: specifier: ^2.29.1 diff --git a/tooling/eslint/package.json b/tooling/eslint/package.json index 06446be0d..12dcf010c 100644 --- a/tooling/eslint/package.json +++ b/tooling/eslint/package.json @@ -18,7 +18,7 @@ "@next/eslint-plugin-next": "^14.1.0", "@typescript-eslint/eslint-plugin": "^7.2.0", "@typescript-eslint/parser": "^7.2.0", - "eslint-config-turbo": "^1.12.4", + "eslint-config-turbo": "^1.13.0", "eslint-plugin-import": "^2.29.1", "eslint-plugin-jsx-a11y": "^6.8.0", "eslint-plugin-react": "^7.33.2", From 59c6e81cb78c0c0b9d3ad5af3cfacbe5aaaf7dab Mon Sep 17 00:00:00 2001 From: Sam Rizvi Date: Tue, 26 Mar 2024 22:33:06 -0700 Subject: [PATCH 04/16] chore: update next auth #174 --- apps/coco/package.json | 2 +- packages/auth/package.json | 2 +- pnpm-lock.yaml | 37 ++++++++++++++++++++++++++++++------- 3 files changed, 32 insertions(+), 9 deletions(-) diff --git a/apps/coco/package.json b/apps/coco/package.json index 82538fef6..1180b6e52 100644 --- a/apps/coco/package.json +++ b/apps/coco/package.json @@ -30,7 +30,7 @@ "framer-motion": "^11.0.5", "nanoid": "^5.0.4", "next": "^14.1.0", - "next-auth": "5.0.0-beta.13", + "next-auth": "5.0.0-beta.15", "openai": "^4.24.7", "react": "18.2.0", "react-dom": "18.2.0", diff --git a/packages/auth/package.json b/packages/auth/package.json index 4fd2a93bf..83bb7acd0 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -19,7 +19,7 @@ "@auth/drizzle-adapter": "^0.7.0", "@t3-oss/env-nextjs": "^0.9.2", "next": "^14.1.0", - "next-auth": "5.0.0-beta.13", + "next-auth": "5.0.0-beta.15", "react": "18.2.0", "react-dom": "18.2.0", "zod": "^3.22.4" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cb886ede4..a2f91347b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -112,8 +112,8 @@ importers: specifier: ^14.1.0 version: 14.1.4(react-dom@18.2.0)(react@18.2.0) next-auth: - specifier: 5.0.0-beta.13 - version: 5.0.0-beta.13(next@14.1.4)(react@18.2.0) + specifier: 5.0.0-beta.15 + version: 5.0.0-beta.15(next@14.1.4)(react@18.2.0) openai: specifier: ^4.24.7 version: 4.29.2 @@ -546,8 +546,8 @@ importers: specifier: ^14.1.0 version: 14.1.4(react-dom@18.2.0)(react@18.2.0) next-auth: - specifier: 5.0.0-beta.13 - version: 5.0.0-beta.13(next@14.1.4)(react@18.2.0) + specifier: 5.0.0-beta.15 + version: 5.0.0-beta.15(next@14.1.4)(react@18.2.0) react: specifier: 18.2.0 version: 18.2.0 @@ -870,6 +870,29 @@ packages: preact-render-to-string: 5.2.3(preact@10.11.3) dev: false + /@auth/core@0.28.0: + resolution: {integrity: sha512-/fh/tb/L4NMSYcyPoo4Imn8vN6MskcVfgESF8/ndgtI4fhD/7u7i5fTVzWgNRZ4ebIEGHNDbWFRxaTu1NtQgvA==} + peerDependencies: + '@simplewebauthn/browser': ^9.0.1 + '@simplewebauthn/server': ^9.0.2 + nodemailer: ^6.8.0 + peerDependenciesMeta: + '@simplewebauthn/browser': + optional: true + '@simplewebauthn/server': + optional: true + nodemailer: + optional: true + dependencies: + '@panva/hkdf': 1.1.1 + '@types/cookie': 0.6.0 + cookie: 0.6.0 + jose: 5.2.3 + oauth4webapi: 2.10.3 + preact: 10.11.3 + preact-render-to-string: 5.2.3(preact@10.11.3) + dev: false + /@auth/drizzle-adapter@0.7.0: resolution: {integrity: sha512-p/8cjrREiPPns78CT/a7VGl2TD78BNXtJ9TAXrw80bUInHd2xkEtk4CzXajWS/5r7qXE9n3r4BV9sISrf6Yqnw==} dependencies: @@ -12785,8 +12808,8 @@ packages: engines: {node: '>= 0.4.0'} dev: true - /next-auth@5.0.0-beta.13(next@14.1.4)(react@18.2.0): - resolution: {integrity: sha512-2m2Gq69WQ0YXcHCCpHn2y5z1bxSlqD/XOuAgrdtz49/VIAdTFFeYZz97RYqf6xMF8VGmoG32VUnJ6LzaHk6Fwg==} + /next-auth@5.0.0-beta.15(next@14.1.4)(react@18.2.0): + resolution: {integrity: sha512-UQggNq8CDu3/w8CYkihKLLnRPNXel98K0j7mtjj9a6XTNYo4Hni8xg/2h1YhElW6vXE8mgtvmH11rU8NKw86jQ==} peerDependencies: '@simplewebauthn/browser': ^9.0.1 '@simplewebauthn/server': ^9.0.2 @@ -12801,7 +12824,7 @@ packages: nodemailer: optional: true dependencies: - '@auth/core': 0.27.0 + '@auth/core': 0.28.0 next: 14.1.4(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 dev: false From 54e2460e9c7ca79916c7bad40b1cb5a2cd9bded0 Mon Sep 17 00:00:00 2001 From: Sam Rizvi Date: Tue, 26 Mar 2024 22:34:12 -0700 Subject: [PATCH 05/16] feat: add experimental turbo ui #174 --- turbo.json | 1 + 1 file changed, 1 insertion(+) diff --git a/turbo.json b/turbo.json index 60f80cc5b..dfaf8431b 100644 --- a/turbo.json +++ b/turbo.json @@ -1,5 +1,6 @@ { "$schema": "https://turborepo.org/schema.json", + "experimentalUI": true, "globalDependencies": ["**/.env.*local"], "pipeline": { "topo": { From 6e2e8ff055b10963865161a47f4d1d23d00c5a1d Mon Sep 17 00:00:00 2001 From: Sam Rizvi Date: Tue, 26 Mar 2024 22:35:15 -0700 Subject: [PATCH 06/16] chore: update react native css interop #174 --- apps/expo/package.json | 2 +- pnpm-lock.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/expo/package.json b/apps/expo/package.json index b7610e0bd..d211c5905 100644 --- a/apps/expo/package.json +++ b/apps/expo/package.json @@ -31,7 +31,7 @@ "react": "18.2.0", "react-dom": "18.2.0", "react-native": "~0.73.5", - "react-native-css-interop": "~0.0.13", + "react-native-css-interop": "~0.0.34", "react-native-gesture-handler": "~2.14.0", "react-native-reanimated": "~3.8.1", "react-native-safe-area-context": "~4.8.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a2f91347b..6c9c7ec99 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -245,7 +245,7 @@ importers: specifier: ~0.73.5 version: 0.73.6(@babel/core@7.24.3)(@babel/preset-env@7.24.3)(react@18.2.0) react-native-css-interop: - specifier: ~0.0.13 + specifier: ~0.0.34 version: 0.0.34(@babel/core@7.24.3)(react-native-reanimated@3.8.1)(react-native-safe-area-context@4.8.2)(react-native@0.73.6)(react@18.2.0)(tailwindcss@3.4.1) react-native-gesture-handler: specifier: ~2.14.0 From cc556dd8b92f76682c32ffab918510034670d336 Mon Sep 17 00:00:00 2001 From: Sam Rizvi Date: Tue, 26 Mar 2024 22:37:39 -0700 Subject: [PATCH 07/16] chore: update tanstack react query #174 --- apps/expo/package.json | 2 +- apps/nextjs/package.json | 2 +- pnpm-lock.yaml | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/expo/package.json b/apps/expo/package.json index d211c5905..de3711ccb 100644 --- a/apps/expo/package.json +++ b/apps/expo/package.json @@ -17,7 +17,7 @@ "dependencies": { "@expo/metro-config": "^0.17.4", "@shopify/flash-list": "1.6.3", - "@tanstack/react-query": "^5.22.2", + "@tanstack/react-query": "^5.28.6", "@trpc/client": "11.0.0-next-beta.294", "@trpc/react-query": "11.0.0-next-beta.294", "@trpc/server": "11.0.0-next-beta.294", diff --git a/apps/nextjs/package.json b/apps/nextjs/package.json index 3e97722d1..effeac794 100644 --- a/apps/nextjs/package.json +++ b/apps/nextjs/package.json @@ -20,7 +20,7 @@ "@yocxo/ui": "workspace:^0.1.0", "@yocxo/validators": "workspace:^0.1.0", "@t3-oss/env-nextjs": "^0.9.2", - "@tanstack/react-query": "^5.22.2", + "@tanstack/react-query": "^5.28.6", "@trpc/client": "11.0.0-next-beta.294", "@trpc/react-query": "11.0.0-next-beta.294", "@trpc/server": "11.0.0-next-beta.294", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6c9c7ec99..e4e33afa5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -203,7 +203,7 @@ importers: specifier: 1.6.3 version: 1.6.3(@babel/runtime@7.24.1)(react-native@0.73.6)(react@18.2.0) '@tanstack/react-query': - specifier: ^5.22.2 + specifier: ^5.28.6 version: 5.28.8(react@18.2.0) '@trpc/client': specifier: 11.0.0-next-beta.294 @@ -312,7 +312,7 @@ importers: specifier: ^0.9.2 version: 0.9.2(typescript@5.4.3)(zod@3.22.4) '@tanstack/react-query': - specifier: ^5.22.2 + specifier: ^5.28.6 version: 5.28.8(react@18.2.0) '@trpc/client': specifier: 11.0.0-next-beta.294 From 723e513a36c0a134f7115406a1d23e3985f20594 Mon Sep 17 00:00:00 2001 From: Sam Rizvi Date: Tue, 26 Mar 2024 22:49:42 -0700 Subject: [PATCH 08/16] chore: rm expo auth test and update tss env #174 --- apps/coco/src/app/layout.tsx | 5 +- apps/coco/src/env.ts | 2 - .../src/app/api/auth/[...nextauth]/route.ts | 52 +------------------ apps/nextjs/src/app/layout.tsx | 3 +- apps/nextjs/src/env.ts | 5 +- apps/web/src/app/layout.tsx | 5 +- apps/web/src/env.ts | 5 +- 7 files changed, 14 insertions(+), 63 deletions(-) diff --git a/apps/coco/src/app/layout.tsx b/apps/coco/src/app/layout.tsx index ca922f511..9f17a2643 100644 --- a/apps/coco/src/app/layout.tsx +++ b/apps/coco/src/app/layout.tsx @@ -7,13 +7,14 @@ import { ThemeToggle } from '@yocxo/ui/theme'; import { Toaster } from '@yocxo/ui/toast'; import { siteConfig } from '#/config/site'; -import { env } from '#/env'; import { Header } from '#/ui/header'; import { Providers } from '#/ui/providers'; export const metadata = { metadataBase: new URL( - env.VERCEL_ENV === 'production' ? siteConfig.url : 'http://localhost:3003', + process.env.VERCEL_ENV === 'production' + ? siteConfig.url + : 'http://localhost:3003', ), title: { template: `%s :: ${siteConfig.name}`, diff --git a/apps/coco/src/env.ts b/apps/coco/src/env.ts index b1248f5c3..573ce76f2 100644 --- a/apps/coco/src/env.ts +++ b/apps/coco/src/env.ts @@ -6,7 +6,6 @@ export const env = createEnv({ NODE_ENV: z .enum(['development', 'production', 'test']) .default('development'), - VERCEL_ENV: z.enum(['development', 'preview', 'production']).optional(), }, server: { AUTH_SECRET: z.string(), @@ -29,7 +28,6 @@ export const env = createEnv({ NEXT_PUBLIC_APP_URL: process.env.NEXT_PUBLIC_APP_URL, NODE_ENV: process.env.NODE_ENV, OPENAI_API_KEY: process.env.OPENAI_API_KEY, - VERCEL_ENV: process.env.VERCEL_ENV, }, skipValidation: !!process.env.CI || diff --git a/apps/nextjs/src/app/api/auth/[...nextauth]/route.ts b/apps/nextjs/src/app/api/auth/[...nextauth]/route.ts index 22133e0cb..1077585af 100644 --- a/apps/nextjs/src/app/api/auth/[...nextauth]/route.ts +++ b/apps/nextjs/src/app/api/auth/[...nextauth]/route.ts @@ -1,53 +1,3 @@ -import type { NextRequest } from 'next/server'; - -import { cookies } from 'next/headers'; -import { NextResponse } from 'next/server'; - -import { GET as DEFAULT_GET, POST } from '@yocxo/auth'; +export { GET, POST } from '@yocxo/auth'; export const runtime = 'edge'; - -const EXPO_COOKIE_NAME = '__acme-expo-redirect-state'; -const AUTH_COOKIE_PATTERN = /authjs\.session-token=([^;]+)/; - -const getToken = (res: Response) => { - for (const candidate of res.headers.getSetCookie()) { - const match = candidate.match(AUTH_COOKIE_PATTERN); - if (match?.[1]) return match[1]; - } - throw new Error('Unable to find session cookie'); -}; - -export const GET = async ( - req: NextRequest, - props: { params: { nextauth: string[] } }, -) => { - const nextauthAction = props.params.nextauth[0]; - const isExpoSignIn = req.nextUrl.searchParams.get('expo-redirect'); - const isExpoCallback = cookies().get(EXPO_COOKIE_NAME); - - if (nextauthAction === 'signin' && !!isExpoSignIn) { - // set a cookie we can read in the callback - // to know to send the user back to expo - cookies().set({ - name: EXPO_COOKIE_NAME, - value: isExpoSignIn, - maxAge: 60 * 10, // 10 min - path: '/', - }); - } - - if (nextauthAction === 'callback' && !!isExpoCallback) { - cookies().delete(EXPO_COOKIE_NAME); - - const authResponse = await DEFAULT_GET(req); - const url = new URL(isExpoCallback.value); - url.searchParams.set('session_token', getToken(authResponse)); - return NextResponse.redirect(url); - } - - // Every other request just calls the default handler - return DEFAULT_GET(req); -}; - -export { POST }; diff --git a/apps/nextjs/src/app/layout.tsx b/apps/nextjs/src/app/layout.tsx index bff1fc4d6..89f0da63d 100644 --- a/apps/nextjs/src/app/layout.tsx +++ b/apps/nextjs/src/app/layout.tsx @@ -7,14 +7,13 @@ import { cn } from '@yocxo/ui'; import { ThemeProvider, ThemeToggle } from '@yocxo/ui/theme'; import { Toaster } from '@yocxo/ui/toast'; -import { env } from '#/env'; import { TRPCReactProvider } from '#/trpc/react'; import '#/app/globals.css'; export const metadata: Metadata = { metadataBase: new URL( - env.VERCEL_ENV === 'production' + process.env.VERCEL_ENV === 'production' ? 'https://turbo.t3.gg' : 'http://localhost:3000', ), diff --git a/apps/nextjs/src/env.ts b/apps/nextjs/src/env.ts index 994d69c0e..cd28c3d92 100644 --- a/apps/nextjs/src/env.ts +++ b/apps/nextjs/src/env.ts @@ -1,12 +1,14 @@ import { createEnv } from '@t3-oss/env-nextjs'; import { z } from 'zod'; +import { env as authEnv } from '@yocxo/auth/env'; + export const env = createEnv({ + extends: [authEnv], shared: { NODE_ENV: z .enum(['development', 'production', 'test']) .default('development'), - VERCEL_ENV: z.enum(['development', 'preview', 'production']).optional(), }, /** * Specify your server-side environment variables schema here. @@ -29,7 +31,6 @@ export const env = createEnv({ * Destructure all variables from `process.env` to make sure they aren't tree-shaken away. */ experimental__runtimeEnv: { - VERCEL_ENV: process.env.VERCEL_ENV, NODE_ENV: process.env.NODE_ENV, // NEXT_PUBLIC_CLIENTVAR: process.env.NEXT_PUBLIC_CLIENTVAR, diff --git a/apps/web/src/app/layout.tsx b/apps/web/src/app/layout.tsx index 291c64383..c8196bd23 100644 --- a/apps/web/src/app/layout.tsx +++ b/apps/web/src/app/layout.tsx @@ -3,7 +3,6 @@ import type { Metadata, Viewport } from 'next'; import { ThemeProvider } from '@yocxo/ui/theme'; import { Toaster } from '@yocxo/ui/toast'; -import { env } from '#/env'; import { fontLexend, fontMartian } from '#/fonts/index'; import '#/styles/tailwind.css'; @@ -14,7 +13,9 @@ import { siteConfig } from '#/config/site'; export const metadata: Metadata = { metadataBase: new URL( - env.VERCEL_ENV === 'production' ? siteConfig.url : 'http://localhost:3000', + process.env.VERCEL_ENV === 'production' + ? siteConfig.url + : 'http://localhost:3000', ), title: { template: `%s :: ${siteConfig.name}`, diff --git a/apps/web/src/env.ts b/apps/web/src/env.ts index 113bf5bde..10702470e 100644 --- a/apps/web/src/env.ts +++ b/apps/web/src/env.ts @@ -1,12 +1,14 @@ import { createEnv } from '@t3-oss/env-nextjs'; import { z } from 'zod'; +import { env as authEnv } from '@yocxo/auth/env'; + export const env = createEnv({ + extends: [authEnv], shared: { NODE_ENV: z .enum(['development', 'production', 'test']) .default('development'), - VERCEL_ENV: z.enum(['development', 'preview', 'production']).optional(), }, server: { BASEHUB_TOKEN: z.string(), @@ -30,7 +32,6 @@ export const env = createEnv({ NEXT_PUBLIC_YOCXO_SUPPORT_EMAIL: process.env.NEXT_PUBLIC_YOCXO_SUPPORT_EMAIL, NODE_ENV: process.env.NODE_ENV, - VERCEL_ENV: process.env.VERCEL_ENV, }, skipValidation: !!process.env.CI || From 5b5c6a617a107f27550696ab818a50aaee052eee Mon Sep 17 00:00:00 2001 From: Sam Rizvi Date: Tue, 26 Mar 2024 22:51:03 -0700 Subject: [PATCH 09/16] chore: update types node #174 --- apps/auth-proxy/package.json | 2 +- apps/coco/package.json | 2 +- apps/nextjs/package.json | 2 +- apps/web/package.json | 2 +- pnpm-lock.yaml | 8 ++++---- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/apps/auth-proxy/package.json b/apps/auth-proxy/package.json index 1df26c694..2366c8cd4 100644 --- a/apps/auth-proxy/package.json +++ b/apps/auth-proxy/package.json @@ -18,7 +18,7 @@ "@yocxo/prettier-config": "workspace:^0.1.0", "@yocxo/tailwind-config": "workspace:^0.1.0", "@yocxo/tsconfig": "workspace:^0.1.0", - "@types/node": "^20.11.25", + "@types/node": "^20.11.30", "eslint": "^8.57.0", "h3": "^1.11.1", "nitropack": "^2.8.1", diff --git a/apps/coco/package.json b/apps/coco/package.json index 1180b6e52..e3be0d667 100644 --- a/apps/coco/package.json +++ b/apps/coco/package.json @@ -49,7 +49,7 @@ "@yocxo/tailwind-config": "workspace:^0.1.0", "@yocxo/tsconfig": "workspace:^0.1.0", "@types/d3-scale": "^4.0.8", - "@types/node": "^20.11.25", + "@types/node": "^20.11.30", "@types/react": "^18.2.67", "@types/react-dom": "^18.2.22", "@types/react-syntax-highlighter": "^15.5.11", diff --git a/apps/nextjs/package.json b/apps/nextjs/package.json index effeac794..35900bab3 100644 --- a/apps/nextjs/package.json +++ b/apps/nextjs/package.json @@ -36,7 +36,7 @@ "@yocxo/prettier-config": "workspace:^0.1.0", "@yocxo/tailwind-config": "workspace:^0.1.0", "@yocxo/tsconfig": "workspace:^0.1.0", - "@types/node": "^20.11.25", + "@types/node": "^20.11.30", "@types/react": "^18.2.67", "@types/react-dom": "^18.2.22", "dotenv-cli": "^7.3.0", diff --git a/apps/web/package.json b/apps/web/package.json index 2d6b2ee20..bf78c1206 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -32,7 +32,7 @@ "zod": "^3.22.4" }, "devDependencies": { - "@types/node": "^20.11.25", + "@types/node": "^20.11.30", "@types/react": "^18.2.67", "@types/react-dom": "^18.2.22", "@yocxo/eslint-config": "workspace:^0.2.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e4e33afa5..c7a6e0516 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -31,7 +31,7 @@ importers: version: 0.27.0 devDependencies: '@types/node': - specifier: ^20.11.25 + specifier: ^20.11.30 version: 20.11.30 '@yocxo/eslint-config': specifier: workspace:^0.2.0 @@ -152,7 +152,7 @@ importers: specifier: ^4.0.8 version: 4.0.8 '@types/node': - specifier: ^20.11.25 + specifier: ^20.11.30 version: 20.11.30 '@types/react': specifier: ^18.2.67 @@ -358,7 +358,7 @@ importers: version: 3.22.4 devDependencies: '@types/node': - specifier: ^20.11.25 + specifier: ^20.11.30 version: 20.11.30 '@types/react': specifier: ^18.2.67 @@ -446,7 +446,7 @@ importers: version: 3.22.4 devDependencies: '@types/node': - specifier: ^20.11.25 + specifier: ^20.11.30 version: 20.11.30 '@types/react': specifier: ^18.2.67 From 80a7c3c812c0d210321871dd6b47bc0d27d2128e Mon Sep 17 00:00:00 2001 From: Sam Rizvi Date: Tue, 26 Mar 2024 22:55:56 -0700 Subject: [PATCH 10/16] chore: refactor env import in next config #174 --- apps/coco/next.config.js | 7 +++---- apps/nextjs/next.config.js | 7 ++----- apps/web/next.config.js | 7 ++----- 3 files changed, 7 insertions(+), 14 deletions(-) diff --git a/apps/coco/next.config.js b/apps/coco/next.config.js index f37508390..017902aa5 100644 --- a/apps/coco/next.config.js +++ b/apps/coco/next.config.js @@ -1,10 +1,9 @@ import { fileURLToPath } from 'url'; -import _jiti from 'jiti'; +import createJiti from 'jiti'; -const jiti = _jiti(fileURLToPath(import.meta.url)); - -jiti('./src/env'); +// Import env files to validate at build time. Use jiti so we can load .ts files in here. +createJiti(fileURLToPath(import.meta.url))('./src/env'); /** @type {import("next").NextConfig} */ const config = { diff --git a/apps/nextjs/next.config.js b/apps/nextjs/next.config.js index c74d13fe5..9292fdcd6 100644 --- a/apps/nextjs/next.config.js +++ b/apps/nextjs/next.config.js @@ -1,12 +1,9 @@ import { fileURLToPath } from 'url'; -import _jiti from 'jiti'; - -const jiti = _jiti(fileURLToPath(import.meta.url)); +import createJiti from 'jiti'; // Import env files to validate at build time. Use jiti so we can load .ts files in here. -jiti('./src/env'); -jiti('@yocxo/auth/env'); +createJiti(fileURLToPath(import.meta.url))('./src/env'); /** @type {import("next").NextConfig} */ const config = { diff --git a/apps/web/next.config.js b/apps/web/next.config.js index 3a60a9ad0..899eaef3e 100644 --- a/apps/web/next.config.js +++ b/apps/web/next.config.js @@ -1,12 +1,9 @@ import { fileURLToPath } from 'url'; -import _jiti from 'jiti'; - -const jiti = _jiti(fileURLToPath(import.meta.url)); +import createJiti from 'jiti'; // Import env files to validate at build time. Use jiti so we can load .ts files in here. -jiti('./src/env'); -jiti('@yocxo/auth/env'); +createJiti(fileURLToPath(import.meta.url))('./src/env'); /** @type {import("next").NextConfig} */ const config = { From 9881fa6b070e89ac4ab790c2c54cec9646f36228 Mon Sep 17 00:00:00 2001 From: Sam Rizvi Date: Wed, 27 Mar 2024 00:40:33 -0700 Subject: [PATCH 11/16] chore: improve ts performance #174 --- apps/auth-proxy/package.json | 14 +- apps/coco/package.json | 26 +- apps/coco/tsconfig.json | 5 +- apps/expo/package.json | 36 +- apps/expo/tsconfig.json | 3 +- apps/nextjs/package.json | 32 +- apps/nextjs/tsconfig.json | 5 +- apps/web/package.json | 26 +- apps/web/tsconfig.json | 5 +- package.json | 4 +- packages/api/package.json | 25 +- packages/api/src/router/auth.ts | 1 - packages/api/src/router/post.ts | 8 +- packages/api/src/trpc.ts | 5 +- packages/api/tsconfig.json | 3 +- packages/auth/package.json | 12 +- packages/db/package.json | 26 +- .../db/{drizzle.config.ts => src/config.ts} | 0 packages/db/tsconfig.json | 5 +- packages/ui/package.json | 20 +- packages/ui/tsconfig.json | 4 +- packages/validators/package.json | 17 +- packages/validators/tsconfig.json | 3 +- pnpm-lock.yaml | 901 +++++++++--------- tooling/eslint/package.json | 14 +- tooling/prettier/package.json | 8 +- tooling/tailwind/package.json | 10 +- tooling/typescript/base.json | 28 +- tooling/typescript/internal-package.json | 11 + tooling/typescript/package.json | 2 +- turbo/generators/templates/package.json.hbs | 8 +- 31 files changed, 683 insertions(+), 584 deletions(-) rename packages/db/{drizzle.config.ts => src/config.ts} (100%) create mode 100644 tooling/typescript/internal-package.json diff --git a/apps/auth-proxy/package.json b/apps/auth-proxy/package.json index 2366c8cd4..b39305ed0 100644 --- a/apps/auth-proxy/package.json +++ b/apps/auth-proxy/package.json @@ -11,19 +11,19 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@auth/core": "0.27.0" + "@auth/core": "0.28.0" }, "devDependencies": { - "@yocxo/eslint-config": "workspace:^0.2.0", - "@yocxo/prettier-config": "workspace:^0.1.0", - "@yocxo/tailwind-config": "workspace:^0.1.0", - "@yocxo/tsconfig": "workspace:^0.1.0", + "@yocxo/eslint-config": "workspace:*", + "@yocxo/prettier-config": "workspace:*", + "@yocxo/tailwind-config": "workspace:*", + "@yocxo/tsconfig": "workspace:*", "@types/node": "^20.11.30", "eslint": "^8.57.0", "h3": "^1.11.1", - "nitropack": "^2.8.1", + "nitropack": "^2.9.4", "prettier": "^3.2.5", - "typescript": "^5.3.3" + "typescript": "^5.4.3" }, "eslintConfig": { "root": true, diff --git a/apps/coco/package.json b/apps/coco/package.json index e3be0d667..6facc628e 100644 --- a/apps/coco/package.json +++ b/apps/coco/package.json @@ -14,11 +14,11 @@ "with-env": "dotenv -e .env.local --" }, "dependencies": { - "@yocxo/api": "workspace:^0.1.0", - "@yocxo/auth": "workspace:^0.1.0", - "@yocxo/db": "workspace:^0.1.0", - "@yocxo/ui": "workspace:^0.1.0", - "@yocxo/validators": "workspace:^0.1.0", + "@yocxo/api": "workspace:*", + "@yocxo/auth": "workspace:*", + "@yocxo/db": "workspace:*", + "@yocxo/ui": "workspace:*", + "@yocxo/validators": "workspace:*", "@t3-oss/env-nextjs": "^0.9.2", "@vercel/analytics": "^1.1.2", "@vercel/kv": "^1.0.1", @@ -29,7 +29,7 @@ "focus-trap-react": "^10.2.3", "framer-motion": "^11.0.5", "nanoid": "^5.0.4", - "next": "^14.1.0", + "next": "^14.1.4", "next-auth": "5.0.0-beta.15", "openai": "^4.24.7", "react": "18.2.0", @@ -44,21 +44,21 @@ "zod": "^3.22.4" }, "devDependencies": { - "@yocxo/eslint-config": "workspace:^0.2.0", - "@yocxo/prettier-config": "workspace:^0.1.0", - "@yocxo/tailwind-config": "workspace:^0.1.0", - "@yocxo/tsconfig": "workspace:^0.1.0", + "@yocxo/eslint-config": "workspace:*", + "@yocxo/prettier-config": "workspace:*", + "@yocxo/tailwind-config": "workspace:*", + "@yocxo/tsconfig": "workspace:*", "@types/d3-scale": "^4.0.8", "@types/node": "^20.11.30", - "@types/react": "^18.2.67", + "@types/react": "^18.2.69", "@types/react-dom": "^18.2.22", "@types/react-syntax-highlighter": "^15.5.11", - "dotenv-cli": "^7.3.0", + "dotenv-cli": "^7.4.1", "eslint": "^8.57.0", "jiti": "^1.21.0", "prettier": "^3.2.5", "tailwindcss": "^3.4.1", - "typescript": "^5.3.3" + "typescript": "^5.4.3" }, "eslintConfig": { "root": true, diff --git a/apps/coco/tsconfig.json b/apps/coco/tsconfig.json index d503e47c9..c5cff84b3 100644 --- a/apps/coco/tsconfig.json +++ b/apps/coco/tsconfig.json @@ -1,12 +1,15 @@ { "extends": "@yocxo/tsconfig/base.json", "compilerOptions": { + "lib": ["es2022", "dom", "dom.iterable"], + "jsx": "preserve", "baseUrl": ".", "paths": { "#/*": ["./src/*"] }, "plugins": [{ "name": "next" }], - "tsBuildInfoFile": "node_modules/.cache/tsbuildinfo.json" + "tsBuildInfoFile": "node_modules/.cache/tsbuildinfo.json", + "module": "esnext" }, "include": [".", ".next/types/**/*.ts"], "exclude": ["node_modules"] diff --git a/apps/expo/package.json b/apps/expo/package.json index de3711ccb..1116720ec 100644 --- a/apps/expo/package.json +++ b/apps/expo/package.json @@ -15,44 +15,44 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@expo/metro-config": "^0.17.4", + "@expo/metro-config": "^0.17.6", "@shopify/flash-list": "1.6.3", "@tanstack/react-query": "^5.28.6", - "@trpc/client": "11.0.0-next-beta.294", - "@trpc/react-query": "11.0.0-next-beta.294", - "@trpc/server": "11.0.0-next-beta.294", - "expo": "~50.0.7", + "@trpc/client": "11.0.0-next.320", + "@trpc/react-query": "11.0.0-next.320", + "@trpc/server": "11.0.0-next.320", + "expo": "~50.0.14", "expo-constants": "~15.4.5", "expo-linking": "~6.2.2", - "expo-router": "~3.4.7", + "expo-router": "~3.4.8", "expo-splash-screen": "~0.26.4", "expo-status-bar": "~1.11.1", "nativewind": "~4.0.36", "react": "18.2.0", "react-dom": "18.2.0", - "react-native": "~0.73.5", + "react-native": "~0.73.6", "react-native-css-interop": "~0.0.34", - "react-native-gesture-handler": "~2.14.0", + "react-native-gesture-handler": "~2.14.1", "react-native-reanimated": "~3.8.1", "react-native-safe-area-context": "~4.8.2", "react-native-screens": "~3.29.0", "superjson": "2.2.1" }, "devDependencies": { - "@yocxo/api": "workspace:^0.1.0", - "@yocxo/eslint-config": "workspace:^0.2.0", - "@yocxo/prettier-config": "workspace:^0.1.0", - "@yocxo/tailwind-config": "workspace:^0.1.0", - "@yocxo/tsconfig": "workspace:^0.1.0", - "@babel/core": "^7.23.9", - "@babel/preset-env": "^7.23.9", - "@babel/runtime": "^7.23.9", + "@yocxo/api": "workspace:*", + "@yocxo/eslint-config": "workspace:*", + "@yocxo/prettier-config": "workspace:*", + "@yocxo/tailwind-config": "workspace:*", + "@yocxo/tsconfig": "workspace:*", + "@babel/core": "^7.24.3", + "@babel/preset-env": "^7.24.3", + "@babel/runtime": "^7.24.1", "@types/babel__core": "^7.20.5", - "@types/react": "^18.2.67", + "@types/react": "^18.2.69", "eslint": "^8.57.0", "prettier": "^3.2.5", "tailwindcss": "^3.4.1", - "typescript": "^5.3.3" + "typescript": "^5.4.3" }, "eslintConfig": { "root": true, diff --git a/apps/expo/tsconfig.json b/apps/expo/tsconfig.json index ab768d6cc..2b8ace0e9 100644 --- a/apps/expo/tsconfig.json +++ b/apps/expo/tsconfig.json @@ -7,7 +7,8 @@ }, "jsx": "react-native", "tsBuildInfoFile": "node_modules/.cache/tsbuildinfo.json", - "types": ["nativewind/types"] + "types": ["nativewind/types"], + "checkJs": false }, "include": ["src", "*.ts", "*.js", ".expo/types/**/*.ts", "expo-env.d.ts"], "exclude": ["node_modules"] diff --git a/apps/nextjs/package.json b/apps/nextjs/package.json index 35900bab3..74def0e06 100644 --- a/apps/nextjs/package.json +++ b/apps/nextjs/package.json @@ -14,37 +14,37 @@ "with-env": "dotenv -e ../../.env --" }, "dependencies": { - "@yocxo/api": "workspace:^0.1.0", - "@yocxo/auth": "workspace:^0.1.0", - "@yocxo/db": "workspace:^0.1.0", - "@yocxo/ui": "workspace:^0.1.0", - "@yocxo/validators": "workspace:^0.1.0", + "@yocxo/api": "workspace:*", + "@yocxo/auth": "workspace:*", + "@yocxo/db": "workspace:*", + "@yocxo/ui": "workspace:*", + "@yocxo/validators": "workspace:*", "@t3-oss/env-nextjs": "^0.9.2", "@tanstack/react-query": "^5.28.6", - "@trpc/client": "11.0.0-next-beta.294", - "@trpc/react-query": "11.0.0-next-beta.294", - "@trpc/server": "11.0.0-next-beta.294", + "@trpc/client": "11.0.0-next.320", + "@trpc/react-query": "11.0.0-next.320", + "@trpc/server": "11.0.0-next.320", "geist": "^1.2.2", - "next": "^14.1.0", + "next": "^14.1.4", "react": "18.2.0", "react-dom": "18.2.0", "superjson": "2.2.1", "zod": "^3.22.4" }, "devDependencies": { - "@yocxo/eslint-config": "workspace:^0.2.0", - "@yocxo/prettier-config": "workspace:^0.1.0", - "@yocxo/tailwind-config": "workspace:^0.1.0", - "@yocxo/tsconfig": "workspace:^0.1.0", + "@yocxo/eslint-config": "workspace:*", + "@yocxo/prettier-config": "workspace:*", + "@yocxo/tailwind-config": "workspace:*", + "@yocxo/tsconfig": "workspace:*", "@types/node": "^20.11.30", - "@types/react": "^18.2.67", + "@types/react": "^18.2.69", "@types/react-dom": "^18.2.22", - "dotenv-cli": "^7.3.0", + "dotenv-cli": "^7.4.1", "eslint": "^8.57.0", "jiti": "^1.21.0", "prettier": "^3.2.5", "tailwindcss": "^3.4.1", - "typescript": "^5.3.3" + "typescript": "^5.4.3" }, "eslintConfig": { "root": true, diff --git a/apps/nextjs/tsconfig.json b/apps/nextjs/tsconfig.json index d503e47c9..c5cff84b3 100644 --- a/apps/nextjs/tsconfig.json +++ b/apps/nextjs/tsconfig.json @@ -1,12 +1,15 @@ { "extends": "@yocxo/tsconfig/base.json", "compilerOptions": { + "lib": ["es2022", "dom", "dom.iterable"], + "jsx": "preserve", "baseUrl": ".", "paths": { "#/*": ["./src/*"] }, "plugins": [{ "name": "next" }], - "tsBuildInfoFile": "node_modules/.cache/tsbuildinfo.json" + "tsBuildInfoFile": "node_modules/.cache/tsbuildinfo.json", + "module": "esnext" }, "include": [".", ".next/types/**/*.ts"], "exclude": ["node_modules"] diff --git a/apps/web/package.json b/apps/web/package.json index bf78c1206..f0a9d1c58 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -17,36 +17,36 @@ "dependencies": { "@headlessui/react": "^1.7.13", "@t3-oss/env-nextjs": "^0.9.2", - "@yocxo/api": "workspace:^0.1.0", - "@yocxo/auth": "workspace:^0.1.0", - "@yocxo/db": "workspace:^0.1.0", - "@yocxo/ui": "workspace:^0.1.0", - "@yocxo/validators": "workspace:^0.1.0", + "@yocxo/api": "workspace:*", + "@yocxo/auth": "workspace:*", + "@yocxo/db": "workspace:*", + "@yocxo/ui": "workspace:*", + "@yocxo/validators": "workspace:*", "basehub": "^3.0.5", "escape-string-regexp": "^5.0.0", "fast-glob": "^3.2.12", "framer-motion": "^11.0.5", - "next": "^14.1.0", + "next": "^14.1.4", "react": "18.2.0", "react-dom": "18.2.0", "zod": "^3.22.4" }, "devDependencies": { "@types/node": "^20.11.30", - "@types/react": "^18.2.67", + "@types/react": "^18.2.69", "@types/react-dom": "^18.2.22", - "@yocxo/eslint-config": "workspace:^0.2.0", - "@yocxo/prettier-config": "workspace:^0.1.0", - "@yocxo/tailwind-config": "workspace:^0.1.0", - "@yocxo/tsconfig": "workspace:^0.1.0", - "dotenv-cli": "^7.3.0", + "@yocxo/eslint-config": "workspace:*", + "@yocxo/prettier-config": "workspace:*", + "@yocxo/tailwind-config": "workspace:*", + "@yocxo/tsconfig": "workspace:*", + "dotenv-cli": "^7.4.1", "eslint": "^8.57.0", "jiti": "^1.21.0", "prettier": "^3.2.5", "schema-dts": "^1.1.2", "sharp": "0.33.1", "tailwindcss": "^3.4.1", - "typescript": "^5.3.3" + "typescript": "^5.4.3" }, "eslintConfig": { "root": true, diff --git a/apps/web/tsconfig.json b/apps/web/tsconfig.json index d503e47c9..c5cff84b3 100644 --- a/apps/web/tsconfig.json +++ b/apps/web/tsconfig.json @@ -1,12 +1,15 @@ { "extends": "@yocxo/tsconfig/base.json", "compilerOptions": { + "lib": ["es2022", "dom", "dom.iterable"], + "jsx": "preserve", "baseUrl": ".", "paths": { "#/*": ["./src/*"] }, "plugins": [{ "name": "next" }], - "tsBuildInfoFile": "node_modules/.cache/tsbuildinfo.json" + "tsBuildInfoFile": "node_modules/.cache/tsbuildinfo.json", + "module": "esnext" }, "include": [".", ".next/types/**/*.ts"], "exclude": ["node_modules"] diff --git a/package.json b/package.json index 4ab2d8dcc..3fcf3d995 100644 --- a/package.json +++ b/package.json @@ -21,11 +21,11 @@ "typecheck": "turbo typecheck" }, "devDependencies": { - "@yocxo/prettier-config": "workspace:^0.1.0", + "@yocxo/prettier-config": "workspace:*", "@turbo/gen": "^1.13.0", "prettier": "^3.2.5", "turbo": "^1.13.0", - "typescript": "^5.3.3" + "typescript": "^5.4.3" }, "prettier": "@yocxo/prettier-config" } diff --git a/packages/api/package.json b/packages/api/package.json index 3427fab84..a80ae5d40 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -4,30 +4,35 @@ "private": true, "type": "module", "exports": { - ".": "./src/index.ts" + ".": { + "types": "./dist/index.d.ts", + "default": "./src/index.ts" + } }, "license": "MIT", "scripts": { + "build": "tsc", + "dev": "tsc --watch", "clean": "rm -rf .turbo node_modules", "format": "prettier --check . --ignore-path ../../.gitignore", "lint": "eslint .", - "typecheck": "tsc --noEmit" + "typecheck": "tsc --noEmit --emitDeclarationOnly false" }, "dependencies": { - "@yocxo/auth": "workspace:^0.1.0", - "@yocxo/db": "workspace:^0.1.0", - "@yocxo/validators": "workspace:^0.1.0", - "@trpc/server": "11.0.0-next-beta.294", + "@yocxo/auth": "workspace:*", + "@yocxo/db": "workspace:*", + "@yocxo/validators": "workspace:*", + "@trpc/server": "11.0.0-next.320", "superjson": "2.2.1", "zod": "^3.22.4" }, "devDependencies": { - "@yocxo/eslint-config": "workspace:^0.2.0", - "@yocxo/prettier-config": "workspace:^0.1.0", - "@yocxo/tsconfig": "workspace:^0.1.0", + "@yocxo/eslint-config": "workspace:*", + "@yocxo/prettier-config": "workspace:*", + "@yocxo/tsconfig": "workspace:*", "eslint": "^8.57.0", "prettier": "^3.2.5", - "typescript": "^5.3.3" + "typescript": "^5.4.3" }, "eslintConfig": { "root": true, diff --git a/packages/api/src/router/auth.ts b/packages/api/src/router/auth.ts index edf5e33c3..7a682c25f 100644 --- a/packages/api/src/router/auth.ts +++ b/packages/api/src/router/auth.ts @@ -5,7 +5,6 @@ export const authRouter = createTRPCRouter({ return ctx.session; }), getSecretMessage: protectedProcedure.query(() => { - // testing type validation of overridden next-auth Session in @yocxo/auth package return 'you can see this secret message!'; }), }); diff --git a/packages/api/src/router/post.ts b/packages/api/src/router/post.ts index 1556c535e..f99965c8f 100644 --- a/packages/api/src/router/post.ts +++ b/packages/api/src/router/post.ts @@ -1,11 +1,13 @@ +import type { TRPCRouterRecord } from '@trpc/server'; + import { z } from 'zod'; import { desc, eq, schema } from '@yocxo/db'; import { CreatePostSchema } from '@yocxo/validators'; -import { createTRPCRouter, protectedProcedure, publicProcedure } from '../trpc'; +import { protectedProcedure, publicProcedure } from '../trpc'; -export const postRouter = createTRPCRouter({ +export const postRouter = { all: publicProcedure.query(({ ctx }) => { // return ctx.db.select().from(schema.post).orderBy(desc(schema.post.id)); return ctx.db.query.post.findMany({ @@ -36,4 +38,4 @@ export const postRouter = createTRPCRouter({ delete: protectedProcedure.input(z.number()).mutation(({ ctx, input }) => { return ctx.db.delete(schema.post).where(eq(schema.post.id, input)); }), -}); +} satisfies TRPCRouterRecord; diff --git a/packages/api/src/trpc.ts b/packages/api/src/trpc.ts index 4a294ed70..ea46e9b63 100644 --- a/packages/api/src/trpc.ts +++ b/packages/api/src/trpc.ts @@ -11,7 +11,6 @@ import superjson from 'superjson'; import { ZodError } from 'zod'; import type { Session } from '@yocxo/auth'; -import { auth } from '@yocxo/auth'; import { db } from '@yocxo/db'; /** @@ -26,11 +25,11 @@ import { db } from '@yocxo/db'; * * @see https://trpc.io/docs/server/context */ -export const createTRPCContext = async (opts: { +export const createTRPCContext = (opts: { headers: Headers; session: Session | null; }) => { - const session = opts.session ?? (await auth()); + const session = opts.session; const source = opts.headers.get('x-trpc-source') ?? 'unknown'; console.log('>>> tRPC Request from', source, 'by', session?.user); diff --git a/packages/api/tsconfig.json b/packages/api/tsconfig.json index 37f09eef1..6befbf076 100644 --- a/packages/api/tsconfig.json +++ b/packages/api/tsconfig.json @@ -1,6 +1,7 @@ { - "extends": "@yocxo/tsconfig/base.json", + "extends": "@yocxo/tsconfig/internal-package.json", "compilerOptions": { + "outDir": "dist", "tsBuildInfoFile": "node_modules/.cache/tsbuildinfo.json" }, "include": ["src"], diff --git a/packages/auth/package.json b/packages/auth/package.json index 83bb7acd0..31dfbd16d 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -15,22 +15,22 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@yocxo/db": "workspace:^0.1.0", + "@yocxo/db": "workspace:*", "@auth/drizzle-adapter": "^0.7.0", "@t3-oss/env-nextjs": "^0.9.2", - "next": "^14.1.0", + "next": "^14.1.4", "next-auth": "5.0.0-beta.15", "react": "18.2.0", "react-dom": "18.2.0", "zod": "^3.22.4" }, "devDependencies": { - "@yocxo/eslint-config": "workspace:^0.2.0", - "@yocxo/prettier-config": "workspace:^0.1.0", - "@yocxo/tsconfig": "workspace:^0.1.0", + "@yocxo/eslint-config": "workspace:*", + "@yocxo/prettier-config": "workspace:*", + "@yocxo/tsconfig": "workspace:*", "eslint": "^8.57.0", "prettier": "^3.2.5", - "typescript": "^5.3.3" + "typescript": "^5.4.3" }, "eslintConfig": { "root": true, diff --git a/packages/db/package.json b/packages/db/package.json index 52201f1a1..796fda40d 100644 --- a/packages/db/package.json +++ b/packages/db/package.json @@ -4,31 +4,37 @@ "private": true, "type": "module", "exports": { - ".": "./src/index.ts" + ".": { + "types": "./dist/index.d.ts", + "default": "./src/index.ts" + } }, "license": "MIT", "scripts": { + "build": "tsc", + "dev": "tsc --watch", "clean": "rm -rf .turbo node_modules", "format": "prettier --check . --ignore-path ../../.gitignore", "lint": "eslint .", - "push": "pnpm with-env drizzle-kit push:mysql", - "studio": "pnpm with-env drizzle-kit studio", - "typecheck": "tsc --noEmit", + "push": "pnpm with-env drizzle-kit push:mysql --config src/config.ts", + "studio": "pnpm with-env drizzle-kit studio --config src/config.ts", + "typecheck": "tsc --noEmit --emitDeclarationOnly false", "with-env": "dotenv -e ../../.env.local --" }, "dependencies": { "@planetscale/database": "^1.16.0", - "drizzle-orm": "^0.29.4" + "drizzle-orm": "^0.29.5" }, "devDependencies": { - "@yocxo/eslint-config": "workspace:^0.2.0", - "@yocxo/prettier-config": "workspace:^0.1.0", - "@yocxo/tsconfig": "workspace:^0.1.0", - "dotenv-cli": "^7.3.0", + "@yocxo/eslint-config": "workspace:*", + "@yocxo/prettier-config": "workspace:*", + "@yocxo/tsconfig": "workspace:*", + "dotenv-cli": "^7.4.1", "drizzle-kit": "^0.20.14", "eslint": "^8.57.0", + "mysql2": "^3.9.2", "prettier": "^3.2.5", - "typescript": "^5.3.3" + "typescript": "^5.4.3" }, "eslintConfig": { "root": true, diff --git a/packages/db/drizzle.config.ts b/packages/db/src/config.ts similarity index 100% rename from packages/db/drizzle.config.ts rename to packages/db/src/config.ts diff --git a/packages/db/tsconfig.json b/packages/db/tsconfig.json index f8501a702..6befbf076 100644 --- a/packages/db/tsconfig.json +++ b/packages/db/tsconfig.json @@ -1,8 +1,9 @@ { - "extends": "@yocxo/tsconfig/base.json", + "extends": "@yocxo/tsconfig/internal-package.json", "compilerOptions": { + "outDir": "dist", "tsBuildInfoFile": "node_modules/.cache/tsbuildinfo.json" }, - "include": ["src", "drizzle.config.ts"], + "include": ["src"], "exclude": ["node_modules"] } diff --git a/packages/ui/package.json b/packages/ui/package.json index 5952509ee..c856bb479 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -35,7 +35,7 @@ "clean": "rm -rf .turbo node_modules", "format": "prettier --check . --ignore-path ../../.gitignore", "lint": "eslint .", - "typecheck": "tsc --noEmit" + "typecheck": "tsc --noEmit --emitDeclarationOnly false" }, "dependencies": { "@hookform/resolvers": "^3.3.4", @@ -52,22 +52,22 @@ "@radix-ui/react-tooltip": "^1.0.7", "class-variance-authority": "^0.7.0", "next-themes": "^0.2.1", - "react-hook-form": "^7.50.1", - "sonner": "^1.4.3", - "tailwind-merge": "^2.2.1", + "react-hook-form": "^7.51.1", + "sonner": "^1.4.41", + "tailwind-merge": "^2.2.2", "tailwindcss-animate": "^1.0.7" }, "devDependencies": { - "@yocxo/eslint-config": "workspace:^0.2.0", - "@yocxo/prettier-config": "workspace:^0.1.0", - "@yocxo/tailwind-config": "workspace:^0.1.0", - "@yocxo/tsconfig": "workspace:^0.1.0", - "@types/react": "^18.2.67", + "@yocxo/eslint-config": "workspace:*", + "@yocxo/prettier-config": "workspace:*", + "@yocxo/tailwind-config": "workspace:*", + "@yocxo/tsconfig": "workspace:*", + "@types/react": "^18.2.69", "eslint": "^8.57.0", "prettier": "^3.2.5", "react": "18.2.0", "tailwindcss": "^3.4.1", - "typescript": "^5.3.3", + "typescript": "^5.4.3", "zod": "^3.22.4" }, "peerDependencies": { diff --git a/packages/ui/tsconfig.json b/packages/ui/tsconfig.json index 43f5f9fbe..c20378a33 100644 --- a/packages/ui/tsconfig.json +++ b/packages/ui/tsconfig.json @@ -1,6 +1,8 @@ { - "extends": "@yocxo/tsconfig/base.json", + "extends": "@yocxo/tsconfig/internal-package.json", "compilerOptions": { + "lib": ["dom", "dom.iterable", "ES2022"], + "jsx": "preserve", "tsBuildInfoFile": "node_modules/.cache/tsbuildinfo.json" }, "include": ["*.ts", "src"], diff --git a/packages/validators/package.json b/packages/validators/package.json index 92e1b754e..754401946 100644 --- a/packages/validators/package.json +++ b/packages/validators/package.json @@ -4,25 +4,30 @@ "version": "0.1.0", "type": "module", "exports": { - ".": "./src/index.ts" + ".": { + "types": "./dist/index.d.ts", + "default": "./src/index.ts" + } }, "license": "MIT", "scripts": { + "build": "tsc", + "dev": "tsc --watch", "clean": "rm -rf .turbo node_modules", "format": "prettier --check . --ignore-path ../../.gitignore", "lint": "eslint .", - "typecheck": "tsc --noEmit" + "typecheck": "tsc --noEmit --emitDeclarationOnly false" }, "dependencies": { "zod": "^3.22.4" }, "devDependencies": { - "@yocxo/eslint-config": "workspace:^0.2.0", - "@yocxo/prettier-config": "workspace:^0.1.0", - "@yocxo/tsconfig": "workspace:^0.1.0", + "@yocxo/eslint-config": "workspace:*", + "@yocxo/prettier-config": "workspace:*", + "@yocxo/tsconfig": "workspace:*", "eslint": "^8.57.0", "prettier": "^3.2.5", - "typescript": "^5.3.3" + "typescript": "^5.4.3" }, "eslintConfig": { "extends": [ diff --git a/packages/validators/tsconfig.json b/packages/validators/tsconfig.json index 43f5f9fbe..025c52d02 100644 --- a/packages/validators/tsconfig.json +++ b/packages/validators/tsconfig.json @@ -1,6 +1,7 @@ { - "extends": "@yocxo/tsconfig/base.json", + "extends": "@yocxo/tsconfig/internal-package.json", "compilerOptions": { + "outDir": "dist", "tsBuildInfoFile": "node_modules/.cache/tsbuildinfo.json" }, "include": ["*.ts", "src"], diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c7a6e0516..a6d318c66 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -12,7 +12,7 @@ importers: specifier: ^1.13.0 version: 1.13.0(@types/node@20.11.30)(typescript@5.4.3) '@yocxo/prettier-config': - specifier: workspace:^0.1.0 + specifier: workspace:* version: link:tooling/prettier prettier: specifier: ^3.2.5 @@ -21,29 +21,29 @@ importers: specifier: ^1.13.0 version: 1.13.0 typescript: - specifier: ^5.3.3 + specifier: ^5.4.3 version: 5.4.3 apps/auth-proxy: dependencies: '@auth/core': - specifier: 0.27.0 - version: 0.27.0 + specifier: 0.28.0 + version: 0.28.0 devDependencies: '@types/node': specifier: ^20.11.30 version: 20.11.30 '@yocxo/eslint-config': - specifier: workspace:^0.2.0 + specifier: workspace:* version: link:../../tooling/eslint '@yocxo/prettier-config': - specifier: workspace:^0.1.0 + specifier: workspace:* version: link:../../tooling/prettier '@yocxo/tailwind-config': - specifier: workspace:^0.1.0 + specifier: workspace:* version: link:../../tooling/tailwind '@yocxo/tsconfig': - specifier: workspace:^0.1.0 + specifier: workspace:* version: link:../../tooling/typescript eslint: specifier: ^8.57.0 @@ -52,13 +52,13 @@ importers: specifier: ^1.11.1 version: 1.11.1 nitropack: - specifier: ^2.8.1 + specifier: ^2.9.4 version: 2.9.5 prettier: specifier: ^3.2.5 version: 3.2.5 typescript: - specifier: ^5.3.3 + specifier: ^5.4.3 version: 5.4.3 apps/coco: @@ -76,23 +76,23 @@ importers: specifier: ^0.6.2 version: 0.6.2 '@yocxo/api': - specifier: workspace:^0.1.0 + specifier: workspace:* version: link:../../packages/api '@yocxo/auth': - specifier: workspace:^0.1.0 + specifier: workspace:* version: link:../../packages/auth '@yocxo/db': - specifier: workspace:^0.1.0 + specifier: workspace:* version: link:../../packages/db '@yocxo/ui': - specifier: workspace:^0.1.0 + specifier: workspace:* version: link:../../packages/ui '@yocxo/validators': - specifier: workspace:^0.1.0 + specifier: workspace:* version: link:../../packages/validators ai: specifier: ^3.0.12 - version: 3.0.13(react@18.2.0)(solid-js@1.8.16)(svelte@4.2.12)(vue@3.4.21)(zod@3.22.4) + version: 3.0.14(react@18.2.0)(solid-js@1.8.16)(svelte@4.2.12)(vue@3.4.21)(zod@3.22.4) d3-scale: specifier: ^4.0.2 version: 4.0.2 @@ -104,12 +104,12 @@ importers: version: 10.2.3(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0) framer-motion: specifier: ^11.0.5 - version: 11.0.21(react-dom@18.2.0)(react@18.2.0) + version: 11.0.22(react-dom@18.2.0)(react@18.2.0) nanoid: specifier: ^5.0.4 version: 5.0.6 next: - specifier: ^14.1.0 + specifier: ^14.1.4 version: 14.1.4(react-dom@18.2.0)(react@18.2.0) next-auth: specifier: 5.0.0-beta.15 @@ -128,13 +128,13 @@ importers: version: 9.8.1(react-dom@18.2.0)(react@18.2.0) react-markdown: specifier: ^8.0.7 - version: 8.0.7(@types/react@18.2.71)(react@18.2.0) + version: 8.0.7(@types/react@18.2.72)(react@18.2.0) react-syntax-highlighter: specifier: ^15.5.0 version: 15.5.0(react@18.2.0) react-textarea-autosize: specifier: ^8.5.3 - version: 8.5.3(@types/react@18.2.71)(react@18.2.0) + version: 8.5.3(@types/react@18.2.72)(react@18.2.0) remark-gfm: specifier: ^3.0.1 version: 3.0.1 @@ -155,8 +155,8 @@ importers: specifier: ^20.11.30 version: 20.11.30 '@types/react': - specifier: ^18.2.67 - version: 18.2.71 + specifier: ^18.2.69 + version: 18.2.72 '@types/react-dom': specifier: ^18.2.22 version: 18.2.22 @@ -164,19 +164,19 @@ importers: specifier: ^15.5.11 version: 15.5.11 '@yocxo/eslint-config': - specifier: workspace:^0.2.0 + specifier: workspace:* version: link:../../tooling/eslint '@yocxo/prettier-config': - specifier: workspace:^0.1.0 + specifier: workspace:* version: link:../../tooling/prettier '@yocxo/tailwind-config': - specifier: workspace:^0.1.0 + specifier: workspace:* version: link:../../tooling/tailwind '@yocxo/tsconfig': - specifier: workspace:^0.1.0 + specifier: workspace:* version: link:../../tooling/typescript dotenv-cli: - specifier: ^7.3.0 + specifier: ^7.4.1 version: 7.4.1 eslint: specifier: ^8.57.0 @@ -191,31 +191,31 @@ importers: specifier: ^3.4.1 version: 3.4.1 typescript: - specifier: ^5.3.3 + specifier: ^5.4.3 version: 5.4.3 apps/expo: dependencies: '@expo/metro-config': - specifier: ^0.17.4 + specifier: ^0.17.6 version: 0.17.6(@react-native/babel-preset@0.73.21) '@shopify/flash-list': specifier: 1.6.3 version: 1.6.3(@babel/runtime@7.24.1)(react-native@0.73.6)(react@18.2.0) '@tanstack/react-query': specifier: ^5.28.6 - version: 5.28.8(react@18.2.0) + version: 5.28.9(react@18.2.0) '@trpc/client': - specifier: 11.0.0-next-beta.294 - version: 11.0.0-next-beta.294(@trpc/server@11.0.0-next-beta.294) + specifier: 11.0.0-next.320 + version: 11.0.0-next.320(@trpc/server@11.0.0-next.320) '@trpc/react-query': - specifier: 11.0.0-next-beta.294 - version: 11.0.0-next-beta.294(@tanstack/react-query@5.28.8)(@trpc/client@11.0.0-next-beta.294)(@trpc/server@11.0.0-next-beta.294)(react-dom@18.2.0)(react@18.2.0) + specifier: 11.0.0-next.320 + version: 11.0.0-next.320(@tanstack/react-query@5.28.9)(@trpc/client@11.0.0-next.320)(@trpc/server@11.0.0-next.320)(react-dom@18.2.0)(react@18.2.0) '@trpc/server': - specifier: 11.0.0-next-beta.294 - version: 11.0.0-next-beta.294 + specifier: 11.0.0-next.320 + version: 11.0.0-next.320 expo: - specifier: ~50.0.7 + specifier: ~50.0.14 version: 50.0.14(@babel/core@7.24.3)(@react-native/babel-preset@0.73.21) expo-constants: specifier: ~15.4.5 @@ -224,7 +224,7 @@ importers: specifier: ~6.2.2 version: 6.2.2(expo@50.0.14) expo-router: - specifier: ~3.4.7 + specifier: ~3.4.8 version: 3.4.8(expo-constants@15.4.5)(expo-linking@6.2.2)(expo-modules-autolinking@1.10.3)(expo-status-bar@1.11.1)(expo@50.0.14)(react-dom@18.2.0)(react-native-reanimated@3.8.1)(react-native-safe-area-context@4.8.2)(react-native-screens@3.29.0)(react-native@0.73.6)(react@18.2.0) expo-splash-screen: specifier: ~0.26.4 @@ -242,13 +242,13 @@ importers: specifier: 18.2.0 version: 18.2.0(react@18.2.0) react-native: - specifier: ~0.73.5 + specifier: ~0.73.6 version: 0.73.6(@babel/core@7.24.3)(@babel/preset-env@7.24.3)(react@18.2.0) react-native-css-interop: specifier: ~0.0.34 version: 0.0.34(@babel/core@7.24.3)(react-native-reanimated@3.8.1)(react-native-safe-area-context@4.8.2)(react-native@0.73.6)(react@18.2.0)(tailwindcss@3.4.1) react-native-gesture-handler: - specifier: ~2.14.0 + specifier: ~2.14.1 version: 2.14.1(react-native@0.73.6)(react@18.2.0) react-native-reanimated: specifier: ~3.8.1 @@ -264,34 +264,34 @@ importers: version: 2.2.1 devDependencies: '@babel/core': - specifier: ^7.23.9 + specifier: ^7.24.3 version: 7.24.3 '@babel/preset-env': - specifier: ^7.23.9 + specifier: ^7.24.3 version: 7.24.3(@babel/core@7.24.3) '@babel/runtime': - specifier: ^7.23.9 + specifier: ^7.24.1 version: 7.24.1 '@types/babel__core': specifier: ^7.20.5 version: 7.20.5 '@types/react': - specifier: ^18.2.67 - version: 18.2.71 + specifier: ^18.2.69 + version: 18.2.72 '@yocxo/api': - specifier: workspace:^0.1.0 + specifier: workspace:* version: link:../../packages/api '@yocxo/eslint-config': - specifier: workspace:^0.2.0 + specifier: workspace:* version: link:../../tooling/eslint '@yocxo/prettier-config': - specifier: workspace:^0.1.0 + specifier: workspace:* version: link:../../tooling/prettier '@yocxo/tailwind-config': - specifier: workspace:^0.1.0 + specifier: workspace:* version: link:../../tooling/tailwind '@yocxo/tsconfig': - specifier: workspace:^0.1.0 + specifier: workspace:* version: link:../../tooling/typescript eslint: specifier: ^8.57.0 @@ -303,7 +303,7 @@ importers: specifier: ^3.4.1 version: 3.4.1 typescript: - specifier: ^5.3.3 + specifier: ^5.4.3 version: 5.4.3 apps/nextjs: @@ -313,36 +313,36 @@ importers: version: 0.9.2(typescript@5.4.3)(zod@3.22.4) '@tanstack/react-query': specifier: ^5.28.6 - version: 5.28.8(react@18.2.0) + version: 5.28.9(react@18.2.0) '@trpc/client': - specifier: 11.0.0-next-beta.294 - version: 11.0.0-next-beta.294(@trpc/server@11.0.0-next-beta.294) + specifier: 11.0.0-next.320 + version: 11.0.0-next.320(@trpc/server@11.0.0-next.320) '@trpc/react-query': - specifier: 11.0.0-next-beta.294 - version: 11.0.0-next-beta.294(@tanstack/react-query@5.28.8)(@trpc/client@11.0.0-next-beta.294)(@trpc/server@11.0.0-next-beta.294)(react-dom@18.2.0)(react@18.2.0) + specifier: 11.0.0-next.320 + version: 11.0.0-next.320(@tanstack/react-query@5.28.9)(@trpc/client@11.0.0-next.320)(@trpc/server@11.0.0-next.320)(react-dom@18.2.0)(react@18.2.0) '@trpc/server': - specifier: 11.0.0-next-beta.294 - version: 11.0.0-next-beta.294 + specifier: 11.0.0-next.320 + version: 11.0.0-next.320 '@yocxo/api': - specifier: workspace:^0.1.0 + specifier: workspace:* version: link:../../packages/api '@yocxo/auth': - specifier: workspace:^0.1.0 + specifier: workspace:* version: link:../../packages/auth '@yocxo/db': - specifier: workspace:^0.1.0 + specifier: workspace:* version: link:../../packages/db '@yocxo/ui': - specifier: workspace:^0.1.0 + specifier: workspace:* version: link:../../packages/ui '@yocxo/validators': - specifier: workspace:^0.1.0 + specifier: workspace:* version: link:../../packages/validators geist: specifier: ^1.2.2 version: 1.3.0(next@14.1.4) next: - specifier: ^14.1.0 + specifier: ^14.1.4 version: 14.1.4(react-dom@18.2.0)(react@18.2.0) react: specifier: 18.2.0 @@ -361,25 +361,25 @@ importers: specifier: ^20.11.30 version: 20.11.30 '@types/react': - specifier: ^18.2.67 - version: 18.2.71 + specifier: ^18.2.69 + version: 18.2.72 '@types/react-dom': specifier: ^18.2.22 version: 18.2.22 '@yocxo/eslint-config': - specifier: workspace:^0.2.0 + specifier: workspace:* version: link:../../tooling/eslint '@yocxo/prettier-config': - specifier: workspace:^0.1.0 + specifier: workspace:* version: link:../../tooling/prettier '@yocxo/tailwind-config': - specifier: workspace:^0.1.0 + specifier: workspace:* version: link:../../tooling/tailwind '@yocxo/tsconfig': - specifier: workspace:^0.1.0 + specifier: workspace:* version: link:../../tooling/typescript dotenv-cli: - specifier: ^7.3.0 + specifier: ^7.4.1 version: 7.4.1 eslint: specifier: ^8.57.0 @@ -394,7 +394,7 @@ importers: specifier: ^3.4.1 version: 3.4.1 typescript: - specifier: ^5.3.3 + specifier: ^5.4.3 version: 5.4.3 apps/web: @@ -406,19 +406,19 @@ importers: specifier: ^0.9.2 version: 0.9.2(typescript@5.4.3)(zod@3.22.4) '@yocxo/api': - specifier: workspace:^0.1.0 + specifier: workspace:* version: link:../../packages/api '@yocxo/auth': - specifier: workspace:^0.1.0 + specifier: workspace:* version: link:../../packages/auth '@yocxo/db': - specifier: workspace:^0.1.0 + specifier: workspace:* version: link:../../packages/db '@yocxo/ui': - specifier: workspace:^0.1.0 + specifier: workspace:* version: link:../../packages/ui '@yocxo/validators': - specifier: workspace:^0.1.0 + specifier: workspace:* version: link:../../packages/validators basehub: specifier: ^3.0.5 @@ -431,9 +431,9 @@ importers: version: 3.3.2 framer-motion: specifier: ^11.0.5 - version: 11.0.21(react-dom@18.2.0)(react@18.2.0) + version: 11.0.22(react-dom@18.2.0)(react@18.2.0) next: - specifier: ^14.1.0 + specifier: ^14.1.4 version: 14.1.4(react-dom@18.2.0)(react@18.2.0) react: specifier: 18.2.0 @@ -449,25 +449,25 @@ importers: specifier: ^20.11.30 version: 20.11.30 '@types/react': - specifier: ^18.2.67 - version: 18.2.71 + specifier: ^18.2.69 + version: 18.2.72 '@types/react-dom': specifier: ^18.2.22 version: 18.2.22 '@yocxo/eslint-config': - specifier: workspace:^0.2.0 + specifier: workspace:* version: link:../../tooling/eslint '@yocxo/prettier-config': - specifier: workspace:^0.1.0 + specifier: workspace:* version: link:../../tooling/prettier '@yocxo/tailwind-config': - specifier: workspace:^0.1.0 + specifier: workspace:* version: link:../../tooling/tailwind '@yocxo/tsconfig': - specifier: workspace:^0.1.0 + specifier: workspace:* version: link:../../tooling/typescript dotenv-cli: - specifier: ^7.3.0 + specifier: ^7.4.1 version: 7.4.1 eslint: specifier: ^8.57.0 @@ -488,22 +488,22 @@ importers: specifier: ^3.4.1 version: 3.4.1 typescript: - specifier: ^5.3.3 + specifier: ^5.4.3 version: 5.4.3 packages/api: dependencies: '@trpc/server': - specifier: 11.0.0-next-beta.294 - version: 11.0.0-next-beta.294 + specifier: 11.0.0-next.320 + version: 11.0.0-next.320 '@yocxo/auth': - specifier: workspace:^0.1.0 + specifier: workspace:* version: link:../auth '@yocxo/db': - specifier: workspace:^0.1.0 + specifier: workspace:* version: link:../db '@yocxo/validators': - specifier: workspace:^0.1.0 + specifier: workspace:* version: link:../validators superjson: specifier: 2.2.1 @@ -513,13 +513,13 @@ importers: version: 3.22.4 devDependencies: '@yocxo/eslint-config': - specifier: workspace:^0.2.0 + specifier: workspace:* version: link:../../tooling/eslint '@yocxo/prettier-config': - specifier: workspace:^0.1.0 + specifier: workspace:* version: link:../../tooling/prettier '@yocxo/tsconfig': - specifier: workspace:^0.1.0 + specifier: workspace:* version: link:../../tooling/typescript eslint: specifier: ^8.57.0 @@ -528,7 +528,7 @@ importers: specifier: ^3.2.5 version: 3.2.5 typescript: - specifier: ^5.3.3 + specifier: ^5.4.3 version: 5.4.3 packages/auth: @@ -540,10 +540,10 @@ importers: specifier: ^0.9.2 version: 0.9.2(typescript@5.4.3)(zod@3.22.4) '@yocxo/db': - specifier: workspace:^0.1.0 + specifier: workspace:* version: link:../db next: - specifier: ^14.1.0 + specifier: ^14.1.4 version: 14.1.4(react-dom@18.2.0)(react@18.2.0) next-auth: specifier: 5.0.0-beta.15 @@ -559,13 +559,13 @@ importers: version: 3.22.4 devDependencies: '@yocxo/eslint-config': - specifier: workspace:^0.2.0 + specifier: workspace:* version: link:../../tooling/eslint '@yocxo/prettier-config': - specifier: workspace:^0.1.0 + specifier: workspace:* version: link:../../tooling/prettier '@yocxo/tsconfig': - specifier: workspace:^0.1.0 + specifier: workspace:* version: link:../../tooling/typescript eslint: specifier: ^8.57.0 @@ -574,7 +574,7 @@ importers: specifier: ^3.2.5 version: 3.2.5 typescript: - specifier: ^5.3.3 + specifier: ^5.4.3 version: 5.4.3 packages/db: @@ -583,20 +583,20 @@ importers: specifier: ^1.16.0 version: 1.16.0 drizzle-orm: - specifier: ^0.29.4 - version: 0.29.5(@planetscale/database@1.16.0) + specifier: ^0.29.5 + version: 0.29.5(@planetscale/database@1.16.0)(mysql2@3.9.3) devDependencies: '@yocxo/eslint-config': - specifier: workspace:^0.2.0 + specifier: workspace:* version: link:../../tooling/eslint '@yocxo/prettier-config': - specifier: workspace:^0.1.0 + specifier: workspace:* version: link:../../tooling/prettier '@yocxo/tsconfig': - specifier: workspace:^0.1.0 + specifier: workspace:* version: link:../../tooling/typescript dotenv-cli: - specifier: ^7.3.0 + specifier: ^7.4.1 version: 7.4.1 drizzle-kit: specifier: ^0.20.14 @@ -604,51 +604,54 @@ importers: eslint: specifier: ^8.57.0 version: 8.57.0 + mysql2: + specifier: ^3.9.2 + version: 3.9.3 prettier: specifier: ^3.2.5 version: 3.2.5 typescript: - specifier: ^5.3.3 + specifier: ^5.4.3 version: 5.4.3 packages/ui: dependencies: '@hookform/resolvers': specifier: ^3.3.4 - version: 3.3.4(react-hook-form@7.51.1) + version: 3.3.4(react-hook-form@7.51.2) '@radix-ui/react-alert-dialog': specifier: ^1.0.5 - version: 1.0.5(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.5(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-avatar': specifier: ^1.0.4 - version: 1.0.4(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.4(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-dialog': specifier: ^1.0.5 - version: 1.0.5(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.5(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-dropdown-menu': specifier: ^2.0.6 - version: 2.0.6(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + version: 2.0.6(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-label': specifier: ^2.0.2 - version: 2.0.2(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + version: 2.0.2(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-popover': specifier: ^1.0.7 - version: 1.0.7(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.7(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-select': specifier: ^2.0.0 - version: 2.0.0(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + version: 2.0.0(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-separator': specifier: ^1.0.3 - version: 1.0.3(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.3(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-slot': specifier: ^1.0.2 - version: 1.0.2(@types/react@18.2.71)(react@18.2.0) + version: 1.0.2(@types/react@18.2.72)(react@18.2.0) '@radix-ui/react-switch': specifier: ^1.0.3 - version: 1.0.3(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.3(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-tooltip': specifier: ^1.0.7 - version: 1.0.7(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) + version: 1.0.7(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) class-variance-authority: specifier: ^0.7.0 version: 0.7.0 @@ -656,32 +659,32 @@ importers: specifier: ^0.2.1 version: 0.2.1(next@14.1.4)(react-dom@18.2.0)(react@18.2.0) react-hook-form: - specifier: ^7.50.1 - version: 7.51.1(react@18.2.0) + specifier: ^7.51.1 + version: 7.51.2(react@18.2.0) sonner: - specifier: ^1.4.3 + specifier: ^1.4.41 version: 1.4.41(react-dom@18.2.0)(react@18.2.0) tailwind-merge: - specifier: ^2.2.1 + specifier: ^2.2.2 version: 2.2.2 tailwindcss-animate: specifier: ^1.0.7 version: 1.0.7(tailwindcss@3.4.1) devDependencies: '@types/react': - specifier: ^18.2.67 - version: 18.2.71 + specifier: ^18.2.69 + version: 18.2.72 '@yocxo/eslint-config': - specifier: workspace:^0.2.0 + specifier: workspace:* version: link:../../tooling/eslint '@yocxo/prettier-config': - specifier: workspace:^0.1.0 + specifier: workspace:* version: link:../../tooling/prettier '@yocxo/tailwind-config': - specifier: workspace:^0.1.0 + specifier: workspace:* version: link:../../tooling/tailwind '@yocxo/tsconfig': - specifier: workspace:^0.1.0 + specifier: workspace:* version: link:../../tooling/typescript eslint: specifier: ^8.57.0 @@ -696,7 +699,7 @@ importers: specifier: ^3.4.1 version: 3.4.1 typescript: - specifier: ^5.3.3 + specifier: ^5.4.3 version: 5.4.3 zod: specifier: ^3.22.4 @@ -709,13 +712,13 @@ importers: version: 3.22.4 devDependencies: '@yocxo/eslint-config': - specifier: workspace:^0.2.0 + specifier: workspace:* version: link:../../tooling/eslint '@yocxo/prettier-config': - specifier: workspace:^0.1.0 + specifier: workspace:* version: link:../../tooling/prettier '@yocxo/tsconfig': - specifier: workspace:^0.1.0 + specifier: workspace:* version: link:../../tooling/typescript eslint: specifier: ^8.57.0 @@ -724,19 +727,19 @@ importers: specifier: ^3.2.5 version: 3.2.5 typescript: - specifier: ^5.3.3 + specifier: ^5.4.3 version: 5.4.3 tooling/eslint: dependencies: '@next/eslint-plugin-next': - specifier: ^14.1.0 + specifier: ^14.1.4 version: 14.1.4 '@typescript-eslint/eslint-plugin': - specifier: ^7.2.0 + specifier: ^7.3.1 version: 7.4.0(@typescript-eslint/parser@7.4.0)(eslint@8.57.0)(typescript@5.4.3) '@typescript-eslint/parser': - specifier: ^7.2.0 + specifier: ^7.3.1 version: 7.4.0(eslint@8.57.0)(typescript@5.4.3) eslint-config-turbo: specifier: ^1.13.0 @@ -748,7 +751,7 @@ importers: specifier: ^6.8.0 version: 6.8.0(eslint@8.57.0) eslint-plugin-react: - specifier: ^7.33.2 + specifier: ^7.34.1 version: 7.34.1(eslint@8.57.0) eslint-plugin-react-hooks: specifier: ^4.6.0 @@ -758,10 +761,10 @@ importers: specifier: ^8.56.6 version: 8.56.6 '@yocxo/prettier-config': - specifier: workspace:^0.1.0 + specifier: workspace:* version: link:../prettier '@yocxo/tsconfig': - specifier: workspace:^0.1.0 + specifier: workspace:* version: link:../typescript eslint: specifier: ^8.57.0 @@ -770,7 +773,7 @@ importers: specifier: ^3.2.5 version: 3.2.5 typescript: - specifier: ^5.3.3 + specifier: ^5.4.3 version: 5.4.3 tooling/github: {} @@ -778,29 +781,29 @@ importers: tooling/prettier: dependencies: '@ianvs/prettier-plugin-sort-imports': - specifier: ^4.1.1 + specifier: ^4.2.1 version: 4.2.1(prettier@3.2.5) prettier: specifier: ^3.2.5 version: 3.2.5 prettier-plugin-tailwindcss: - specifier: ^0.5.11 + specifier: ^0.5.12 version: 0.5.12(@ianvs/prettier-plugin-sort-imports@4.2.1)(prettier@3.2.5) devDependencies: '@yocxo/tsconfig': - specifier: workspace:^0.1.0 + specifier: workspace:* version: link:../typescript typescript: - specifier: ^5.3.3 + specifier: ^5.4.3 version: 5.4.3 tooling/tailwind: dependencies: '@tailwindcss/typography': specifier: ^0.5.10 - version: 0.5.10(tailwindcss@3.4.1) + version: 0.5.11(tailwindcss@3.4.1) postcss: - specifier: ^8.4.35 + specifier: ^8.4.38 version: 8.4.38 tailwindcss: specifier: ^3.4.1 @@ -810,13 +813,13 @@ importers: version: 1.0.7(tailwindcss@3.4.1) devDependencies: '@yocxo/eslint-config': - specifier: workspace:^0.2.0 + specifier: workspace:* version: link:../eslint '@yocxo/prettier-config': - specifier: workspace:^0.1.0 + specifier: workspace:* version: link:../prettier '@yocxo/tsconfig': - specifier: workspace:^0.1.0 + specifier: workspace:* version: link:../typescript eslint: specifier: ^8.57.0 @@ -825,7 +828,7 @@ importers: specifier: ^3.2.5 version: 3.2.5 typescript: - specifier: ^5.3.3 + specifier: ^5.4.3 version: 5.4.3 tooling/typescript: {} @@ -3736,12 +3739,12 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false - /@hookform/resolvers@3.3.4(react-hook-form@7.51.1): + /@hookform/resolvers@3.3.4(react-hook-form@7.51.2): resolution: {integrity: sha512-o5cgpGOuJYrd+iMKvkttOclgwRW86EsWJZZRC23prf0uU2i48Htq4PuT73AVb9ionFyZrwYEITuOFGF+BydEtQ==} peerDependencies: react-hook-form: ^7.0.0 dependencies: - react-hook-form: 7.51.1(react@18.2.0) + react-hook-form: 7.51.2(react@18.2.0) dev: false /@humanwhocodes/config-array@0.11.14: @@ -4417,7 +4420,7 @@ packages: '@babel/runtime': 7.24.1 dev: false - /@radix-ui/react-alert-dialog@1.0.5(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-alert-dialog@1.0.5(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-OrVIOcZL0tl6xibeuGt5/+UxoT2N27KCFOPjFyfXMnchxSHZ/OW7cCX2nGlIYJrbHK/fczPcFzAwvNBB6XBNMA==} peerDependencies: '@types/react': '*' @@ -4432,17 +4435,17 @@ packages: dependencies: '@babel/runtime': 7.24.1 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@radix-ui/react-dialog': 1.0.5(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.71)(react@18.2.0) - '@types/react': 18.2.71 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@radix-ui/react-dialog': 1.0.5(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.72)(react@18.2.0) + '@types/react': 18.2.72 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-arrow@1.0.3(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-arrow@1.0.3(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-wSP+pHsB/jQRaL6voubsQ/ZlrGBHHrOjmBnr19hxYgtS0WvAFwZhK2WP/YY5yF9uKECCEEDGxuLxq1NBK51wFA==} peerDependencies: '@types/react': '*' @@ -4456,13 +4459,13 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.1 - '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.71 + '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.72 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-avatar@1.0.4(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-avatar@1.0.4(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-kVK2K7ZD3wwj3qhle0ElXhOjbezIgyl2hVvgwfIdexL3rN6zJmy5AqqIf+D31lxVppdzV8CjAfZ6PklkmInZLw==} peerDependencies: '@types/react': '*' @@ -4476,16 +4479,16 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.1 - '@radix-ui/react-context': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@types/react': 18.2.71 + '@radix-ui/react-context': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@types/react': 18.2.72 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-collection@1.0.3(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-collection@1.0.3(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA==} peerDependencies: '@types/react': '*' @@ -4499,11 +4502,11 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.71)(react@18.2.0) - '@types/react': 18.2.71 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.72)(react@18.2.0) + '@types/react': 18.2.72 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false @@ -4517,7 +4520,7 @@ packages: react: 18.2.0 dev: false - /@radix-ui/react-compose-refs@1.0.1(@types/react@18.2.71)(react@18.2.0): + /@radix-ui/react-compose-refs@1.0.1(@types/react@18.2.72)(react@18.2.0): resolution: {integrity: sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==} peerDependencies: '@types/react': '*' @@ -4527,11 +4530,11 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.1 - '@types/react': 18.2.71 + '@types/react': 18.2.72 react: 18.2.0 dev: false - /@radix-ui/react-context@1.0.1(@types/react@18.2.71)(react@18.2.0): + /@radix-ui/react-context@1.0.1(@types/react@18.2.72)(react@18.2.0): resolution: {integrity: sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==} peerDependencies: '@types/react': '*' @@ -4541,11 +4544,11 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.1 - '@types/react': 18.2.71 + '@types/react': 18.2.72 react: 18.2.0 dev: false - /@radix-ui/react-dialog@1.0.5(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-dialog@1.0.5(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-GjWJX/AUpB703eEBanuBnIWdIXg6NvJFCXcNlSZk4xdszCdhrJgBoUd1cGk67vFO+WdA2pfI/plOpqz/5GUP6Q==} peerDependencies: '@types/react': '*' @@ -4560,25 +4563,25 @@ packages: dependencies: '@babel/runtime': 7.24.1 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.5(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@radix-ui/react-focus-scope': 1.0.4(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@radix-ui/react-portal': 1.0.4(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.71)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@types/react': 18.2.71 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@radix-ui/react-focus-scope': 1.0.4(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.72)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@types/react': 18.2.72 aria-hidden: 1.2.4 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-remove-scroll: 2.5.5(@types/react@18.2.71)(react@18.2.0) + react-remove-scroll: 2.5.5(@types/react@18.2.72)(react@18.2.0) dev: false - /@radix-ui/react-direction@1.0.1(@types/react@18.2.71)(react@18.2.0): + /@radix-ui/react-direction@1.0.1(@types/react@18.2.72)(react@18.2.0): resolution: {integrity: sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA==} peerDependencies: '@types/react': '*' @@ -4588,11 +4591,11 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.1 - '@types/react': 18.2.71 + '@types/react': 18.2.72 react: 18.2.0 dev: false - /@radix-ui/react-dismissable-layer@1.0.5(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-dismissable-layer@1.0.5(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g==} peerDependencies: '@types/react': '*' @@ -4607,16 +4610,16 @@ packages: dependencies: '@babel/runtime': 7.24.1 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.2.71)(react@18.2.0) - '@types/react': 18.2.71 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.2.72)(react@18.2.0) + '@types/react': 18.2.72 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-dropdown-menu@2.0.6(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-dropdown-menu@2.0.6(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-i6TuFOoWmLWq+M/eCLGd/bQ2HfAX1RJgvrBQ6AQLmzfvsLdefxbWu8G9zczcPFfcSPehz9GcpF6K9QYreFV8hA==} peerDependencies: '@types/react': '*' @@ -4631,18 +4634,18 @@ packages: dependencies: '@babel/runtime': 7.24.1 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@radix-ui/react-menu': 2.0.6(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@types/react': 18.2.71 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@radix-ui/react-menu': 2.0.6(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@types/react': 18.2.72 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-focus-guards@1.0.1(@types/react@18.2.71)(react@18.2.0): + /@radix-ui/react-focus-guards@1.0.1(@types/react@18.2.72)(react@18.2.0): resolution: {integrity: sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA==} peerDependencies: '@types/react': '*' @@ -4652,11 +4655,11 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.1 - '@types/react': 18.2.71 + '@types/react': 18.2.72 react: 18.2.0 dev: false - /@radix-ui/react-focus-scope@1.0.4(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-focus-scope@1.0.4(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-sL04Mgvf+FmyvZeYfNu1EPAaaxD+aw7cYeIB9L9Fvq8+urhltTRaEo5ysKOpHuKPclsZcSUMKlN05x4u+CINpA==} peerDependencies: '@types/react': '*' @@ -4670,15 +4673,15 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@types/react': 18.2.71 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@types/react': 18.2.72 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-id@1.0.1(@types/react@18.2.71)(react@18.2.0): + /@radix-ui/react-id@1.0.1(@types/react@18.2.72)(react@18.2.0): resolution: {integrity: sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==} peerDependencies: '@types/react': '*' @@ -4688,12 +4691,12 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.1 - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@types/react': 18.2.71 + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@types/react': 18.2.72 react: 18.2.0 dev: false - /@radix-ui/react-label@2.0.2(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-label@2.0.2(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-N5ehvlM7qoTLx7nWPodsPYPgMzA5WM8zZChQg8nyFJKnDO5WHdba1vv5/H6IO5LtJMfD2Q3wh1qHFGNtK0w3bQ==} peerDependencies: '@types/react': '*' @@ -4707,13 +4710,13 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.1 - '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.71 + '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.72 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-menu@2.0.6(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-menu@2.0.6(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-BVkFLS+bUC8HcImkRKPSiVumA1VPOOEC5WBMiT+QAVsPzW1FJzI9KnqgGxVDPBcql5xXrHkD3JOVoXWEXD8SYA==} peerDependencies: '@types/react': '*' @@ -4728,29 +4731,29 @@ packages: dependencies: '@babel/runtime': 7.24.1 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collection': 1.0.3(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.5(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@radix-ui/react-focus-scope': 1.0.4(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@radix-ui/react-popper': 1.1.3(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-portal': 1.0.4(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-roving-focus': 1.0.4(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.71)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@types/react': 18.2.71 + '@radix-ui/react-collection': 1.0.3(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@radix-ui/react-focus-scope': 1.0.4(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@radix-ui/react-popper': 1.1.3(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-roving-focus': 1.0.4(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.72)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@types/react': 18.2.72 aria-hidden: 1.2.4 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-remove-scroll: 2.5.5(@types/react@18.2.71)(react@18.2.0) + react-remove-scroll: 2.5.5(@types/react@18.2.72)(react@18.2.0) dev: false - /@radix-ui/react-popover@1.0.7(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-popover@1.0.7(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-shtvVnlsxT6faMnK/a7n0wptwBD23xc1Z5mdrtKLwVEfsEMXodS0r5s0/g5P0hX//EKYZS2sxUjqfzlg52ZSnQ==} peerDependencies: '@types/react': '*' @@ -4765,26 +4768,26 @@ packages: dependencies: '@babel/runtime': 7.24.1 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.5(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@radix-ui/react-focus-scope': 1.0.4(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@radix-ui/react-popper': 1.1.3(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-portal': 1.0.4(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.71)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@types/react': 18.2.71 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@radix-ui/react-focus-scope': 1.0.4(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@radix-ui/react-popper': 1.1.3(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.72)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@types/react': 18.2.72 aria-hidden: 1.2.4 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-remove-scroll: 2.5.5(@types/react@18.2.71)(react@18.2.0) + react-remove-scroll: 2.5.5(@types/react@18.2.72)(react@18.2.0) dev: false - /@radix-ui/react-popper@1.1.3(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-popper@1.1.3(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-cKpopj/5RHZWjrbF2846jBNacjQVwkP068DfmgrNJXpvVWrOvlAmE9xSiy5OqeE+Gi8D9fP+oDhUnPqNMY8/5w==} peerDependencies: '@types/react': '*' @@ -4799,21 +4802,21 @@ packages: dependencies: '@babel/runtime': 7.24.1 '@floating-ui/react-dom': 2.0.8(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-arrow': 1.0.3(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@radix-ui/react-use-rect': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.71)(react@18.2.0) + '@radix-ui/react-arrow': 1.0.3(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@radix-ui/react-use-rect': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.72)(react@18.2.0) '@radix-ui/rect': 1.0.1 - '@types/react': 18.2.71 + '@types/react': 18.2.72 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-portal@1.0.4(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-portal@1.0.4(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-Qki+C/EuGUVCQTOTD5vzJzJuMUlewbzuKyUy+/iHM2uwGiru9gZeBJtHAPKAEkB5KWGi9mP/CHKcY0wt1aW45Q==} peerDependencies: '@types/react': '*' @@ -4827,13 +4830,13 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.1 - '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.71 + '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.72 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-presence@1.0.1(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-presence@1.0.1(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==} peerDependencies: '@types/react': '*' @@ -4847,14 +4850,14 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@types/react': 18.2.71 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@types/react': 18.2.72 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-primitive@1.0.3(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-primitive@1.0.3(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==} peerDependencies: '@types/react': '*' @@ -4868,13 +4871,13 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.1 - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.71)(react@18.2.0) - '@types/react': 18.2.71 + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.72)(react@18.2.0) + '@types/react': 18.2.72 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-roving-focus@1.0.4(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-roving-focus@1.0.4(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-2mUg5Mgcu001VkGy+FfzZyzbmuUWzgWkj3rvv4yu+mLw03+mTzbxZHvfcGyFp2b8EkQeMkpRQ5FiA2Vr2O6TeQ==} peerDependencies: '@types/react': '*' @@ -4889,20 +4892,20 @@ packages: dependencies: '@babel/runtime': 7.24.1 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collection': 1.0.3(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@types/react': 18.2.71 + '@radix-ui/react-collection': 1.0.3(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@types/react': 18.2.72 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-select@2.0.0(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-select@2.0.0(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-RH5b7af4oHtkcHS7pG6Sgv5rk5Wxa7XI8W5gvB1N/yiuDGZxko1ynvOiVhFM7Cis2A8zxF9bTOUVbRDzPepe6w==} peerDependencies: '@types/react': '*' @@ -4918,31 +4921,31 @@ packages: '@babel/runtime': 7.24.1 '@radix-ui/number': 1.0.1 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-collection': 1.0.3(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@radix-ui/react-direction': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.5(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@radix-ui/react-focus-scope': 1.0.4(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@radix-ui/react-popper': 1.1.3(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-portal': 1.0.4(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.71)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@radix-ui/react-visually-hidden': 1.0.3(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.71 + '@radix-ui/react-collection': 1.0.3(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@radix-ui/react-focus-scope': 1.0.4(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@radix-ui/react-popper': 1.1.3(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.72)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@radix-ui/react-visually-hidden': 1.0.3(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.72 aria-hidden: 1.2.4 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-remove-scroll: 2.5.5(@types/react@18.2.71)(react@18.2.0) + react-remove-scroll: 2.5.5(@types/react@18.2.72)(react@18.2.0) dev: false - /@radix-ui/react-separator@1.0.3(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-separator@1.0.3(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-itYmTy/kokS21aiV5+Z56MZB54KrhPgn6eHDKkFeOLR34HMN2s8PaN47qZZAGnvupcjxHaFZnW4pQEh0BvvVuw==} peerDependencies: '@types/react': '*' @@ -4956,8 +4959,8 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.1 - '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.71 + '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.72 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false @@ -4972,7 +4975,7 @@ packages: react: 18.2.0 dev: false - /@radix-ui/react-slot@1.0.2(@types/react@18.2.71)(react@18.2.0): + /@radix-ui/react-slot@1.0.2(@types/react@18.2.72)(react@18.2.0): resolution: {integrity: sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==} peerDependencies: '@types/react': '*' @@ -4982,12 +4985,12 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@types/react': 18.2.71 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@types/react': 18.2.72 react: 18.2.0 dev: false - /@radix-ui/react-switch@1.0.3(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-switch@1.0.3(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-mxm87F88HyHztsI7N+ZUmEoARGkC22YVW5CaC+Byc+HRpuvCrOBPTAnXgf+tZ/7i0Sg/eOePGdMhUKhPaQEqow==} peerDependencies: '@types/react': '*' @@ -5002,18 +5005,18 @@ packages: dependencies: '@babel/runtime': 7.24.1 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@types/react': 18.2.71 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@types/react': 18.2.72 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-tooltip@1.0.7(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-tooltip@1.0.7(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-lPh5iKNFVQ/jav/j6ZrWq3blfDJ0OH9R6FlNUHPMqdLuQ9vwDgFsRxvl8b7Asuy5c8xmoojHUxKHQSOAvMHxyw==} peerDependencies: '@types/react': '*' @@ -5028,23 +5031,23 @@ packages: dependencies: '@babel/runtime': 7.24.1 '@radix-ui/primitive': 1.0.1 - '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@radix-ui/react-context': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.5(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-id': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@radix-ui/react-popper': 1.1.3(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-portal': 1.0.4(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-presence': 1.0.1(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-slot': 1.0.2(@types/react@18.2.71)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@radix-ui/react-visually-hidden': 1.0.3(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.71 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@radix-ui/react-popper': 1.1.3(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.72)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@radix-ui/react-visually-hidden': 1.0.3(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.72 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.2.71)(react@18.2.0): + /@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.2.72)(react@18.2.0): resolution: {integrity: sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==} peerDependencies: '@types/react': '*' @@ -5054,11 +5057,11 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.1 - '@types/react': 18.2.71 + '@types/react': 18.2.72 react: 18.2.0 dev: false - /@radix-ui/react-use-controllable-state@1.0.1(@types/react@18.2.71)(react@18.2.0): + /@radix-ui/react-use-controllable-state@1.0.1(@types/react@18.2.72)(react@18.2.0): resolution: {integrity: sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==} peerDependencies: '@types/react': '*' @@ -5068,12 +5071,12 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.1 - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@types/react': 18.2.71 + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@types/react': 18.2.72 react: 18.2.0 dev: false - /@radix-ui/react-use-escape-keydown@1.0.3(@types/react@18.2.71)(react@18.2.0): + /@radix-ui/react-use-escape-keydown@1.0.3(@types/react@18.2.72)(react@18.2.0): resolution: {integrity: sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==} peerDependencies: '@types/react': '*' @@ -5083,12 +5086,12 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.1 - '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@types/react': 18.2.71 + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@types/react': 18.2.72 react: 18.2.0 dev: false - /@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.2.71)(react@18.2.0): + /@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.2.72)(react@18.2.0): resolution: {integrity: sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==} peerDependencies: '@types/react': '*' @@ -5098,11 +5101,11 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.1 - '@types/react': 18.2.71 + '@types/react': 18.2.72 react: 18.2.0 dev: false - /@radix-ui/react-use-previous@1.0.1(@types/react@18.2.71)(react@18.2.0): + /@radix-ui/react-use-previous@1.0.1(@types/react@18.2.72)(react@18.2.0): resolution: {integrity: sha512-cV5La9DPwiQ7S0gf/0qiD6YgNqM5Fk97Kdrlc5yBcrF3jyEZQwm7vYFqMo4IfeHgJXsRaMvLABFtd0OVEmZhDw==} peerDependencies: '@types/react': '*' @@ -5112,11 +5115,11 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.1 - '@types/react': 18.2.71 + '@types/react': 18.2.72 react: 18.2.0 dev: false - /@radix-ui/react-use-rect@1.0.1(@types/react@18.2.71)(react@18.2.0): + /@radix-ui/react-use-rect@1.0.1(@types/react@18.2.72)(react@18.2.0): resolution: {integrity: sha512-Cq5DLuSiuYVKNU8orzJMbl15TXilTnJKUCltMVQg53BQOF1/C5toAaGrowkgksdBQ9H+SRL23g0HDmg9tvmxXw==} peerDependencies: '@types/react': '*' @@ -5127,11 +5130,11 @@ packages: dependencies: '@babel/runtime': 7.24.1 '@radix-ui/rect': 1.0.1 - '@types/react': 18.2.71 + '@types/react': 18.2.72 react: 18.2.0 dev: false - /@radix-ui/react-use-size@1.0.1(@types/react@18.2.71)(react@18.2.0): + /@radix-ui/react-use-size@1.0.1(@types/react@18.2.72)(react@18.2.0): resolution: {integrity: sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g==} peerDependencies: '@types/react': '*' @@ -5141,12 +5144,12 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.1 - '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.71)(react@18.2.0) - '@types/react': 18.2.71 + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.72)(react@18.2.0) + '@types/react': 18.2.72 react: 18.2.0 dev: false - /@radix-ui/react-visually-hidden@1.0.3(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0): + /@radix-ui/react-visually-hidden@1.0.3(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-D4w41yN5YRKtu464TLnByKzMDG/JlMPHtfZgQAu9v6mNakUqGUI9vUrfQKz8NK41VMm/xbZbh76NUTVtIYqOMA==} peerDependencies: '@types/react': '*' @@ -5160,8 +5163,8 @@ packages: optional: true dependencies: '@babel/runtime': 7.24.1 - '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.71)(react-dom@18.2.0)(react@18.2.0) - '@types/react': 18.2.71 + '@radix-ui/react-primitive': 1.0.3(@types/react@18.2.72)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.72 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false @@ -6012,8 +6015,8 @@ packages: zod: 3.22.4 dev: false - /@tailwindcss/typography@0.5.10(tailwindcss@3.4.1): - resolution: {integrity: sha512-Pe8BuPJQJd3FfRnm6H0ulKIGoMEQS+Vq01R6M5aCrFB/ccR/shT+0kXLjouGC1gFLm9hopTFN+DMP0pfwRWzPw==} + /@tailwindcss/typography@0.5.11(tailwindcss@3.4.1): + resolution: {integrity: sha512-ahOULqBQGCdSqL3vMNjH1R5cU2gxTh059fJIKF2enHXE8c/s3yKGDSKZ1+4poCr7BZRREJS8n5cCFmwsW4Ok3A==} peerDependencies: tailwindcss: '>=3.0.0 || insiders' dependencies: @@ -6024,16 +6027,16 @@ packages: tailwindcss: 3.4.1 dev: false - /@tanstack/query-core@5.28.8: - resolution: {integrity: sha512-cx64XHeB0kvKxFt22ibvegPeOxnaWVFUbAuhXoIrb7+XePEexHWoB9Kq5n9qroNPkRwQZwgFAP9HNbQz5ohoIg==} + /@tanstack/query-core@5.28.9: + resolution: {integrity: sha512-hNlfCiqZevr3GRVPXS3MhaGW5hjcxvCsIQ4q6ff7EPlvFwYZaS+0d9EIIgofnegDaU2BbCDlyURoYfRl5rmzow==} dev: false - /@tanstack/react-query@5.28.8(react@18.2.0): - resolution: {integrity: sha512-4XYhoRmcThqziB32HsyiBLNXJcukaeGfYwAQ+fZqUUE3ZP4oB/Zy41UJdql+TUg98+vsezfbixxAwAbGHfc5Hg==} + /@tanstack/react-query@5.28.9(react@18.2.0): + resolution: {integrity: sha512-vwifBkGXsydsLxFOBMe3+f8kvtDoqDRDwUNjPHVDDt+FoBetCbOWAUHgZn4k+CVeZgLmy7bx6aKeDbe3e8koOQ==} peerDependencies: react: ^18.0.0 dependencies: - '@tanstack/query-core': 5.28.8 + '@tanstack/query-core': 5.28.9 react: 18.2.0 dev: false @@ -6056,36 +6059,36 @@ packages: resolution: {integrity: sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==} dev: true - /@trpc/client@11.0.0-next-beta.294(@trpc/server@11.0.0-next-beta.294): - resolution: {integrity: sha512-9rK+bwg7TPNsvisDAanaAiR2TYmgFA2zNll4TexUGKQaQ09dt6ZPdFDqWIZqa33cyoXeK9Z5LQptr3NVfaSjNA==} + /@trpc/client@11.0.0-next.320(@trpc/server@11.0.0-next.320): + resolution: {integrity: sha512-6VuHBXOLpVYflC75ktgMDexq6RkCNkHmPUWxdpi85O+zEk3miCJMYdlFNRO40d78HC0pTmoyuiQzyAX8J4+m3w==} peerDependencies: - '@trpc/server': 11.0.0-next-beta.294+1e32ff91b + '@trpc/server': 11.0.0-next.320+f3a237ccb dependencies: - '@trpc/server': 11.0.0-next-beta.294 + '@trpc/server': 11.0.0-next.320 dev: false - /@trpc/react-query@11.0.0-next-beta.294(@tanstack/react-query@5.28.8)(@trpc/client@11.0.0-next-beta.294)(@trpc/server@11.0.0-next-beta.294)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-behVOMsJRh73wltFrLc7J3ulWO/A2O529oDWlFZagtM2i/WWM2/7CVh3iL1MgW5pRB3hwC9mARKpGb80ZN4V0A==} + /@trpc/react-query@11.0.0-next.320(@tanstack/react-query@5.28.9)(@trpc/client@11.0.0-next.320)(@trpc/server@11.0.0-next.320)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-r7yECFJm7U+2Wcm/KgzNUEB0BSajJnjEcZZctXlbvvVUTVrYMyEjCh5cjJDoZfRuvrwLmJbhFSg+ytzXXJkTLw==} peerDependencies: - '@tanstack/react-query': ^5.0.0 - '@trpc/client': 11.0.0-next-beta.294+1e32ff91b - '@trpc/server': 11.0.0-next-beta.294+1e32ff91b + '@tanstack/react-query': ^5.25.0 + '@trpc/client': 11.0.0-next.320+f3a237ccb + '@trpc/server': 11.0.0-next.320+f3a237ccb react: '>=18.2.0' react-dom: '>=18.2.0' dependencies: - '@tanstack/react-query': 5.28.8(react@18.2.0) - '@trpc/client': 11.0.0-next-beta.294(@trpc/server@11.0.0-next-beta.294) - '@trpc/server': 11.0.0-next-beta.294 + '@tanstack/react-query': 5.28.9(react@18.2.0) + '@trpc/client': 11.0.0-next.320(@trpc/server@11.0.0-next.320) + '@trpc/server': 11.0.0-next.320 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /@trpc/server@11.0.0-next-beta.294: - resolution: {integrity: sha512-wwz78kfl4c8WQ3ytjzYf3SM8uxhvhSRYVxqqChPM+IbDb9scfNyEsZOUzSWds8brFNgO3LHeHYkP0l8S4YdDXA==} + /@trpc/server@11.0.0-next.320: + resolution: {integrity: sha512-cIcJBNt78OnDHAUgGEfUJZNteXfPbzTt6XQ6kTFZkOtlbxwCIfTaVYac+WmQBV4yIQZJTk0BeaDgJkXGcVDp0w==} dev: false - /@tsconfig/node10@1.0.10: - resolution: {integrity: sha512-PiaIWIoPvO6qm6t114ropMCagj6YAF24j9OkCA2mJDXFnlionEwhsBCJ8yek4aib575BI3OkART/90WsgHgLWw==} + /@tsconfig/node10@1.0.11: + resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} dev: true /@tsconfig/node12@1.0.11: @@ -6303,29 +6306,25 @@ packages: /@types/react-dom@18.2.22: resolution: {integrity: sha512-fHkBXPeNtfvri6gdsMYyW+dW7RXFo6Ad09nLFK0VQWR7yGLai/Cyvyj696gbwYvBnhGtevUG9cET0pmUbMtoPQ==} dependencies: - '@types/react': 18.2.71 + '@types/react': 18.2.72 dev: true /@types/react-syntax-highlighter@15.5.11: resolution: {integrity: sha512-ZqIJl+Pg8kD+47kxUjvrlElrraSUrYa4h0dauY/U/FTUuprSCqvUj+9PNQNQzVc6AJgIWUUxn87/gqsMHNbRjw==} dependencies: - '@types/react': 18.2.71 + '@types/react': 18.2.72 dev: true - /@types/react@18.2.71: - resolution: {integrity: sha512-PxEsB9OjmQeYGffoWnYAd/r5FiJuUw2niFQHPc2v2idwh8wGPkkYzOHuinNJJY6NZqfoTCiOIizDOz38gYNsyw==} + /@types/react@18.2.72: + resolution: {integrity: sha512-/e7GWxGzXQF7OJAua7UAYqYi/4VpXEfbGtmYQcAQwP3SjjjAXfybTf/JK5S+SaetB/ChXl8Y2g1hCsj7jDXxcg==} dependencies: '@types/prop-types': 15.7.12 - '@types/scheduler': 0.23.0 csstype: 3.1.3 /@types/resolve@1.20.2: resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} dev: true - /@types/scheduler@0.23.0: - resolution: {integrity: sha512-YIoDCTH3Af6XM5VuwGG/QL/CJqga1Zm3NkU3HZ4ZHK2fRMPYP1VczsTUqtsf43PH/iJNVlPHAo2oWX7BSdB2Hw==} - /@types/semver@7.5.8: resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} dev: false @@ -6556,7 +6555,7 @@ packages: '@mapbox/node-pre-gyp': 1.0.11 '@rollup/pluginutils': 4.2.1 acorn: 8.11.3 - acorn-import-attributes: 1.9.2(acorn@8.11.3) + acorn-import-attributes: 1.9.4(acorn@8.11.3) async-sema: 3.1.1 bindings: 1.5.0 estree-walker: 2.0.2 @@ -6690,8 +6689,8 @@ packages: negotiator: 0.6.3 dev: false - /acorn-import-attributes@1.9.2(acorn@8.11.3): - resolution: {integrity: sha512-O+nfJwNolEA771IYJaiLWK1UAwjNsQmZbTRqqwBYxCgVQTmpFEMvBw6LOIQV0Me339L5UMVYFyRohGnGlQDdIQ==} + /acorn-import-attributes@1.9.4(acorn@8.11.3): + resolution: {integrity: sha512-dNIX/5UEnZvVL94dV2scl4VIooK36D8AteP4xiz7cPKhDbhLhSuWkzG580g+Q7TXJklp+Z21SiaK7/HpLO84Qg==} peerDependencies: acorn: ^8 dependencies: @@ -6746,8 +6745,8 @@ packages: clean-stack: 2.2.0 indent-string: 4.0.0 - /ai@3.0.13(react@18.2.0)(solid-js@1.8.16)(svelte@4.2.12)(vue@3.4.21)(zod@3.22.4): - resolution: {integrity: sha512-fDrYnVTdMJuS/qYUq0T/CX3WDuTfcZFie9LkgnoQ2layfUG2Wzh/mpfkfYXFEq/mqnpep3xUtECOB1weyyvwUg==} + /ai@3.0.14(react@18.2.0)(solid-js@1.8.16)(svelte@4.2.12)(vue@3.4.21)(zod@3.22.4): + resolution: {integrity: sha512-YTucJ3DcUrIlOsoeDfHbfdlhPEUtMkBf9Dq8u+XwL8kX0UiWjp4mdoapmIcseDaazbNgY1J0Eymx4HRGbuWEoQ==} engines: {node: '>=14.6'} peerDependencies: react: ^18.2.0 @@ -6767,10 +6766,11 @@ packages: zod: optional: true dependencies: - eventsource-parser: 1.0.0 + eventsource-parser: 1.1.2 jsondiffpatch: 0.6.0 nanoid: 3.3.6 react: 18.2.0 + secure-json-parse: 2.7.0 solid-js: 1.8.16 solid-swr-store: 0.10.7(solid-js@1.8.16)(swr-store@0.10.6) sswr: 2.0.0(svelte@4.2.12) @@ -8458,7 +8458,6 @@ packages: /denque@2.1.0: resolution: {integrity: sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==} engines: {node: '>=0.10'} - dev: true /depd@2.0.0: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} @@ -8624,7 +8623,7 @@ packages: - supports-color dev: true - /drizzle-orm@0.29.5(@planetscale/database@1.16.0): + /drizzle-orm@0.29.5(@planetscale/database@1.16.0)(mysql2@3.9.3): resolution: {integrity: sha512-jS3+uyzTz4P0Y2CICx8FmRQ1eplURPaIMWDn/yq6k4ShRFj9V7vlJk67lSf2kyYPzQ60GkkNGXcJcwrxZ6QCRw==} peerDependencies: '@aws-sdk/client-rds-data': '>=3' @@ -8696,6 +8695,7 @@ packages: optional: true dependencies: '@planetscale/database': 1.16.0 + mysql2: 3.9.3 dev: false /duplexer@0.1.2: @@ -9381,8 +9381,8 @@ packages: engines: {node: '>=0.8.x'} dev: true - /eventsource-parser@1.0.0: - resolution: {integrity: sha512-9jgfSCa3dmEme2ES3mPByGXfgZ87VbP97tng1G2nWwWx6bV2nYxm2AWCrbQjXToSe+yYlqaZNtxffR9IeQr95g==} + /eventsource-parser@1.1.2: + resolution: {integrity: sha512-v0eOBUbiaFojBu2s2NPBfYUoRR9GjcDNvCXVaqEf5vVfpIAh9f8RCo4vXTP8c63QRKCFwoLpMpTdPwwhEKVgzA==} engines: {node: '>=14.18'} dev: false @@ -9880,8 +9880,8 @@ packages: web-streams-polyfill: 4.0.0-beta.3 dev: false - /framer-motion@11.0.21(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-blcaJ0LJM2y7AB0c45ijbjtUsoXTga+aJpRWGO/qYLUcpG0dLu2aKBryqfgp5UZ4uXiiZ8UA63q6GLzCK9oZ4Q==} + /framer-motion@11.0.22(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-kWyldNJLyKDvLWjPYFmgngQYLiU8973BtAeVBc83r2cnil/NBUQJb1ff/6/EweNQYb5BW3PaXFjZa4D3pn/W2Q==} peerDependencies: '@emotion/is-prop-valid': '*' react: ^18.0.0 @@ -10010,6 +10010,11 @@ packages: next: 14.1.4(react-dom@18.2.0)(react@18.2.0) dev: false + /generate-function@2.3.1: + resolution: {integrity: sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==} + dependencies: + is-property: 1.0.2 + /gensync@1.0.0-beta.2: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} @@ -10508,6 +10513,12 @@ packages: safer-buffer: 2.1.2 dev: true + /iconv-lite@0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + /ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} @@ -10926,6 +10937,9 @@ packages: resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==} dev: true + /is-property@1.0.2: + resolution: {integrity: sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==} + /is-reference@1.2.1: resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} dependencies: @@ -11786,6 +11800,9 @@ packages: yargs: 15.4.1 dev: false + /long@5.2.3: + resolution: {integrity: sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==} + /longest-streak@3.1.0: resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} dev: false @@ -11831,7 +11848,10 @@ packages: /lru-cache@7.18.3: resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} engines: {node: '>=12'} - dev: true + + /lru-cache@8.0.5: + resolution: {integrity: sha512-MhWWlVnuab1RG5/zMRRcVGXZLCXrZTgfwMikgzCegsPnG62yDQo5JnqKkrK4jO5iKqDAZGItAqN5CtKBCBWRUA==} + engines: {node: '>=16.14'} /lru-queue@0.1.0: resolution: {integrity: sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==} @@ -12731,6 +12751,19 @@ packages: dev: false optional: true + /mysql2@3.9.3: + resolution: {integrity: sha512-+ZaoF0llESUy7BffccHG+urErHcWPZ/WuzYAA9TEeLaDYyke3/3D+VQDzK9xzRnXpd0eMtRf0WNOeo4Q1Baung==} + engines: {node: '>= 8.0'} + dependencies: + denque: 2.1.0 + generate-function: 2.3.1 + iconv-lite: 0.6.3 + long: 5.2.3 + lru-cache: 8.0.5 + named-placeholders: 1.1.3 + seq-queue: 0.0.5 + sqlstring: 2.3.3 + /mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} dependencies: @@ -12738,6 +12771,12 @@ packages: object-assign: 4.1.1 thenify-all: 1.6.0 + /named-placeholders@1.1.3: + resolution: {integrity: sha512-eLoBxg6wE/rZkJPhU/xRX1WTpkFEwDJEN96oxFrTsqBdbT5ec295Q+CoHrL9IT0DipqKhmGcaZmwOt8OON5x1w==} + engines: {node: '>=12.0.0'} + dependencies: + lru-cache: 7.18.3 + /nanoid@3.3.6: resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -14093,8 +14132,8 @@ packages: shallowequal: 1.1.0 dev: false - /react-hook-form@7.51.1(react@18.2.0): - resolution: {integrity: sha512-ifnBjl+kW0ksINHd+8C/Gp6a4eZOdWyvRv0UBaByShwU8JbVx5hTcTWEcd5VdybvmPTATkVVXk9npXArHmo56w==} + /react-hook-form@7.51.2(react@18.2.0): + resolution: {integrity: sha512-y++lwaWjtzDt/XNnyGDQy6goHskFualmDlf+jzEZvjvz6KWDf7EboL7pUvRCzPTJd0EOPpdekYaQLEvvG6m6HA==} engines: {node: '>=12.22.0'} peerDependencies: react: ^16.8.0 || ^17 || ^18 @@ -14127,7 +14166,7 @@ packages: resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} dev: false - /react-markdown@8.0.7(@types/react@18.2.71)(react@18.2.0): + /react-markdown@8.0.7(@types/react@18.2.72)(react@18.2.0): resolution: {integrity: sha512-bvWbzG4MtOU62XqBx3Xx+zB2raaFFsq4mYiAzfjXJMEz2sixgeAfraA3tvzULF02ZdOMUOKTBFFaZJDDrq+BJQ==} peerDependencies: '@types/react': '>=16' @@ -14135,7 +14174,7 @@ packages: dependencies: '@types/hast': 2.3.10 '@types/prop-types': 15.7.12 - '@types/react': 18.2.71 + '@types/react': 18.2.72 '@types/unist': 2.0.10 comma-separated-tokens: 2.0.3 hast-util-whitespace: 2.0.1 @@ -14333,7 +14372,7 @@ packages: engines: {node: '>=0.10.0'} dev: false - /react-remove-scroll-bar@2.3.6(@types/react@18.2.71)(react@18.2.0): + /react-remove-scroll-bar@2.3.6(@types/react@18.2.72)(react@18.2.0): resolution: {integrity: sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g==} engines: {node: '>=10'} peerDependencies: @@ -14343,13 +14382,13 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.71 + '@types/react': 18.2.72 react: 18.2.0 - react-style-singleton: 2.2.1(@types/react@18.2.71)(react@18.2.0) + react-style-singleton: 2.2.1(@types/react@18.2.72)(react@18.2.0) tslib: 2.6.2 dev: false - /react-remove-scroll@2.5.5(@types/react@18.2.71)(react@18.2.0): + /react-remove-scroll@2.5.5(@types/react@18.2.72)(react@18.2.0): resolution: {integrity: sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==} engines: {node: '>=10'} peerDependencies: @@ -14359,13 +14398,13 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.71 + '@types/react': 18.2.72 react: 18.2.0 - react-remove-scroll-bar: 2.3.6(@types/react@18.2.71)(react@18.2.0) - react-style-singleton: 2.2.1(@types/react@18.2.71)(react@18.2.0) + react-remove-scroll-bar: 2.3.6(@types/react@18.2.72)(react@18.2.0) + react-style-singleton: 2.2.1(@types/react@18.2.72)(react@18.2.0) tslib: 2.6.2 - use-callback-ref: 1.3.2(@types/react@18.2.71)(react@18.2.0) - use-sidecar: 1.1.2(@types/react@18.2.71)(react@18.2.0) + use-callback-ref: 1.3.2(@types/react@18.2.72)(react@18.2.0) + use-sidecar: 1.1.2(@types/react@18.2.72)(react@18.2.0) dev: false /react-shallow-renderer@16.15.0(react@18.2.0): @@ -14378,7 +14417,7 @@ packages: react-is: 18.2.0 dev: false - /react-style-singleton@2.2.1(@types/react@18.2.71)(react@18.2.0): + /react-style-singleton@2.2.1(@types/react@18.2.72)(react@18.2.0): resolution: {integrity: sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==} engines: {node: '>=10'} peerDependencies: @@ -14388,7 +14427,7 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.71 + '@types/react': 18.2.72 get-nonce: 1.0.1 invariant: 2.2.4 react: 18.2.0 @@ -14408,7 +14447,7 @@ packages: refractor: 3.6.0 dev: false - /react-textarea-autosize@8.5.3(@types/react@18.2.71)(react@18.2.0): + /react-textarea-autosize@8.5.3(@types/react@18.2.72)(react@18.2.0): resolution: {integrity: sha512-XT1024o2pqCuZSuBt9FwHlaDeNtVrtCXu0Rnz88t1jUGheCLa3PhjE1GH8Ctm2axEtvdCl5SUHYschyQ0L5QHQ==} engines: {node: '>=10'} peerDependencies: @@ -14417,7 +14456,7 @@ packages: '@babel/runtime': 7.24.1 react: 18.2.0 use-composed-ref: 1.3.0(react@18.2.0) - use-latest: 1.2.1(@types/react@18.2.71)(react@18.2.0) + use-latest: 1.2.1(@types/react@18.2.72)(react@18.2.0) transitivePeerDependencies: - '@types/react' dev: false @@ -14881,7 +14920,6 @@ packages: /safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - dev: true /satori@0.10.9: resolution: {integrity: sha512-XU9EELUEZuioT4acLIpCXxHcFzrsC8muvg0MY28d+TlqwxbkTzBmWbw+3+hnCzXT7YZ0Qm8k3eXktDaEu+qmEw==} @@ -14937,6 +14975,10 @@ packages: resolution: {integrity: sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==} dev: true + /secure-json-parse@2.7.0: + resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} + dev: false + /semver@5.7.2: resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} hasBin: true @@ -14994,6 +15036,9 @@ packages: upper-case-first: 1.1.2 dev: true + /seq-queue@0.0.5: + resolution: {integrity: sha512-hr3Wtp/GZIc/6DAGPDcV4/9WoZhjrkXsi5B/07QgX8tsdc6ilr7BFM6PM6rbdAX1kFSDYeZGLipIZZKyQP0O5Q==} + /serialize-error@2.1.0: resolution: {integrity: sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw==} engines: {node: '>=0.10.0'} @@ -15335,6 +15380,10 @@ packages: resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} dev: true + /sqlstring@2.3.3: + resolution: {integrity: sha512-qC9iz2FlN7DQl3+wjwn3802RTyjCx7sDvfQEXchwa6CWOx07/WVfh91gBmQ9fahw8snwGEWU3xGzOt4tFyHLxg==} + engines: {node: '>= 0.6'} + /ssri@8.0.1: resolution: {integrity: sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==} engines: {node: '>= 8'} @@ -15966,7 +16015,7 @@ packages: optional: true dependencies: '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.10 + '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 @@ -16514,7 +16563,7 @@ packages: resolution: {integrity: sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==} dev: true - /use-callback-ref@1.3.2(@types/react@18.2.71)(react@18.2.0): + /use-callback-ref@1.3.2(@types/react@18.2.72)(react@18.2.0): resolution: {integrity: sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA==} engines: {node: '>=10'} peerDependencies: @@ -16524,7 +16573,7 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.71 + '@types/react': 18.2.72 react: 18.2.0 tslib: 2.6.2 dev: false @@ -16537,7 +16586,7 @@ packages: react: 18.2.0 dev: false - /use-isomorphic-layout-effect@1.1.2(@types/react@18.2.71)(react@18.2.0): + /use-isomorphic-layout-effect@1.1.2(@types/react@18.2.72)(react@18.2.0): resolution: {integrity: sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==} peerDependencies: '@types/react': '*' @@ -16546,7 +16595,7 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.71 + '@types/react': 18.2.72 react: 18.2.0 dev: false @@ -16558,7 +16607,7 @@ packages: react: 18.2.0 dev: false - /use-latest@1.2.1(@types/react@18.2.71)(react@18.2.0): + /use-latest@1.2.1(@types/react@18.2.72)(react@18.2.0): resolution: {integrity: sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw==} peerDependencies: '@types/react': '*' @@ -16567,12 +16616,12 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.71 + '@types/react': 18.2.72 react: 18.2.0 - use-isomorphic-layout-effect: 1.1.2(@types/react@18.2.71)(react@18.2.0) + use-isomorphic-layout-effect: 1.1.2(@types/react@18.2.72)(react@18.2.0) dev: false - /use-sidecar@1.1.2(@types/react@18.2.71)(react@18.2.0): + /use-sidecar@1.1.2(@types/react@18.2.72)(react@18.2.0): resolution: {integrity: sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==} engines: {node: '>=10'} peerDependencies: @@ -16582,7 +16631,7 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.2.71 + '@types/react': 18.2.72 detect-node-es: 1.1.0 react: 18.2.0 tslib: 2.6.2 diff --git a/tooling/eslint/package.json b/tooling/eslint/package.json index 12dcf010c..e582613e9 100644 --- a/tooling/eslint/package.json +++ b/tooling/eslint/package.json @@ -15,22 +15,22 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@next/eslint-plugin-next": "^14.1.0", - "@typescript-eslint/eslint-plugin": "^7.2.0", - "@typescript-eslint/parser": "^7.2.0", + "@next/eslint-plugin-next": "^14.1.4", + "@typescript-eslint/eslint-plugin": "^7.3.1", + "@typescript-eslint/parser": "^7.3.1", "eslint-config-turbo": "^1.13.0", "eslint-plugin-import": "^2.29.1", "eslint-plugin-jsx-a11y": "^6.8.0", - "eslint-plugin-react": "^7.33.2", + "eslint-plugin-react": "^7.34.1", "eslint-plugin-react-hooks": "^4.6.0" }, "devDependencies": { - "@yocxo/prettier-config": "workspace:^0.1.0", - "@yocxo/tsconfig": "workspace:^0.1.0", + "@yocxo/prettier-config": "workspace:*", + "@yocxo/tsconfig": "workspace:*", "@types/eslint": "^8.56.6", "eslint": "^8.57.0", "prettier": "^3.2.5", - "typescript": "^5.3.3" + "typescript": "^5.4.3" }, "eslintConfig": { "root": true, diff --git a/tooling/prettier/package.json b/tooling/prettier/package.json index 13057ac98..36fa97f6a 100644 --- a/tooling/prettier/package.json +++ b/tooling/prettier/package.json @@ -12,13 +12,13 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@ianvs/prettier-plugin-sort-imports": "^4.1.1", + "@ianvs/prettier-plugin-sort-imports": "^4.2.1", "prettier": "^3.2.5", - "prettier-plugin-tailwindcss": "^0.5.11" + "prettier-plugin-tailwindcss": "^0.5.12" }, "devDependencies": { - "@yocxo/tsconfig": "workspace:^0.1.0", - "typescript": "^5.3.3" + "@yocxo/tsconfig": "workspace:*", + "typescript": "^5.4.3" }, "prettier": "@yocxo/prettier-config" } diff --git a/tooling/tailwind/package.json b/tooling/tailwind/package.json index 938384065..1a9e5f6fe 100644 --- a/tooling/tailwind/package.json +++ b/tooling/tailwind/package.json @@ -16,17 +16,17 @@ }, "dependencies": { "@tailwindcss/typography": "^0.5.10", - "postcss": "^8.4.35", + "postcss": "^8.4.38", "tailwindcss": "^3.4.1", "tailwindcss-animate": "^1.0.7" }, "devDependencies": { - "@yocxo/eslint-config": "workspace:^0.2.0", - "@yocxo/prettier-config": "workspace:^0.1.0", - "@yocxo/tsconfig": "workspace:^0.1.0", + "@yocxo/eslint-config": "workspace:*", + "@yocxo/prettier-config": "workspace:*", + "@yocxo/tsconfig": "workspace:*", "eslint": "^8.57.0", "prettier": "^3.2.5", - "typescript": "^5.3.3" + "typescript": "^5.4.3" }, "eslintConfig": { "root": true, diff --git a/tooling/typescript/base.json b/tooling/typescript/base.json index 4b9d743c5..9733614aa 100644 --- a/tooling/typescript/base.json +++ b/tooling/typescript/base.json @@ -1,21 +1,29 @@ { "$schema": "https://json.schemastore.org/tsconfig", "compilerOptions": { + /** Base Options */ + "esModuleInterop": true, + "skipLibCheck": true, "target": "ES2022", - "lib": ["dom", "dom.iterable", "ES2022"], + "lib": ["ES2022"], "allowJs": true, - "skipLibCheck": true, - "strict": true, - "noEmit": true, - "esModuleInterop": true, - "module": "esnext", - "moduleResolution": "Bundler", "resolveJsonModule": true, - "isolatedModules": true, "moduleDetection": "force", - "jsx": "preserve", + "isolatedModules": true, + + /** Keep TSC performant in monorepos */ "incremental": true, - "noUncheckedIndexedAccess": true + "disableSourceOfProjectReferenceRedirect": true, + + /** Strictness */ + "strict": true, + "noUncheckedIndexedAccess": true, + "checkJs": true, + + /** Transpile using Bundler (not tsc) */ + "module": "Preserve", + "moduleResolution": "Bundler", + "noEmit": true }, "exclude": ["node_modules", "build", "dist", ".next", ".expo"] } diff --git a/tooling/typescript/internal-package.json b/tooling/typescript/internal-package.json new file mode 100644 index 000000000..1ac41efd9 --- /dev/null +++ b/tooling/typescript/internal-package.json @@ -0,0 +1,11 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "extends": "./base.json", + "compilerOptions": { + /** Emit types for internal packages to speed up editor performance. */ + "declaration": true, + "declarationMap": true, + "noEmit": false, + "emitDeclarationOnly": true + } +} diff --git a/tooling/typescript/package.json b/tooling/typescript/package.json index 8d8fcdde2..f30b92c86 100644 --- a/tooling/typescript/package.json +++ b/tooling/typescript/package.json @@ -3,6 +3,6 @@ "private": true, "version": "0.1.0", "files": [ - "base.json" + "*.json" ] } diff --git a/turbo/generators/templates/package.json.hbs b/turbo/generators/templates/package.json.hbs index ab7d2a3d1..63b6ca9c4 100644 --- a/turbo/generators/templates/package.json.hbs +++ b/turbo/generators/templates/package.json.hbs @@ -14,12 +14,12 @@ "typecheck": "tsc --noEmit" }, "devDependencies": { - "@yocxo/eslint-config": "workspace:^0.2.0", - "@yocxo/prettier-config": "workspace:^0.1.0", - "@yocxo/tsconfig": "workspace:^0.1.0", + "@yocxo/eslint-config": "workspace:*", + "@yocxo/prettier-config": "workspace:*", + "@yocxo/tsconfig": "workspace:*", "eslint": "^8.57.0", "prettier": "^3.2.5", - "typescript": "^5.3.3" + "typescript": "^5.4.3" }, "eslintConfig": { "extends": [ From 4f28dee287ed9a752094af8c05f9303f30e3256a Mon Sep 17 00:00:00 2001 From: Sam Rizvi Date: Wed, 27 Mar 2024 00:43:30 -0700 Subject: [PATCH 12/16] docs: update auth proxy docs #174 --- apps/auth-proxy/README.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/apps/auth-proxy/README.md b/apps/auth-proxy/README.md index 1a9876e6f..8e3ed498f 100644 --- a/apps/auth-proxy/README.md +++ b/apps/auth-proxy/README.md @@ -11,6 +11,13 @@ Deploy it somewhere (Vercel is a one-click, zero-config option) and set the foll - `AUTH_REDIRECT_PROXY_URL` - The URL of this proxy server - `AUTH_SECRET` - Your secret -Make sure the `AUTH_SECRET` and `AUTH_REDIRECT_PROXY_URL` match the values set for the main application's deployment for preview environments, and that you're using the same OAuth credentials for the proxy and the application's preview environment. The lines below shows what values should match eachother in both deployments. +Make sure the `AUTH_SECRET` and `AUTH_REDIRECT_PROXY_URL` match the values set for the main application's deployment for preview environments, and that you're using the same OAuth credentials for the proxy and the application's preview environment. +`AUTH_REDIRECT_PROXY_URL` should only be set for the main application's preview environment. Do not set it for the production environment. + +The lines below shows what values should match eachother in both deployments. ![Environment variables setup](https://github.com/t3-oss/create-t3-turbo/assets/51714798/5fadd3f5-f705-459a-82ab-559a3df881d0) + +For providers that require an origin and a redirect URL, set them to `{AUTH_REDIRECT_PROXY_URL}` and `{AUTH_REDIRECT_PROXY_URL}/callback/{provider}` accordingly. + +![Google credentials setup](https://github.com/ahkhanjani/create-t3-turbo/assets/72540492/eaa88685-6fc2-4c23-b7ac-737eb172fa0e) From 2220f39a2a3d624d3b97ad5ddea1b114aa0d95a9 Mon Sep 17 00:00:00 2001 From: Sam Rizvi Date: Wed, 27 Mar 2024 00:45:24 -0700 Subject: [PATCH 13/16] chore: update drizzle orm #174 --- packages/db/package.json | 2 +- pnpm-lock.yaml | 14 ++++++++++---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/packages/db/package.json b/packages/db/package.json index 796fda40d..dfee7c455 100644 --- a/packages/db/package.json +++ b/packages/db/package.json @@ -23,7 +23,7 @@ }, "dependencies": { "@planetscale/database": "^1.16.0", - "drizzle-orm": "^0.29.5" + "drizzle-orm": "^0.30.4" }, "devDependencies": { "@yocxo/eslint-config": "workspace:*", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a6d318c66..a9067b1d9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -583,8 +583,8 @@ importers: specifier: ^1.16.0 version: 1.16.0 drizzle-orm: - specifier: ^0.29.5 - version: 0.29.5(@planetscale/database@1.16.0)(mysql2@3.9.3) + specifier: ^0.30.4 + version: 0.30.4(@planetscale/database@1.16.0)(mysql2@3.9.3) devDependencies: '@yocxo/eslint-config': specifier: workspace:* @@ -8623,13 +8623,14 @@ packages: - supports-color dev: true - /drizzle-orm@0.29.5(@planetscale/database@1.16.0)(mysql2@3.9.3): - resolution: {integrity: sha512-jS3+uyzTz4P0Y2CICx8FmRQ1eplURPaIMWDn/yq6k4ShRFj9V7vlJk67lSf2kyYPzQ60GkkNGXcJcwrxZ6QCRw==} + /drizzle-orm@0.30.4(@planetscale/database@1.16.0)(mysql2@3.9.3): + resolution: {integrity: sha512-kWoSMGbrOFkmkAweLTFtHJMpN+nwhx89q0mLELqT2aEU+1szNV8jrnBmJwZ0WGNp7J7yQn/ezEtxBI/qzTSElQ==} peerDependencies: '@aws-sdk/client-rds-data': '>=3' '@cloudflare/workers-types': '>=3' '@libsql/client': '*' '@neondatabase/serverless': '>=0.1' + '@op-engineering/op-sqlite': '>=2' '@opentelemetry/api': ^1.4.1 '@planetscale/database': '>=1' '@types/better-sqlite3': '*' @@ -8637,6 +8638,7 @@ packages: '@types/react': '>=18' '@types/sql.js': '*' '@vercel/postgres': '*' + '@xata.io/client': '*' better-sqlite3: '>=7' bun-types: '*' expo-sqlite: '>=13.2.0' @@ -8657,6 +8659,8 @@ packages: optional: true '@neondatabase/serverless': optional: true + '@op-engineering/op-sqlite': + optional: true '@opentelemetry/api': optional: true '@planetscale/database': @@ -8671,6 +8675,8 @@ packages: optional: true '@vercel/postgres': optional: true + '@xata.io/client': + optional: true better-sqlite3: optional: true bun-types: From b8f2264f41f506d76f22cca9f7be1d26e47850f1 Mon Sep 17 00:00:00 2001 From: Sam Rizvi Date: Wed, 27 Mar 2024 00:46:20 -0700 Subject: [PATCH 14/16] chore: update drizzle adapter #174 --- packages/auth/package.json | 2 +- pnpm-lock.yaml | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/packages/auth/package.json b/packages/auth/package.json index 31dfbd16d..1c113b8eb 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -16,7 +16,7 @@ }, "dependencies": { "@yocxo/db": "workspace:*", - "@auth/drizzle-adapter": "^0.7.0", + "@auth/drizzle-adapter": "^0.8.0", "@t3-oss/env-nextjs": "^0.9.2", "next": "^14.1.4", "next-auth": "5.0.0-beta.15", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a9067b1d9..cc4c35d98 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -534,8 +534,8 @@ importers: packages/auth: dependencies: '@auth/drizzle-adapter': - specifier: ^0.7.0 - version: 0.7.0 + specifier: ^0.8.0 + version: 0.8.1 '@t3-oss/env-nextjs': specifier: ^0.9.2 version: 0.9.2(typescript@5.4.3)(zod@3.22.4) @@ -850,8 +850,8 @@ packages: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 - /@auth/core@0.27.0: - resolution: {integrity: sha512-3bydnRJIM/Al6mkYmb53MsC+6G8ojw3lLPzwgVnX4dCo6N2lrib6Wq6r0vxZIhuHGjLObqqtUfpeaEj5aeTHFg==} + /@auth/core@0.28.0: + resolution: {integrity: sha512-/fh/tb/L4NMSYcyPoo4Imn8vN6MskcVfgESF8/ndgtI4fhD/7u7i5fTVzWgNRZ4ebIEGHNDbWFRxaTu1NtQgvA==} peerDependencies: '@simplewebauthn/browser': ^9.0.1 '@simplewebauthn/server': ^9.0.2 @@ -873,8 +873,8 @@ packages: preact-render-to-string: 5.2.3(preact@10.11.3) dev: false - /@auth/core@0.28.0: - resolution: {integrity: sha512-/fh/tb/L4NMSYcyPoo4Imn8vN6MskcVfgESF8/ndgtI4fhD/7u7i5fTVzWgNRZ4ebIEGHNDbWFRxaTu1NtQgvA==} + /@auth/core@0.28.1: + resolution: {integrity: sha512-gvp74mypYZADpTlfGRp6HE0G3pIHWvtJpy+KZ+8FvY0cmlIpHog+jdMOdd29dQtLtN25kF2YbfHsesCFuGUQbg==} peerDependencies: '@simplewebauthn/browser': ^9.0.1 '@simplewebauthn/server': ^9.0.2 @@ -896,10 +896,10 @@ packages: preact-render-to-string: 5.2.3(preact@10.11.3) dev: false - /@auth/drizzle-adapter@0.7.0: - resolution: {integrity: sha512-p/8cjrREiPPns78CT/a7VGl2TD78BNXtJ9TAXrw80bUInHd2xkEtk4CzXajWS/5r7qXE9n3r4BV9sISrf6Yqnw==} + /@auth/drizzle-adapter@0.8.1: + resolution: {integrity: sha512-WILvFJ6tOUjSy2azJY3l2xnLNV7P5jDw970e4wg3ug6sIWLATBr0MN6w+xJBuXVSoDz7jSWTlyWkfiiT0l0Ugg==} dependencies: - '@auth/core': 0.27.0 + '@auth/core': 0.28.1 transitivePeerDependencies: - '@simplewebauthn/browser' - '@simplewebauthn/server' From a2da36d0c012e6b22958c28082701f5c47ce3029 Mon Sep 17 00:00:00 2001 From: Sam Rizvi Date: Wed, 27 Mar 2024 01:00:47 -0700 Subject: [PATCH 15/16] chore: update deps #174 --- apps/auth-proxy/package.json | 2 +- apps/coco/package.json | 2 +- apps/nextjs/package.json | 2 +- packages/auth/package.json | 4 ++-- pnpm-lock.yaml | 45 +++++++++--------------------------- 5 files changed, 16 insertions(+), 39 deletions(-) diff --git a/apps/auth-proxy/package.json b/apps/auth-proxy/package.json index b39305ed0..8bf50806e 100644 --- a/apps/auth-proxy/package.json +++ b/apps/auth-proxy/package.json @@ -11,7 +11,7 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "@auth/core": "0.28.0" + "@auth/core": "0.28.1" }, "devDependencies": { "@yocxo/eslint-config": "workspace:*", diff --git a/apps/coco/package.json b/apps/coco/package.json index 6facc628e..0a1057cd4 100644 --- a/apps/coco/package.json +++ b/apps/coco/package.json @@ -30,7 +30,7 @@ "framer-motion": "^11.0.5", "nanoid": "^5.0.4", "next": "^14.1.4", - "next-auth": "5.0.0-beta.15", + "next-auth": "5.0.0-beta.16", "openai": "^4.24.7", "react": "18.2.0", "react-dom": "18.2.0", diff --git a/apps/nextjs/package.json b/apps/nextjs/package.json index 74def0e06..aba18fb2a 100644 --- a/apps/nextjs/package.json +++ b/apps/nextjs/package.json @@ -24,7 +24,7 @@ "@trpc/client": "11.0.0-next.320", "@trpc/react-query": "11.0.0-next.320", "@trpc/server": "11.0.0-next.320", - "geist": "^1.2.2", + "geist": "^1.3.0", "next": "^14.1.4", "react": "18.2.0", "react-dom": "18.2.0", diff --git a/packages/auth/package.json b/packages/auth/package.json index 1c113b8eb..c62e8ca93 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -16,10 +16,10 @@ }, "dependencies": { "@yocxo/db": "workspace:*", - "@auth/drizzle-adapter": "^0.8.0", + "@auth/drizzle-adapter": "^0.8.1", "@t3-oss/env-nextjs": "^0.9.2", "next": "^14.1.4", - "next-auth": "5.0.0-beta.15", + "next-auth": "5.0.0-beta.16", "react": "18.2.0", "react-dom": "18.2.0", "zod": "^3.22.4" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cc4c35d98..6284d629b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -27,8 +27,8 @@ importers: apps/auth-proxy: dependencies: '@auth/core': - specifier: 0.28.0 - version: 0.28.0 + specifier: 0.28.1 + version: 0.28.1 devDependencies: '@types/node': specifier: ^20.11.30 @@ -112,8 +112,8 @@ importers: specifier: ^14.1.4 version: 14.1.4(react-dom@18.2.0)(react@18.2.0) next-auth: - specifier: 5.0.0-beta.15 - version: 5.0.0-beta.15(next@14.1.4)(react@18.2.0) + specifier: 5.0.0-beta.16 + version: 5.0.0-beta.16(next@14.1.4)(react@18.2.0) openai: specifier: ^4.24.7 version: 4.29.2 @@ -339,7 +339,7 @@ importers: specifier: workspace:* version: link:../../packages/validators geist: - specifier: ^1.2.2 + specifier: ^1.3.0 version: 1.3.0(next@14.1.4) next: specifier: ^14.1.4 @@ -534,7 +534,7 @@ importers: packages/auth: dependencies: '@auth/drizzle-adapter': - specifier: ^0.8.0 + specifier: ^0.8.1 version: 0.8.1 '@t3-oss/env-nextjs': specifier: ^0.9.2 @@ -546,8 +546,8 @@ importers: specifier: ^14.1.4 version: 14.1.4(react-dom@18.2.0)(react@18.2.0) next-auth: - specifier: 5.0.0-beta.15 - version: 5.0.0-beta.15(next@14.1.4)(react@18.2.0) + specifier: 5.0.0-beta.16 + version: 5.0.0-beta.16(next@14.1.4)(react@18.2.0) react: specifier: 18.2.0 version: 18.2.0 @@ -850,29 +850,6 @@ packages: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 - /@auth/core@0.28.0: - resolution: {integrity: sha512-/fh/tb/L4NMSYcyPoo4Imn8vN6MskcVfgESF8/ndgtI4fhD/7u7i5fTVzWgNRZ4ebIEGHNDbWFRxaTu1NtQgvA==} - peerDependencies: - '@simplewebauthn/browser': ^9.0.1 - '@simplewebauthn/server': ^9.0.2 - nodemailer: ^6.8.0 - peerDependenciesMeta: - '@simplewebauthn/browser': - optional: true - '@simplewebauthn/server': - optional: true - nodemailer: - optional: true - dependencies: - '@panva/hkdf': 1.1.1 - '@types/cookie': 0.6.0 - cookie: 0.6.0 - jose: 5.2.3 - oauth4webapi: 2.10.3 - preact: 10.11.3 - preact-render-to-string: 5.2.3(preact@10.11.3) - dev: false - /@auth/core@0.28.1: resolution: {integrity: sha512-gvp74mypYZADpTlfGRp6HE0G3pIHWvtJpy+KZ+8FvY0cmlIpHog+jdMOdd29dQtLtN25kF2YbfHsesCFuGUQbg==} peerDependencies: @@ -12853,8 +12830,8 @@ packages: engines: {node: '>= 0.4.0'} dev: true - /next-auth@5.0.0-beta.15(next@14.1.4)(react@18.2.0): - resolution: {integrity: sha512-UQggNq8CDu3/w8CYkihKLLnRPNXel98K0j7mtjj9a6XTNYo4Hni8xg/2h1YhElW6vXE8mgtvmH11rU8NKw86jQ==} + /next-auth@5.0.0-beta.16(next@14.1.4)(react@18.2.0): + resolution: {integrity: sha512-dX2snB+ezN23tFzSes3n3uosT9iBf0eILPYWH/R2fd9n3ZzdMQlRzq7JIOPeS1aLc84IuRlyuyXyx9XmmZB6og==} peerDependencies: '@simplewebauthn/browser': ^9.0.1 '@simplewebauthn/server': ^9.0.2 @@ -12869,7 +12846,7 @@ packages: nodemailer: optional: true dependencies: - '@auth/core': 0.28.0 + '@auth/core': 0.28.1 next: 14.1.4(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 dev: false From 3cc63858ecb614360e09d1685aafa423efe89468 Mon Sep 17 00:00:00 2001 From: Sam Rizvi Date: Wed, 27 Mar 2024 01:07:47 -0700 Subject: [PATCH 16/16] feat: cache auth ine rsc #174 --- apps/nextjs/src/middleware.ts | 11 +++++++++++ packages/auth/package.json | 5 ++++- packages/auth/src/config.ts | 32 ++++++++++++++++++++++++++++++++ packages/auth/src/index.rsc.ts | 14 ++++++++++++++ 4 files changed, 61 insertions(+), 1 deletion(-) create mode 100644 apps/nextjs/src/middleware.ts create mode 100644 packages/auth/src/config.ts create mode 100644 packages/auth/src/index.rsc.ts diff --git a/apps/nextjs/src/middleware.ts b/apps/nextjs/src/middleware.ts new file mode 100644 index 000000000..06a7a1c87 --- /dev/null +++ b/apps/nextjs/src/middleware.ts @@ -0,0 +1,11 @@ +export { auth as middleware } from '@yocxo/auth'; + +// Or like this if you need to do something here. +// export default auth((req) => { +// console.log(req.auth) // { session: { user: { ... } } } +// }) + +// Read more: https://nextjs.org/docs/app/building-your-application/routing/middleware#matcher +export const config = { + matcher: ['/((?!api|_next/static|_next/image|favicon.ico).*)'], +}; diff --git a/packages/auth/package.json b/packages/auth/package.json index c62e8ca93..aacf73735 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -4,7 +4,10 @@ "private": true, "type": "module", "exports": { - ".": "./src/index.ts", + ".": { + "react-server": "./src/index.rsc.ts", + "default": "./src/index.ts" + }, "./env": "./env.ts" }, "license": "MIT", diff --git a/packages/auth/src/config.ts b/packages/auth/src/config.ts new file mode 100644 index 000000000..a03fb8e24 --- /dev/null +++ b/packages/auth/src/config.ts @@ -0,0 +1,32 @@ +import type { DefaultSession, NextAuthConfig } from 'next-auth'; + +import { DrizzleAdapter } from '@auth/drizzle-adapter'; +import Discord from 'next-auth/providers/discord'; + +import { db, tableCreator } from '@yocxo/db'; + +declare module 'next-auth' { + interface Session { + user: { + id: string; + } & DefaultSession['user']; + } +} + +export const authConfig = { + adapter: DrizzleAdapter(db, tableCreator), + providers: [Discord], + callbacks: { + session: (opts) => { + if (!('user' in opts)) throw 'unreachable with session strategy'; + + return { + ...opts.session, + user: { + ...opts.session.user, + id: opts.user.id, + }, + }; + }, + }, +} satisfies NextAuthConfig; diff --git a/packages/auth/src/index.rsc.ts b/packages/auth/src/index.rsc.ts new file mode 100644 index 000000000..68b39f143 --- /dev/null +++ b/packages/auth/src/index.rsc.ts @@ -0,0 +1,14 @@ +import NextAuth from 'next-auth'; + +import { authConfig } from './config'; + +export type { Session } from 'next-auth'; + +const { + handlers: { GET, POST }, + auth, + signIn, + signOut, +} = NextAuth(authConfig); + +export { GET, POST, auth, signIn, signOut };