From 423736671aa1574d259a58b170f571e7702738b7 Mon Sep 17 00:00:00 2001 From: resatyildiz Date: Sat, 13 Apr 2024 09:16:49 +0300 Subject: [PATCH] fix: remove and refactor files according to my website --- .env | 27 +- drizzle.config.ts | 11 - next.config.mjs | 88 +-- package.json | 5 +- scripts/dbMigrate.ts | 27 - sentry.client.config.ts | 36 -- sentry.edge.config.ts | 26 - sentry.server.config.ts | 25 - src/app/[locale]/(auth)/(center)/layout.tsx | 16 - .../(center)/sign-in/[[...sign-in]]/page.tsx | 18 - .../(center)/sign-up/[[...sign-up]]/page.tsx | 18 - src/app/[locale]/(auth)/dashboard/layout.tsx | 48 -- src/app/[locale]/(auth)/dashboard/page.tsx | 22 - .../user-profile/[[...user-profile]]/page.tsx | 21 - src/app/[locale]/(auth)/layout.tsx | 34 -- src/app/[locale]/(unauth)/about/page.tsx | 28 +- .../[locale]/(unauth)/api/guestbook/route.ts | 89 --- src/app/[locale]/(unauth)/guestbook/page.tsx | 56 -- src/app/[locale]/(unauth)/layout.tsx | 16 +- src/app/global-error.tsx | 11 +- src/components/DeleteGuestbookEntry.tsx | 44 -- src/components/EditableGuestbookEntry.tsx | 65 --- src/components/GuestbookForm.tsx | 114 ---- src/components/GuestbookList.tsx | 30 - src/libs/DB.ts | 19 - src/libs/Env.mjs | 22 +- src/libs/Logger.ts | 25 - src/middleware.ts | 22 +- src/models/Schema.ts | 14 - yarn.lock | 545 +----------------- 30 files changed, 60 insertions(+), 1462 deletions(-) delete mode 100644 drizzle.config.ts delete mode 100644 scripts/dbMigrate.ts delete mode 100644 sentry.client.config.ts delete mode 100644 sentry.edge.config.ts delete mode 100644 sentry.server.config.ts delete mode 100644 src/app/[locale]/(auth)/(center)/layout.tsx delete mode 100644 src/app/[locale]/(auth)/(center)/sign-in/[[...sign-in]]/page.tsx delete mode 100644 src/app/[locale]/(auth)/(center)/sign-up/[[...sign-up]]/page.tsx delete mode 100644 src/app/[locale]/(auth)/dashboard/layout.tsx delete mode 100644 src/app/[locale]/(auth)/dashboard/page.tsx delete mode 100644 src/app/[locale]/(auth)/dashboard/user-profile/[[...user-profile]]/page.tsx delete mode 100644 src/app/[locale]/(auth)/layout.tsx delete mode 100644 src/app/[locale]/(unauth)/api/guestbook/route.ts delete mode 100644 src/app/[locale]/(unauth)/guestbook/page.tsx delete mode 100644 src/components/DeleteGuestbookEntry.tsx delete mode 100644 src/components/EditableGuestbookEntry.tsx delete mode 100644 src/components/GuestbookForm.tsx delete mode 100644 src/components/GuestbookList.tsx delete mode 100644 src/libs/DB.ts delete mode 100644 src/libs/Logger.ts delete mode 100644 src/models/Schema.ts diff --git a/.env b/.env index 67bacac..0a63fa2 100644 --- a/.env +++ b/.env @@ -1,28 +1,3 @@ -# FIXME: Configure environment variables for your project - -# For security reason, don't push secret key in your git repo. -# Append .local to the environement files to prevent your secret key from being commited to Git. - # Hosting # Replace by your domain name -NEXT_PUBLIC_APP_URL=https://example.com - -# Database -# Please use a working DATABASE_URL. Otherwise, Next.js build will timeout and you will get the following error: "because it took more than 60 seconds" -# DATABASE_URL=libsql://[RANDOM-CHARS]-[DB-NAME]-[ORG-NAME].turso.io -DATABASE_URL=file:next-js-boilerplate.db - -# Clerk authentication -NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_test_b3Blbi1zdGlua2J1Zy04LmNsZXJrLmFjY291bnRzLmRldiQ - -NEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in - -######## [BEGIN] SENSITIVE DATA ######## For security reason, don't update the following variables (secret key) directly in this file. -######## Please create a new file named `.env.local`, all environment files ending with `.local` won't be tracked by Git. -######## After creating the file, you can add the following variables. -CLERK_SECRET_KEY=your_clerk_secret_key - -# DATABASE_AUTH_TOKEN= - -# LOGTAIL_SOURCE_TOKEN= -######## [END] SENSITIVE DATA +NEXT_PUBLIC_APP_URL=https://resatyildiz.com diff --git a/drizzle.config.ts b/drizzle.config.ts deleted file mode 100644 index 51565f3..0000000 --- a/drizzle.config.ts +++ /dev/null @@ -1,11 +0,0 @@ -import type { Config } from 'drizzle-kit'; - -/** @type {import('drizzle-kit').Config} */ -export default { - out: './migrations', - schema: './src/models/Schema.ts', - driver: 'libsql', - dbCredentials: { - url: process.env.DATABASE_URL ?? '', - }, -} satisfies Config; diff --git a/next.config.mjs b/next.config.mjs index b036182..1729c7c 100644 --- a/next.config.mjs +++ b/next.config.mjs @@ -1,74 +1,26 @@ -/* eslint-disable import/no-extraneous-dependencies, import/extensions */ -import { withSentryConfig } from '@sentry/nextjs'; -import './src/libs/Env.mjs'; -import withBundleAnalyzer from '@next/bundle-analyzer'; import withNextIntl from 'next-intl/plugin'; const withNextIntlConfig = withNextIntl('./src/libs/i18n.ts'); -const bundleAnalyzer = withBundleAnalyzer({ - enabled: process.env.ANALYZE === 'true', -}); - -/** @type {import('next').NextConfig} */ -export default withSentryConfig( - bundleAnalyzer( - withNextIntlConfig({ - eslint: { - dirs: ['.'], - }, - poweredByHeader: false, - reactStrictMode: true, - experimental: { - // Related to Pino error with RSC: https://github.com/orgs/vercel/discussions/3150 - serverComponentsExternalPackages: ['pino'], - }, - webpack: (config) => { - // config.externals is needed to resolve the following errors: - // Module not found: Can't resolve 'bufferutil' - // Module not found: Can't resolve 'utf-8-validate' - config.externals.push({ - bufferutil: 'bufferutil', - 'utf-8-validate': 'utf-8-validate', - }); - - return config; - }, - }), - ), - { - // For all available options, see: - // https://github.com/getsentry/sentry-webpack-plugin#options - - // Suppresses source map uploading logs during build - silent: true, - // FIXME: Add your Sentry organization and project names - org: 'nextjs-boilerplate-org', - project: 'nextjs-boilerplate', +export default withNextIntlConfig({ + eslint: { + dirs: ['.'], }, - { - // For all available options, see: - // https://docs.sentry.io/platforms/javascript/guides/nextjs/manual-setup/ - - // Upload a larger set of source maps for prettier stack traces (increases build time) - widenClientFileUpload: true, - - // Transpiles SDK to be compatible with IE11 (increases bundle size) - transpileClientSDK: true, - - // Routes browser requests to Sentry through a Next.js rewrite to circumvent ad-blockers (increases server load) - tunnelRoute: '/monitoring', - - // Hides source maps from generated client bundles - hideSourceMaps: true, - - // Automatically tree-shake Sentry logger statements to reduce bundle size - disableLogger: true, - - // Enables automatic instrumentation of Vercel Cron Monitors. - // See the following for more information: - // https://docs.sentry.io/product/crons/ - // https://vercel.com/docs/cron-jobs - automaticVercelMonitors: true, + poweredByHeader: false, + reactStrictMode: true, + experimental: { + // Related to Pino error with RSC: https://github.com/orgs/vercel/discussions/3150 + serverComponentsExternalPackages: ['pino'], + }, + webpack: (config) => { + // config.externals is needed to resolve the following errors: + // Module not found: Can't resolve 'bufferutil' + // Module not found: Can't resolve 'utf-8-validate' + config.externals.push({ + bufferutil: 'bufferutil', + 'utf-8-validate': 'utf-8-validate', + }); + + return config; }, -); +}); diff --git a/package.json b/package.json index 1ed6e38..189b4fa 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "dev:spotlight": "spotlight-sidecar", "dev:next": "next dev", "dev": "run-p dev:*", - "build": "npm run db:migrate && next build", + "build": "next build", "start": "next start", "build-stats": "cross-env ANALYZE=true npm run build", "clean": "rimraf .next .swc out coverage", @@ -31,11 +31,9 @@ "@hookform/resolvers": "^3.3.4", "@libsql/client": "^0.6.0", "@logtail/pino": "^0.4.21", - "@sentry/nextjs": "^7.109.0", "@spotlightjs/spotlight": "^1.2.16", "@t3-oss/env-nextjs": "^0.9.2", "checkly": "^4.6.3", - "drizzle-orm": "^0.30.7", "next": "^14.1.4", "next-intl": "^3.11.0", "pino": "^8.19.0", @@ -77,7 +75,6 @@ "cross-env": "^7.0.3", "cssnano": "^6.1.2", "dotenv-cli": "^7.4.1", - "drizzle-kit": "^0.20.14", "encoding": "^0.1.13", "eslint": "^8.57.0", "eslint-config-airbnb": "^19.0.4", diff --git a/scripts/dbMigrate.ts b/scripts/dbMigrate.ts deleted file mode 100644 index 62fd846..0000000 --- a/scripts/dbMigrate.ts +++ /dev/null @@ -1,27 +0,0 @@ -/* eslint-disable no-console */ -import { createClient } from '@libsql/client'; -import { drizzle } from 'drizzle-orm/libsql'; -import { migrate } from 'drizzle-orm/libsql/migrator'; - -async function main() { - console.log('Migration started'); - - const client = createClient({ - url: process.env.DATABASE_URL ?? '', - authToken: process.env.DATABASE_AUTH_TOKEN ?? '', - }); - - const db = drizzle(client); - - await migrate(db, { migrationsFolder: './migrations' }); - - console.log('Migration completed'); - - process.exit(0); -} - -main().catch((error) => { - console.error('Migration failed'); - console.log(error); - process.exit(1); -}); diff --git a/sentry.client.config.ts b/sentry.client.config.ts deleted file mode 100644 index d8b36ca..0000000 --- a/sentry.client.config.ts +++ /dev/null @@ -1,36 +0,0 @@ -// This file configures the initialization of Sentry on the client. -// The config you add here will be used whenever a users loads a page in their browser. -// https://docs.sentry.io/platforms/javascript/guides/nextjs/ - -import * as Sentry from '@sentry/nextjs'; -import * as Spotlight from '@spotlightjs/spotlight'; - -Sentry.init({ - // FIXME: Add your Sentry DSN - // dsn: '___DSN___', - - // Adjust this value in production, or use tracesSampler for greater control - tracesSampleRate: 1, - - // Setting this option to true will print useful information to the console while you're setting up Sentry. - debug: false, - - replaysOnErrorSampleRate: 1.0, - - // This sets the sample rate to be 10%. You may want this to be 100% while - // in development and sample at a lower rate in production - replaysSessionSampleRate: 0.1, - - // You can remove this option if you're not planning to use the Sentry Session Replay feature: - integrations: [ - Sentry.replayIntegration({ - // Additional Replay configuration goes in here, for example: - maskAllText: true, - blockAllMedia: true, - }), - ], -}); - -if (process.env.NODE_ENV === 'development') { - Spotlight.init(); -} diff --git a/sentry.edge.config.ts b/sentry.edge.config.ts deleted file mode 100644 index ea3e885..0000000 --- a/sentry.edge.config.ts +++ /dev/null @@ -1,26 +0,0 @@ -// This file configures the initialization of Sentry for edge features (middleware, edge routes, and so on). -// The config you add here will be used whenever one of the edge features is loaded. -// Note that this config is unrelated to the Vercel Edge Runtime and is also required when running locally. -// https://docs.sentry.io/platforms/javascript/guides/nextjs/ - -import * as Sentry from '@sentry/nextjs'; - -Sentry.init({ - // FIXME: Add your Sentry DSN - // dsn: '___DSN___', - - // Enable Spotlight in development - spotlight: process.env.NODE_ENV === 'development', - - ignoreErrors: [ - // Workaround for React RSC and Suspense boundaries: https://github.com/amannn/next-intl/issues/614#issuecomment-1862508393 - // Can be removed once the change is integrated into Sentry SDK. - "This is not a real error! It's an implementation detail of `use`", - ], - - // Adjust this value in production, or use tracesSampler for greater control - tracesSampleRate: 1, - - // Setting this option to true will print useful information to the console while you're setting up Sentry. - debug: false, -}); diff --git a/sentry.server.config.ts b/sentry.server.config.ts deleted file mode 100644 index cb5110d..0000000 --- a/sentry.server.config.ts +++ /dev/null @@ -1,25 +0,0 @@ -// This file configures the initialization of Sentry on the server. -// The config you add here will be used whenever the server handles a request. -// https://docs.sentry.io/platforms/javascript/guides/nextjs/ - -import * as Sentry from '@sentry/nextjs'; - -Sentry.init({ - // FIXME: Add your Sentry DSN - // dsn: '___DSN___', - - // Enable Spotlight in development - spotlight: process.env.NODE_ENV === 'development', - - ignoreErrors: [ - // Workaround for React RSC and Suspense boundaries: https://github.com/amannn/next-intl/issues/614#issuecomment-1862508393 - // Can be removed once the change is integrated into Sentry SDK. - "This is not a real error! It's an implementation detail of `use`", - ], - - // Adjust this value in production, or use tracesSampler for greater control - tracesSampleRate: 1, - - // Setting this option to true will print useful information to the console while you're setting up Sentry. - debug: false, -}); diff --git a/src/app/[locale]/(auth)/(center)/layout.tsx b/src/app/[locale]/(auth)/(center)/layout.tsx deleted file mode 100644 index 077b48d..0000000 --- a/src/app/[locale]/(auth)/(center)/layout.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import { auth } from '@clerk/nextjs'; -import { redirect } from 'next/navigation'; - -export default function CenteredLayout(props: { children: React.ReactNode }) { - const { userId } = auth(); - - if (userId) { - redirect('/dashboard'); - } - - return ( -
- {props.children} -
- ); -} diff --git a/src/app/[locale]/(auth)/(center)/sign-in/[[...sign-in]]/page.tsx b/src/app/[locale]/(auth)/(center)/sign-in/[[...sign-in]]/page.tsx deleted file mode 100644 index 1ca0dce..0000000 --- a/src/app/[locale]/(auth)/(center)/sign-in/[[...sign-in]]/page.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import { SignIn } from '@clerk/nextjs'; -import { getTranslations } from 'next-intl/server'; - -export async function generateMetadata(props: { params: { locale: string } }) { - const t = await getTranslations({ - locale: props.params.locale, - namespace: 'SignIn', - }); - - return { - title: t('meta_title'), - description: t('meta_description'), - }; -} - -const SignInPage = () => ; - -export default SignInPage; diff --git a/src/app/[locale]/(auth)/(center)/sign-up/[[...sign-up]]/page.tsx b/src/app/[locale]/(auth)/(center)/sign-up/[[...sign-up]]/page.tsx deleted file mode 100644 index 38629c2..0000000 --- a/src/app/[locale]/(auth)/(center)/sign-up/[[...sign-up]]/page.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import { SignUp } from '@clerk/nextjs'; -import { getTranslations } from 'next-intl/server'; - -export async function generateMetadata(props: { params: { locale: string } }) { - const t = await getTranslations({ - locale: props.params.locale, - namespace: 'SignUp', - }); - - return { - title: t('meta_title'), - description: t('meta_description'), - }; -} - -const SignUpPage = () => ; - -export default SignUpPage; diff --git a/src/app/[locale]/(auth)/dashboard/layout.tsx b/src/app/[locale]/(auth)/dashboard/layout.tsx deleted file mode 100644 index a675aa9..0000000 --- a/src/app/[locale]/(auth)/dashboard/layout.tsx +++ /dev/null @@ -1,48 +0,0 @@ -import Link from 'next/link'; -import { useTranslations } from 'next-intl'; - -import LocaleSwitcher from '@/components/LocaleSwitcher'; -import { LogOutButton } from '@/components/LogOutButton'; -import { BaseTemplate } from '@/templates/BaseTemplate'; - -export default function DashboardLayout(props: { children: React.ReactNode }) { - const t = useTranslations('DashboardLayout'); - - return ( - -
  • - - {t('dashboard_link')} - -
  • -
  • - - {t('user_profile_link')} - -
  • - - } - rightNav={ - <> -
  • - -
  • - -
  • - -
  • - - } - > - {props.children} -
    - ); -} diff --git a/src/app/[locale]/(auth)/dashboard/page.tsx b/src/app/[locale]/(auth)/dashboard/page.tsx deleted file mode 100644 index d067717..0000000 --- a/src/app/[locale]/(auth)/dashboard/page.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import { getTranslations } from 'next-intl/server'; - -import { Hello } from '@/components/Hello'; - -export async function generateMetadata(props: { params: { locale: string } }) { - const t = await getTranslations({ - locale: props.params.locale, - namespace: 'Dashboard', - }); - - return { - title: t('meta_title'), - }; -} - -const Dashboard = () => ( -
    - -
    -); - -export default Dashboard; diff --git a/src/app/[locale]/(auth)/dashboard/user-profile/[[...user-profile]]/page.tsx b/src/app/[locale]/(auth)/dashboard/user-profile/[[...user-profile]]/page.tsx deleted file mode 100644 index 9ad0fce..0000000 --- a/src/app/[locale]/(auth)/dashboard/user-profile/[[...user-profile]]/page.tsx +++ /dev/null @@ -1,21 +0,0 @@ -import { UserProfile } from '@clerk/nextjs'; -import { getTranslations } from 'next-intl/server'; - -export async function generateMetadata(props: { params: { locale: string } }) { - const t = await getTranslations({ - locale: props.params.locale, - namespace: 'UserProfile', - }); - - return { - title: t('meta_title'), - }; -} - -const UserProfilePage = () => ( -
    - -
    -); - -export default UserProfilePage; diff --git a/src/app/[locale]/(auth)/layout.tsx b/src/app/[locale]/(auth)/layout.tsx deleted file mode 100644 index d611a20..0000000 --- a/src/app/[locale]/(auth)/layout.tsx +++ /dev/null @@ -1,34 +0,0 @@ -import { enUS, frFR } from '@clerk/localizations'; -import { ClerkProvider } from '@clerk/nextjs'; - -export default function AuthLayout(props: { - children: React.ReactNode; - params: { locale: string }; -}) { - let clerkLocale = enUS; - let signInUrl = '/sign-in'; - let signUpUrl = '/sign-up'; - let dashboardUrl = '/dashboard'; - - if (props.params.locale === 'fr') { - clerkLocale = frFR; - } - - if (props.params.locale !== 'en') { - signInUrl = `/${props.params.locale}${signInUrl}`; - signUpUrl = `/${props.params.locale}${signUpUrl}`; - dashboardUrl = `/${props.params.locale}${dashboardUrl}`; - } - - return ( - - {props.children} - - ); -} diff --git a/src/app/[locale]/(unauth)/about/page.tsx b/src/app/[locale]/(unauth)/about/page.tsx index 14f4620..055ecef 100644 --- a/src/app/[locale]/(unauth)/about/page.tsx +++ b/src/app/[locale]/(unauth)/about/page.tsx @@ -1,4 +1,3 @@ -import Image from 'next/image'; import { useTranslations } from 'next-intl'; import { getTranslations } from 'next-intl/server'; @@ -17,30 +16,5 @@ export async function generateMetadata(props: { params: { locale: string } }) { export default function About() { const t = useTranslations('About'); - return ( - <> -

    {t('about_paragraph')}

    - -
    - {`${t('translation_powered_by')} `} - - Crowdin - -
    - - - Crowdin Translation Management System - - - ); + return

    {t('about_paragraph')}

    ; } diff --git a/src/app/[locale]/(unauth)/api/guestbook/route.ts b/src/app/[locale]/(unauth)/api/guestbook/route.ts deleted file mode 100644 index 6d069ab..0000000 --- a/src/app/[locale]/(unauth)/api/guestbook/route.ts +++ /dev/null @@ -1,89 +0,0 @@ -import { eq, sql } from 'drizzle-orm'; -import { NextResponse } from 'next/server'; - -import { db } from '@/libs/DB'; -import { logger } from '@/libs/Logger'; -import { guestbookSchema } from '@/models/Schema'; -import { - DeleteGuestbookValidation, - EditGuestbookValidation, - GuestbookValidation, -} from '@/validations/GuestbookValidation'; - -export const POST = async (request: Request) => { - const json = await request.json(); - const parse = GuestbookValidation.safeParse(json); - - if (!parse.success) { - return NextResponse.json(parse.error.format(), { status: 422 }); - } - - try { - const guestbook = await db - .insert(guestbookSchema) - .values(parse.data) - .returning(); - - logger.info('A new guestbook has been created'); - - return NextResponse.json({ - id: guestbook[0]?.id, - }); - } catch (error) { - logger.error(error, 'An error occurred while creating a guestbook'); - - return NextResponse.json({}, { status: 500 }); - } -}; - -export const PUT = async (request: Request) => { - const json = await request.json(); - const parse = EditGuestbookValidation.safeParse(json); - - if (!parse.success) { - return NextResponse.json(parse.error.format(), { status: 422 }); - } - - try { - await db - .update(guestbookSchema) - .set({ - ...parse.data, - updatedAt: sql`(strftime('%s', 'now'))`, - }) - .where(eq(guestbookSchema.id, parse.data.id)) - .run(); - - logger.info('A guestbook entry has been updated'); - - return NextResponse.json({}); - } catch (error) { - logger.error(error, 'An error occurred while updating a guestbook'); - - return NextResponse.json({}, { status: 500 }); - } -}; - -export const DELETE = async (request: Request) => { - const json = await request.json(); - const parse = DeleteGuestbookValidation.safeParse(json); - - if (!parse.success) { - return NextResponse.json(parse.error.format(), { status: 422 }); - } - - try { - await db - .delete(guestbookSchema) - .where(eq(guestbookSchema.id, parse.data.id)) - .run(); - - logger.info('A guestbook entry has been deleted'); - - return NextResponse.json({}); - } catch (error) { - logger.error(error, 'An error occurred while deleting a guestbook'); - - return NextResponse.json({}, { status: 500 }); - } -}; diff --git a/src/app/[locale]/(unauth)/guestbook/page.tsx b/src/app/[locale]/(unauth)/guestbook/page.tsx deleted file mode 100644 index 4071b99..0000000 --- a/src/app/[locale]/(unauth)/guestbook/page.tsx +++ /dev/null @@ -1,56 +0,0 @@ -import Image from 'next/image'; -import { useTranslations } from 'next-intl'; -import { getTranslations } from 'next-intl/server'; -import { Suspense } from 'react'; - -import { GuestbookForm } from '@/components/GuestbookForm'; -import { GuestbookList } from '@/components/GuestbookList'; - -export async function generateMetadata(props: { params: { locale: string } }) { - const t = await getTranslations({ - locale: props.params.locale, - namespace: 'Guestbook', - }); - - return { - title: t('meta_title'), - description: t('meta_description'), - }; -} - -const Guestbook = () => { - const t = useTranslations('Guestbook'); - - return ( - <> - - - {t('loading_guestbook')}

    }> - -
    - -
    - {`${t('database_powered_by')} `} - - Turso - -
    - - - SQLite Developer Experience - - - ); -}; - -export default Guestbook; diff --git a/src/app/[locale]/(unauth)/layout.tsx b/src/app/[locale]/(unauth)/layout.tsx index feeeea1..44d6dd2 100644 --- a/src/app/[locale]/(unauth)/layout.tsx +++ b/src/app/[locale]/(unauth)/layout.tsx @@ -29,26 +29,26 @@ export default function Layout(props: { children: React.ReactNode }) {
  • - {t('guestbook_link')} + {t('portfolio_link')}
  • - - {t('portfolio_link')} - + GitHub +
  • - GitHub + LinkedIn
  • diff --git a/src/app/global-error.tsx b/src/app/global-error.tsx index 497037e..a89cea0 100644 --- a/src/app/global-error.tsx +++ b/src/app/global-error.tsx @@ -1,17 +1,8 @@ 'use client'; -import * as Sentry from '@sentry/nextjs'; import Error from 'next/error'; -import { useEffect } from 'react'; - -export default function GlobalError(props: { - error: Error & { digest?: string }; - params: { locale: string }; -}) { - useEffect(() => { - Sentry.captureException(props.error); - }, [props.error]); +export default function GlobalError(props: { params: { locale: string } }) { return ( diff --git a/src/components/DeleteGuestbookEntry.tsx b/src/components/DeleteGuestbookEntry.tsx deleted file mode 100644 index 39c43bd..0000000 --- a/src/components/DeleteGuestbookEntry.tsx +++ /dev/null @@ -1,44 +0,0 @@ -'use client'; - -import { useRouter } from 'next/navigation'; - -const DeleteGuestbookEntry = (props: { id: number }) => { - const router = useRouter(); - - const handleDelete = async () => { - await fetch(`/api/guestbook`, { - method: 'DELETE', - headers: { - 'Content-Type': 'application/json', - }, - body: JSON.stringify({ - id: props.id, - }), - }); - - router.refresh(); - }; - - return ( - - ); -}; - -export { DeleteGuestbookEntry }; diff --git a/src/components/EditableGuestbookEntry.tsx b/src/components/EditableGuestbookEntry.tsx deleted file mode 100644 index 7ca47b9..0000000 --- a/src/components/EditableGuestbookEntry.tsx +++ /dev/null @@ -1,65 +0,0 @@ -'use client'; - -import { useState } from 'react'; - -import { GuestbookForm } from './GuestbookForm'; - -const EditableGuestbookEntry = (props: { - id: number; - username: string; - body: string; -}) => { - const [isEditing, setIsEditing] = useState(false); - - const handleEdit = () => { - setIsEditing((value) => !value); - }; - - const handleStopEditing = () => { - setIsEditing(false); - }; - - return ( - <> - - -
    - {isEditing ? ( - - ) : ( - <> - {props.username}:{' '} - {props.body} - - )} -
    - - ); -}; - -export { EditableGuestbookEntry }; diff --git a/src/components/GuestbookForm.tsx b/src/components/GuestbookForm.tsx deleted file mode 100644 index 9f8ca70..0000000 --- a/src/components/GuestbookForm.tsx +++ /dev/null @@ -1,114 +0,0 @@ -'use client'; - -import { zodResolver } from '@hookform/resolvers/zod'; -import { useRouter } from 'next/navigation'; -import { useTranslations } from 'next-intl'; -import { useForm } from 'react-hook-form'; -import type { z } from 'zod'; - -import { GuestbookValidation } from '@/validations/GuestbookValidation'; - -type IGuestbookFormProps = - | { - edit: true; - id: number; - defaultValues: z.infer; - handleStopEditing: () => void; - } - | { edit?: false }; - -const GuestbookForm = (props: IGuestbookFormProps) => { - const { - handleSubmit, - register, - reset, - formState: { errors }, - } = useForm>({ - resolver: zodResolver(GuestbookValidation), - defaultValues: props.edit ? props.defaultValues : undefined, - }); - const router = useRouter(); - const t = useTranslations('GuestbookForm'); - - const handleCreate = handleSubmit(async (data) => { - if (props.edit) { - await fetch(`/api/guestbook`, { - method: 'PUT', - headers: { - 'Content-Type': 'application/json', - }, - body: JSON.stringify({ - id: props.id, - ...data, - }), - }); - - props.handleStopEditing(); - } else { - await fetch(`/api/guestbook`, { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - }, - body: JSON.stringify(data), - }); - - reset(); - } - - router.refresh(); - }); - - return ( -
    -
    - - {errors.username?.message && ( -
    - {errors.username?.message} -
    - )} -
    - -
    - - {errors.body?.message && ( -
    - {errors.body?.message} -
    - )} -
    - -
    - -
    -
    - ); -}; - -export { GuestbookForm }; diff --git a/src/components/GuestbookList.tsx b/src/components/GuestbookList.tsx deleted file mode 100644 index 0fe9470..0000000 --- a/src/components/GuestbookList.tsx +++ /dev/null @@ -1,30 +0,0 @@ -import { db } from '@/libs/DB'; -import { logger } from '@/libs/Logger'; -import { guestbookSchema } from '@/models/Schema'; - -import { DeleteGuestbookEntry } from './DeleteGuestbookEntry'; -import { EditableGuestbookEntry } from './EditableGuestbookEntry'; - -const GuestbookList = async () => { - const guestbook = await db.select().from(guestbookSchema).all(); - - logger.info('Get all guestbook entries'); - - return ( -
    - {guestbook.map((elt) => ( -
    - - - -
    - ))} -
    - ); -}; - -export { GuestbookList }; diff --git a/src/libs/DB.ts b/src/libs/DB.ts deleted file mode 100644 index bbf0f6f..0000000 --- a/src/libs/DB.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { createClient } from '@libsql/client'; -import { drizzle } from 'drizzle-orm/libsql'; -import { migrate } from 'drizzle-orm/libsql/migrator'; - -import { Env } from './Env.mjs'; - -const client = createClient({ - url: Env.DATABASE_URL, - authToken: Env.DATABASE_AUTH_TOKEN, -}); - -export const db = drizzle(client); - -// Disable migrate function if using Edge runtime and use `npm run db:migrate` instead. -// Only run migrate in development. Otherwise, migrate will also be run during the build which can cause errors. -// Migrate during the build can cause errors due to the locked database when multiple migrations are running at the same time. -if (process.env.NODE_ENV === 'development') { - await migrate(db, { migrationsFolder: './migrations' }); -} diff --git a/src/libs/Env.mjs b/src/libs/Env.mjs index b4c950f..bc7e650 100644 --- a/src/libs/Env.mjs +++ b/src/libs/Env.mjs @@ -1,25 +1,9 @@ /* eslint-disable import/prefer-default-export */ import { createEnv } from '@t3-oss/env-nextjs'; -import { z } from 'zod'; // Don't add NODE_ENV into T3 Env, it changes the tree-shaking behavior export const Env = createEnv({ - server: { - CLERK_SECRET_KEY: z.string().min(1), - DATABASE_URL: z.string().min(1), - DATABASE_AUTH_TOKEN: z.string().optional(), - LOGTAIL_SOURCE_TOKEN: z.string().optional(), - }, - client: { - NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY: z.string().min(1), - }, - // You need to destructure all the keys manually - runtimeEnv: { - CLERK_SECRET_KEY: process.env.CLERK_SECRET_KEY, - DATABASE_URL: process.env.DATABASE_URL, - DATABASE_AUTH_TOKEN: process.env.DATABASE_AUTH_TOKEN, - LOGTAIL_SOURCE_TOKEN: process.env.LOGTAIL_SOURCE_TOKEN, - NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY: - process.env.NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY, - }, + server: {}, + client: {}, + runtimeEnv: {}, }); diff --git a/src/libs/Logger.ts b/src/libs/Logger.ts deleted file mode 100644 index 9752e4e..0000000 --- a/src/libs/Logger.ts +++ /dev/null @@ -1,25 +0,0 @@ -import pino from 'pino'; - -import { Env } from './Env.mjs'; - -let options = {}; - -if (Env.LOGTAIL_SOURCE_TOKEN) { - options = { - transport: { - target: '@logtail/pino', - options: { sourceToken: Env.LOGTAIL_SOURCE_TOKEN }, - }, - }; -} else { - options = { - transport: { - target: 'pino-pretty', - options: { - colorize: true, - }, - }, - }; -} - -export const logger = pino(options); diff --git a/src/middleware.ts b/src/middleware.ts index fe7c844..51839cd 100644 --- a/src/middleware.ts +++ b/src/middleware.ts @@ -1,33 +1,13 @@ -import { authMiddleware, redirectToSignIn } from '@clerk/nextjs'; -import type { NextRequest } from 'next/server'; import createMiddleware from 'next-intl/middleware'; import { AppConfig } from './utils/AppConfig'; -const intlMiddleware = createMiddleware({ +export default createMiddleware({ locales: AppConfig.locales, localePrefix: AppConfig.localePrefix, defaultLocale: AppConfig.defaultLocale, }); -export default authMiddleware({ - publicRoutes: (req: NextRequest) => - !req.nextUrl.pathname.includes('/dashboard'), - - beforeAuth: (req) => { - // Execute next-intl middleware before Clerk's auth middleware - return intlMiddleware(req); - }, - - // eslint-disable-next-line consistent-return - afterAuth(auth, req) { - // Handle users who aren't authenticated - if (!auth.userId && !auth.isPublicRoute) { - return redirectToSignIn({ returnBackUrl: req.url }); - } - }, -}); - export const config = { matcher: ['/((?!.+\\.[\\w]+$|_next).*)', '/', '/(api|trpc)(.*)'], }; diff --git a/src/models/Schema.ts b/src/models/Schema.ts deleted file mode 100644 index 0941fe1..0000000 --- a/src/models/Schema.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { sql } from 'drizzle-orm'; -import { integer, sqliteTable, text } from 'drizzle-orm/sqlite-core'; - -export const guestbookSchema = sqliteTable('guestbook', { - id: integer('id').primaryKey(), - username: text('username').notNull(), - body: text('body').notNull(), - createdAt: integer('created_at', { mode: 'timestamp' }).default( - sql`(strftime('%s', 'now'))`, - ), - updatedAt: integer('updated_at', { mode: 'timestamp' }).default( - sql`(strftime('%s', 'now'))`, - ), -}); diff --git a/yarn.lock b/yarn.lock index 54242fb..71b5930 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1377,13 +1377,6 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== -"@drizzle-team/studio@^0.0.39": - version "0.0.39" - resolved "https://registry.yarnpkg.com/@drizzle-team/studio/-/studio-0.0.39.tgz#70e9155503f7343e8f1917d316f93e64c23760e1" - integrity sha512-c5Hkm7MmQC2n5qAsKShjQrHoqlfGslB8+qWzsGGZ+2dHMRTNG60UuzalF0h0rvBax5uzPXuGkYLGaQ+TUX3yMw== - dependencies: - superjson "^2.2.1" - "@emnapi/runtime@^1.1.0": version "1.1.1" resolved "https://registry.yarnpkg.com/@emnapi/runtime/-/runtime-1.1.1.tgz#697d02276ca6f49bafe6fd01c9df0034818afa98" @@ -1396,22 +1389,6 @@ resolved "https://registry.yarnpkg.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz#08de79f54eb3406f9daaf77c76e35313da963963" integrity sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw== -"@esbuild-kit/core-utils@^3.3.2": - version "3.3.2" - resolved "https://registry.yarnpkg.com/@esbuild-kit/core-utils/-/core-utils-3.3.2.tgz#186b6598a5066f0413471d7c4d45828e399ba96c" - integrity sha512-sPRAnw9CdSsRmEtnsl2WXWdyquogVpB3yZ3dgwJfe8zrOzTsV7cJvmwrKVa+0ma5BoiGJ+BoqkMvawbayKUsqQ== - dependencies: - esbuild "~0.18.20" - source-map-support "^0.5.21" - -"@esbuild-kit/esm-loader@^2.5.5": - version "2.6.5" - resolved "https://registry.yarnpkg.com/@esbuild-kit/esm-loader/-/esm-loader-2.6.5.tgz#6eedee46095d7d13b1efc381e2211ed1c60e64ea" - integrity sha512-FxEMIkJKnodyA1OaCUoEvbYRkoZlLZ4d/eXFu9Fh8CbBBgP5EmZxrfTRyN0qpXZ4vOvqnE5YdRdcrmUUXuU+dA== - dependencies: - "@esbuild-kit/core-utils" "^3.3.2" - get-tsconfig "^4.7.0" - "@esbuild/aix-ppc64@0.19.12": version "0.19.12" resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz#d1bc06aedb6936b3b6d313bf809a5a40387d2b7f" @@ -2186,7 +2163,7 @@ "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.25" -"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.13", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.4.15": +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.4.15": version "1.4.15" resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== @@ -3428,27 +3405,6 @@ dependencies: "@babel/runtime" "^7.13.10" -"@rollup/plugin-commonjs@24.0.0": - version "24.0.0" - resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-24.0.0.tgz#fb7cf4a6029f07ec42b25daa535c75b05a43f75c" - integrity sha512-0w0wyykzdyRRPHOb0cQt14mIBLujfAv6GgP6g8nvg/iBxEm112t3YPPq+Buqe2+imvElTka+bjNlJ/gB56TD8g== - dependencies: - "@rollup/pluginutils" "^5.0.1" - commondir "^1.0.1" - estree-walker "^2.0.2" - glob "^8.0.3" - is-reference "1.2.1" - magic-string "^0.27.0" - -"@rollup/pluginutils@^5.0.1": - version "5.1.0" - resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-5.1.0.tgz#7e53eddc8c7f483a4ad0b94afb1f7f5fd3c771e0" - integrity sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g== - dependencies: - "@types/estree" "^1.0.0" - estree-walker "^2.0.2" - picomatch "^2.3.1" - "@rushstack/eslint-patch@^1.3.3": version "1.10.2" resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.10.2.tgz#053f1540703faa81dea2966b768ee5581c66aeda" @@ -3558,157 +3514,6 @@ lodash-es "^4.17.21" read-pkg-up "^11.0.0" -"@sentry-internal/feedback@7.109.0": - version "7.109.0" - resolved "https://registry.yarnpkg.com/@sentry-internal/feedback/-/feedback-7.109.0.tgz#4657d7f36a1de3be466f42735d295e212b7eca11" - integrity sha512-EL7N++poxvJP9rYvh6vSu24tsKkOveNCcCj4IM7+irWPjsuD2GLYYlhp/A/Mtt9l7iqO4plvtiQU5HGk7smcTQ== - dependencies: - "@sentry/core" "7.109.0" - "@sentry/types" "7.109.0" - "@sentry/utils" "7.109.0" - -"@sentry-internal/replay-canvas@7.109.0": - version "7.109.0" - resolved "https://registry.yarnpkg.com/@sentry-internal/replay-canvas/-/replay-canvas-7.109.0.tgz#9a00857994a9487428296feed4a9ddf2d62bab84" - integrity sha512-Lh/K60kmloR6lkPUcQP0iamw7B/MdEUEx/ImAx4tUSMrLj+IoUEcq/ECgnnVyQkJq59+8nPEKrVLt7x6PUPEjw== - dependencies: - "@sentry/core" "7.109.0" - "@sentry/replay" "7.109.0" - "@sentry/types" "7.109.0" - "@sentry/utils" "7.109.0" - -"@sentry-internal/tracing@7.109.0": - version "7.109.0" - resolved "https://registry.yarnpkg.com/@sentry-internal/tracing/-/tracing-7.109.0.tgz#3effaa132c41a65378fa98146aea61228d528953" - integrity sha512-PzK/joC5tCuh2R/PRh+7dp+uuZl7pTsBIjPhVZHMTtb9+ls65WkdZJ1/uKXPouyz8NOo9Xok7aEvEo9seongyw== - dependencies: - "@sentry/core" "7.109.0" - "@sentry/types" "7.109.0" - "@sentry/utils" "7.109.0" - -"@sentry/browser@7.109.0": - version "7.109.0" - resolved "https://registry.yarnpkg.com/@sentry/browser/-/browser-7.109.0.tgz#13b2623f43047f292cf7d6070128a7501e008693" - integrity sha512-yx+OFG+Ab9qUDDgV9ZDv8M9O9Mqr0fjKta/LMlWALYLjzkMvxsPlRPFj7oMBlHqOTVLDeg7lFYmsA8wyWQ8Z8g== - dependencies: - "@sentry-internal/feedback" "7.109.0" - "@sentry-internal/replay-canvas" "7.109.0" - "@sentry-internal/tracing" "7.109.0" - "@sentry/core" "7.109.0" - "@sentry/replay" "7.109.0" - "@sentry/types" "7.109.0" - "@sentry/utils" "7.109.0" - -"@sentry/cli@^1.77.1": - version "1.77.3" - resolved "https://registry.yarnpkg.com/@sentry/cli/-/cli-1.77.3.tgz#c40b4d09b0878d6565d42a915855add99db4fec3" - integrity sha512-c3eDqcDRmy4TFz2bFU5Y6QatlpoBPPa8cxBooaS4aMQpnIdLYPF1xhyyiW0LQlDUNc3rRjNF7oN5qKoaRoMTQQ== - dependencies: - https-proxy-agent "^5.0.0" - mkdirp "^0.5.5" - node-fetch "^2.6.7" - progress "^2.0.3" - proxy-from-env "^1.1.0" - which "^2.0.2" - -"@sentry/core@7.109.0": - version "7.109.0" - resolved "https://registry.yarnpkg.com/@sentry/core/-/core-7.109.0.tgz#7a02f4af4a676950f6555f552a2a232d4458fcd5" - integrity sha512-xwD4U0IlvvlE/x/g/W1I8b4Cfb16SsCMmiEuBf6XxvAa3OfWBxKoqLifb3GyrbxMC4LbIIZCN/SvLlnGJPgszA== - dependencies: - "@sentry/types" "7.109.0" - "@sentry/utils" "7.109.0" - -"@sentry/integrations@7.109.0": - version "7.109.0" - resolved "https://registry.yarnpkg.com/@sentry/integrations/-/integrations-7.109.0.tgz#36f8233f55e6b0d4bdb7e7466714575a1d65f3cf" - integrity sha512-8GwPFlUu4rB1Dx3e9tc3gCMmzC5Bd5lzThhg3tMBmzCCEp7UeA4u7eUuKJ5g49vjdznPDRG2p3PcRsApFZNPSg== - dependencies: - "@sentry/core" "7.109.0" - "@sentry/types" "7.109.0" - "@sentry/utils" "7.109.0" - localforage "^1.8.1" - -"@sentry/nextjs@^7.109.0": - version "7.109.0" - resolved "https://registry.yarnpkg.com/@sentry/nextjs/-/nextjs-7.109.0.tgz#f29c62e5a7581ee20f9add73b1de7c2cd3667b3b" - integrity sha512-AT0jhMDj7N57z8+XfgEyTJBogpU64z4mQpfOsSF5uuequzo3IlVVoJcu88jdqUkaVFxBJp3aF2T4nz65OHLoeA== - dependencies: - "@rollup/plugin-commonjs" "24.0.0" - "@sentry/core" "7.109.0" - "@sentry/integrations" "7.109.0" - "@sentry/node" "7.109.0" - "@sentry/react" "7.109.0" - "@sentry/types" "7.109.0" - "@sentry/utils" "7.109.0" - "@sentry/vercel-edge" "7.109.0" - "@sentry/webpack-plugin" "1.21.0" - chalk "3.0.0" - resolve "1.22.8" - rollup "2.78.0" - stacktrace-parser "^0.1.10" - -"@sentry/node@7.109.0": - version "7.109.0" - resolved "https://registry.yarnpkg.com/@sentry/node/-/node-7.109.0.tgz#dbf152212e42a9b1648ff758ec5bffcb6bb0fa49" - integrity sha512-tqMNAES4X/iBl1eZRCmc29p//0id01FBLEiesNo5nk6ECl6/SaGMFAEwu1gsn90h/Bjgr04slwFOS4cR45V2PQ== - dependencies: - "@sentry-internal/tracing" "7.109.0" - "@sentry/core" "7.109.0" - "@sentry/types" "7.109.0" - "@sentry/utils" "7.109.0" - -"@sentry/react@7.109.0": - version "7.109.0" - resolved "https://registry.yarnpkg.com/@sentry/react/-/react-7.109.0.tgz#ae8a2950d2022e83f1bccd8b994f0096f3dd1682" - integrity sha512-KqXoDh6LVhNO+FLdM5LiTGpuorFvjoBPQ4nPGIVbjeMY/KZIau3kFxR142EvCApxmD69yvS5EhMnEqlNdaQPGw== - dependencies: - "@sentry/browser" "7.109.0" - "@sentry/core" "7.109.0" - "@sentry/types" "7.109.0" - "@sentry/utils" "7.109.0" - hoist-non-react-statics "^3.3.2" - -"@sentry/replay@7.109.0": - version "7.109.0" - resolved "https://registry.yarnpkg.com/@sentry/replay/-/replay-7.109.0.tgz#f50fb0140c81fce660c44cc93c35988898b8348b" - integrity sha512-hCDjbTNO7ErW/XsaBXlyHFsUhneyBUdTec1Swf98TFEfVqNsTs6q338aUcaR8dGRLbLrJ9YU9D1qKq++v5h2CA== - dependencies: - "@sentry-internal/tracing" "7.109.0" - "@sentry/core" "7.109.0" - "@sentry/types" "7.109.0" - "@sentry/utils" "7.109.0" - -"@sentry/types@7.109.0": - version "7.109.0" - resolved "https://registry.yarnpkg.com/@sentry/types/-/types-7.109.0.tgz#d8778358114ed05be734661cc9e1e261f4494947" - integrity sha512-egCBnDv3YpVFoNzRLdP0soVrxVLCQ+rovREKJ1sw3rA2/MFH9WJ+DZZexsX89yeAFzy1IFsCp7/dEqudusml6g== - -"@sentry/utils@7.109.0": - version "7.109.0" - resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-7.109.0.tgz#7078e1400197abc1b0c436679bef980639500a86" - integrity sha512-3RjxMOLMBwZ5VSiH84+o/3NY2An4Zldjz0EbfEQNRY9yffRiCPJSQiCJID8EoylCFOh/PAhPimBhqbtWJxX6iw== - dependencies: - "@sentry/types" "7.109.0" - -"@sentry/vercel-edge@7.109.0": - version "7.109.0" - resolved "https://registry.yarnpkg.com/@sentry/vercel-edge/-/vercel-edge-7.109.0.tgz#4e3e1fd5b05be3a59ddc6d6b40407dd929f75b3d" - integrity sha512-0I+pLZPkD0vSlSLwBx9XAs17WXHimGhHIMki/YH5Y007i1iykkMItoDx//Y3PPjZiJu+deO7l4wKO2J1lJW6jg== - dependencies: - "@sentry-internal/tracing" "7.109.0" - "@sentry/core" "7.109.0" - "@sentry/types" "7.109.0" - "@sentry/utils" "7.109.0" - -"@sentry/webpack-plugin@1.21.0": - version "1.21.0" - resolved "https://registry.yarnpkg.com/@sentry/webpack-plugin/-/webpack-plugin-1.21.0.tgz#bbe7cb293751f80246a4a56f9a7dd6de00f14b58" - integrity sha512-x0PYIMWcsTauqxgl7vWUY6sANl+XGKtx7DCVnnY7aOIIlIna0jChTAPANTfA2QrK+VK+4I/4JxatCEZBnXh3Og== - dependencies: - "@sentry/cli" "^1.77.1" - webpack-sources "^2.0.0 || ^3.0.0" - "@sideway/address@^4.1.5": version "4.1.5" resolved "https://registry.yarnpkg.com/@sideway/address/-/address-4.1.5.tgz#4bc149a0076623ced99ca8208ba780d65a99b9d5" @@ -4922,7 +4727,7 @@ "@types/estree" "*" "@types/json-schema" "*" -"@types/estree@*", "@types/estree@^1.0.0", "@types/estree@^1.0.5": +"@types/estree@*", "@types/estree@^1.0.5": version "1.0.5" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== @@ -6693,11 +6498,6 @@ camelcase@^6.2.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== -camelcase@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-7.0.1.tgz#f02e50af9fd7782bc8b88a3558c32fd3a388f048" - integrity sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw== - can-bind-to-host@^1.1.1: version "1.1.2" resolved "https://registry.yarnpkg.com/can-bind-to-host/-/can-bind-to-host-1.1.2.tgz#45919a1fb426eb1b709ddd4853cd5eda0549e606" @@ -6744,14 +6544,6 @@ chai@^4.3.10, chai@^4.3.7: pathval "^1.1.1" type-detect "^4.0.8" -chalk@3.0.0, chalk@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" - integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - chalk@4.1.2, chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" @@ -6774,6 +6566,14 @@ chalk@^2.3.2, chalk@^2.4.1, chalk@^2.4.2: escape-string-regexp "^1.0.5" supports-color "^5.3.0" +chalk@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" + integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + char-regex@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" @@ -6940,17 +6740,6 @@ clean-stack@^5.2.0: dependencies: escape-string-regexp "5.0.0" -cli-color@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/cli-color/-/cli-color-2.0.4.tgz#d658080290968816b322248b7306fad2346fb2c8" - integrity sha512-zlnpg0jNcibNrO7GG9IeHH7maWFeCz+Ja1wx/7tZNU5ASSSSZ+/qZciM0/LHCYxSdqv5h2sdbQ/PXYdOuetXvA== - dependencies: - d "^1.0.1" - es5-ext "^0.10.64" - es6-iterator "^2.0.3" - memoizee "^0.4.15" - timers-ext "^0.1.7" - cli-columns@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/cli-columns/-/cli-columns-4.0.0.tgz#9fe4d65975238d55218c41bd2ed296a7fa555646" @@ -7190,7 +6979,7 @@ commander@^8.3.0: resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== -commander@^9.0.0, commander@^9.4.1: +commander@^9.0.0: version "9.5.0" resolved "https://registry.yarnpkg.com/commander/-/commander-9.5.0.tgz#bc08d1eb5cedf7ccb797a96199d41c7bc3e60d30" integrity sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ== @@ -7428,13 +7217,6 @@ cookie@0.6.0: resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.6.0.tgz#2798b04b071b0ecbff0dbb62a505a8efa4e19051" integrity sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw== -copy-anything@^3.0.2: - version "3.0.5" - resolved "https://registry.yarnpkg.com/copy-anything/-/copy-anything-3.0.5.tgz#2d92dce8c498f790fa7ad16b01a1ae5a45b020a0" - integrity sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w== - dependencies: - is-what "^4.1.8" - core-js-compat@^3.31.0, core-js-compat@^3.36.1: version "3.36.1" resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.36.1.tgz#1818695d72c99c25d621dca94e6883e190cea3c8" @@ -7784,14 +7566,6 @@ cz-conventional-changelog@3.3.0: optionalDependencies: "@commitlint/load" ">6.1.1" -d@1, d@^1.0.1, d@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/d/-/d-1.0.2.tgz#2aefd554b81981e7dccf72d6842ae725cb17e5de" - integrity sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw== - dependencies: - es5-ext "^0.10.64" - type "^2.7.2" - damerau-levenshtein@^1.0.8: version "1.0.8" resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7" @@ -8132,13 +7906,6 @@ diffie-hellman@^5.0.0: miller-rabin "^4.0.0" randombytes "^2.0.0" -difflib@~0.2.1: - version "0.2.4" - resolved "https://registry.yarnpkg.com/difflib/-/difflib-0.2.4.tgz#b5e30361a6db023176d562892db85940a718f47e" - integrity sha512-9YVwmMb0wQHQNr5J9m6BSj6fk4pfGITGQOOs+D9Fl+INODWFOfvhIU1hNv6GgR1RBoC/9NJcwu77zShxV0kT7w== - dependencies: - heap ">= 0.2.0" - dir-glob@^3.0.0, dir-glob@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" @@ -8324,38 +8091,6 @@ dotenv@^16.0.0, dotenv@^16.3.0: resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.4.5.tgz#cdd3b3b604cb327e286b4762e13502f717cb099f" integrity sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg== -dreamopt@~0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/dreamopt/-/dreamopt-0.8.0.tgz#5bcc80be7097e45fc489c342405ab68140a8c1d9" - integrity sha512-vyJTp8+mC+G+5dfgsY+r3ckxlz+QMX40VjPQsZc5gxVAxLmi64TBoVkP54A/pRAXMXsbu2GMMBrZPxNv23waMg== - dependencies: - wordwrap ">=0.0.2" - -drizzle-kit@^0.20.14: - version "0.20.14" - resolved "https://registry.yarnpkg.com/drizzle-kit/-/drizzle-kit-0.20.14.tgz#bd9bdc01db6630292077d99ba6d2cee3a96e54de" - integrity sha512-0fHv3YIEaUcSVPSGyaaBfOi9bmpajjhbJNdPsRMIUvYdLVxBu9eGjH8mRc3Qk7HVmEidFc/lhG1YyJhoXrn5yA== - dependencies: - "@drizzle-team/studio" "^0.0.39" - "@esbuild-kit/esm-loader" "^2.5.5" - camelcase "^7.0.1" - chalk "^5.2.0" - commander "^9.4.1" - env-paths "^3.0.0" - esbuild "^0.19.7" - esbuild-register "^3.5.0" - glob "^8.1.0" - hanji "^0.0.5" - json-diff "0.9.0" - minimatch "^7.4.3" - semver "^7.5.4" - zod "^3.20.2" - -drizzle-orm@^0.30.7: - version "0.30.7" - resolved "https://registry.yarnpkg.com/drizzle-orm/-/drizzle-orm-0.30.7.tgz#a7aeb9872af74bf4d4c589dbdb6eca56a66fc078" - integrity sha512-9qefSZQlu2fO2qv24piHyWFWcxcOY15//0v4j8qomMqaxzipNoG+fUBrQ7Ftk7PY7APRbRdn/nkEXWxiI4a8mw== - duplexer2@~0.1.0: version "0.1.4" resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" @@ -8517,11 +8252,6 @@ env-paths@^2.2.0, env-paths@^2.2.1: resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== -env-paths@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-3.0.0.tgz#2f1e89c2f6dbd3408e1b1711dd82d62e317f58da" - integrity sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A== - envinfo@^7.7.3: version "7.12.0" resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.12.0.tgz#b56723b39c2053d67ea5714f026d05d4f5cc7acd" @@ -8682,48 +8412,11 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" -es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.53, es5-ext@^0.10.62, es5-ext@^0.10.64, es5-ext@~0.10.14, es5-ext@~0.10.2, es5-ext@~0.10.46: - version "0.10.64" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.64.tgz#12e4ffb48f1ba2ea777f1fcdd1918ef73ea21714" - integrity sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg== - dependencies: - es6-iterator "^2.0.3" - es6-symbol "^3.1.3" - esniff "^2.0.1" - next-tick "^1.1.0" - es6-error@^4.0.1: version "4.1.1" resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.1.1.tgz#9e3af407459deed47e9a91f9b885a84eb05c561d" integrity sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg== -es6-iterator@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" - integrity sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g== - dependencies: - d "1" - es5-ext "^0.10.35" - es6-symbol "^3.1.1" - -es6-symbol@^3.1.1, es6-symbol@^3.1.3: - version "3.1.4" - resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.4.tgz#f4e7d28013770b4208ecbf3e0bf14d3bcb557b8c" - integrity sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg== - dependencies: - d "^1.0.2" - ext "^1.7.0" - -es6-weak-map@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.3.tgz#b6da1f16cc2cc0d9be43e6bdbfc5e7dfcdf31d53" - integrity sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA== - dependencies: - d "1" - es5-ext "^0.10.46" - es6-iterator "^2.0.3" - es6-symbol "^3.1.1" - esbuild-plugin-alias@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/esbuild-plugin-alias/-/esbuild-plugin-alias-0.2.1.tgz#45a86cb941e20e7c2bc68a2bea53562172494fcb" @@ -8736,7 +8429,7 @@ esbuild-register@^3.5.0: dependencies: debug "^4.3.4" -esbuild@^0.18.0, esbuild@~0.18.20: +esbuild@^0.18.0: version "0.18.20" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.18.20.tgz#4709f5a34801b43b799ab7d6d82f7284a9b7a7a6" integrity sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA== @@ -8764,7 +8457,7 @@ esbuild@^0.18.0, esbuild@~0.18.20: "@esbuild/win32-ia32" "0.18.20" "@esbuild/win32-x64" "0.18.20" -esbuild@^0.19.7, esbuild@~0.19.10: +esbuild@~0.19.10: version "0.19.12" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.19.12.tgz#dc82ee5dc79e82f5a5c3b4323a2a641827db3e04" integrity sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg== @@ -9125,16 +8818,6 @@ eslint@^8.57.0: strip-ansi "^6.0.1" text-table "^0.2.0" -esniff@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/esniff/-/esniff-2.0.1.tgz#a4d4b43a5c71c7ec51c51098c1d8a29081f9b308" - integrity sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg== - dependencies: - d "^1.0.1" - es5-ext "^0.10.62" - event-emitter "^0.3.5" - type "^2.7.2" - espree@^9.6.0, espree@^9.6.1: version "9.6.1" resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" @@ -9173,11 +8856,6 @@ estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== -estree-walker@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" - integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== - esutils@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" @@ -9188,14 +8866,6 @@ etag@~1.8.1: resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== -event-emitter@^0.3.5: - version "0.3.5" - resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" - integrity sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA== - dependencies: - d "1" - es5-ext "~0.10.14" - event-stream@=3.3.4: version "3.3.4" resolved "https://registry.yarnpkg.com/event-stream/-/event-stream-3.3.4.tgz#4ab4c9a0f5a54db9338b4c34d86bfce8f4b35571" @@ -9349,13 +9019,6 @@ express@^4.17.3: utils-merge "1.0.1" vary "~1.1.2" -ext@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/ext/-/ext-1.7.0.tgz#0ea4383c0103d60e70be99e9a7f11027a33c4f5f" - integrity sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw== - dependencies: - type "^2.7.2" - extend@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" @@ -10019,7 +9682,7 @@ get-symbol-description@^1.0.2: es-errors "^1.3.0" get-intrinsic "^1.2.4" -get-tsconfig@^4.5.0, get-tsconfig@^4.7.0, get-tsconfig@^4.7.2: +get-tsconfig@^4.5.0, get-tsconfig@^4.7.2: version "4.7.3" resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.7.3.tgz#0498163d98f7b58484dd4906999c0c9d5f103f83" integrity sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg== @@ -10140,17 +9803,6 @@ glob@^10.0.0, glob@^10.2.2, glob@^10.3.10, glob@^10.3.12, glob@^10.3.7: minipass "^7.0.4" path-scurry "^1.10.2" -glob@^8.0.3, glob@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" - integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^5.0.1" - once "^1.3.0" - global-directory@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/global-directory/-/global-directory-4.0.1.tgz#4d7ac7cfd2cb73f304c53b8810891748df5e361e" @@ -10292,14 +9944,6 @@ handlebars@^4.7.7: optionalDependencies: uglify-js "^3.1.4" -hanji@^0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/hanji/-/hanji-0.0.5.tgz#22a5092e53b2a83ed6172c488ae0d68eb3119213" - integrity sha512-Abxw1Lq+TnYiL4BueXqMau222fPSPMFtya8HdpWsz/xVAhifXou71mPh/kY2+08RgFcVccjG3uZHs6K5HAe3zw== - dependencies: - lodash.throttle "^4.1.1" - sisteransi "^1.0.5" - has-bigints@^1.0.1, has-bigints@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" @@ -10389,11 +10033,6 @@ he@^1.2.0: resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== -"heap@>= 0.2.0": - version "0.2.7" - resolved "https://registry.yarnpkg.com/heap/-/heap-0.2.7.tgz#1e6adf711d3f27ce35a81fe3b7bd576c2260a8fc" - integrity sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg== - help-me@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/help-me/-/help-me-3.0.0.tgz#9803c81b5f346ad2bce2c6a0ba01b82257d319e8" @@ -10421,13 +10060,6 @@ hmac-drbg@^1.0.1: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.1" -hoist-non-react-statics@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" - integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== - dependencies: - react-is "^16.7.0" - homedir-polyfill@^1.0.0, homedir-polyfill@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" @@ -10606,7 +10238,7 @@ https-proxy-agent@^4.0.0: agent-base "5" debug "4" -https-proxy-agent@^5.0.0, https-proxy-agent@^5.0.1: +https-proxy-agent@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== @@ -10685,11 +10317,6 @@ image-size@^1.0.0: dependencies: queue "6.0.2" -immediate@~3.0.5: - version "3.0.6" - resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" - integrity sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ== - import-fresh@^3.2.1, import-fresh@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" @@ -11103,18 +10730,6 @@ is-potential-custom-element-name@^1.0.1: resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== -is-promise@^2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1" - integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ== - -is-reference@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7" - integrity sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ== - dependencies: - "@types/estree" "*" - is-regex@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" @@ -11218,11 +10833,6 @@ is-weakset@^2.0.3: call-bind "^1.0.7" get-intrinsic "^1.2.4" -is-what@^4.1.8: - version "4.1.16" - resolved "https://registry.yarnpkg.com/is-what/-/is-what-4.1.16.tgz#1ad860a19da8b4895ad5495da3182ce2acdd7a6f" - integrity sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A== - is-windows@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-0.2.0.tgz#de1aa6d63ea29dd248737b69f1ff8b8002d2108c" @@ -11979,15 +11589,6 @@ json-buffer@3.0.1: resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== -json-diff@0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/json-diff/-/json-diff-0.9.0.tgz#e7c536798053cb409113d7403c774849e8a0d7ff" - integrity sha512-cVnggDrVkAAA3OvFfHpFEhOnmcsUpleEKq4d4O8sQWWSH40MBrWstKigVB1kGrgLWzuom+7rRdaCsnBD6VyObQ== - dependencies: - cli-color "^2.0.0" - difflib "~0.2.1" - dreamopt "~0.8.0" - json-parse-better-errors@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" @@ -12284,13 +11885,6 @@ libsql@^0.3.10: "@libsql/linux-x64-musl" "0.3.11" "@libsql/win32-x64-msvc" "0.3.11" -lie@3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/lie/-/lie-3.1.1.tgz#9a436b2cc7746ca59de7a41fa469b3efb76bd87e" - integrity sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw== - dependencies: - immediate "~3.0.5" - lilconfig@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.0.0.tgz#f8067feb033b5b74dab4602a5f5029420be749bc" @@ -12368,13 +11962,6 @@ loader-utils@^3.2.1: resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-3.2.1.tgz#4fb104b599daafd82ef3e1a41fb9265f87e1f576" integrity sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw== -localforage@^1.8.1: - version "1.10.0" - resolved "https://registry.yarnpkg.com/localforage/-/localforage-1.10.0.tgz#5c465dc5f62b2807c3a84c0c6a1b1b3212781dd4" - integrity sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg== - dependencies: - lie "3.1.1" - locate-path@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" @@ -12487,11 +12074,6 @@ lodash.startcase@^4.4.0: resolved "https://registry.yarnpkg.com/lodash.startcase/-/lodash.startcase-4.4.0.tgz#9436e34ed26093ed7ffae1936144350915d9add8" integrity sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg== -lodash.throttle@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4" - integrity sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ== - lodash.uniq@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" @@ -12576,13 +12158,6 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" -lru-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/lru-queue/-/lru-queue-0.1.0.tgz#2738bd9f0d3cf4f84490c5736c48699ac632cda3" - integrity sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ== - dependencies: - es5-ext "~0.10.2" - luxon@3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/luxon/-/luxon-3.3.0.tgz#d73ab5b5d2b49a461c47cedbc7e73309b4805b48" @@ -12593,13 +12168,6 @@ lz-string@^1.5.0: resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.5.0.tgz#c1ab50f77887b712621201ba9fd4e3a6ed099941" integrity sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ== -magic-string@^0.27.0: - version "0.27.0" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.27.0.tgz#e4a3413b4bab6d98d2becffd48b4a257effdbbf3" - integrity sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA== - dependencies: - "@jridgewell/sourcemap-codec" "^1.4.13" - magic-string@^0.30.5: version "0.30.9" resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.9.tgz#8927ae21bfdd856310e07a1bc8dd5e73cb6c251d" @@ -12738,20 +12306,6 @@ memfs@^3.4.1, memfs@^3.4.12: dependencies: fs-monkey "^1.0.4" -memoizee@^0.4.15: - version "0.4.15" - resolved "https://registry.yarnpkg.com/memoizee/-/memoizee-0.4.15.tgz#e6f3d2da863f318d02225391829a6c5956555b72" - integrity sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ== - dependencies: - d "^1.0.1" - es5-ext "^0.10.53" - es6-weak-map "^2.0.3" - event-emitter "^0.3.5" - is-promise "^2.2.2" - lru-queue "^0.1.0" - next-tick "^1.1.0" - timers-ext "^0.1.7" - memoizerific@^1.11.3: version "1.11.3" resolved "https://registry.yarnpkg.com/memoizerific/-/memoizerific-1.11.3.tgz#7c87a4646444c32d75438570905f2dbd1b1a805a" @@ -12893,13 +12447,6 @@ minimatch@^5.0.1: dependencies: brace-expansion "^2.0.1" -minimatch@^7.4.3: - version "7.4.6" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-7.4.6.tgz#845d6f254d8f4a5e4fd6baf44d5f10c8448365fb" - integrity sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw== - dependencies: - brace-expansion "^2.0.1" - minimatch@^9.0.0, minimatch@^9.0.1, minimatch@^9.0.3, minimatch@^9.0.4: version "9.0.4" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.4.tgz#8e49c731d1749cbec05050ee5145147b32496a51" @@ -12999,7 +12546,7 @@ mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3: resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== -mkdirp@^0.5.4, mkdirp@^0.5.5, mkdirp@^0.5.6: +mkdirp@^0.5.4, mkdirp@^0.5.6: version "0.5.6" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== @@ -13126,11 +12673,6 @@ next-intl@^3.11.0: negotiator "^0.6.3" use-intl "^3.11.1" -next-tick@1, next-tick@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" - integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== - next@^14.1.4: version "14.1.4" resolved "https://registry.yarnpkg.com/next/-/next-14.1.4.tgz#203310f7310578563fd5c961f0db4729ce7a502d" @@ -13216,7 +12758,7 @@ node-fetch-native@^1.6.3: resolved "https://registry.yarnpkg.com/node-fetch-native/-/node-fetch-native-1.6.4.tgz#679fc8fd8111266d47d7e72c379f1bed9acff06e" integrity sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ== -node-fetch@^2, node-fetch@^2.0.0, node-fetch@^2.6.12, node-fetch@^2.6.7: +node-fetch@^2, node-fetch@^2.0.0, node-fetch@^2.6.12: version "2.7.0" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== @@ -14866,7 +14408,7 @@ process@^0.11.10: resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== -progress@^2.0.1, progress@^2.0.3: +progress@^2.0.1: version "2.0.3" resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== @@ -15182,7 +14724,7 @@ react-is@18.1.0: resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.1.0.tgz#61aaed3096d30eacf2a2127118b5b41387d32a67" integrity sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg== -react-is@^16.13.1, react-is@^16.7.0: +react-is@^16.13.1: version "16.13.1" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== @@ -15632,7 +15174,7 @@ resolve.exports@^2.0.0: resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.2.tgz#f8c934b8e6a13f539e38b7098e2e36134f01e800" integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== -resolve@1.22.8, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22.1, resolve@^1.22.2, resolve@^1.22.4: +resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.20.0, resolve@^1.22.1, resolve@^1.22.2, resolve@^1.22.4: version "1.22.8" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== @@ -15717,13 +15259,6 @@ ripemd160@^2.0.0, ripemd160@^2.0.1: hash-base "^3.0.0" inherits "^2.0.1" -rollup@2.78.0: - version "2.78.0" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.78.0.tgz#00995deae70c0f712ea79ad904d5f6b033209d9e" - integrity sha512-4+YfbQC9QEVvKTanHhIAFVUFSRsezvQF8vFOJwtGfb9Bb+r014S+qryr9PSmw8x6sMnPkmFBGAvIFVQxvJxjtg== - optionalDependencies: - fsevents "~2.3.2" - run-async@^2.4.0: version "2.4.1" resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" @@ -16258,7 +15793,7 @@ source-map-support@0.5.13: buffer-from "^1.0.0" source-map "^0.6.0" -source-map-support@^0.5.16, source-map-support@^0.5.21, source-map-support@~0.5.20: +source-map-support@^0.5.16, source-map-support@~0.5.20: version "0.5.21" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== @@ -16402,13 +15937,6 @@ stackframe@^1.3.4: resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.3.4.tgz#b881a004c8c149a5e8efef37d51b16e412943310" integrity sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw== -stacktrace-parser@^0.1.10: - version "0.1.10" - resolved "https://registry.yarnpkg.com/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz#29fb0cae4e0d0b85155879402857a1639eb6051a" - integrity sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg== - dependencies: - type-fest "^0.7.1" - start-server-and-test@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/start-server-and-test/-/start-server-and-test-2.0.3.tgz#15c53c85e23cba7698b498b8a2598cab95f3f802" @@ -16717,13 +16245,6 @@ super-regex@^1.0.0: function-timeout "^1.0.1" time-span "^5.1.0" -superjson@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/superjson/-/superjson-2.2.1.tgz#9377a7fa80fedb10c851c9dbffd942d4bcf79733" - integrity sha512-8iGv75BYOa0xRJHK5vRLEjE2H/i4lulTjzpUXic3Eg8akftYjkmQDa8JARQ42rlczXyFR3IeRoeFCc7RxHsYZA== - dependencies: - copy-anything "^3.0.2" - supports-color@^5.3.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" @@ -17035,14 +16556,6 @@ timers-browserify@^2.0.12: dependencies: setimmediate "^1.0.4" -timers-ext@^0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/timers-ext/-/timers-ext-0.1.7.tgz#6f57ad8578e07a3fb9f91d9387d65647555e25c6" - integrity sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ== - dependencies: - es5-ext "~0.10.46" - next-tick "1" - tiny-invariant@^1.3.1, tiny-invariant@^1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.3.3.tgz#46680b7a873a0d5d10005995eb90a70d74d60127" @@ -17314,11 +16827,6 @@ type-fest@^0.6.0: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== -type-fest@^0.7.1: - version "0.7.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.7.1.tgz#8dda65feaf03ed78f0a3f9678f1869147f7c5c48" - integrity sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg== - type-fest@^0.8.0, type-fest@^0.8.1: version "0.8.1" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" @@ -17347,11 +16855,6 @@ type-is@~1.6.18: media-typer "0.3.0" mime-types "~2.1.24" -type@^2.7.2: - version "2.7.2" - resolved "https://registry.yarnpkg.com/type/-/type-2.7.2.tgz#2376a15a3a28b1efa0f5350dcf72d24df6ef98d0" - integrity sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw== - typed-array-buffer@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz#1867c5d83b20fcb5ccf32649e5e2fc7424474ff3" @@ -17850,7 +17353,7 @@ webpack-hot-middleware@^2.25.1: html-entities "^2.1.0" strip-ansi "^6.0.0" -"webpack-sources@^2.0.0 || ^3.0.0", webpack-sources@^3.2.3: +webpack-sources@^3.2.3: version "3.2.3" resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== @@ -18018,7 +17521,7 @@ word-wrap@^1.0.3, word-wrap@^1.2.5: resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== -wordwrap@>=0.0.2, wordwrap@^1.0.0: +wordwrap@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== @@ -18260,7 +17763,7 @@ yocto-queue@^1.0.0: resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.0.0.tgz#7f816433fb2cbc511ec8bf7d263c3b58a1a3c251" integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== -zod@^3.20.2, zod@^3.22.4: +zod@^3.22.4: version "3.22.4" resolved "https://registry.yarnpkg.com/zod/-/zod-3.22.4.tgz#f31c3a9386f61b1f228af56faa9255e845cf3fff" integrity sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==