From e0fcfc3f6d52c8ba4aa002a3dae9202742ac82cf Mon Sep 17 00:00:00 2001 From: Aaron Lee Date: Fri, 22 Dec 2023 00:24:25 +0800 Subject: [PATCH] barebone ui --- .env.example | 1 + package.json | 7 + prisma/schema.prisma | 36 ++- public/favicon.ico | Bin 15406 -> 0 bytes public/favicon.png | Bin 0 -> 121585 bytes src/components/DashboardHeader.tsx | 63 +++++ src/pages/_app.tsx | 6 +- src/pages/dash.tsx | 30 +++ src/pages/index.tsx | 81 +++--- src/server/api/context.ts | 43 ++++ src/server/api/root.ts | 4 +- src/server/api/routers/admin.ts | 58 +++++ src/server/api/trpc.ts | 68 +++-- src/utils/types.ts | 14 + tailwind.config.ts | 6 +- yarn.lock | 399 ++++++++++++++++++++++++++++- 16 files changed, 752 insertions(+), 64 deletions(-) delete mode 100644 public/favicon.ico create mode 100644 public/favicon.png create mode 100644 src/components/DashboardHeader.tsx create mode 100644 src/pages/dash.tsx create mode 100644 src/server/api/context.ts create mode 100644 src/server/api/routers/admin.ts create mode 100644 src/utils/types.ts diff --git a/.env.example b/.env.example index db1c402..6810739 100644 --- a/.env.example +++ b/.env.example @@ -12,3 +12,4 @@ # Prisma # https://www.prisma.io/docs/reference/database-reference/connection-urls#env DATABASE_URL="file:./db.sqlite" +JWT_SECRET="well, now the secret is spoiled, isn't it?" \ No newline at end of file diff --git a/package.json b/package.json index fcac707..08bc747 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,7 @@ "start": "next start" }, "dependencies": { + "@hookform/resolvers": "^3.3.2", "@prisma/client": "^5.6.0", "@t3-oss/env-nextjs": "^0.7.1", "@tanstack/react-query": "^4.36.1", @@ -20,14 +21,20 @@ "@trpc/next": "^10.43.6", "@trpc/react-query": "^10.43.6", "@trpc/server": "^10.43.6", + "@types/bcrypt": "^5.0.2", + "@types/jsonwebtoken": "^9.0.5", + "bcrypt": "^5.1.1", + "jsonwebtoken": "^9.0.2", "next": "^14.0.3", "react": "18.2.0", "react-dom": "18.2.0", + "react-hook-form": "^7.49.2", "superjson": "^2.2.1", "zod": "^3.22.4" }, "devDependencies": { "@next/eslint-plugin-next": "^14.0.3", + "@tailwindcss/forms": "^0.5.7", "@types/eslint": "^8.44.7", "@types/node": "^18.17.0", "@types/react": "^18.2.37", diff --git a/prisma/schema.prisma b/prisma/schema.prisma index ddb6e09..43aa967 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -10,11 +10,45 @@ datasource db { url = env("DATABASE_URL") } -model Post { +model User { id Int @id @default(autoincrement()) + grade Int? + class String? name String + username String @unique + password String + isAdmin Boolean @default(false) + + periods Period[] + + number Int? createdAt DateTime @default(now()) updatedAt DateTime @updatedAt @@index([name]) } + +model TimePeriod { + id Int @id + name String + periods Period[] + + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + + @@index([id]) +} + +model Period { + id Int @id @default(autoincrement()) + date DateTime + timePeriod TimePeriod @relation(fields: [timePeriodId], references: [id]) + timePeriodId Int + + users User[] + + createdAt DateTime @default(now()) + updatedAt DateTime @updatedAt + + @@index([date]) +} \ No newline at end of file diff --git a/public/favicon.ico b/public/favicon.ico deleted file mode 100644 index 60c702aac13409c82c4040f8fee9603eb84aa10c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15406 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 A#Q*>R diff --git a/public/favicon.png b/public/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..98c2036d13f1e10afa7852a0288dfe54d2401c53 GIT binary patch literal 121585 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 literal 0 HcmV?d00001 diff --git a/src/components/DashboardHeader.tsx b/src/components/DashboardHeader.tsx new file mode 100644 index 0000000..acdd9e1 --- /dev/null +++ b/src/components/DashboardHeader.tsx @@ -0,0 +1,63 @@ +import Link from "next/link"; +import { useRouter } from "next/navigation"; +import { useEffect } from "react"; +import { api } from "~/utils/api"; + +export default function DashboardHeader() { + const { push } = useRouter(); + const session = api.admin.session.useQuery(); + const logout = api.admin.logout.useMutation(); + + useEffect(() => { + if (logout.isSuccess) { + push("/"); + } + }, [logout.isSuccess]) + + return ( +
+
+ +
+

Savage Tracking

+

Hi, {session?.data?.name} ({session?.data?.grade} {session?.data?.class})

+
+ +
+
+ + + + + + + { + session?.data?.isAdmin && ( + <> + + + + + + + + + + + ) + } +
+
) +} \ No newline at end of file diff --git a/src/pages/_app.tsx b/src/pages/_app.tsx index 1831917..3c11075 100644 --- a/src/pages/_app.tsx +++ b/src/pages/_app.tsx @@ -1,11 +1,15 @@ import { type AppType } from "next/app"; +import { Noto_Sans } from "next/font/google" + import { api } from "~/utils/api"; import "~/styles/globals.css"; +const noto = Noto_Sans({ subsets: ["latin"] }) + const MyApp: AppType = ({ Component, pageProps }) => { - return ; + return
; }; export default api.withTRPC(MyApp); diff --git a/src/pages/dash.tsx b/src/pages/dash.tsx new file mode 100644 index 0000000..fe390f4 --- /dev/null +++ b/src/pages/dash.tsx @@ -0,0 +1,30 @@ +import Head from "next/head"; +import { useRouter } from "next/navigation"; +import { useEffect } from "react"; +import DashboardHeader from "~/components/DashboardHeader"; +import { api } from "~/utils/api"; + +export default function Dash() { + const { push } = useRouter(); + const isLoggedIn = api.admin.isLoggedIn.useQuery(); + + + useEffect(() => { + if (isLoggedIn.failureCount > 0) { + push("/"); + } + }, [isLoggedIn.failureCount]) + + if (isLoggedIn.isLoading) return <> + + return (<> + + Savage Tracking + + + +
+ +
+ ) +} \ No newline at end of file diff --git a/src/pages/index.tsx b/src/pages/index.tsx index 26341d6..cf9f2b1 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -1,50 +1,59 @@ +import { zodResolver } from "@hookform/resolvers/zod"; import Head from "next/head"; -import Link from "next/link"; +import { useRouter } from "next/navigation"; +import { useEffect } from "react"; +import { SubmitHandler, useForm } from "react-hook-form"; +import { z } from "zod"; import { api } from "~/utils/api"; +import { LoginSchema } from "~/utils/types"; export default function Home() { - const hello = api.post.hello.useQuery({ text: "from tRPC" }); + const login = api.admin.login.useMutation(); + const { push } = useRouter(); + type LoginSchemaType = z.infer; + const { register, handleSubmit, formState: { errors } } = useForm({ resolver: zodResolver(LoginSchema) }); + const onSubmit: SubmitHandler = async (data) => + login.mutateAsync(data).catch((err) => console.log(err)) + useEffect(() => { + if (login.isSuccess) { + push("/dash") + } + }, [login.isSuccess]) return ( <> - Create T3 App - - + Savage Tracking + + -
-
-

- Create T3 App -

-
- -

First Steps →

-
- Just the basics - Everything you need to know to set up your - database and authentication. -
- - -

Documentation →

-
- Learn more about Create T3 App, the libraries it uses, and how - to deploy it. -
- +
+
+ +
+

Savage Tracking

+

Please Login

-

- {hello.data ? hello.data.greeting : "Loading tRPC query..."} -

+
+
+
+
+ + + {errors.username && {errors.username.message}} +
+
+ + + {errors.password && {errors.password.message}} +
+ { login.isError &&
{login.error.message}
} + { login.isSuccess &&
Success! Redirecting...
} + +
diff --git a/src/server/api/context.ts b/src/server/api/context.ts new file mode 100644 index 0000000..a8ba2c4 --- /dev/null +++ b/src/server/api/context.ts @@ -0,0 +1,43 @@ +import { PrismaClient } from '@prisma/client'; +import type { inferAsyncReturnType } from '@trpc/server'; +import type { CreateNextContextOptions } from '@trpc/server/adapters/next'; +import jwt from 'jsonwebtoken'; +import { PublicUserType } from '~/utils/types'; + +/** + * Creates context for an incoming request + * @link https://trpc.io/docs/context + */ +export async function myCreateContext(opts: CreateNextContextOptions) { + // Get JWT from cookie + const token = opts.req.cookies.token; + + // Verify JWT + let session = PublicUserType.parse(undefined); + try { + jwt.verify(token || "", process.env.JWT_SECRET || "", (err, decoded) => { + if (err) { + console.log(err); + } else { + session = PublicUserType.parse(decoded); + } + }); + } catch (err) { + session = undefined; + } + + // Create Prisma client + const prisma = new PrismaClient(); + + // Request and Response objects + const { req, res } = opts; + + return { + session, + prisma, + req, + res + }; +} + +export type Context = inferAsyncReturnType; \ No newline at end of file diff --git a/src/server/api/root.ts b/src/server/api/root.ts index 3d629a7..434dd54 100644 --- a/src/server/api/root.ts +++ b/src/server/api/root.ts @@ -1,5 +1,6 @@ import { postRouter } from "~/server/api/routers/post"; import { createTRPCRouter } from "~/server/api/trpc"; +import { adminRouter } from "./routers/admin"; /** * This is the primary router for your server. @@ -7,7 +8,8 @@ import { createTRPCRouter } from "~/server/api/trpc"; * All routers added in /api/routers should be manually added here. */ export const appRouter = createTRPCRouter({ - post: postRouter, + // post: postRouter, + admin: adminRouter, }); // export type definition of API diff --git a/src/server/api/routers/admin.ts b/src/server/api/routers/admin.ts new file mode 100644 index 0000000..c3eb74e --- /dev/null +++ b/src/server/api/routers/admin.ts @@ -0,0 +1,58 @@ +import { compare, compareSync } from "bcrypt"; +import { z } from "zod"; +import jwt from "jsonwebtoken"; + +import { createTRPCRouter, loggedInProcedure, publicProcedure } from "~/server/api/trpc"; +import { LoginSchema, PublicUserType } from "~/utils/types"; +import { TRPCError } from "@trpc/server"; + +export const adminRouter = createTRPCRouter({ + isLoggedIn: loggedInProcedure.query(() => true), + login: publicProcedure + .input(LoginSchema) + .mutation(async ({ input, ctx }) => await ctx.db.user.findUnique({ + where: { + username: input.username, + } + }).then((user) => { + const result = compareSync(input.password, user?.password || ""); + if (result) { + console.log(user) + console.log(PublicUserType.parse({ + grade: user?.grade, + class: user?.class, + name: user?.name, + username: user?.username, + isAdmin: user?.isAdmin, + })) + const session = PublicUserType.parse(user)!; + console.log(session) + const token = jwt.sign(session, process.env.JWT_SECRET || "", { expiresIn: "1d" }); + ctx.res.setHeader("Set-Cookie", `token=${token}; Path=/; HttpOnly; SameSite=Strict; Max-Age=${60 * 60 * 24};`); + return { + status: "success", + message: "Login successful.", + }; + } else { + throw new Error("Please check your username and password."); + } + }).catch((err) => { + throw new TRPCError({ + code: "FORBIDDEN", + message: "Please check your username and password.", + }) + }) + ), + logout: loggedInProcedure + .mutation(async ({ ctx }) => { + ctx.res.setHeader("Set-Cookie", `token=; Path=/; HttpOnly; SameSite=Strict; Max-Age=0;`); + return { + status: "success", + message: "Logout successful.", + }; + }), + session: loggedInProcedure + .query(async ({ ctx }) => { + return ctx.session; + }), +}); diff --git a/src/server/api/trpc.ts b/src/server/api/trpc.ts index dc3b40b..4083c9e 100644 --- a/src/server/api/trpc.ts +++ b/src/server/api/trpc.ts @@ -6,12 +6,14 @@ * TL;DR - This is where all the tRPC server stuff is created and plugged in. The pieces you will * need to use are documented accordingly near the end. */ -import { initTRPC } from "@trpc/server"; +import { TRPCError, initTRPC } from "@trpc/server"; import { type CreateNextContextOptions } from "@trpc/server/adapters/next"; import superjson from "superjson"; import { ZodError } from "zod"; import { db } from "~/server/db"; +import { PublicUserType } from "~/utils/types"; +import jwt from "jsonwebtoken"; /** * 1. CONTEXT @@ -23,22 +25,6 @@ import { db } from "~/server/db"; type CreateContextOptions = Record; -/** - * This helper generates the "internals" for a tRPC context. If you need to use it, you can export - * it from here. - * - * Examples of things you may need it for: - * - testing, so we don't have to mock Next.js' req/res - * - tRPC's `createSSGHelpers`, where we don't have req/res - * - * @see https://create.t3.gg/en/usage/trpc#-serverapitrpcts - */ -const createInnerTRPCContext = (_opts: CreateContextOptions) => { - return { - db, - }; -}; - /** * This is the actual context you will use in your router. It will be used to process every request * that goes through your tRPC endpoint. @@ -46,7 +32,32 @@ const createInnerTRPCContext = (_opts: CreateContextOptions) => { * @see https://trpc.io/docs/context */ export const createTRPCContext = (_opts: CreateNextContextOptions) => { - return createInnerTRPCContext({}); + // Get JWT from cookie + const token = _opts.req.cookies.token; + + // Verify JWT + let session = PublicUserType.parse(undefined); + try { + jwt.verify(token || "", process.env.JWT_SECRET || "", (err, decoded) => { + if (err) { + session = undefined; + } else { + session = PublicUserType.parse(decoded); + } + }); + } catch (err) { + session = undefined; + } + + // Request and Response objects + const { req, res } = _opts; + + return { + session, + db, + req, + res + }; }; /** @@ -93,3 +104,24 @@ export const createTRPCRouter = t.router; * are logged in. */ export const publicProcedure = t.procedure; + +export const middleware = t.middleware; + +const isLoggedIn = middleware(async (opts) => { + const { ctx } = opts; + if (!ctx.session) { + throw new TRPCError({ code: "UNAUTHORIZED", message: "Please log in" }); + } + return opts.next(opts); +}) + +const isAdmin = middleware(async (opts) => { + const { ctx } = opts; + if (!ctx.session?.isAdmin) { + throw new TRPCError({ code: "UNAUTHORIZED", message: "You are not an admin" }); + } + return opts.next(opts); +}) + +export const loggedInProcedure = publicProcedure.use(isLoggedIn); +export const adminProcedure = publicProcedure.use(isLoggedIn).use(isAdmin); \ No newline at end of file diff --git a/src/utils/types.ts b/src/utils/types.ts new file mode 100644 index 0000000..9a44d8f --- /dev/null +++ b/src/utils/types.ts @@ -0,0 +1,14 @@ +import { z } from "zod"; + +export const PublicUserType = z.object({ + grade: z.number().int().nullable(), + class: z.string().nullable(), + name: z.string(), + username: z.string(), + isAdmin: z.boolean(), +}).or(z.undefined()); + +export const LoginSchema = z.object({ + username: z.string().min(1, { message: "Username cannot be empty." }), + password: z.string(), +}) \ No newline at end of file diff --git a/tailwind.config.ts b/tailwind.config.ts index f06488f..328fe7f 100644 --- a/tailwind.config.ts +++ b/tailwind.config.ts @@ -6,9 +6,11 @@ export default { theme: { extend: { fontFamily: { - sans: ["var(--font-sans)", ...fontFamily.sans], + sans: ["Lato", "var(--font-sans)", ...fontFamily.sans], }, }, }, - plugins: [], + plugins: [ + require("@tailwindcss/forms") + ], } satisfies Config; diff --git a/yarn.lock b/yarn.lock index c0b24b4..ec3fea0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -44,6 +44,11 @@ resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.56.0.tgz#ef20350fec605a7f7035a01764731b2de0f3782b" integrity sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A== +"@hookform/resolvers@^3.3.2": + version "3.3.2" + resolved "https://registry.yarnpkg.com/@hookform/resolvers/-/resolvers-3.3.2.tgz#5c40f06fe8137390b071d961c66d27ee8f76f3bc" + integrity sha512-Tw+GGPnBp+5DOsSg4ek3LCPgkBOuOgS5DsDV7qsWNH9LZc433kgsWICjlsh2J9p04H2K66hsXPPb9qn9ILdUtA== + "@humanwhocodes/config-array@^0.11.13": version "0.11.13" resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.13.tgz#075dc9684f40a531d9b26b0822153c1e832ee297" @@ -95,6 +100,21 @@ "@jridgewell/resolve-uri" "^3.1.0" "@jridgewell/sourcemap-codec" "^1.4.14" +"@mapbox/node-pre-gyp@^1.0.11": + version "1.0.11" + resolved "https://registry.yarnpkg.com/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz#417db42b7f5323d79e93b34a6d7a2a12c0df43fa" + integrity sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ== + dependencies: + detect-libc "^2.0.0" + https-proxy-agent "^5.0.0" + make-dir "^3.1.0" + node-fetch "^2.6.7" + nopt "^5.0.0" + npmlog "^5.0.1" + rimraf "^3.0.2" + semver "^7.3.5" + tar "^6.1.11" + "@next/env@14.0.4": version "14.0.4" resolved "https://registry.yarnpkg.com/@next/env/-/env-14.0.4.tgz#d5cda0c4a862d70ae760e58c0cd96a8899a2e49a" @@ -233,6 +253,13 @@ dependencies: "@t3-oss/env-core" "0.7.1" +"@tailwindcss/forms@^0.5.7": + version "0.5.7" + resolved "https://registry.yarnpkg.com/@tailwindcss/forms/-/forms-0.5.7.tgz#db5421f062a757b5f828bc9286ba626c6685e821" + integrity sha512-QE7X69iQI+ZXwldE+rzasvbJiyV/ju1FGHH0Qn2W3FKbuYtqp8LKcy6iSw79fVUT5/Vvf+0XgLCeYVG+UV6hOw== + dependencies: + mini-svg-data-uri "^1.2.3" + "@tanstack/query-core@4.36.1": version "4.36.1" resolved "https://registry.yarnpkg.com/@tanstack/query-core/-/query-core-4.36.1.tgz#79f8c1a539d47c83104210be2388813a7af2e524" @@ -268,6 +295,13 @@ resolved "https://registry.yarnpkg.com/@trpc/server/-/server-10.44.1.tgz#0d089a3cd5d1268aa8f6845a183329fcac7f2fac" integrity sha512-mF7B+K6LjuboX8I1RZgKE5GA/fJhsJ8tKGK2UBt3Bwik7hepEPb4NJgNr7vO6BK5IYwPdBLRLTctRw6XZx0sRg== +"@types/bcrypt@^5.0.2": + version "5.0.2" + resolved "https://registry.yarnpkg.com/@types/bcrypt/-/bcrypt-5.0.2.tgz#22fddc11945ea4fbc3655b3e8b8847cc9f811477" + integrity sha512-6atioO8Y75fNcbmj0G7UjI9lXN2pQ/IGJ2FWT4a/btd0Lk9lQalHLKhkgKVZ3r+spnmWUKfbMi1GEe9wyHQfNQ== + dependencies: + "@types/node" "*" + "@types/eslint@^8.44.7": version "8.56.0" resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.56.0.tgz#e28d045b8e530a33c9cbcfbf02332df0d1380a2c" @@ -286,6 +320,20 @@ resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== +"@types/jsonwebtoken@^9.0.5": + version "9.0.5" + resolved "https://registry.yarnpkg.com/@types/jsonwebtoken/-/jsonwebtoken-9.0.5.tgz#0bd9b841c9e6c5a937c17656e2368f65da025588" + integrity sha512-VRLSGzik+Unrup6BsouBeHsf4d1hOEgYWTm/7Nmw1sXoN1+tRly/Gy/po3yeahnP4jfnQWWAhQAqcNfH7ngOkA== + dependencies: + "@types/node" "*" + +"@types/node@*": + version "20.10.5" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.10.5.tgz#47ad460b514096b7ed63a1dae26fad0914ed3ab2" + integrity sha512-nNPsNE65wjMxEKI93yOP+NPGGBJz/PoN3kZsVLee0XMiJolxSekEVD8wRwBUBqkwc7UWop0edW50yrCQW4CyRw== + dependencies: + undici-types "~5.26.4" + "@types/node@^18.17.0": version "18.19.3" resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.3.tgz#e4723c4cb385641d61b983f6fe0b716abd5f8fc0" @@ -414,6 +462,11 @@ resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== +abbrev@1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== + acorn-jsx@^5.3.2: version "5.3.2" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" @@ -424,6 +477,13 @@ acorn@^8.9.0: resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.2.tgz#ca0d78b51895be5390a5903c5b3bdcdaf78ae40b" integrity sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w== +agent-base@6: + version "6.0.2" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== + dependencies: + debug "4" + ajv@^6.12.4: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" @@ -459,6 +519,19 @@ anymatch@~3.1.2: normalize-path "^3.0.0" picomatch "^2.0.4" +"aproba@^1.0.3 || ^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" + integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== + +are-we-there-yet@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz#372e0e7bd279d8e94c653aaa1f67200884bf3e1c" + integrity sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw== + dependencies: + delegates "^1.0.0" + readable-stream "^3.6.0" + arg@^5.0.2: version "5.0.2" resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c" @@ -491,6 +564,14 @@ balanced-match@^1.0.0: resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== +bcrypt@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/bcrypt/-/bcrypt-5.1.1.tgz#0f732c6dcb4e12e5b70a25e326a72965879ba6e2" + integrity sha512-AGBHOG5hPYZ5Xl9KXzU5iKq9516yEmvCKDg3ecP5kX2aB6UqTeXZxk2ELnDgDm6BQSMlLt9rDB4LoSMx0rYwww== + dependencies: + "@mapbox/node-pre-gyp" "^1.0.11" + node-addon-api "^5.0.0" + binary-extensions@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" @@ -521,6 +602,11 @@ browserslist@^4.21.10: node-releases "^2.0.14" update-browserslist-db "^1.0.13" +buffer-equal-constant-time@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" + integrity sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA== + busboy@1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/busboy/-/busboy-1.6.0.tgz#966ea36a9502e43cdb9146962523b92f531f6893" @@ -566,6 +652,11 @@ chokidar@^3.5.3: optionalDependencies: fsevents "~2.3.2" +chownr@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece" + integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== + client-only@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/client-only/-/client-only-0.0.1.tgz#38bba5d403c41ab150bff64a95c85013cf73bca1" @@ -583,6 +674,11 @@ color-name@~1.1.4: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== +color-support@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" + integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== + commander@^4.0.0: version "4.1.1" resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" @@ -593,6 +689,11 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== +console-control-strings@^1.0.0, console-control-strings@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ== + copy-anything@^3.0.2: version "3.0.5" resolved "https://registry.yarnpkg.com/copy-anything/-/copy-anything-3.0.5.tgz#2d92dce8c498f790fa7ad16b01a1ae5a45b020a0" @@ -619,7 +720,7 @@ csstype@^3.0.2: resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== -debug@^4.1.1, debug@^4.3.2, debug@^4.3.4: +debug@4, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4: version "4.3.4" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== @@ -631,6 +732,16 @@ deep-is@^0.1.3: resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + integrity sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ== + +detect-libc@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.2.tgz#8ccf2ba9315350e1241b88d0ac3b0e1fbd99605d" + integrity sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw== + didyoumean@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037" @@ -655,11 +766,23 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" +ecdsa-sig-formatter@1.0.11: + version "1.0.11" + resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf" + integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ== + dependencies: + safe-buffer "^5.0.1" + electron-to-chromium@^1.4.601: version "1.4.615" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.615.tgz#b1c41839962d2e4e63dca05519da9040e34848c2" integrity sha512-/bKPPcgZVUziECqDc+0HkT87+0zhaWSZHNXqF8FLd2lQcptpmUFwoCSWjCdOng9Gdq+afKArPdEg/0ZW461Eng== +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -834,6 +957,13 @@ fraction.js@^4.3.6: resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.3.7.tgz#06ca0085157e42fda7f9e726e79fefc4068840f7" integrity sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew== +fs-minipass@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" + integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== + dependencies: + minipass "^3.0.0" + fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" @@ -849,6 +979,21 @@ function-bind@^1.1.2: resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== +gauge@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-3.0.2.tgz#03bf4441c044383908bcfa0656ad91803259b395" + integrity sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q== + dependencies: + aproba "^1.0.3 || ^2.0.0" + color-support "^1.1.2" + console-control-strings "^1.0.0" + has-unicode "^2.0.1" + object-assign "^4.1.1" + signal-exit "^3.0.0" + string-width "^4.2.3" + strip-ansi "^6.0.1" + wide-align "^1.1.2" + glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" @@ -938,6 +1083,11 @@ has-flag@^4.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== +has-unicode@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== + hasown@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.0.tgz#f4c513d454a57b7c7e1650778de226b11700546c" @@ -945,6 +1095,14 @@ hasown@^2.0.0: dependencies: function-bind "^1.1.2" +https-proxy-agent@^5.0.0: + 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== + dependencies: + agent-base "6" + debug "4" + ignore@^5.2.0, ignore@^5.2.4: version "5.3.0" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.0.tgz#67418ae40d34d6999c95ff56016759c718c82f78" @@ -971,7 +1129,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2: +inherits@2, inherits@^2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -995,6 +1153,11 @@ is-extglob@^2.1.1: resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: version "4.0.3" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" @@ -1054,6 +1217,39 @@ json-stable-stringify-without-jsonify@^1.0.1: resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== +jsonwebtoken@^9.0.2: + version "9.0.2" + resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz#65ff91f4abef1784697d40952bb1998c504caaf3" + integrity sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ== + dependencies: + jws "^3.2.2" + lodash.includes "^4.3.0" + lodash.isboolean "^3.0.3" + lodash.isinteger "^4.0.4" + lodash.isnumber "^3.0.3" + lodash.isplainobject "^4.0.6" + lodash.isstring "^4.0.1" + lodash.once "^4.0.0" + ms "^2.1.1" + semver "^7.5.4" + +jwa@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a" + integrity sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA== + dependencies: + buffer-equal-constant-time "1.0.1" + ecdsa-sig-formatter "1.0.11" + safe-buffer "^5.0.1" + +jws@^3.2.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/jws/-/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304" + integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA== + dependencies: + jwa "^1.4.1" + safe-buffer "^5.0.1" + keyv@^4.5.3: version "4.5.4" resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" @@ -1091,11 +1287,46 @@ locate-path@^6.0.0: dependencies: p-locate "^5.0.0" +lodash.includes@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f" + integrity sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w== + +lodash.isboolean@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6" + integrity sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg== + +lodash.isinteger@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343" + integrity sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA== + +lodash.isnumber@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc" + integrity sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw== + +lodash.isplainobject@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" + integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA== + +lodash.isstring@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" + integrity sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw== + lodash.merge@^4.6.2: version "4.6.2" resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== +lodash.once@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" + integrity sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg== + loose-envify@^1.1.0: version "1.4.0" resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" @@ -1110,6 +1341,13 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" +make-dir@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" + integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== + dependencies: + semver "^6.0.0" + merge2@^1.3.0, merge2@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" @@ -1123,6 +1361,11 @@ micromatch@^4.0.4, micromatch@^4.0.5: braces "^3.0.2" picomatch "^2.3.1" +mini-svg-data-uri@^1.2.3: + version "1.4.4" + resolved "https://registry.yarnpkg.com/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz#8ab0aabcdf8c29ad5693ca595af19dd2ead09939" + integrity sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg== + minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" @@ -1130,11 +1373,41 @@ minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: dependencies: brace-expansion "^1.1.7" +minipass@^3.0.0: + version "3.3.6" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.6.tgz#7bba384db3a1520d18c9c0e5251c3444e95dd94a" + integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== + dependencies: + yallist "^4.0.0" + +minipass@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-5.0.0.tgz#3e9788ffb90b694a5d0ec94479a45b5d8738133d" + integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== + +minizlib@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" + integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== + dependencies: + minipass "^3.0.0" + yallist "^4.0.0" + +mkdirp@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + ms@2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== +ms@^2.1.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + mz@^2.7.0: version "2.7.0" resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" @@ -1178,11 +1451,30 @@ next@^14.0.3: "@next/swc-win32-ia32-msvc" "14.0.4" "@next/swc-win32-x64-msvc" "14.0.4" +node-addon-api@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-5.1.0.tgz#49da1ca055e109a23d537e9de43c09cca21eb762" + integrity sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA== + +node-fetch@^2.6.7: + 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== + dependencies: + whatwg-url "^5.0.0" + node-releases@^2.0.14: version "2.0.14" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== +nopt@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-5.0.0.tgz#530942bb58a512fccafe53fe210f13a25355dc88" + integrity sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ== + dependencies: + abbrev "1" + normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" @@ -1193,7 +1485,17 @@ normalize-range@^0.1.2: resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== -object-assign@^4.0.1: +npmlog@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-5.0.1.tgz#f06678e80e29419ad67ab964e0fa69959c1eb8b0" + integrity sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw== + dependencies: + are-we-there-yet "^2.0.0" + console-control-strings "^1.1.0" + gauge "^3.0.0" + set-blocking "^2.0.0" + +object-assign@^4.0.1, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== @@ -1390,6 +1692,11 @@ react-dom@18.2.0: loose-envify "^1.1.0" scheduler "^0.23.0" +react-hook-form@^7.49.2: + version "7.49.2" + resolved "https://registry.yarnpkg.com/react-hook-form/-/react-hook-form-7.49.2.tgz#6fb2742e1308020f26cb1915c7012b6c07b11ade" + integrity sha512-TZcnSc17+LPPVpMRIDNVITY6w20deMdNi6iehTFLV1x8SqThXGwu93HjlUVU09pzFgZH7qZOvLMM7UYf2ShAHA== + react-ssr-prepass@^1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/react-ssr-prepass/-/react-ssr-prepass-1.5.0.tgz#bc4ca7fcb52365e6aea11cc254a3d1bdcbd030c5" @@ -1409,6 +1716,15 @@ read-cache@^1.0.0: dependencies: pify "^2.3.0" +readable-stream@^3.6.0: + version "3.6.2" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + readdirp@~3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" @@ -1449,6 +1765,11 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" +safe-buffer@^5.0.1, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + scheduler@^0.23.0: version "0.23.0" resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe" @@ -1456,13 +1777,23 @@ scheduler@^0.23.0: dependencies: loose-envify "^1.1.0" -semver@^7.5.4: +semver@^6.0.0: + version "6.3.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== + +semver@^7.3.5, semver@^7.5.4: version "7.5.4" resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== dependencies: lru-cache "^6.0.0" +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== + shebang-command@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" @@ -1475,6 +1806,11 @@ shebang-regex@^3.0.0: resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== +signal-exit@^3.0.0: + version "3.0.7" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + slash@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" @@ -1490,6 +1826,22 @@ streamsearch@^1.1.0: resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-1.1.0.tgz#404dd1e2247ca94af554e841a8ef0eaa238da764" integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg== +"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" @@ -1569,6 +1921,18 @@ tailwindcss@^3.3.5: resolve "^1.22.2" sucrase "^3.32.0" +tar@^6.1.11: + version "6.2.0" + resolved "https://registry.yarnpkg.com/tar/-/tar-6.2.0.tgz#b14ce49a79cb1cd23bc9b016302dea5474493f73" + integrity sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ== + dependencies: + chownr "^2.0.0" + fs-minipass "^2.0.0" + minipass "^5.0.0" + minizlib "^2.1.1" + mkdirp "^1.0.3" + yallist "^4.0.0" + text-table@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" @@ -1595,6 +1959,11 @@ to-regex-range@^5.0.1: dependencies: is-number "^7.0.0" +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== + ts-api-utils@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/ts-api-utils/-/ts-api-utils-1.0.3.tgz#f12c1c781d04427313dbac808f453f050e54a331" @@ -1652,7 +2021,7 @@ use-sync-external-store@^1.2.0: resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz#7dbefd6ef3fe4e767a0cf5d7287aacfb5846928a" integrity sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA== -util-deprecate@^1.0.2: +util-deprecate@^1.0.1, util-deprecate@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== @@ -1665,6 +2034,19 @@ watchpack@2.4.0: glob-to-regexp "^0.4.1" graceful-fs "^4.1.2" +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== + +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + which@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" @@ -1672,6 +2054,13 @@ which@^2.0.1: dependencies: isexe "^2.0.0" +wide-align@^1.1.2: + version "1.1.5" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3" + integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== + dependencies: + string-width "^1.0.2 || 2 || 3 || 4" + wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"