diff --git a/.env.example b/.env.example
index dfe693bf..ad7d73db 100644
--- a/.env.example
+++ b/.env.example
@@ -15,3 +15,11 @@ DB_PASSWORD=''
# node -e 'console.log(require("crypto").randomBytes(50).toString("base64"));'
# @see https://next-auth.js.org/configuration/options#secret
AUTH_SECRET='supersecret'
+
+# RabbitMQ
+# This env variable will connect to rabbitmq instance
+AMQP_URL="amqp://localhost"
+
+# API Endpoint
+# This env variable will tell the vote processor where is the trpc endpoint
+PROCESSOR_API_URL="http://localhost:3000/api/trpc"
diff --git a/apps/auth-proxy/.env.example b/apps/auth-proxy/.env.example
deleted file mode 100644
index bdb4d554..00000000
--- a/apps/auth-proxy/.env.example
+++ /dev/null
@@ -1,7 +0,0 @@
-
-AUTH_SECRET=""
-AUTH_DISCORD_ID=""
-AUTH_DISCORD_SECRET=""
-AUTH_REDIRECT_PROXY_URL=""
-
-NITRO_PRESET="vercel_edge"
\ No newline at end of file
diff --git a/apps/auth-proxy/README.md b/apps/auth-proxy/README.md
deleted file mode 100644
index d8e48587..00000000
--- a/apps/auth-proxy/README.md
+++ /dev/null
@@ -1,22 +0,0 @@
-# Auth Proxy
-
-This is a simple proxy server that enables OAuth authentication for preview environments.
-
-## Setup
-
-Deploy it somewhere (Vercel is a one-click, zero-config option) and set the following environment variables:
-
-- `AUTH_DISCORD_ID` - The Discord OAuth client ID
-- `AUTH_DISCORD_SECRET` - The Discord OAuth client secret
-- `AUTH_REDIRECT_PROXY_URL` - The URL of this proxy server
-- `AUTH_SECRET` - Your secret
-
-Make sure the `AUTH_SECRET` and `AUTH_REDIRECT_PROXY_URL` match the values set for the main application's deployment for preview environments, and that you're using the same OAuth credentials for the proxy and the application's preview environment.
-`AUTH_REDIRECT_PROXY_URL` should only be set for the main application's preview environment. Do not set it for the production environment.
-The lines below shows what values should match eachother in both deployments.
-
-![Environment variables setup](https://github.com/t3-oss/create-t3-turbo/assets/51714798/5fadd3f5-f705-459a-82ab-559a3df881d0)
-
-For providers that require an origin and a redirect URL, set them to `{AUTH_REDIRECT_PROXY_URL}` and `{AUTH_REDIRECT_PROXY_URL}/callback/{provider}` accordingly.
-
-![Google credentials setup](https://github.com/ahkhanjani/create-t3-turbo/assets/72540492/eaa88685-6fc2-4c23-b7ac-737eb172fa0e)
diff --git a/apps/auth-proxy/eslint.config.js b/apps/auth-proxy/eslint.config.js
deleted file mode 100644
index 193bddcd..00000000
--- a/apps/auth-proxy/eslint.config.js
+++ /dev/null
@@ -1,9 +0,0 @@
-import baseConfig from "@sora-vp/eslint-config/base";
-
-/** @type {import('typescript-eslint').Config} */
-export default [
- {
- ignores: [".nitro/**", ".output/**"],
- },
- ...baseConfig,
-];
diff --git a/apps/auth-proxy/package.json b/apps/auth-proxy/package.json
deleted file mode 100644
index ffe83d55..00000000
--- a/apps/auth-proxy/package.json
+++ /dev/null
@@ -1,29 +0,0 @@
-{
- "name": "@sora-vp/auth-proxy",
- "private": true,
- "type": "module",
- "scripts": {
- "build": "nitro build",
- "clean": "rm -rf .turbo node_modules",
- "dev": "nitro dev --port 3001",
- "lint": "eslint",
- "format": "prettier --check . --ignore-path ../../.gitignore",
- "typecheck": "tsc --noEmit"
- },
- "dependencies": {
- "@auth/core": "0.30.0"
- },
- "devDependencies": {
- "@sora-vp/eslint-config": "*",
- "@sora-vp/prettier-config": "*",
- "@sora-vp/tailwind-config": "*",
- "@sora-vp/tsconfig": "*",
- "@types/node": "^20.12.9",
- "eslint": "^9.2.0",
- "h3": "^1.11.1",
- "nitropack": "^2.9.6",
- "prettier": "^3.2.5",
- "typescript": "^5.4.5"
- },
- "prettier": "@sora-vp/prettier-config"
-}
diff --git a/apps/auth-proxy/routes/[...auth].ts b/apps/auth-proxy/routes/[...auth].ts
deleted file mode 100644
index f3f737be..00000000
--- a/apps/auth-proxy/routes/[...auth].ts
+++ /dev/null
@@ -1,17 +0,0 @@
-import { Auth } from "@auth/core";
-import Discord from "@auth/core/providers/discord";
-import { eventHandler, toWebRequest } from "h3";
-
-export default eventHandler(async (event) =>
- Auth(toWebRequest(event), {
- secret: process.env.AUTH_SECRET,
- trustHost: !!process.env.VERCEL,
- redirectProxyUrl: process.env.AUTH_REDIRECT_PROXY_URL,
- providers: [
- Discord({
- clientId: process.env.AUTH_DISCORD_ID,
- clientSecret: process.env.AUTH_DISCORD_SECRET,
- }),
- ],
- }),
-);
diff --git a/apps/auth-proxy/tsconfig.json b/apps/auth-proxy/tsconfig.json
deleted file mode 100644
index cd361161..00000000
--- a/apps/auth-proxy/tsconfig.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "extends": "@sora-vp/tsconfig/base.json",
- "include": ["routes"]
-}
diff --git a/apps/clients/attendance/.env.example b/apps/clients/attendance/.env.example
new file mode 100644
index 00000000..18ed7ff4
--- /dev/null
+++ b/apps/clients/attendance/.env.example
@@ -0,0 +1,2 @@
+# This is useful for development or manual deployment
+VITE_TRPC_URL="http://maybeyourlocalip/api/trpc"
diff --git a/apps/clients/attendance/.gitignore b/apps/clients/attendance/.gitignore
new file mode 100644
index 00000000..a547bf36
--- /dev/null
+++ b/apps/clients/attendance/.gitignore
@@ -0,0 +1,24 @@
+# Logs
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+pnpm-debug.log*
+lerna-debug.log*
+
+node_modules
+dist
+dist-ssr
+*.local
+
+# Editor directories and files
+.vscode/*
+!.vscode/extensions.json
+.idea
+.DS_Store
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
diff --git a/apps/clients/attendance/README.md b/apps/clients/attendance/README.md
new file mode 100644
index 00000000..bb156850
--- /dev/null
+++ b/apps/clients/attendance/README.md
@@ -0,0 +1,30 @@
+# React + TypeScript + Vite
+
+This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
+
+Currently, two official plugins are available:
+
+- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh
+- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh
+
+## Expanding the ESLint configuration
+
+If you are developing a production application, we recommend updating the configuration to enable type aware lint rules:
+
+- Configure the top-level `parserOptions` property like this:
+
+```js
+export default {
+ // other rules...
+ parserOptions: {
+ ecmaVersion: "latest",
+ sourceType: "module",
+ project: ["./tsconfig.json", "./tsconfig.node.json"],
+ tsconfigRootDir: __dirname,
+ },
+};
+```
+
+- Replace `plugin:@typescript-eslint/recommended` to `plugin:@typescript-eslint/recommended-type-checked` or `plugin:@typescript-eslint/strict-type-checked`
+- Optionally add `plugin:@typescript-eslint/stylistic-type-checked`
+- Install [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and add `plugin:react/recommended` & `plugin:react/jsx-runtime` to the `extends` list
diff --git a/apps/clients/attendance/eslint.config.js b/apps/clients/attendance/eslint.config.js
new file mode 100644
index 00000000..b3a23984
--- /dev/null
+++ b/apps/clients/attendance/eslint.config.js
@@ -0,0 +1,27 @@
+// @ts-check
+
+import eslint from "@eslint/js";
+import reactRefresh from "eslint-plugin-react-refresh";
+import tseslint from "typescript-eslint";
+
+import { restrictEnvAccess } from "@sora-vp/eslint-config/base";
+import reactConfig from "@sora-vp/eslint-config/react";
+
+export default tseslint.config(
+ {
+ ignores: ["dist/**"],
+ plugins: {
+ "react-refresh": reactRefresh,
+ },
+ rules: {
+ "react-refresh/only-export-components": [
+ "warn",
+ { allowConstantExport: true },
+ ],
+ },
+ },
+ eslint.configs.recommended,
+ ...tseslint.configs.recommended,
+ ...reactConfig,
+ ...restrictEnvAccess,
+);
diff --git a/apps/clients/attendance/index.html b/apps/clients/attendance/index.html
new file mode 100644
index 00000000..5dc81e1d
--- /dev/null
+++ b/apps/clients/attendance/index.html
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ Attendance Client
+
+
+
+
+
+
diff --git a/apps/clients/attendance/package.json b/apps/clients/attendance/package.json
new file mode 100644
index 00000000..60fb0c76
--- /dev/null
+++ b/apps/clients/attendance/package.json
@@ -0,0 +1,61 @@
+{
+ "name": "@sora-vp/client-attendance",
+ "private": true,
+ "version": "2.3.1",
+ "type": "module",
+ "scripts": {
+ "build": "yarn with-env vite build",
+ "clean": "git clean -xdf dist .turbo node_modules",
+ "dev": "yarn with-env vite",
+ "format": "prettier --check . --ignore-path ../../.gitignore",
+ "lint": "eslint",
+ "preview": "vite preview",
+ "typecheck": "tsc --noEmit",
+ "with-env": "dotenv -e ../../.env --"
+ },
+ "dependencies": {
+ "@sora-vp/api": "*",
+ "@sora-vp/ui": "*",
+ "@sora-vp/validators": "*",
+ "@t3-oss/env-core": "^0.10.1",
+ "@tanstack/react-query": "^5.35.1",
+ "@trpc/client": "11.0.0-rc.364",
+ "@trpc/react-query": "11.0.0-rc.364",
+ "@trpc/server": "11.0.0-rc.364",
+ "framer-motion": "^11.2.12",
+ "jotai": "^2.8.4",
+ "lucide-react": "^0.399.0",
+ "non.geist": "^1.0.3",
+ "qr-scanner": "^1.4.2",
+ "react": "^18.3.1",
+ "react-dom": "^18.3.1",
+ "react-router-dom": "^6.24.0",
+ "superjson": "2.2.1",
+ "zod": "^3.23.8"
+ },
+ "devDependencies": {
+ "@eslint/js": "^9.6.0",
+ "@fontsource-variable/noto-sans-sundanese": "^5.0.18",
+ "@sora-vp/eslint-config": "*",
+ "@sora-vp/prettier-config": "*",
+ "@sora-vp/tailwind-config": "*",
+ "@types/eslint__js": "^8.42.3",
+ "@types/react": "^18.3.3",
+ "@types/react-dom": "^18.3.0",
+ "@typescript-eslint/eslint-plugin": "^7.13.1",
+ "@typescript-eslint/parser": "^7.13.1",
+ "@vitejs/plugin-react-swc": "^3.5.0",
+ "autoprefixer": "^10.4.19",
+ "dotenv-cli": "^7.4.1",
+ "eslint": "^9.6.0",
+ "eslint-plugin-react-hooks": "^4.6.2",
+ "eslint-plugin-react-refresh": "^0.4.7",
+ "postcss": "^8.4.39",
+ "prettier": "^3.2.5",
+ "tailwindcss": "^3.4.4",
+ "typescript": "^5.4.5",
+ "typescript-eslint": "^7.14.1",
+ "vite": "^5.3.1"
+ },
+ "prettier": "@sora-vp/prettier-config"
+}
diff --git a/apps/clients/attendance/postcss.config.cjs b/apps/clients/attendance/postcss.config.cjs
new file mode 100644
index 00000000..9252ed4c
--- /dev/null
+++ b/apps/clients/attendance/postcss.config.cjs
@@ -0,0 +1,6 @@
+/* eslint-disable */
+module.exports = {
+ plugins: {
+ tailwindcss: {},
+ },
+};
diff --git a/apps/clients/attendance/public/favicon.ico b/apps/clients/attendance/public/favicon.ico
new file mode 100644
index 00000000..9b687487
Binary files /dev/null and b/apps/clients/attendance/public/favicon.ico differ
diff --git a/apps/clients/attendance/src/App.tsx b/apps/clients/attendance/src/App.tsx
new file mode 100644
index 00000000..de64c998
--- /dev/null
+++ b/apps/clients/attendance/src/App.tsx
@@ -0,0 +1,54 @@
+import { useState } from "react";
+import { ServerSettingProvider } from "@/context/server-setting";
+import MainPage from "@/routes/main-page";
+import { api } from "@/utils/api";
+import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
+import { httpBatchLink } from "@trpc/client";
+import { createBrowserRouter, RouterProvider } from "react-router-dom";
+import superjson from "superjson";
+
+import { env } from "./env";
+
+const router = createBrowserRouter([
+ {
+ path: "/",
+ element: ,
+ },
+ {
+ path: "about",
+ element: About
,
+ },
+]);
+
+const getBaseUrl = () => {
+ if (!env.VITE_IS_DOCKER && env.VITE_TRPC_URL) return env.VITE_TRPC_URL;
+
+ if (import.meta.env.DEV && !env.VITE_IS_DOCKER && !env.VITE_TRPC_URL)
+ return "http://localhost:3000/api/trpc";
+
+ return "/api/trpc";
+};
+
+export default function App() {
+ const [queryClient] = useState(() => new QueryClient());
+ const [trpcClient] = useState(() =>
+ api.createClient({
+ links: [
+ httpBatchLink({
+ url: getBaseUrl(),
+ transformer: superjson,
+ }),
+ ],
+ }),
+ );
+
+ return (
+
+
+
+
+
+
+
+ );
+}
diff --git a/apps/clients/attendance/src/components/scanner/index.tsx b/apps/clients/attendance/src/components/scanner/index.tsx
new file mode 100644
index 00000000..0bbff3f0
--- /dev/null
+++ b/apps/clients/attendance/src/components/scanner/index.tsx
@@ -0,0 +1,170 @@
+import { useCallback, useState } from "react";
+import { api } from "@/utils/api";
+import { successTimeoutAtom } from "@/utils/atom";
+import { motion } from "framer-motion";
+import { useAtomValue } from "jotai";
+import { Loader, RotateCcw } from "lucide-react";
+
+import { Button } from "@sora-vp/ui/button";
+import { Separator } from "@sora-vp/ui/separator";
+
+import { MainScanner } from "./main-scanner";
+
+export function ScannerComponent() {
+ const [isQrInvalid, setInvalidQr] = useState(false);
+ const successTimeout = useAtomValue(successTimeoutAtom);
+
+ const participantAttend = api.clientConsumer.participantAttend.useMutation({
+ onSuccess() {
+ setTimeout(() => participantAttend.reset(), successTimeout);
+ },
+ });
+
+ const setIsQrValid = useCallback(
+ (invalid: boolean) => setInvalidQr(invalid),
+ [],
+ );
+ const mutateData = useCallback(
+ (qrId: string) => participantAttend.mutate(qrId),
+ [participantAttend],
+ );
+
+ if (participantAttend.isPending)
+ return (
+
+
+
+
+
+ Mengirim Data Kehadiran...
+
+
+ Mohon tunggu proses ini sampai selesai.
+
+
+
+ );
+
+ if (participantAttend.isSuccess)
+ return (
+
+
+
+ Berhasil Mengisi Kehadiran!
+
+
+ Silahkan menuju ke komputer pemilihan dan gunakan hak suara anda.
+
+
+
+
+
+
+ {participantAttend.data.qrId.slice(0, 5)}
+
+
+ {participantAttend.data.qrId.slice(5, 10)}
+
+
+ {participantAttend.data.qrId.slice(10, 15)}
+
+
+
+
+
{participantAttend.data.name}
+
{participantAttend.data.subpart}
+
+
+
+ );
+
+ if (isQrInvalid || participantAttend.isError)
+ return (
+
+
+
+ Gagal Mengisi Kehadiran
+
+
+ {participantAttend.isError
+ ? participantAttend.error.message
+ : "QR Code yang anda tunjukkan tidak valid. Beritahu panitia untuk memperbaiki masalah ini."}
+
+
+
+
{
+ if (isQrInvalid) setInvalidQr(false);
+ else participantAttend.reset();
+ }}
+ >
+
+
+
+ Coba Lagi
+
+
+ );
+
+ return ;
+}
diff --git a/apps/clients/attendance/src/components/scanner/main-scanner.tsx b/apps/clients/attendance/src/components/scanner/main-scanner.tsx
new file mode 100644
index 00000000..fa910d6b
--- /dev/null
+++ b/apps/clients/attendance/src/components/scanner/main-scanner.tsx
@@ -0,0 +1,74 @@
+import { useEffect, useRef } from "react";
+import { motion } from "framer-motion";
+import QrScanner from "qr-scanner";
+
+import { validateId } from "@sora-vp/id-generator";
+import { toast } from "@sora-vp/ui/toast";
+
+export function MainScanner({
+ setInvalidQr,
+ mutateData,
+}: {
+ setInvalidQr: (invalid: boolean) => void;
+ mutateData: (qrId: string) => void;
+}) {
+ const videoRef = useRef(null!);
+
+ useEffect(() => {
+ const qrScanner = new QrScanner(
+ videoRef.current,
+ ({ data }) => {
+ if (data || data !== "") {
+ qrScanner.stop();
+
+ const isValidQr = validateId(data);
+
+ if (!isValidQr) return setInvalidQr(true);
+
+ mutateData(data);
+ }
+ },
+ {
+ highlightCodeOutline: true,
+ highlightScanRegion: true,
+ onDecodeError: (error) => {
+ if (error instanceof Error)
+ toast.error("Terjadi kegagalan dalam memindai gambar QR.", {
+ description: `Error: ${error.message}`,
+ });
+ },
+ },
+ );
+
+ qrScanner.start();
+
+ return () => {
+ qrScanner.destroy();
+ };
+ }, []);
+
+ return (
+
+
+ Mohon arahkan QR ke kotak kuning
+
+
+
+ );
+}
diff --git a/apps/clients/attendance/src/context/server-setting.tsx b/apps/clients/attendance/src/context/server-setting.tsx
new file mode 100644
index 00000000..f17898f9
--- /dev/null
+++ b/apps/clients/attendance/src/context/server-setting.tsx
@@ -0,0 +1,182 @@
+import { createContext, useContext, useEffect, useMemo, useState } from "react";
+import { api } from "@/utils/api";
+import { motion } from "framer-motion";
+import { Loader, RotateCcw } from "lucide-react";
+
+import { Button } from "@sora-vp/ui/button";
+
+interface ISettingContext {
+ canAttend: boolean;
+}
+
+export const ServerSettingContext = createContext(
+ {} as ISettingContext,
+);
+
+export const ServerSettingProvider = ({
+ children,
+}: {
+ children: React.ReactNode;
+}) => {
+ const [errorMessage, setErrorMessage] = useState("");
+
+ const settingsQuery = api.clientConsumer.settings.useQuery(undefined, {
+ refetchInterval: 2500,
+ refetchIntervalInBackground: true,
+ });
+
+ useEffect(() => {
+ if (settingsQuery.error) setErrorMessage(settingsQuery.error.message);
+ }, [settingsQuery.error]);
+
+ const propsValue = useMemo(() => {
+ if (!settingsQuery.data)
+ return {
+ canAttend: false,
+ };
+
+ const result = settingsQuery.data;
+
+ const waktuMulai = result.startTime ? result.startTime.getTime() : null;
+ const waktuSelesai = result.endTime ? result.endTime.getTime() : null;
+
+ const currentTime = new Date().getTime();
+
+ const canAttend =
+ (waktuMulai as number) <= currentTime &&
+ (waktuSelesai as number) >= currentTime &&
+ result.canAttend;
+
+ return {
+ canAttend,
+ };
+ }, [settingsQuery.data]);
+
+ if (settingsQuery.errorUpdateCount > 0)
+ return (
+ <>
+
+
+
+ Terjadi Sebuah Kesalahan
+
+
+ Tidak dapat mengambil data pengaturan ke server. Pastikan koneksi
+ perangkat ini sudah terhubung dengan jaringan lokal. Hubungi
+ pengendali server utama dan beritakan masalah ini.
+
+
+
+
+ Pesan Error:
+ {errorMessage}
+
+
+
location.reload()}>
+
+
+
+ Muat Ulang
+
+
+
+ location.reload()}
+ >
+ ᮞᮧᮛ
+
+
+
+ v{APP_VERSION}
+
+ >
+ );
+
+ if (settingsQuery.isLoading)
+ return (
+ <>
+
+ location.reload()}
+ >
+ ᮞᮧᮛ
+
+
+
+
+
+ v{APP_VERSION}
+
+ >
+ );
+
+ return (
+
+ {children}
+
+ location.reload()}
+ >
+ ᮞᮧᮛ
+
+
+
+ v{APP_VERSION}
+
+
+ );
+};
+
+export const useServerSetting = () =>
+ useContext(ServerSettingContext) as ISettingContext;
diff --git a/apps/clients/attendance/src/env.ts b/apps/clients/attendance/src/env.ts
new file mode 100644
index 00000000..984f0a72
--- /dev/null
+++ b/apps/clients/attendance/src/env.ts
@@ -0,0 +1,36 @@
+import { createEnv } from "@t3-oss/env-core";
+import { z } from "zod";
+
+export const env = createEnv({
+ /**
+ * The prefix that client-side variables must have. This is enforced both at
+ * a type-level and at runtime.
+ */
+ clientPrefix: "VITE_",
+
+ client: {
+ VITE_IS_DOCKER: z.optional(z.coerce.boolean()),
+ VITE_TRPC_URL: z.optional(z.string().url()),
+ },
+
+ /**
+ * What object holds the environment variables at runtime. This is usually
+ * `process.env` or `import.meta.env`.
+ */
+ runtimeEnv: import.meta.env,
+
+ /**
+ * By default, this library will feed the environment variables directly to
+ * the Zod validator.
+ *
+ * This means that if you have an empty string for a value that is supposed
+ * to be a number (e.g. `PORT=` in a ".env" file), Zod will incorrectly flag
+ * it as a type mismatch violation. Additionally, if you have an empty string
+ * for a value that is supposed to be a string with a default value (e.g.
+ * `DOMAIN=` in an ".env" file), the default value will never be applied.
+ *
+ * In order to solve these issues, we recommend that all new projects
+ * explicitly specify this option as true.
+ */
+ emptyStringAsUndefined: true,
+});
diff --git a/apps/clients/attendance/src/index.css b/apps/clients/attendance/src/index.css
new file mode 100644
index 00000000..88e338ee
--- /dev/null
+++ b/apps/clients/attendance/src/index.css
@@ -0,0 +1,50 @@
+@tailwind base;
+@tailwind components;
+@tailwind utilities;
+
+@layer base {
+ :root {
+ --background: 0 0% 100%;
+ --foreground: 240 10% 3.9%;
+ --card: 0 0% 100%;
+ --card-foreground: 240 10% 3.9%;
+ --popover: 0 0% 100%;
+ --popover-foreground: 240 10% 3.9%;
+ --primary: 240 5.9% 10%;
+ --primary-foreground: 0 0% 98%;
+ --secondary: 240 4.8% 95.9%;
+ --secondary-foreground: 240 5.9% 10%;
+ --muted: 240 4.8% 95.9%;
+ --muted-foreground: 240 3.8% 46.1%;
+ --accent: 240 4.8% 95.9%;
+ --accent-foreground: 240 5.9% 10%;
+ --destructive: 0 84.2% 60.2%;
+ --destructive-foreground: 0 0% 98%;
+ --border: 240 5.9% 90%;
+ --input: 240 5.9% 90%;
+ --ring: 240 5.9% 10%;
+ --radius: 0.5rem;
+ }
+
+ .dark {
+ --background: 240 10% 3.9%;
+ --foreground: 0 0% 98%;
+ --card: 240 10% 3.9%;
+ --card-foreground: 0 0% 98%;
+ --popover: 240 10% 3.9%;
+ --popover-foreground: 0 0% 98%;
+ --primary: 0 0% 98%;
+ --primary-foreground: 240 5.9% 10%;
+ --secondary: 240 3.7% 15.9%;
+ --secondary-foreground: 0 0% 98%;
+ --muted: 240 3.7% 15.9%;
+ --muted-foreground: 240 5% 64.9%;
+ --accent: 240 3.7% 15.9%;
+ --accent-foreground: 0 0% 98%;
+ --destructive: 0 62.8% 30.6%;
+ --destructive-foreground: 0 0% 98%;
+ --border: 240 3.7% 15.9%;
+ --input: 240 3.7% 15.9%;
+ --ring: 240 4.9% 83.9%;
+ }
+}
diff --git a/apps/clients/attendance/src/main.tsx b/apps/clients/attendance/src/main.tsx
new file mode 100644
index 00000000..1b903b82
--- /dev/null
+++ b/apps/clients/attendance/src/main.tsx
@@ -0,0 +1,22 @@
+import React from "react";
+import ReactDOM from "react-dom/client";
+
+import App from "./App";
+
+import "non.geist";
+import "non.geist/mono";
+import "@fontsource-variable/noto-sans-sundanese";
+import "./index.css";
+
+import { AnimatePresence } from "framer-motion";
+
+import { Toaster } from "@sora-vp/ui/toast";
+
+ReactDOM.createRoot(document.getElementById("root")!).render(
+
+
+
+
+
+ ,
+);
diff --git a/apps/clients/attendance/src/routes/main-page.tsx b/apps/clients/attendance/src/routes/main-page.tsx
new file mode 100644
index 00000000..838e1ee2
--- /dev/null
+++ b/apps/clients/attendance/src/routes/main-page.tsx
@@ -0,0 +1,26 @@
+import { ScannerComponent } from "@/components/scanner";
+import { useServerSetting } from "@/context/server-setting";
+import { motion } from "framer-motion";
+
+export default function MainPage() {
+ const { canAttend } = useServerSetting();
+
+ if (!canAttend)
+ return (
+
+
+ Belum Bisa Absen!
+
+
+ );
+
+ return ;
+}
diff --git a/apps/clients/attendance/src/routes/setting-page.tsx b/apps/clients/attendance/src/routes/setting-page.tsx
new file mode 100644
index 00000000..e69de29b
diff --git a/apps/clients/attendance/src/utils/api.tsx b/apps/clients/attendance/src/utils/api.tsx
new file mode 100644
index 00000000..a32c466e
--- /dev/null
+++ b/apps/clients/attendance/src/utils/api.tsx
@@ -0,0 +1,4 @@
+import type { AppRouter } from "@sora-vp/api";
+import { createTRPCReact } from "@trpc/react-query";
+
+export const api = createTRPCReact();
diff --git a/apps/clients/attendance/src/utils/atom.ts b/apps/clients/attendance/src/utils/atom.ts
new file mode 100644
index 00000000..7e5e32a2
--- /dev/null
+++ b/apps/clients/attendance/src/utils/atom.ts
@@ -0,0 +1,3 @@
+import { atomWithStorage } from "jotai/utils";
+
+export const successTimeoutAtom = atomWithStorage("successTimeout", 5000);
diff --git a/apps/clients/attendance/src/vite-env.d.ts b/apps/clients/attendance/src/vite-env.d.ts
new file mode 100644
index 00000000..fe15b4fa
--- /dev/null
+++ b/apps/clients/attendance/src/vite-env.d.ts
@@ -0,0 +1,3 @@
+///
+
+declare const APP_VERSION: string;
diff --git a/apps/clients/attendance/tailwind.config.ts b/apps/clients/attendance/tailwind.config.ts
new file mode 100644
index 00000000..3ce00ccf
--- /dev/null
+++ b/apps/clients/attendance/tailwind.config.ts
@@ -0,0 +1,20 @@
+import type { Config } from "tailwindcss";
+import { fontFamily } from "tailwindcss/defaultTheme";
+
+import baseConfig from "@sora-vp/tailwind-config/web";
+
+export default {
+ // We need to append the path to the UI package to the content array so that
+ // those classes are included correctly.
+ content: [...baseConfig.content, "../../../packages/ui/**/*.{ts,tsx}"],
+ presets: [baseConfig],
+ theme: {
+ extend: {
+ fontFamily: {
+ sans: ["Geist Variable", ...fontFamily.sans],
+ mono: ["Geist Mono Variable", ...fontFamily.mono],
+ sundanese: ["'Noto Sans Sundanese Variable'", "sans-serif"],
+ },
+ },
+ },
+} satisfies Config;
diff --git a/apps/clients/attendance/tsconfig.app.json b/apps/clients/attendance/tsconfig.app.json
new file mode 100644
index 00000000..c1adde8e
--- /dev/null
+++ b/apps/clients/attendance/tsconfig.app.json
@@ -0,0 +1,33 @@
+{
+ "compilerOptions": {
+ "composite": true,
+ "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
+ "target": "ES2020",
+ "useDefineForClassFields": true,
+ "lib": ["ES2020", "DOM", "DOM.Iterable"],
+ "module": "ESNext",
+ "skipLibCheck": true,
+
+ /* Bundler mode */
+ "moduleResolution": "bundler",
+ "allowImportingTsExtensions": true,
+ "resolveJsonModule": true,
+ "isolatedModules": true,
+ "moduleDetection": "force",
+ "noEmit": true,
+ "jsx": "react-jsx",
+
+ /* Linting */
+ "strict": true,
+ "noUnusedLocals": true,
+ "noUnusedParameters": true,
+ "noFallthroughCasesInSwitch": true,
+
+ /* Absolute Import */
+ "baseUrl": "./",
+ "paths": {
+ "@/*": ["src/*"]
+ }
+ },
+ "include": ["src"]
+}
diff --git a/apps/clients/attendance/tsconfig.json b/apps/clients/attendance/tsconfig.json
new file mode 100644
index 00000000..ea9d0cd8
--- /dev/null
+++ b/apps/clients/attendance/tsconfig.json
@@ -0,0 +1,11 @@
+{
+ "files": [],
+ "references": [
+ {
+ "path": "./tsconfig.app.json"
+ },
+ {
+ "path": "./tsconfig.node.json"
+ }
+ ]
+}
diff --git a/apps/clients/attendance/tsconfig.node.json b/apps/clients/attendance/tsconfig.node.json
new file mode 100644
index 00000000..3afdd6e3
--- /dev/null
+++ b/apps/clients/attendance/tsconfig.node.json
@@ -0,0 +1,13 @@
+{
+ "compilerOptions": {
+ "composite": true,
+ "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo",
+ "skipLibCheck": true,
+ "module": "ESNext",
+ "moduleResolution": "bundler",
+ "allowSyntheticDefaultImports": true,
+ "strict": true,
+ "noEmit": true
+ },
+ "include": ["vite.config.ts"]
+}
diff --git a/apps/clients/attendance/vite.config.ts b/apps/clients/attendance/vite.config.ts
new file mode 100644
index 00000000..290e1edb
--- /dev/null
+++ b/apps/clients/attendance/vite.config.ts
@@ -0,0 +1,14 @@
+import react from "@vitejs/plugin-react-swc";
+import { defineConfig } from "vite";
+
+// https://vitejs.dev/config/
+export default defineConfig({
+ plugins: [react()],
+ define: {
+ // eslint-disable-next-line no-restricted-properties
+ APP_VERSION: JSON.stringify(process.env.npm_package_version),
+ },
+ resolve: {
+ alias: [{ find: "@", replacement: "/src" }],
+ },
+});
diff --git a/apps/clients/chooser/.env.example b/apps/clients/chooser/.env.example
new file mode 100644
index 00000000..aa8460af
--- /dev/null
+++ b/apps/clients/chooser/.env.example
@@ -0,0 +1,5 @@
+# This is for uploads endpoint
+VITE_IMAGE_RETRIEVER="http://maybeyourlocalip/api/uploads"
+
+# This is useful for development or manual deployment
+VITE_TRPC_URL="http://maybeyourlocalip/api/trpc"
diff --git a/apps/clients/chooser/.gitignore b/apps/clients/chooser/.gitignore
new file mode 100644
index 00000000..a547bf36
--- /dev/null
+++ b/apps/clients/chooser/.gitignore
@@ -0,0 +1,24 @@
+# Logs
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+pnpm-debug.log*
+lerna-debug.log*
+
+node_modules
+dist
+dist-ssr
+*.local
+
+# Editor directories and files
+.vscode/*
+!.vscode/extensions.json
+.idea
+.DS_Store
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
diff --git a/apps/clients/chooser/README.md b/apps/clients/chooser/README.md
new file mode 100644
index 00000000..bb156850
--- /dev/null
+++ b/apps/clients/chooser/README.md
@@ -0,0 +1,30 @@
+# React + TypeScript + Vite
+
+This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
+
+Currently, two official plugins are available:
+
+- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh
+- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh
+
+## Expanding the ESLint configuration
+
+If you are developing a production application, we recommend updating the configuration to enable type aware lint rules:
+
+- Configure the top-level `parserOptions` property like this:
+
+```js
+export default {
+ // other rules...
+ parserOptions: {
+ ecmaVersion: "latest",
+ sourceType: "module",
+ project: ["./tsconfig.json", "./tsconfig.node.json"],
+ tsconfigRootDir: __dirname,
+ },
+};
+```
+
+- Replace `plugin:@typescript-eslint/recommended` to `plugin:@typescript-eslint/recommended-type-checked` or `plugin:@typescript-eslint/strict-type-checked`
+- Optionally add `plugin:@typescript-eslint/stylistic-type-checked`
+- Install [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and add `plugin:react/recommended` & `plugin:react/jsx-runtime` to the `extends` list
diff --git a/apps/clients/chooser/eslint.config.js b/apps/clients/chooser/eslint.config.js
new file mode 100644
index 00000000..b3a23984
--- /dev/null
+++ b/apps/clients/chooser/eslint.config.js
@@ -0,0 +1,27 @@
+// @ts-check
+
+import eslint from "@eslint/js";
+import reactRefresh from "eslint-plugin-react-refresh";
+import tseslint from "typescript-eslint";
+
+import { restrictEnvAccess } from "@sora-vp/eslint-config/base";
+import reactConfig from "@sora-vp/eslint-config/react";
+
+export default tseslint.config(
+ {
+ ignores: ["dist/**"],
+ plugins: {
+ "react-refresh": reactRefresh,
+ },
+ rules: {
+ "react-refresh/only-export-components": [
+ "warn",
+ { allowConstantExport: true },
+ ],
+ },
+ },
+ eslint.configs.recommended,
+ ...tseslint.configs.recommended,
+ ...reactConfig,
+ ...restrictEnvAccess,
+);
diff --git a/apps/clients/chooser/index.html b/apps/clients/chooser/index.html
new file mode 100644
index 00000000..fad2daba
--- /dev/null
+++ b/apps/clients/chooser/index.html
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ Chooser Client
+
+
+
+
+
+
diff --git a/apps/clients/chooser/package.json b/apps/clients/chooser/package.json
new file mode 100644
index 00000000..5c9a308a
--- /dev/null
+++ b/apps/clients/chooser/package.json
@@ -0,0 +1,61 @@
+{
+ "name": "@sora-vp/client-chooser",
+ "private": true,
+ "version": "2.3.1",
+ "type": "module",
+ "scripts": {
+ "build": "yarn with-env vite build",
+ "clean": "git clean -xdf dist .turbo node_modules",
+ "dev": "yarn with-env vite",
+ "format": "prettier --check . --ignore-path ../../.gitignore",
+ "lint": "eslint",
+ "preview": "vite preview",
+ "typecheck": "tsc --noEmit",
+ "with-env": "dotenv -e ../../.env --"
+ },
+ "dependencies": {
+ "@sora-vp/api": "*",
+ "@sora-vp/ui": "*",
+ "@sora-vp/validators": "*",
+ "@t3-oss/env-core": "^0.10.1",
+ "@tanstack/react-query": "^5.35.1",
+ "@trpc/client": "11.0.0-rc.364",
+ "@trpc/react-query": "11.0.0-rc.364",
+ "@trpc/server": "11.0.0-rc.364",
+ "framer-motion": "^11.2.12",
+ "jotai": "^2.8.4",
+ "lucide-react": "^0.399.0",
+ "non.geist": "^1.0.3",
+ "qr-scanner": "^1.4.2",
+ "react": "^18.3.1",
+ "react-dom": "^18.3.1",
+ "react-router-dom": "^6.24.0",
+ "superjson": "2.2.1",
+ "zod": "^3.23.8"
+ },
+ "devDependencies": {
+ "@eslint/js": "^9.6.0",
+ "@fontsource-variable/noto-sans-sundanese": "^5.0.18",
+ "@sora-vp/eslint-config": "*",
+ "@sora-vp/prettier-config": "*",
+ "@sora-vp/tailwind-config": "*",
+ "@types/eslint__js": "^8.42.3",
+ "@types/react": "^18.3.3",
+ "@types/react-dom": "^18.3.0",
+ "@typescript-eslint/eslint-plugin": "^7.13.1",
+ "@typescript-eslint/parser": "^7.13.1",
+ "@vitejs/plugin-react-swc": "^3.5.0",
+ "autoprefixer": "^10.4.19",
+ "dotenv-cli": "^7.4.1",
+ "eslint": "^9.6.0",
+ "eslint-plugin-react-hooks": "^4.6.2",
+ "eslint-plugin-react-refresh": "^0.4.7",
+ "postcss": "^8.4.39",
+ "prettier": "^3.2.5",
+ "tailwindcss": "^3.4.4",
+ "typescript": "^5.4.5",
+ "typescript-eslint": "^7.14.1",
+ "vite": "^5.3.1"
+ },
+ "prettier": "@sora-vp/prettier-config"
+}
diff --git a/apps/clients/chooser/postcss.config.cjs b/apps/clients/chooser/postcss.config.cjs
new file mode 100644
index 00000000..9252ed4c
--- /dev/null
+++ b/apps/clients/chooser/postcss.config.cjs
@@ -0,0 +1,6 @@
+/* eslint-disable */
+module.exports = {
+ plugins: {
+ tailwindcss: {},
+ },
+};
diff --git a/apps/clients/chooser/public/favicon.ico b/apps/clients/chooser/public/favicon.ico
new file mode 100644
index 00000000..9b687487
Binary files /dev/null and b/apps/clients/chooser/public/favicon.ico differ
diff --git a/apps/clients/chooser/src/App.tsx b/apps/clients/chooser/src/App.tsx
new file mode 100644
index 00000000..923c96ee
--- /dev/null
+++ b/apps/clients/chooser/src/App.tsx
@@ -0,0 +1,58 @@
+import { useState } from "react";
+import { ParticipantProvider } from "@/context/participant-context";
+import { ServerSettingProvider } from "@/context/server-setting";
+import MainPage from "@/routes/main-page";
+import VotePage from "@/routes/vote-page";
+import { api } from "@/utils/api";
+import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
+import { httpBatchLink } from "@trpc/client";
+import { createBrowserRouter, RouterProvider } from "react-router-dom";
+import superjson from "superjson";
+
+import { env } from "./env";
+
+const router = createBrowserRouter([
+ {
+ path: "/",
+ element: ,
+ },
+ {
+ path: "vote",
+ element: ,
+ },
+]);
+
+const getBaseUrl = () => {
+ if (!env.VITE_IS_DOCKER && env.VITE_TRPC_URL) return env.VITE_TRPC_URL;
+
+ if (import.meta.env.DEV && !env.VITE_IS_DOCKER && !env.VITE_TRPC_URL)
+ return "http://localhost:3000/api/trpc";
+
+ return "/api/trpc";
+};
+
+export default function App() {
+ const [queryClient] = useState(() => new QueryClient());
+ const [trpcClient] = useState(() =>
+ api.createClient({
+ links: [
+ httpBatchLink({
+ url: getBaseUrl(),
+ transformer: superjson,
+ }),
+ ],
+ }),
+ );
+
+ return (
+
+
+
+
+
+
+
+
+
+ );
+}
diff --git a/apps/clients/chooser/src/components/scanner/index.tsx b/apps/clients/chooser/src/components/scanner/index.tsx
new file mode 100644
index 00000000..a4b8cdd8
--- /dev/null
+++ b/apps/clients/chooser/src/components/scanner/index.tsx
@@ -0,0 +1,54 @@
+import { useCallback, useState } from "react";
+import { useParticipant } from "@/context/participant-context";
+import { api } from "@/utils/api";
+import { Navigate } from "react-router-dom";
+
+import { UniversalError } from "../universal-error";
+import { UniversalLoading } from "../universal-loading";
+import { MainScanner } from "./main-scanner";
+
+export function ScannerComponent() {
+ const { qrId, setQRCode } = useParticipant();
+
+ const [isQrInvalid, setInvalidQr] = useState(false);
+
+ const participantAttended =
+ api.clientConsumer.checkParticipantAttended.useMutation({
+ onSuccess() {
+ setQRCode(participantAttended.variables!);
+ },
+ });
+
+ const setIsQrValid = useCallback(
+ (invalid: boolean) => setInvalidQr(invalid),
+ [],
+ );
+ const mutateData = useCallback(
+ (qrId: string) => participantAttended.mutate(qrId),
+ [participantAttended],
+ );
+
+ if (qrId) return ;
+
+ if (participantAttended.isPending)
+ return (
+
+ );
+
+ if (isQrInvalid || participantAttended.isError)
+ return (
+
+ );
+
+ return ;
+}
diff --git a/apps/clients/chooser/src/components/scanner/main-scanner.tsx b/apps/clients/chooser/src/components/scanner/main-scanner.tsx
new file mode 100644
index 00000000..fa910d6b
--- /dev/null
+++ b/apps/clients/chooser/src/components/scanner/main-scanner.tsx
@@ -0,0 +1,74 @@
+import { useEffect, useRef } from "react";
+import { motion } from "framer-motion";
+import QrScanner from "qr-scanner";
+
+import { validateId } from "@sora-vp/id-generator";
+import { toast } from "@sora-vp/ui/toast";
+
+export function MainScanner({
+ setInvalidQr,
+ mutateData,
+}: {
+ setInvalidQr: (invalid: boolean) => void;
+ mutateData: (qrId: string) => void;
+}) {
+ const videoRef = useRef(null!);
+
+ useEffect(() => {
+ const qrScanner = new QrScanner(
+ videoRef.current,
+ ({ data }) => {
+ if (data || data !== "") {
+ qrScanner.stop();
+
+ const isValidQr = validateId(data);
+
+ if (!isValidQr) return setInvalidQr(true);
+
+ mutateData(data);
+ }
+ },
+ {
+ highlightCodeOutline: true,
+ highlightScanRegion: true,
+ onDecodeError: (error) => {
+ if (error instanceof Error)
+ toast.error("Terjadi kegagalan dalam memindai gambar QR.", {
+ description: `Error: ${error.message}`,
+ });
+ },
+ },
+ );
+
+ qrScanner.start();
+
+ return () => {
+ qrScanner.destroy();
+ };
+ }, []);
+
+ return (
+
+
+ Mohon arahkan QR ke kotak kuning
+
+
+
+ );
+}
diff --git a/apps/clients/chooser/src/components/universal-error.tsx b/apps/clients/chooser/src/components/universal-error.tsx
new file mode 100644
index 00000000..d619afae
--- /dev/null
+++ b/apps/clients/chooser/src/components/universal-error.tsx
@@ -0,0 +1,71 @@
+import { motion } from "framer-motion";
+import { RotateCcw } from "lucide-react";
+
+import { Button } from "@sora-vp/ui/button";
+
+export function UniversalError(props: {
+ title: string;
+ description: string;
+ errorMessage?: string;
+}) {
+ return (
+
+
+
+ {props.title}
+
+
+ {props.description}
+
+
+
+ {props.errorMessage ? (
+
+ Pesan Error:
+ {}
+
+ ) : null}
+
+
location.reload()}>
+
+
+
+ Muat Ulang
+
+
+ );
+}
diff --git a/apps/clients/chooser/src/components/universal-loading.tsx b/apps/clients/chooser/src/components/universal-loading.tsx
new file mode 100644
index 00000000..96ceb43e
--- /dev/null
+++ b/apps/clients/chooser/src/components/universal-loading.tsx
@@ -0,0 +1,29 @@
+import { motion } from "framer-motion";
+import { Loader } from "lucide-react";
+
+export function UniversalLoading(props: {
+ title: string;
+ description: string;
+}) {
+ return (
+
+
+
+
+
+ {props.title}
+
+
{props.description}
+
+
+ );
+}
diff --git a/apps/clients/chooser/src/context/participant-context.tsx b/apps/clients/chooser/src/context/participant-context.tsx
new file mode 100644
index 00000000..a66f1ccc
--- /dev/null
+++ b/apps/clients/chooser/src/context/participant-context.tsx
@@ -0,0 +1,144 @@
+import {
+ createContext,
+ useCallback,
+ useContext,
+ useMemo,
+ useState,
+} from "react";
+import { UniversalError } from "@/components/universal-error";
+import { api } from "@/utils/api";
+import { motion } from "framer-motion";
+import { Navigate } from "react-router-dom";
+
+export interface IParticipantContext {
+ name: string | null;
+ subpart: string | null;
+ qrId: string | null;
+ setQRCode: (qr: string | null) => void;
+ setVotedSuccessfully: (success: boolean) => void;
+}
+
+export const ParticipantContext = createContext(
+ {} as IParticipantContext,
+);
+
+export const ParticipantProvider = ({
+ children,
+}: {
+ children: React.ReactNode;
+}) => {
+ const [qrId, setQrId] = useState(null);
+ const [votedSuccessfully, setVoted] = useState(false);
+
+ const participantQuery = api.clientConsumer.getParticipantStatus.useQuery(
+ qrId as string,
+ {
+ refetchInterval: 2500,
+ enabled: !!qrId && !votedSuccessfully,
+ },
+ );
+
+ const setQRCode = useCallback((qr: string | null) => setQrId(qr), []);
+ const setVotedSuccessfully = useCallback(
+ (success: boolean) => setVoted(success),
+ [],
+ );
+
+ const propsValue = useMemo(() => {
+ if (!qrId)
+ return {
+ name: null,
+ subpart: null,
+ qrId,
+ setQRCode,
+ setVotedSuccessfully,
+ };
+
+ return {
+ name: participantQuery.data?.name ?? null,
+ subpart: participantQuery.data?.subpart ?? null,
+ qrId,
+ setQRCode,
+ setVotedSuccessfully,
+ };
+ }, [qrId, participantQuery.data]);
+
+ if (
+ !!qrId &&
+ participantQuery.isFetched &&
+ !participantQuery.data?.alreadyAttended
+ )
+ return (
+ <>
+
+
+ location.reload()}
+ >
+ ᮞᮧᮛ
+
+
+
+ v{APP_VERSION}
+
+ >
+ );
+
+ if (
+ !!qrId &&
+ participantQuery.isFetched &&
+ participantQuery.data?.alreadyChoosing
+ )
+ return (
+ <>
+
+
+ location.reload()}
+ >
+ ᮞᮧᮛ
+
+
+
+ v{APP_VERSION}
+
+ >
+ );
+
+ return (
+
+ {children}
+
+ );
+};
+
+export const useParticipant = () =>
+ useContext(ParticipantContext) as IParticipantContext;
+
+export const ensureQRIDExist = (Element: React.FC) => () => {
+ const { qrId } = useParticipant();
+
+ if (!qrId) return ;
+
+ return ;
+};
diff --git a/apps/clients/chooser/src/context/server-setting.tsx b/apps/clients/chooser/src/context/server-setting.tsx
new file mode 100644
index 00000000..7a85b3af
--- /dev/null
+++ b/apps/clients/chooser/src/context/server-setting.tsx
@@ -0,0 +1,134 @@
+import { createContext, useContext, useEffect, useMemo, useState } from "react";
+import { UniversalError } from "@/components/universal-error";
+import { api } from "@/utils/api";
+import { motion } from "framer-motion";
+import { Loader } from "lucide-react";
+
+import { useParticipant } from "./participant-context";
+
+interface ISettingContext {
+ canVote: boolean;
+}
+
+export const ServerSettingContext = createContext(
+ {} as ISettingContext,
+);
+
+export const ServerSettingProvider = ({
+ children,
+}: {
+ children: React.ReactNode;
+}) => {
+ const { qrId, setQRCode } = useParticipant();
+
+ const [errorMessage, setErrorMessage] = useState("");
+
+ const settingsQuery = api.clientConsumer.settings.useQuery(undefined, {
+ refetchInterval: 2500,
+ refetchIntervalInBackground: true,
+ });
+
+ useEffect(() => {
+ if (settingsQuery.error) setErrorMessage(settingsQuery.error.message);
+ }, [settingsQuery.error]);
+
+ const propsValue = useMemo(() => {
+ if (!settingsQuery.data)
+ return {
+ canVote: false,
+ };
+
+ const result = settingsQuery.data;
+
+ const waktuMulai = result.startTime ? result.startTime.getTime() : null;
+ const waktuSelesai = result.endTime ? result.endTime.getTime() : null;
+
+ const currentTime = new Date().getTime();
+
+ const canVote =
+ (waktuMulai as number) <= currentTime &&
+ (waktuSelesai as number) >= currentTime &&
+ result.canVote;
+
+ if (!canVote && qrId) setQRCode(null);
+
+ return {
+ canVote,
+ };
+ }, [settingsQuery.data]);
+
+ if (settingsQuery.errorUpdateCount > 0)
+ return (
+ <>
+
+
+ location.reload()}
+ >
+ ᮞᮧᮛ
+
+
+
+ v{APP_VERSION}
+
+ >
+ );
+
+ if (settingsQuery.isLoading)
+ return (
+ <>
+
+ location.reload()}
+ >
+ ᮞᮧᮛ
+
+
+
+
+
+ v{APP_VERSION}
+
+ >
+ );
+
+ return (
+
+ {children}
+
+ location.reload()}
+ >
+ ᮞᮧᮛ
+
+
+
+ v{APP_VERSION}
+
+
+ );
+};
+
+export const useServerSetting = () =>
+ useContext(ServerSettingContext) as ISettingContext;
diff --git a/apps/clients/chooser/src/env.ts b/apps/clients/chooser/src/env.ts
new file mode 100644
index 00000000..ce8e24ff
--- /dev/null
+++ b/apps/clients/chooser/src/env.ts
@@ -0,0 +1,37 @@
+import { createEnv } from "@t3-oss/env-core";
+import { z } from "zod";
+
+export const env = createEnv({
+ /**
+ * The prefix that client-side variables must have. This is enforced both at
+ * a type-level and at runtime.
+ */
+ clientPrefix: "VITE_",
+
+ client: {
+ VITE_IS_DOCKER: z.optional(z.coerce.boolean()),
+ VITE_TRPC_URL: z.optional(z.string().url()),
+ VITE_IMAGE_RETRIEVER: z.optional(z.string().url()),
+ },
+
+ /**
+ * What object holds the environment variables at runtime. This is usually
+ * `process.env` or `import.meta.env`.
+ */
+ runtimeEnv: import.meta.env,
+
+ /**
+ * By default, this library will feed the environment variables directly to
+ * the Zod validator.
+ *
+ * This means that if you have an empty string for a value that is supposed
+ * to be a number (e.g. `PORT=` in a ".env" file), Zod will incorrectly flag
+ * it as a type mismatch violation. Additionally, if you have an empty string
+ * for a value that is supposed to be a string with a default value (e.g.
+ * `DOMAIN=` in an ".env" file), the default value will never be applied.
+ *
+ * In order to solve these issues, we recommend that all new projects
+ * explicitly specify this option as true.
+ */
+ emptyStringAsUndefined: true,
+});
diff --git a/apps/clients/chooser/src/index.css b/apps/clients/chooser/src/index.css
new file mode 100644
index 00000000..88e338ee
--- /dev/null
+++ b/apps/clients/chooser/src/index.css
@@ -0,0 +1,50 @@
+@tailwind base;
+@tailwind components;
+@tailwind utilities;
+
+@layer base {
+ :root {
+ --background: 0 0% 100%;
+ --foreground: 240 10% 3.9%;
+ --card: 0 0% 100%;
+ --card-foreground: 240 10% 3.9%;
+ --popover: 0 0% 100%;
+ --popover-foreground: 240 10% 3.9%;
+ --primary: 240 5.9% 10%;
+ --primary-foreground: 0 0% 98%;
+ --secondary: 240 4.8% 95.9%;
+ --secondary-foreground: 240 5.9% 10%;
+ --muted: 240 4.8% 95.9%;
+ --muted-foreground: 240 3.8% 46.1%;
+ --accent: 240 4.8% 95.9%;
+ --accent-foreground: 240 5.9% 10%;
+ --destructive: 0 84.2% 60.2%;
+ --destructive-foreground: 0 0% 98%;
+ --border: 240 5.9% 90%;
+ --input: 240 5.9% 90%;
+ --ring: 240 5.9% 10%;
+ --radius: 0.5rem;
+ }
+
+ .dark {
+ --background: 240 10% 3.9%;
+ --foreground: 0 0% 98%;
+ --card: 240 10% 3.9%;
+ --card-foreground: 0 0% 98%;
+ --popover: 240 10% 3.9%;
+ --popover-foreground: 0 0% 98%;
+ --primary: 0 0% 98%;
+ --primary-foreground: 240 5.9% 10%;
+ --secondary: 240 3.7% 15.9%;
+ --secondary-foreground: 0 0% 98%;
+ --muted: 240 3.7% 15.9%;
+ --muted-foreground: 240 5% 64.9%;
+ --accent: 240 3.7% 15.9%;
+ --accent-foreground: 0 0% 98%;
+ --destructive: 0 62.8% 30.6%;
+ --destructive-foreground: 0 0% 98%;
+ --border: 240 3.7% 15.9%;
+ --input: 240 3.7% 15.9%;
+ --ring: 240 4.9% 83.9%;
+ }
+}
diff --git a/apps/clients/chooser/src/main.tsx b/apps/clients/chooser/src/main.tsx
new file mode 100644
index 00000000..1b903b82
--- /dev/null
+++ b/apps/clients/chooser/src/main.tsx
@@ -0,0 +1,22 @@
+import React from "react";
+import ReactDOM from "react-dom/client";
+
+import App from "./App";
+
+import "non.geist";
+import "non.geist/mono";
+import "@fontsource-variable/noto-sans-sundanese";
+import "./index.css";
+
+import { AnimatePresence } from "framer-motion";
+
+import { Toaster } from "@sora-vp/ui/toast";
+
+ReactDOM.createRoot(document.getElementById("root")!).render(
+
+
+
+
+
+ ,
+);
diff --git a/apps/clients/chooser/src/routes/main-page.tsx b/apps/clients/chooser/src/routes/main-page.tsx
new file mode 100644
index 00000000..3c511709
--- /dev/null
+++ b/apps/clients/chooser/src/routes/main-page.tsx
@@ -0,0 +1,26 @@
+import { ScannerComponent } from "@/components/scanner";
+import { useServerSetting } from "@/context/server-setting";
+import { motion } from "framer-motion";
+
+export default function MainPage() {
+ const { canVote } = useServerSetting();
+
+ if (!canVote)
+ return (
+
+
+ Belum Bisa Memilih!
+
+
+ );
+
+ return ;
+}
diff --git a/apps/clients/chooser/src/routes/setting-page.tsx b/apps/clients/chooser/src/routes/setting-page.tsx
new file mode 100644
index 00000000..e69de29b
diff --git a/apps/clients/chooser/src/routes/vote-page.tsx b/apps/clients/chooser/src/routes/vote-page.tsx
new file mode 100644
index 00000000..32cd9362
--- /dev/null
+++ b/apps/clients/chooser/src/routes/vote-page.tsx
@@ -0,0 +1,325 @@
+import { useCallback, useEffect, useMemo, useState } from "react";
+import { UniversalError } from "@/components/universal-error";
+import { ensureQRIDExist, useParticipant } from "@/context/participant-context";
+import { env } from "@/env";
+import { api } from "@/utils/api";
+import { successTimeoutAtom } from "@/utils/atom";
+import { motion } from "framer-motion";
+import { useAtomValue } from "jotai";
+import { Loader2 } from "lucide-react";
+
+import { cn } from "@sora-vp/ui";
+import {
+ AlertDialog,
+ AlertDialogAction,
+ AlertDialogCancel,
+ AlertDialogContent,
+ AlertDialogDescription,
+ AlertDialogFooter,
+ AlertDialogHeader,
+ AlertDialogTitle,
+} from "@sora-vp/ui/alert-dialog";
+import { Button } from "@sora-vp/ui/button";
+import {
+ Card,
+ CardContent,
+ CardDescription,
+ CardFooter,
+ CardHeader,
+ CardTitle,
+} from "@sora-vp/ui/card";
+import { Skeleton } from "@sora-vp/ui/skeleton";
+
+const CurrentParticipantInfo = (props: { isSuccess?: boolean }) => {
+ const { name, subpart, qrId } = useParticipant();
+
+ return (
+ <>
+
+ {name ? (
+
+ {name}
+
+ ) : null}
+ {subpart ? (
+
+ {subpart}
+
+ ) : null}
+
+
+ {qrId ? (
+
+ {qrId}
+
+ ) : null}
+
+ >
+ );
+};
+
+function VotePage() {
+ const { qrId, setQRCode, setVotedSuccessfully } = useParticipant();
+
+ const successTimeout = useAtomValue(successTimeoutAtom);
+
+ const [errorMessage, setErrorMessage] = useState("");
+
+ // Untuk keperluan pemilihan
+ const [alertOpen, setAlertOpen] = useState(false);
+ const [currentID, setID] = useState(null);
+
+ const candidateList = api.clientConsumer.getCandidates.useQuery();
+ const upvoteCandidate = api.clientConsumer.upvote.useMutation({
+ onSuccess() {
+ setVotedSuccessfully(true);
+
+ setTimeout(() => {
+ setQRCode(null);
+
+ setVotedSuccessfully(false);
+ }, successTimeout);
+ },
+ onError() {
+ setAlertOpen(false);
+ setID(null);
+ },
+ });
+
+ const candidateName = useMemo(
+ () =>
+ currentID
+ ? candidateList.data?.find((c) => c.id === currentID)?.name
+ : "N/A",
+ [currentID, candidateList.data],
+ );
+
+ const chooseCandidate = useCallback(() => {
+ if (qrId && currentID) {
+ upvoteCandidate.mutate({
+ id: currentID,
+ qrId,
+ });
+ }
+ }, [currentID, qrId]);
+
+ useEffect(() => {
+ if (candidateList.error) setErrorMessage(candidateList.error.message);
+ }, [candidateList.error]);
+
+ if (upvoteCandidate.isSuccess)
+ return (
+ <>
+
+
+
+ Data berhasil terekam!
+
+
+ Silahkan keluar dari bilik suara dan melakukan cap jari.
+
+
+
+
+ >
+ );
+
+ if (upvoteCandidate.isError)
+ return (
+ <>
+
+
+ >
+ );
+
+ if (candidateList.errorUpdateCount > 0)
+ return (
+ <>
+
+
+ >
+ );
+
+ return (
+ <>
+
+
+ Pilih Kandidat Anda.
+
+
+ {candidateList.isLoading ? (
+
+ {Array.from({ length: 5 }).map((_, idx) => (
+
+ ))}
+
+ ) : (
+ <>
+ {candidateList.data && candidateList.data?.length < 2 ? (
+
+
+ Belum Ada Kandidat
+
+
+ Mohon informasikan administrator untuk menambahkan data
+ kandidat supaya anda dan yang lain bisa memilih.
+
+
+ ) : (
+
+ {candidateList.data?.map((candidate, idx) => (
+
+
+
+
+
+
+ Kandidat Nomor {idx + 1}
+
+
+ {candidate.name}
+
+
+
+ {
+ setID(candidate.id);
+ setAlertOpen(true);
+ }}
+ >
+ Pilih
+
+
+
+ ))}
+
+ )}
+ >
+ )}
+
+
+ setAlertOpen((prev) => !prev)}
+ >
+ e.preventDefault()}
+ className="max-w-4xl gap-7"
+ >
+
+
+ Sebelum anda melanjutkan...
+
+
+ Apakah anda yakin memilih kandidat atas nama{" "}
+ {candidateName} ?
+
+
+
+ setID(null)}
+ >
+ Batal
+
+
+ {upvoteCandidate.isPending ? (
+
+ ) : null}
+ Lanjutkan
+
+
+
+
+
+
+ >
+ );
+}
+
+export default ensureQRIDExist(VotePage);
diff --git a/apps/clients/chooser/src/utils/api.tsx b/apps/clients/chooser/src/utils/api.tsx
new file mode 100644
index 00000000..a32c466e
--- /dev/null
+++ b/apps/clients/chooser/src/utils/api.tsx
@@ -0,0 +1,4 @@
+import type { AppRouter } from "@sora-vp/api";
+import { createTRPCReact } from "@trpc/react-query";
+
+export const api = createTRPCReact();
diff --git a/apps/clients/chooser/src/utils/atom.ts b/apps/clients/chooser/src/utils/atom.ts
new file mode 100644
index 00000000..8303937d
--- /dev/null
+++ b/apps/clients/chooser/src/utils/atom.ts
@@ -0,0 +1,3 @@
+import { atomWithStorage } from "jotai/utils";
+
+export const successTimeoutAtom = atomWithStorage("successTimeout", 10_000);
diff --git a/apps/clients/chooser/src/vite-env.d.ts b/apps/clients/chooser/src/vite-env.d.ts
new file mode 100644
index 00000000..fe15b4fa
--- /dev/null
+++ b/apps/clients/chooser/src/vite-env.d.ts
@@ -0,0 +1,3 @@
+///
+
+declare const APP_VERSION: string;
diff --git a/apps/clients/chooser/tailwind.config.ts b/apps/clients/chooser/tailwind.config.ts
new file mode 100644
index 00000000..3ce00ccf
--- /dev/null
+++ b/apps/clients/chooser/tailwind.config.ts
@@ -0,0 +1,20 @@
+import type { Config } from "tailwindcss";
+import { fontFamily } from "tailwindcss/defaultTheme";
+
+import baseConfig from "@sora-vp/tailwind-config/web";
+
+export default {
+ // We need to append the path to the UI package to the content array so that
+ // those classes are included correctly.
+ content: [...baseConfig.content, "../../../packages/ui/**/*.{ts,tsx}"],
+ presets: [baseConfig],
+ theme: {
+ extend: {
+ fontFamily: {
+ sans: ["Geist Variable", ...fontFamily.sans],
+ mono: ["Geist Mono Variable", ...fontFamily.mono],
+ sundanese: ["'Noto Sans Sundanese Variable'", "sans-serif"],
+ },
+ },
+ },
+} satisfies Config;
diff --git a/apps/clients/chooser/tsconfig.app.json b/apps/clients/chooser/tsconfig.app.json
new file mode 100644
index 00000000..c1adde8e
--- /dev/null
+++ b/apps/clients/chooser/tsconfig.app.json
@@ -0,0 +1,33 @@
+{
+ "compilerOptions": {
+ "composite": true,
+ "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
+ "target": "ES2020",
+ "useDefineForClassFields": true,
+ "lib": ["ES2020", "DOM", "DOM.Iterable"],
+ "module": "ESNext",
+ "skipLibCheck": true,
+
+ /* Bundler mode */
+ "moduleResolution": "bundler",
+ "allowImportingTsExtensions": true,
+ "resolveJsonModule": true,
+ "isolatedModules": true,
+ "moduleDetection": "force",
+ "noEmit": true,
+ "jsx": "react-jsx",
+
+ /* Linting */
+ "strict": true,
+ "noUnusedLocals": true,
+ "noUnusedParameters": true,
+ "noFallthroughCasesInSwitch": true,
+
+ /* Absolute Import */
+ "baseUrl": "./",
+ "paths": {
+ "@/*": ["src/*"]
+ }
+ },
+ "include": ["src"]
+}
diff --git a/apps/clients/chooser/tsconfig.json b/apps/clients/chooser/tsconfig.json
new file mode 100644
index 00000000..ea9d0cd8
--- /dev/null
+++ b/apps/clients/chooser/tsconfig.json
@@ -0,0 +1,11 @@
+{
+ "files": [],
+ "references": [
+ {
+ "path": "./tsconfig.app.json"
+ },
+ {
+ "path": "./tsconfig.node.json"
+ }
+ ]
+}
diff --git a/apps/clients/chooser/tsconfig.node.json b/apps/clients/chooser/tsconfig.node.json
new file mode 100644
index 00000000..3afdd6e3
--- /dev/null
+++ b/apps/clients/chooser/tsconfig.node.json
@@ -0,0 +1,13 @@
+{
+ "compilerOptions": {
+ "composite": true,
+ "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo",
+ "skipLibCheck": true,
+ "module": "ESNext",
+ "moduleResolution": "bundler",
+ "allowSyntheticDefaultImports": true,
+ "strict": true,
+ "noEmit": true
+ },
+ "include": ["vite.config.ts"]
+}
diff --git a/apps/clients/chooser/vite.config.ts b/apps/clients/chooser/vite.config.ts
new file mode 100644
index 00000000..290e1edb
--- /dev/null
+++ b/apps/clients/chooser/vite.config.ts
@@ -0,0 +1,14 @@
+import react from "@vitejs/plugin-react-swc";
+import { defineConfig } from "vite";
+
+// https://vitejs.dev/config/
+export default defineConfig({
+ plugins: [react()],
+ define: {
+ // eslint-disable-next-line no-restricted-properties
+ APP_VERSION: JSON.stringify(process.env.npm_package_version),
+ },
+ resolve: {
+ alias: [{ find: "@", replacement: "/src" }],
+ },
+});
diff --git a/apps/processor/.gitignore b/apps/processor/.gitignore
new file mode 100644
index 00000000..96e6f0b3
--- /dev/null
+++ b/apps/processor/.gitignore
@@ -0,0 +1 @@
+processor.log
diff --git a/apps/processor/package.json b/apps/processor/package.json
index dc11a714..29c0aa10 100644
--- a/apps/processor/package.json
+++ b/apps/processor/package.json
@@ -6,21 +6,24 @@
"scripts": {
"build": "tsup",
"clean": "rm -rf .turbo node_modules",
- "dev": "yarn with-env tsx src/index.ts",
+ "dev": "yarn with-env tsx watch src/index.ts",
"lint": "eslint",
"format": "prettier --check . --ignore-path ../../.gitignore",
"typecheck": "tsc --noEmit",
"with-env": "dotenv -e ../../.env --"
},
"dependencies": {
+ "@sora-vp/api": "*",
"@sora-vp/db": "*",
"@sora-vp/id-generator": "*",
+ "@t3-oss/env-core": "^0.10.1",
"@trpc/client": "11.0.0-rc.364",
"@trpc/server": "11.0.0-rc.364",
"amqplib": "^0.10.4",
"pino": "^9.0.0",
"pino-pretty": "^11.0.0",
- "superjson": "2.2.1"
+ "superjson": "2.2.1",
+ "zod": "^3.23.8"
},
"devDependencies": {
"@sora-vp/eslint-config": "*",
@@ -30,7 +33,7 @@
"@types/amqplib": "^0",
"@types/node": "^20.12.9",
"dotenv-cli": "^7.4.1",
- "eslint": "^9.2.0",
+ "eslint": "^9.6.0",
"prettier": "^3.2.5",
"tsup": "^8.1.0",
"tsx": "^4.9.4",
diff --git a/apps/processor/src/api.ts b/apps/processor/src/api.ts
new file mode 100644
index 00000000..323b45ae
--- /dev/null
+++ b/apps/processor/src/api.ts
@@ -0,0 +1,17 @@
+import type { AppRouter } from "@sora-vp/api";
+import type { inferRouterOutputs } from "@trpc/server";
+import { createTRPCProxyClient, httpLink } from "@trpc/client";
+import superjson from "superjson";
+
+import { env } from "./env";
+
+export const api = createTRPCProxyClient({
+ links: [
+ httpLink({
+ url: env.PROCESSOR_API_URL,
+ transformer: superjson,
+ }),
+ ],
+});
+
+export type RouterOutputs = inferRouterOutputs;
diff --git a/apps/processor/src/env.ts b/apps/processor/src/env.ts
new file mode 100644
index 00000000..8dbdb832
--- /dev/null
+++ b/apps/processor/src/env.ts
@@ -0,0 +1,16 @@
+import { createEnv } from "@t3-oss/env-core";
+import { z } from "zod";
+
+export const env = createEnv({
+ clientPrefix: "",
+ client: {},
+
+ server: {
+ AMQP_URL: z.string().url(),
+ PROCESSOR_API_URL: z.string().url(),
+ },
+
+ runtimeEnv: process.env,
+ emptyStringAsUndefined: true,
+ skipValidation: !!process.env.CI || !!process.env.SKIP_ENV_VALIDATION,
+});
diff --git a/apps/processor/src/index.ts b/apps/processor/src/index.ts
index 3f004477..32fb559e 100644
--- a/apps/processor/src/index.ts
+++ b/apps/processor/src/index.ts
@@ -1 +1,229 @@
-console.log("init processor");
+/* eslint-disable @typescript-eslint/no-unsafe-argument */
+/* eslint-disable @typescript-eslint/no-unsafe-assignment */
+/* eslint-disable @typescript-eslint/no-misused-promises */
+import amqp from "amqplib";
+import { z } from "zod";
+
+import { db, eq, schema, sql } from "@sora-vp/db";
+import { validateId } from "@sora-vp/id-generator";
+
+import { api } from "./api";
+import { env } from "./env";
+import { logger } from "./logger";
+import { canVoteNow } from "./utils";
+
+const inputValidator = z.object({
+ id: z.number().positive(),
+ qrId: z.string().refine(validateId),
+});
+
+const consumeMessagesFromQueue = async () => {
+ try {
+ logger.debug(`[MQ] MQ AMQP: ${env.AMQP_URL}`);
+ logger.debug(`[TRPC] TRPC URL: ${env.PROCESSOR_API_URL}`);
+
+ logger.info("[MQ] Connecting to RabbitMQ instance");
+
+ const connection = await amqp.connect(env.AMQP_URL);
+ const channel = await connection.createChannel();
+
+ const exchange = "vote";
+ const queue = "vote_queue";
+ const routingKey = "vote_rpc";
+
+ await channel.assertExchange(exchange, "direct", { durable: true });
+ await channel.assertQueue(queue, { durable: true });
+ await channel.bindQueue(queue, exchange, routingKey);
+
+ logger.info("[MQ] Connected! Waiting for queue...");
+
+ await channel.consume(queue, async (msg) => {
+ if (!msg) {
+ logger.warn("Consumer has been cancelled or channel has been closed.");
+ return;
+ }
+
+ try {
+ const settings = await api.clientConsumer.settings.query();
+ const inVotingCondition = canVoteNow(settings);
+
+ const inputData = await inputValidator.safeParseAsync(
+ JSON.parse(msg.content.toString()),
+ );
+
+ if (!inputData.success) {
+ channel.sendToQueue(
+ msg.properties.replyTo,
+ Buffer.from(
+ JSON.stringify({
+ success: false,
+ message:
+ "Data yang dijadikam permintaan tidak sesuai dengan standar yang ditetapkan!",
+ }),
+ ),
+ { correlationId: msg.properties.correlationId },
+ );
+
+ channel.ack(msg);
+ logger.trace(`[MQ] Isn't a valid request data`);
+
+ return;
+ }
+
+ logger.info(`[MQ] New message! QR ID: ${inputData.data.qrId}`);
+
+ if (!inVotingCondition) {
+ channel.sendToQueue(
+ msg.properties.replyTo,
+ Buffer.from(
+ JSON.stringify({
+ success: false,
+ message:
+ "Tidak bisa memilih kandidat jika bukan dalam kondisi pemilihan!",
+ }),
+ ),
+ { correlationId: msg.properties.correlationId },
+ );
+
+ channel.ack(msg);
+ logger.trace(
+ `[MQ] Isn't a valid time yet for voting. QR ID: ${inputData.data.qrId}`,
+ );
+
+ return;
+ }
+
+ await db.transaction(async (tx) => {
+ const participantRawQuery = await tx.execute(
+ sql`SELECT * FROM ${schema.participants} WHERE ${schema.participants.qrId} = ${inputData.data.qrId} FOR UPDATE`,
+ );
+
+ const participantContainer = participantRawQuery.at(0) as unknown as {
+ name: string;
+ already_attended: number;
+ already_choosing: number;
+ qr_id: string;
+ sub_part: string;
+ }[];
+
+ const participant = participantContainer.at(0);
+
+ if (!participant) {
+ channel.sendToQueue(
+ msg.properties.replyTo,
+ Buffer.from(
+ JSON.stringify({
+ error: "Anda tidak terdaftar sebagai peserta!",
+ }),
+ ),
+ { correlationId: msg.properties.correlationId },
+ );
+
+ channel.ack(msg);
+ logger.trace(
+ `[MQ] Participant isn't exist. QR ID: ${inputData.data.qrId}`,
+ );
+
+ return;
+ }
+
+ if (participant.already_choosing === 1) {
+ channel.sendToQueue(
+ msg.properties.replyTo,
+ Buffer.from(JSON.stringify({ error: "Anda sudah memilih!" })),
+ { correlationId: msg.properties.correlationId },
+ );
+
+ channel.ack(msg);
+ logger.trace(
+ `[MQ] Participant already chosen someone. QR ID: ${inputData.data.qrId}`,
+ );
+
+ return;
+ }
+
+ if (participant.already_attended !== 1) {
+ channel.sendToQueue(
+ msg.properties.replyTo,
+ Buffer.from(JSON.stringify({ error: "Anda belum absen!" })),
+ { correlationId: msg.properties.correlationId },
+ );
+
+ channel.ack(msg);
+ logger.trace(
+ `[MQ] Participant isn't attended yet. QR ID: ${inputData.data.qrId}`,
+ );
+
+ return;
+ }
+
+ const candidateRawQuery = await tx.execute(
+ sql`SELECT count(*) AS candidate_must_one FROM ${schema.candidates} WHERE ${schema.candidates.id} = ${inputData.data.id} FOR UPDATE`,
+ );
+
+ const candidateContainer = candidateRawQuery.at(0) as unknown as {
+ candidate_must_one: number;
+ }[];
+
+ const candidate = candidateContainer.at(0);
+
+ if (candidate?.candidate_must_one !== 1) {
+ channel.sendToQueue(
+ msg.properties.replyTo,
+ Buffer.from(
+ JSON.stringify({ error: "Kandidat yang dipilih tidak ada!" }),
+ ),
+ { correlationId: msg.properties.correlationId },
+ );
+
+ channel.ack(msg);
+ logger.trace(
+ `[MQ] Candidate isn't exist. QR ID: ${inputData.data.qrId}`,
+ );
+
+ return;
+ }
+
+ await tx
+ .update(schema.candidates)
+ .set({
+ counter: sql`${schema.candidates.counter} + 1`,
+ })
+ .where(eq(schema.candidates.id, inputData.data.id));
+
+ await tx
+ .update(schema.participants)
+ .set({
+ alreadyChoosing: true,
+ choosingAt: new Date(),
+ })
+ .where(eq(schema.participants.qrId, inputData.data.qrId));
+ });
+
+ logger.info(`[MQ] Upvote! QR ID: ${inputData.data.qrId}`);
+
+ channel.sendToQueue(
+ msg.properties.replyTo,
+ Buffer.from(JSON.stringify({ success: true })),
+ { correlationId: msg.properties.correlationId },
+ );
+
+ channel.ack(msg);
+ } catch (error) {
+ logger.error(error);
+
+ channel.sendToQueue(
+ msg.properties.replyTo,
+ Buffer.from(JSON.stringify({ error: "Internal Server Error" })),
+ { correlationId: msg.properties.correlationId },
+ );
+
+ channel.ack(msg);
+ }
+ });
+ } catch (error) {
+ logger.error(error);
+ }
+};
+
+void consumeMessagesFromQueue();
diff --git a/apps/processor/src/logger.ts b/apps/processor/src/logger.ts
new file mode 100644
index 00000000..084a2478
--- /dev/null
+++ b/apps/processor/src/logger.ts
@@ -0,0 +1,29 @@
+import path from "path";
+import { fileURLToPath } from "url";
+import pino from "pino";
+
+const __filename = fileURLToPath(import.meta.url);
+const __dirname = path.dirname(__filename);
+
+export const logger = pino({
+ transport: {
+ targets: [
+ {
+ target: "pino-pretty",
+ level: "debug",
+ options: {
+ colorize: true,
+ ignore: "pid,hostname",
+ translateTime: "SYS:standard",
+ },
+ },
+ {
+ target: "pino/file",
+ level: "debug",
+ options: {
+ destination: path.join(__dirname, "..", "processor.log"),
+ },
+ },
+ ],
+ },
+});
diff --git a/apps/processor/src/utils.ts b/apps/processor/src/utils.ts
new file mode 100644
index 00000000..ea5206d1
--- /dev/null
+++ b/apps/processor/src/utils.ts
@@ -0,0 +1,19 @@
+import type { RouterOutputs } from "./api";
+
+type TSettings = RouterOutputs["clientConsumer"]["settings"];
+
+export const canVoteNow = (settings: TSettings) => {
+ const waktuMulai = settings.startTime ? settings.startTime.getTime() : null;
+ const waktuSelesai = settings.endTime ? settings.endTime.getTime() : null;
+
+ const currentTime = new Date().getTime();
+
+ const canVote =
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
+ waktuMulai! <= currentTime &&
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
+ waktuSelesai! >= currentTime &&
+ settings.canVote;
+
+ return canVote;
+};
diff --git a/apps/web/package.json b/apps/web/package.json
index b891a310..2087c410 100644
--- a/apps/web/package.json
+++ b/apps/web/package.json
@@ -30,15 +30,15 @@
"exceljs": "^4.4.0",
"geist": "^1.3.0",
"js-base64": "^3.7.7",
- "lucide-react": "^0.390.0",
+ "lucide-react": "^0.399.0",
"mime-types": "^2.1.35",
"next": "^14.2.3",
"qrcode": "^1.5.3",
- "react": "18.3.1",
- "react-dom": "18.3.1",
+ "react": "^18.3.1",
+ "react-dom": "^18.3.1",
"recharts": "^2.12.7",
"superjson": "2.2.1",
- "zod": "^3.23.6"
+ "zod": "^3.23.8"
},
"devDependencies": {
"@sora-vp/eslint-config": "*",
@@ -48,13 +48,13 @@
"@types/mime-types": "^2",
"@types/node": "^20.12.9",
"@types/qrcode": "^1",
- "@types/react": "^18.3.1",
+ "@types/react": "^18.3.3",
"@types/react-dom": "^18.3.0",
"dotenv-cli": "^7.4.1",
- "eslint": "^9.2.0",
+ "eslint": "^9.6.0",
"jiti": "^1.21.0",
"prettier": "^3.2.5",
- "tailwindcss": "^3.4.3",
+ "tailwindcss": "^3.4.4",
"typescript": "^5.4.5"
},
"prettier": "@sora-vp/prettier-config"
diff --git a/apps/web/public/favicon.ico b/apps/web/public/favicon.ico
index f0058b40..9b687487 100644
Binary files a/apps/web/public/favicon.ico and b/apps/web/public/favicon.ico differ
diff --git a/apps/web/public/sora.png b/apps/web/public/sora.png
new file mode 100644
index 00000000..f02274b5
Binary files /dev/null and b/apps/web/public/sora.png differ
diff --git a/apps/web/public/t3-icon.svg b/apps/web/public/t3-icon.svg
deleted file mode 100644
index e377165f..00000000
--- a/apps/web/public/t3-icon.svg
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/apps/web/src/env.ts b/apps/web/src/env.ts
index a25b5eba..b1d8f814 100644
--- a/apps/web/src/env.ts
+++ b/apps/web/src/env.ts
@@ -21,6 +21,7 @@ export const env = createEnv({
DB_NAME: z.string(),
DB_PASSWORD: z.string(),
DB_USERNAME: z.string(),
+ AMQP_URL: z.string().url(),
},
/**
diff --git a/docker-compose.yml b/docker-compose.yml
deleted file mode 100644
index 6783ec95..00000000
--- a/docker-compose.yml
+++ /dev/null
@@ -1,43 +0,0 @@
-version: "3.8"
-services:
- db:
- image: mysql:latest
- cap_add:
- - SYS_NICE
- restart: always
- environment:
- - MYSQL_DATABASE=sora
- - MYSQL_USER=tingyun
- - MYSQL_PASSWORD=majesticfoxian
- - MYSQL_ROOT_PASSWORD=sillylookingcat
- ports:
- - '3306:3306'
- healthcheck:
- test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost"]
- timeout: 20s
- retries: 10
- volumes:
- - db:/var/lib/mysql
- - ./db/init.sql:/docker-entrypoint-initdb.d/init.sql
-
- web:
- container_name: sora_web
- image: rmecha/sora-baseline-web:main
- restart: always
- depends_on:
- db:
- condition: service_healthy
- environment:
- DB_HOST: db
- DB_NAME: sora
- DB_USERNAME: tingyun
- DB_PASSWORD: majesticfoxian
- AUTH_SECRET: sdfjsklfjiuhr83uiwrew89323oriewf
- ports:
- - 0.0.0.0:3000:3000
- volumes:
- - web_uploads:/app/apps/web/public/uploads
-
-volumes:
- db:
- web_uploads:
diff --git a/package.json b/package.json
index ab72bbd7..16d78978 100644
--- a/package.json
+++ b/package.json
@@ -34,7 +34,9 @@
"prettier": "@sora-vp/prettier-config",
"packageManager": "yarn@4.2.2",
"workspaces": [
- "apps/*",
+ "apps/clients/*",
+ "apps/processor",
+ "apps/web",
"packages/*",
"tooling/*"
]
diff --git a/packages/api/package.json b/packages/api/package.json
index e54d4f28..5052a461 100644
--- a/packages/api/package.json
+++ b/packages/api/package.json
@@ -27,7 +27,7 @@
"bcrypt": "^5.1.1",
"mime-types": "^2.1.35",
"superjson": "2.2.1",
- "zod": "^3.23.6"
+ "zod": "^3.23.8"
},
"devDependencies": {
"@sora-vp/eslint-config": "*",
@@ -35,7 +35,7 @@
"@sora-vp/tsconfig": "*",
"@types/bcrypt": "^5",
"@types/mime-types": "^2",
- "eslint": "^9.2.0",
+ "eslint": "^9.6.0",
"prettier": "^3.2.5",
"typescript": "^5.4.5"
},
diff --git a/packages/api/src/root.ts b/packages/api/src/root.ts
index fb280532..d123df1a 100644
--- a/packages/api/src/root.ts
+++ b/packages/api/src/root.ts
@@ -1,6 +1,7 @@
import { adminRouter } from "./router/admin";
import { authRouter } from "./router/auth";
import { candidateRouter } from "./router/candidate";
+import { clientRouter } from "./router/client";
import { participantRouter } from "./router/participant";
import { settingsRouter } from "./router/settings";
import { statisticRouter } from "./router/statistic";
@@ -13,6 +14,7 @@ export const appRouter = createTRPCRouter({
statistic: statisticRouter,
settings: settingsRouter,
participant: participantRouter,
+ clientConsumer: clientRouter,
});
// export type definition of API
diff --git a/packages/api/src/router/client.ts b/packages/api/src/router/client.ts
new file mode 100644
index 00000000..61f10ea9
--- /dev/null
+++ b/packages/api/src/router/client.ts
@@ -0,0 +1,194 @@
+import type { TRPCRouterRecord } from "@trpc/server";
+import { TRPCError } from "@trpc/server";
+import amqp from "amqplib";
+
+import {
+ eq,
+ preparedGetCandidates,
+ preparedGetParticipantAttended,
+ preparedGetParticipantStatus,
+ schema,
+ sql,
+} from "@sora-vp/db";
+import settings, { canAttendNow } from "@sora-vp/settings";
+import { candidate, participant } from "@sora-vp/validators";
+
+import { publicProcedure } from "../trpc";
+
+const QUEUE_NAME = "vote_queue";
+
+export const clientRouter = {
+ settings: publicProcedure.query(() => {
+ const { canLogin: _, ...rest } = settings.getSettings();
+
+ return rest;
+ }),
+
+ participantAttend: publicProcedure
+ .input(participant.ParticipantAttendSchema)
+ .mutation(async ({ ctx, input }) =>
+ ctx.db.transaction(async (tx) => {
+ if (!canAttendNow())
+ throw new TRPCError({
+ code: "UNAUTHORIZED",
+ message: "Belum diperbolehkan untuk melakukan absensi!",
+ });
+
+ const participantRawQuery = await tx.execute(sql`
+ SELECT * FROM ${schema.participants} WHERE ${schema.participants.qrId} = ${input} FOR UPDATE
+ `);
+
+ const participantContainer = participantRawQuery.at(0) as unknown as {
+ name: string;
+ already_attended: boolean;
+ qr_id: string;
+ sub_part: string;
+ }[];
+
+ const participant = participantContainer.at(0);
+
+ if (!participant)
+ throw new TRPCError({
+ code: "NOT_FOUND",
+ message: "Peserta pemilihan tidak dapat ditemukan!",
+ });
+
+ if (participant.already_attended)
+ throw new TRPCError({
+ code: "BAD_REQUEST",
+ message: "Anda sudah absen!",
+ });
+
+ await tx
+ .update(schema.participants)
+ .set({
+ alreadyAttended: true,
+ attendedAt: new Date(),
+ })
+ .where(eq(schema.participants.qrId, input));
+
+ return {
+ name: participant.name,
+ qrId: participant.qr_id,
+ subpart: participant.sub_part,
+ };
+ }),
+ ),
+
+ checkParticipantAttended: publicProcedure
+ .input(participant.ParticipantAttendSchema)
+ .mutation(async ({ input }) => {
+ const participant = await preparedGetParticipantAttended.execute({
+ qrId: input,
+ });
+
+ if (!participant)
+ throw new TRPCError({
+ code: "NOT_FOUND",
+ message: "Peserta pemilihan tidak dapat ditemukan!",
+ });
+
+ if (participant.alreadyChoosing)
+ throw new TRPCError({
+ code: "BAD_REQUEST",
+ message: "Anda sudah memilih kandidat!",
+ });
+
+ if (!participant.alreadyAttended)
+ throw new TRPCError({
+ code: "BAD_REQUEST",
+ message: "Anda belum absen!",
+ });
+ }),
+
+ getParticipantStatus: publicProcedure
+ .input(participant.ParticipantAttendSchema)
+ .query(({ input }) =>
+ preparedGetParticipantStatus.execute({ qrId: input }),
+ ),
+
+ getCandidates: publicProcedure.query(() => preparedGetCandidates.execute()),
+
+ upvote: publicProcedure
+ .input(candidate.ServerUpvoteCandidate)
+ .mutation(async ({ input }) => {
+ try {
+ // Sudah di cek oleh env.ts pada runtime next js,
+ // tinggal ambil value dari process.env saja
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
+ const connection = await amqp.connect(process.env.AMQP_URL!);
+
+ try {
+ const messageFromQueue: { success: boolean; message?: string } =
+ // eslint-disable-next-line @typescript-eslint/no-misused-promises, no-async-promise-executor
+ await new Promise(async (resolve, reject) => {
+ const channel = await connection.createChannel();
+
+ const { queue } = await channel.assertQueue(QUEUE_NAME, {
+ durable: true,
+ });
+
+ const payload = JSON.stringify(input);
+
+ const response = await channel.assertQueue("");
+ const correlationId = response.queue;
+
+ // eslint-disable-next-line @typescript-eslint/no-misused-promises
+ const timeout = setTimeout(async () => {
+ await channel.deleteQueue(QUEUE_NAME);
+ await channel.close();
+
+ reject(
+ new Error("Timeout: No response received from consumer."),
+ );
+ }, 30_000);
+
+ await channel.consume(
+ correlationId,
+ (msg) => {
+ if (!msg) {
+ reject(
+ "Publisher has been cancelled or channel has been closed.",
+ );
+ return;
+ }
+
+ if (msg.properties.correlationId === correlationId) {
+ clearTimeout(timeout);
+
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
+ resolve(JSON.parse(msg.content.toString()));
+ channel.ack(msg);
+ }
+ },
+ { noAck: true },
+ );
+
+ channel.sendToQueue(queue, Buffer.from(payload), {
+ correlationId,
+ replyTo: correlationId,
+ });
+ });
+
+ if (!messageFromQueue.success)
+ throw new TRPCError({
+ code: "BAD_REQUEST",
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
+ message: messageFromQueue.message!,
+ });
+
+ return { message: "Berhasil memilih kandidat!" };
+ } finally {
+ void connection.close();
+ }
+ } catch (e) {
+ console.error(e);
+
+ throw new TRPCError({
+ code: "INTERNAL_SERVER_ERROR",
+ message:
+ "Gagal memproses pemilihan, mohon hubungi panitia dan coba lagi nanti.",
+ });
+ }
+ }),
+} satisfies TRPCRouterRecord;
diff --git a/packages/auth/package.json b/packages/auth/package.json
index cf38514b..9149b3bd 100644
--- a/packages/auth/package.json
+++ b/packages/auth/package.json
@@ -23,16 +23,16 @@
"bcrypt": "^5.1.1",
"next": "^14.2.3",
"next-auth": "5.0.0-beta.18",
- "react": "18.3.1",
- "react-dom": "18.3.1",
- "zod": "^3.23.6"
+ "react": "^18.3.1",
+ "react-dom": "^18.3.1",
+ "zod": "^3.23.8"
},
"devDependencies": {
"@sora-vp/eslint-config": "*",
"@sora-vp/prettier-config": "*",
"@sora-vp/tsconfig": "*",
"@types/bcrypt": "^5",
- "eslint": "^9.2.0",
+ "eslint": "^9.6.0",
"prettier": "^3.2.5",
"typescript": "^5.4.5"
},
diff --git a/packages/db-migrate/package.json b/packages/db-migrate/package.json
index b91b4c1a..d3d86a19 100644
--- a/packages/db-migrate/package.json
+++ b/packages/db-migrate/package.json
@@ -24,7 +24,7 @@
"@t3-oss/env-core": "^0.10.1",
"drizzle-orm": "^0.30.10",
"mysql2": "^3.9.8",
- "zod": "^3.23.6"
+ "zod": "^3.23.8"
},
"devDependencies": {
"@sora-vp/eslint-config": "*",
@@ -32,7 +32,7 @@
"@sora-vp/tsconfig": "*",
"dotenv-cli": "^7.4.1",
"drizzle-kit": "^0.20.18",
- "eslint": "^9.2.0",
+ "eslint": "^9.6.0",
"prettier": "^3.2.5",
"tsup": "^8.1.0",
"typescript": "^5.4.5"
diff --git a/packages/db/package.json b/packages/db/package.json
index b9527f91..f8b9ccad 100644
--- a/packages/db/package.json
+++ b/packages/db/package.json
@@ -27,7 +27,7 @@
"@t3-oss/env-core": "^0.10.1",
"drizzle-orm": "^0.30.10",
"mysql2": "^3.9.8",
- "zod": "^3.23.6"
+ "zod": "^3.23.8"
},
"devDependencies": {
"@sora-vp/eslint-config": "*",
@@ -35,7 +35,7 @@
"@sora-vp/tsconfig": "*",
"dotenv-cli": "^7.4.1",
"drizzle-kit": "^0.20.18",
- "eslint": "^9.2.0",
+ "eslint": "^9.6.0",
"prettier": "^3.2.5",
"typescript": "^5.4.5"
},
diff --git a/packages/db/src/index.ts b/packages/db/src/index.ts
index 884c8b90..3d347fb2 100644
--- a/packages/db/src/index.ts
+++ b/packages/db/src/index.ts
@@ -79,3 +79,35 @@ export const preparedGetGraphicalData = db.query.candidates
},
})
.prepare();
+
+export const preparedGetParticipantAttended = db.query.participants
+ .findFirst({
+ where: eq(schema.participants.qrId, sql.placeholder("qrId")),
+
+ columns: {
+ alreadyAttended: true,
+ alreadyChoosing: true,
+ },
+ })
+ .prepare();
+
+export const preparedGetParticipantStatus = db.query.participants
+ .findFirst({
+ where: eq(schema.participants.qrId, sql.placeholder("qrId")),
+
+ columns: {
+ name: true,
+ subpart: true,
+ alreadyAttended: true,
+ alreadyChoosing: true,
+ },
+ })
+ .prepare();
+
+export const preparedGetCandidates = db.query.candidates
+ .findMany({
+ columns: {
+ counter: false,
+ },
+ })
+ .prepare();
diff --git a/packages/id-generator/package.json b/packages/id-generator/package.json
index 7125d219..155ca8e3 100644
--- a/packages/id-generator/package.json
+++ b/packages/id-generator/package.json
@@ -8,8 +8,8 @@
"author": "Ezra Khairan Permana",
"license": "GPL-3.0",
"dependencies": {
- "@typescript-eslint/eslint-plugin": "^5.59.2",
- "@typescript-eslint/parser": "^5.59.2",
+ "@typescript-eslint/eslint-plugin": "^7.13.1",
+ "@typescript-eslint/parser": "^7.13.1",
"eslint-config-next": "^13.4.2",
"eslint-config-prettier": "^8.8.0",
"eslint-config-turbo": "^1.13.3",
@@ -18,7 +18,7 @@
},
"devDependencies": {
"@types/eslint": "^8.37.0",
- "eslint": "^9.2.0",
+ "eslint": "^9.6.0",
"typescript": "^5.4.5"
}
}
diff --git a/packages/settings/package.json b/packages/settings/package.json
index 733c086d..1deb8f8d 100644
--- a/packages/settings/package.json
+++ b/packages/settings/package.json
@@ -22,7 +22,7 @@
"@sora-vp/eslint-config": "*",
"@sora-vp/prettier-config": "*",
"@sora-vp/tsconfig": "*",
- "eslint": "^9.2.0",
+ "eslint": "^9.6.0",
"prettier": "^3.2.5",
"typescript": "^5.4.5"
},
diff --git a/packages/ui/package.json b/packages/ui/package.json
index 72ac1b69..36c334e0 100644
--- a/packages/ui/package.json
+++ b/packages/ui/package.json
@@ -25,6 +25,7 @@
"@radix-ui/react-icons": "^1.3.0",
"@radix-ui/react-label": "^2.0.2",
"@radix-ui/react-select": "^2.0.0",
+ "@radix-ui/react-separator": "^1.1.0",
"@radix-ui/react-slot": "^1.0.2",
"@radix-ui/react-switch": "^1.0.3",
"@radix-ui/react-tooltip": "^1.0.7",
@@ -41,13 +42,13 @@
"@sora-vp/prettier-config": "*",
"@sora-vp/tailwind-config": "*",
"@sora-vp/tsconfig": "*",
- "@types/react": "^18.3.1",
- "eslint": "^9.2.0",
+ "@types/react": "^18.3.3",
+ "eslint": "^9.6.0",
"prettier": "^3.2.5",
- "react": "18.3.1",
- "tailwindcss": "^3.4.3",
+ "react": "^18.3.1",
+ "tailwindcss": "^3.4.4",
"typescript": "^5.4.5",
- "zod": "^3.23.6"
+ "zod": "^3.23.8"
},
"peerDependencies": {
"react": "18.3.1",
diff --git a/packages/ui/src/separator.tsx b/packages/ui/src/separator.tsx
new file mode 100644
index 00000000..f9a29d9d
--- /dev/null
+++ b/packages/ui/src/separator.tsx
@@ -0,0 +1,31 @@
+"use client";
+
+import * as React from "react";
+import * as SeparatorPrimitive from "@radix-ui/react-separator";
+
+import { cn } from "@sora-vp/ui";
+
+const Separator = React.forwardRef<
+ React.ElementRef,
+ React.ComponentPropsWithoutRef
+>(
+ (
+ { className, orientation = "horizontal", decorative = true, ...props },
+ ref,
+ ) => (
+
+ ),
+);
+Separator.displayName = SeparatorPrimitive.Root.displayName;
+
+export { Separator };
diff --git a/packages/validators/package.json b/packages/validators/package.json
index a03cf95b..dad4fb24 100644
--- a/packages/validators/package.json
+++ b/packages/validators/package.json
@@ -21,13 +21,13 @@
"dependencies": {
"@sora-vp/id-generator": "*",
"js-base64": "^3.7.7",
- "zod": "^3.23.6"
+ "zod": "^3.23.8"
},
"devDependencies": {
"@sora-vp/eslint-config": "*",
"@sora-vp/prettier-config": "*",
"@sora-vp/tsconfig": "*",
- "eslint": "^9.2.0",
+ "eslint": "^9.6.0",
"prettier": "^3.2.5",
"typescript": "^5.4.5"
},
diff --git a/packages/validators/src/candidate.ts b/packages/validators/src/candidate.ts
index 52a48006..e22f8e22 100644
--- a/packages/validators/src/candidate.ts
+++ b/packages/validators/src/candidate.ts
@@ -1,6 +1,8 @@
import { Base64 } from "js-base64";
import { z } from "zod";
+import { validateId } from "@sora-vp/id-generator";
+
const TwoMegs = 2_000_000;
const ACCEPTED_IMAGE_TYPES = [
"image/jpeg",
@@ -76,10 +78,17 @@ const ServerUpdateCandidate = baseAddAndEditForm.merge(
const ServerDeleteCandidate = z.object({ id });
+const ServerUpvoteCandidate = ServerDeleteCandidate.merge(
+ z.object({
+ qrId: z.string().refine(validateId),
+ }),
+);
+
export const candidate = {
AddNewCandidateSchema,
ServerAddNewCandidate,
UpdateCandidateSchema,
ServerUpdateCandidate,
ServerDeleteCandidate,
+ ServerUpvoteCandidate,
} as const;
diff --git a/tooling/eslint/package.json b/tooling/eslint/package.json
index ef4a2536..06de613e 100644
--- a/tooling/eslint/package.json
+++ b/tooling/eslint/package.json
@@ -20,12 +20,12 @@
"eslint-plugin-jsx-a11y": "^6.8.0",
"eslint-plugin-react": "^7.34.1",
"eslint-plugin-react-hooks": "beta",
- "typescript-eslint": "^7.8.0"
+ "typescript-eslint": "^7.14.1"
},
"devDependencies": {
"@sora-vp/prettier-config": "*",
"@sora-vp/tsconfig": "*",
- "eslint": "^9.2.0",
+ "eslint": "^9.6.0",
"prettier": "^3.2.5",
"typescript": "^5.4.5"
},
diff --git a/tooling/tailwind/package.json b/tooling/tailwind/package.json
index 470e081d..b5af927c 100644
--- a/tooling/tailwind/package.json
+++ b/tooling/tailwind/package.json
@@ -15,15 +15,15 @@
"typecheck": "tsc --noEmit"
},
"dependencies": {
- "postcss": "^8.4.38",
- "tailwindcss": "^3.4.3",
+ "postcss": "^8.4.39",
+ "tailwindcss": "^3.4.4",
"tailwindcss-animate": "^1.0.7"
},
"devDependencies": {
"@sora-vp/eslint-config": "*",
"@sora-vp/prettier-config": "*",
"@sora-vp/tsconfig": "*",
- "eslint": "^9.2.0",
+ "eslint": "^9.6.0",
"prettier": "^3.2.5",
"typescript": "^5.4.5"
},
diff --git a/turbo.json b/turbo.json
index bd9667b9..aa2f09c9 100644
--- a/turbo.json
+++ b/turbo.json
@@ -9,6 +9,8 @@
"DB_USERNAME",
"DB_PASSWORD",
"AUTH_SECRET",
+ "AMQP_URL",
+ "PROCESSOR_API_URL",
"CI",
"SKIP_ENV_VALIDATION"
],
diff --git a/yarn.lock b/yarn.lock
index 19dab20f..c72f9bc5 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -33,32 +33,6 @@ __metadata:
languageName: node
linkType: hard
-"@auth/core@npm:0.30.0":
- version: 0.30.0
- resolution: "@auth/core@npm:0.30.0"
- dependencies:
- "@panva/hkdf": "npm:^1.1.1"
- "@types/cookie": "npm:0.6.0"
- cookie: "npm:0.6.0"
- jose: "npm:^5.1.3"
- oauth4webapi: "npm:^2.4.0"
- preact: "npm:10.11.3"
- preact-render-to-string: "npm:5.2.3"
- peerDependencies:
- "@simplewebauthn/browser": ^9.0.1
- "@simplewebauthn/server": ^9.0.2
- nodemailer: ^6.8.0
- peerDependenciesMeta:
- "@simplewebauthn/browser":
- optional: true
- "@simplewebauthn/server":
- optional: true
- nodemailer:
- optional: true
- checksum: 10c0/caa94cc9b42c354fef57e337a844bca0c0770ac809ba1cf00b30d7fc2e383d1d42dafeb3e39b9dde92b85a9eb821cde905b662638bfe98d8e2439c6d3e64c8cd
- languageName: node
- linkType: hard
-
"@auth/core@npm:0.31.0":
version: 0.31.0
resolution: "@auth/core@npm:0.31.0"
@@ -339,15 +313,6 @@ __metadata:
languageName: node
linkType: hard
-"@cloudflare/kv-asset-handler@npm:^0.3.1":
- version: 0.3.2
- resolution: "@cloudflare/kv-asset-handler@npm:0.3.2"
- dependencies:
- mime: "npm:^3.0.0"
- checksum: 10c0/90e726d18e17335469d94425bae4ca40564fadd7f7888e7b28f6b44b33f86bc0a7044f70ee7b1b8add75fb05b20c38f33f83bb913fdae2f1985cdf55da810896
- languageName: node
- linkType: hard
-
"@cspotcode/source-map-support@npm:^0.8.0":
version: 0.8.1
resolution: "@cspotcode/source-map-support@npm:0.8.1"
@@ -1025,16 +990,27 @@ __metadata:
languageName: node
linkType: hard
-"@eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.4.0, @eslint-community/regexpp@npm:^4.6.1":
+"@eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.6.1":
version: 4.10.0
resolution: "@eslint-community/regexpp@npm:4.10.0"
checksum: 10c0/c5f60ef1f1ea7649fa7af0e80a5a79f64b55a8a8fa5086de4727eb4c86c652aedee407a9c143b8995d2c0b2d75c1222bec9ba5d73dbfc1f314550554f0979ef4
languageName: node
linkType: hard
-"@eslint/eslintrc@npm:^3.0.2":
- version: 3.0.2
- resolution: "@eslint/eslintrc@npm:3.0.2"
+"@eslint/config-array@npm:^0.17.0":
+ version: 0.17.0
+ resolution: "@eslint/config-array@npm:0.17.0"
+ dependencies:
+ "@eslint/object-schema": "npm:^2.1.4"
+ debug: "npm:^4.3.1"
+ minimatch: "npm:^3.1.2"
+ checksum: 10c0/97eb23ef0948dbc5f24884a3b75c537ca37ee2b1f27a864cd0d9189c089bc1a724dc6e1a4d9b7dd304d9f732ca02aa7916243a7715d6f1f17159d8a8c83f0c9e
+ languageName: node
+ linkType: hard
+
+"@eslint/eslintrc@npm:^3.1.0":
+ version: 3.1.0
+ resolution: "@eslint/eslintrc@npm:3.1.0"
dependencies:
ajv: "npm:^6.12.4"
debug: "npm:^4.3.2"
@@ -1045,14 +1021,21 @@ __metadata:
js-yaml: "npm:^4.1.0"
minimatch: "npm:^3.1.2"
strip-json-comments: "npm:^3.1.1"
- checksum: 10c0/d8c92f06bdf8e2be9fcc0eeac4a9351745174adfcc72571ef3d179101cb55e19f15f6385c2a4f4945a3ba9245802d3371208e2e1e4f00f6bcf6b8711656af85a
+ checksum: 10c0/5b7332ed781edcfc98caa8dedbbb843abfb9bda2e86538529c843473f580e40c69eb894410eddc6702f487e9ee8f8cfa8df83213d43a8fdb549f23ce06699167
+ languageName: node
+ linkType: hard
+
+"@eslint/js@npm:9.6.0, @eslint/js@npm:^9.6.0":
+ version: 9.6.0
+ resolution: "@eslint/js@npm:9.6.0"
+ checksum: 10c0/83967a7e59f2e958c9bbb3acd0929cad00d59d927ad786ed8e0d30b07f983c6bea3af6f4ad32da32145db40b7a741a816ba339bdd8960fc7fc8231716d943b7f
languageName: node
linkType: hard
-"@eslint/js@npm:9.2.0":
- version: 9.2.0
- resolution: "@eslint/js@npm:9.2.0"
- checksum: 10c0/89632466d329d9dd68c6ec24290e407f0950ca8c4b7f3750b82457daa7f6233799ccbc956cd84231f9544efbefddd69833ee82658883ca673cfca9e4b8e0713a
+"@eslint/object-schema@npm:^2.1.4":
+ version: 2.1.4
+ resolution: "@eslint/object-schema@npm:2.1.4"
+ checksum: 10c0/e9885532ea70e483fb007bf1275968b05bb15ebaa506d98560c41a41220d33d342e19023d5f2939fed6eb59676c1bda5c847c284b4b55fce521d282004da4dda
languageName: node
linkType: hard
@@ -1085,13 +1068,6 @@ __metadata:
languageName: node
linkType: hard
-"@fastify/busboy@npm:^2.0.0":
- version: 2.1.1
- resolution: "@fastify/busboy@npm:2.1.1"
- checksum: 10c0/6f8027a8cba7f8f7b736718b013f5a38c0476eea67034c94a0d3c375e2b114366ad4419e6a6fa7ffc2ef9c6d3e0435d76dd584a7a1cbac23962fda7650b579e3
- languageName: node
- linkType: hard
-
"@floating-ui/core@npm:^1.0.0":
version: 1.6.1
resolution: "@floating-ui/core@npm:1.6.1"
@@ -1130,6 +1106,13 @@ __metadata:
languageName: node
linkType: hard
+"@fontsource-variable/noto-sans-sundanese@npm:^5.0.18":
+ version: 5.0.18
+ resolution: "@fontsource-variable/noto-sans-sundanese@npm:5.0.18"
+ checksum: 10c0/3cdc6ee4524d8c53a94f8828731268b9d0bbff6934890617400b66fe0ced8f96bc11b28ab482959244c9e0245ba84ada1a9e595fb8ed7b7b9b681840942641f7
+ languageName: node
+ linkType: hard
+
"@hono/node-server@npm:^1.9.0":
version: 1.11.1
resolution: "@hono/node-server@npm:1.11.1"
@@ -1156,17 +1139,6 @@ __metadata:
languageName: node
linkType: hard
-"@humanwhocodes/config-array@npm:^0.13.0":
- version: 0.13.0
- resolution: "@humanwhocodes/config-array@npm:0.13.0"
- dependencies:
- "@humanwhocodes/object-schema": "npm:^2.0.3"
- debug: "npm:^4.3.1"
- minimatch: "npm:^3.0.5"
- checksum: 10c0/205c99e756b759f92e1f44a3dc6292b37db199beacba8f26c2165d4051fe73a4ae52fdcfd08ffa93e7e5cb63da7c88648f0e84e197d154bbbbe137b2e0dd332e
- languageName: node
- linkType: hard
-
"@humanwhocodes/module-importer@npm:^1.0.1":
version: 1.0.1
resolution: "@humanwhocodes/module-importer@npm:1.0.1"
@@ -1174,17 +1146,10 @@ __metadata:
languageName: node
linkType: hard
-"@humanwhocodes/object-schema@npm:^2.0.3":
- version: 2.0.3
- resolution: "@humanwhocodes/object-schema@npm:2.0.3"
- checksum: 10c0/80520eabbfc2d32fe195a93557cef50dfe8c8905de447f022675aaf66abc33ae54098f5ea78548d925aa671cd4ab7c7daa5ad704fe42358c9b5e7db60f80696c
- languageName: node
- linkType: hard
-
-"@humanwhocodes/retry@npm:^0.2.3":
- version: 0.2.4
- resolution: "@humanwhocodes/retry@npm:0.2.4"
- checksum: 10c0/d0e3fe9c353f97fea6a9d0a4022b0f8813d68b646c0fa99718ec703b085fd66dd84154d947670291914bc1ab2d1fe77f0093d99d3a5fe9f56eef65360e7c6c86
+"@humanwhocodes/retry@npm:^0.3.0":
+ version: 0.3.0
+ resolution: "@humanwhocodes/retry@npm:0.3.0"
+ checksum: 10c0/7111ec4e098b1a428459b4e3be5a5d2a13b02905f805a2468f4fa628d072f0de2da26a27d04f65ea2846f73ba51f4204661709f05bfccff645e3cedef8781bb6
languageName: node
linkType: hard
@@ -1208,13 +1173,6 @@ __metadata:
languageName: node
linkType: hard
-"@ioredis/commands@npm:^1.1.1":
- version: 1.2.0
- resolution: "@ioredis/commands@npm:1.2.0"
- checksum: 10c0/a5d3c29dd84d8a28b7c67a441ac1715cbd7337a7b88649c0f17c345d89aa218578d2b360760017c48149ef8a70f44b051af9ac0921a0622c2b479614c4f65b36
- languageName: node
- linkType: hard
-
"@isaacs/cliui@npm:^8.0.2":
version: 8.0.2
resolution: "@isaacs/cliui@npm:8.0.2"
@@ -1254,17 +1212,7 @@ __metadata:
languageName: node
linkType: hard
-"@jridgewell/source-map@npm:^0.3.3":
- version: 0.3.6
- resolution: "@jridgewell/source-map@npm:0.3.6"
- dependencies:
- "@jridgewell/gen-mapping": "npm:^0.3.5"
- "@jridgewell/trace-mapping": "npm:^0.3.25"
- checksum: 10c0/6a4ecc713ed246ff8e5bdcc1ef7c49aaa93f7463d948ba5054dda18b02dcc6a055e2828c577bcceee058f302ce1fc95595713d44f5c45e43d459f88d267f2f04
- languageName: node
- linkType: hard
-
-"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.4.15":
+"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14":
version: 1.4.15
resolution: "@jridgewell/sourcemap-codec@npm:1.4.15"
checksum: 10c0/0c6b5ae663087558039052a626d2d7ed5208da36cfd707dcc5cea4a07cfc918248403dcb5989a8f7afaf245ce0573b7cc6fd94c4a30453bd10e44d9363940ba5
@@ -1291,7 +1239,7 @@ __metadata:
languageName: node
linkType: hard
-"@mapbox/node-pre-gyp@npm:^1.0.11, @mapbox/node-pre-gyp@npm:^1.0.5":
+"@mapbox/node-pre-gyp@npm:^1.0.11":
version: 1.0.11
resolution: "@mapbox/node-pre-gyp@npm:1.0.11"
dependencies:
@@ -1310,52 +1258,6 @@ __metadata:
languageName: node
linkType: hard
-"@mswjs/interceptors@npm:0.27.2":
- version: 0.27.2
- resolution: "@mswjs/interceptors@npm:0.27.2"
- dependencies:
- "@open-draft/deferred-promise": "npm:^2.2.0"
- "@open-draft/logger": "npm:^0.3.0"
- "@open-draft/until": "npm:^2.0.0"
- is-node-process: "npm:^1.2.0"
- outvariant: "npm:^1.2.1"
- strict-event-emitter: "npm:^0.5.1"
- checksum: 10c0/7498cf89059eed1f42433bbee31ab6a88955bd377379f2f9cb34623eb00c48002975abff9bdf90489ce5832684f09b3b61a8801b161ec3f86c8015ee4e5b18f5
- languageName: node
- linkType: hard
-
-"@netlify/functions@npm:^2.6.0":
- version: 2.6.3
- resolution: "@netlify/functions@npm:2.6.3"
- dependencies:
- "@netlify/serverless-functions-api": "npm:1.18.0"
- checksum: 10c0/4a99a7a4077f756a415cc79d459e7d51a237e7bdf67543b10c20dbd455bf492f0ca427ebf6a2c574c42c5ff6caa478e1220fa0671e659663f3d95f0269be68f3
- languageName: node
- linkType: hard
-
-"@netlify/node-cookies@npm:^0.1.0":
- version: 0.1.0
- resolution: "@netlify/node-cookies@npm:0.1.0"
- checksum: 10c0/5d8034d1fd581930e8100af4e5710b79cb3bb0a0b743c716d0d8a1c347aad767fa75130323f1aaee78080a026a4cafd4eef7d11953de01098a661d765a497b16
- languageName: node
- linkType: hard
-
-"@netlify/serverless-functions-api@npm:1.18.0":
- version: 1.18.0
- resolution: "@netlify/serverless-functions-api@npm:1.18.0"
- dependencies:
- "@mswjs/interceptors": "npm:0.27.2"
- "@netlify/node-cookies": "npm:^0.1.0"
- "@opentelemetry/core": "npm:^1.23.0"
- "@opentelemetry/otlp-transformer": "npm:^0.50.0"
- "@opentelemetry/resources": "npm:^1.23.0"
- "@opentelemetry/sdk-trace-base": "npm:^1.23.0"
- "@opentelemetry/semantic-conventions": "npm:^1.23.0"
- urlpattern-polyfill: "npm:8.0.2"
- checksum: 10c0/96e2707debe6bdb87249657efad4b310b80b9b806aef57429c9cbb10ac720c133369c285f9d2151f663d32041cc97712e2b0a0a68e64cc844637b3423cc348c5
- languageName: node
- linkType: hard
-
"@next/env@npm:14.2.3":
version: 14.2.3
resolution: "@next/env@npm:14.2.3"
@@ -1493,174 +1395,6 @@ __metadata:
languageName: node
linkType: hard
-"@open-draft/deferred-promise@npm:^2.2.0":
- version: 2.2.0
- resolution: "@open-draft/deferred-promise@npm:2.2.0"
- checksum: 10c0/eafc1b1d0fc8edb5e1c753c5e0f3293410b40dde2f92688211a54806d4136887051f39b98c1950370be258483deac9dfd17cf8b96557553765198ef2547e4549
- languageName: node
- linkType: hard
-
-"@open-draft/logger@npm:^0.3.0":
- version: 0.3.0
- resolution: "@open-draft/logger@npm:0.3.0"
- dependencies:
- is-node-process: "npm:^1.2.0"
- outvariant: "npm:^1.4.0"
- checksum: 10c0/90010647b22e9693c16258f4f9adb034824d1771d3baa313057b9a37797f571181005bc50415a934eaf7c891d90ff71dcd7a9d5048b0b6bb438f31bef2c7c5c1
- languageName: node
- linkType: hard
-
-"@open-draft/until@npm:^2.0.0":
- version: 2.1.0
- resolution: "@open-draft/until@npm:2.1.0"
- checksum: 10c0/61d3f99718dd86bb393fee2d7a785f961dcaf12f2055f0c693b27f4d0cd5f7a03d498a6d9289773b117590d794a43cd129366fd8e99222e4832f67b1653d54cf
- languageName: node
- linkType: hard
-
-"@opentelemetry/api-logs@npm:0.50.0":
- version: 0.50.0
- resolution: "@opentelemetry/api-logs@npm:0.50.0"
- dependencies:
- "@opentelemetry/api": "npm:^1.0.0"
- checksum: 10c0/df55e207db749efe05fc628fcde1e8b7fa277ccc126f749ee376abfdd8e6c622618930756647b9d556319896bbe270398940fbd2c07529c3ca7cc9dac8fd71ae
- languageName: node
- linkType: hard
-
-"@opentelemetry/api@npm:^1.0.0":
- version: 1.8.0
- resolution: "@opentelemetry/api@npm:1.8.0"
- checksum: 10c0/66d5504bfbf9c19a14ea549f5fca975a73a5e1e8a1e40a6dc2d662893c942b9ba66c009262816dee2b9ffd0267acd707ec692eba20db11a09d4ee114c00dc161
- languageName: node
- linkType: hard
-
-"@opentelemetry/core@npm:1.23.0":
- version: 1.23.0
- resolution: "@opentelemetry/core@npm:1.23.0"
- dependencies:
- "@opentelemetry/semantic-conventions": "npm:1.23.0"
- peerDependencies:
- "@opentelemetry/api": ">=1.0.0 <1.9.0"
- checksum: 10c0/b68442034315c182fd5e6c1bcca7b249a4995dc219c6935718fb143d24b13cee5e7884c6750b9f55ae8f4477b7edb9b3140c6663112485b49f2a9bc5a243f5f2
- languageName: node
- linkType: hard
-
-"@opentelemetry/core@npm:1.24.1, @opentelemetry/core@npm:^1.23.0":
- version: 1.24.1
- resolution: "@opentelemetry/core@npm:1.24.1"
- dependencies:
- "@opentelemetry/semantic-conventions": "npm:1.24.1"
- peerDependencies:
- "@opentelemetry/api": ">=1.0.0 <1.9.0"
- checksum: 10c0/e7af32d4253542ee42be74618cef56813ddec878950421d7e51384bde33c5a09f9aeb4391cc9617e1d117091597d1d96a6b80658fb0453a93bcf2d4d316b149d
- languageName: node
- linkType: hard
-
-"@opentelemetry/otlp-transformer@npm:^0.50.0":
- version: 0.50.0
- resolution: "@opentelemetry/otlp-transformer@npm:0.50.0"
- dependencies:
- "@opentelemetry/api-logs": "npm:0.50.0"
- "@opentelemetry/core": "npm:1.23.0"
- "@opentelemetry/resources": "npm:1.23.0"
- "@opentelemetry/sdk-logs": "npm:0.50.0"
- "@opentelemetry/sdk-metrics": "npm:1.23.0"
- "@opentelemetry/sdk-trace-base": "npm:1.23.0"
- peerDependencies:
- "@opentelemetry/api": ">=1.3.0 <1.9.0"
- checksum: 10c0/06709e54e1d1f09e001d578510a61c34643ea53e17dd355d480ce47a7b154f7eb2b18316a0d44fa0fa02b111857e79b72c4cb5af812f607018c9db34c1914f4a
- languageName: node
- linkType: hard
-
-"@opentelemetry/resources@npm:1.23.0":
- version: 1.23.0
- resolution: "@opentelemetry/resources@npm:1.23.0"
- dependencies:
- "@opentelemetry/core": "npm:1.23.0"
- "@opentelemetry/semantic-conventions": "npm:1.23.0"
- peerDependencies:
- "@opentelemetry/api": ">=1.0.0 <1.9.0"
- checksum: 10c0/b1abc023f2f32ed6f328f27821ae70b7a936964a19d29246072e11a9abdf588158ba65a1e9f1177933868906d53d836c837304bb98d37231a01e31bc77b38476
- languageName: node
- linkType: hard
-
-"@opentelemetry/resources@npm:1.24.1, @opentelemetry/resources@npm:^1.23.0":
- version: 1.24.1
- resolution: "@opentelemetry/resources@npm:1.24.1"
- dependencies:
- "@opentelemetry/core": "npm:1.24.1"
- "@opentelemetry/semantic-conventions": "npm:1.24.1"
- peerDependencies:
- "@opentelemetry/api": ">=1.0.0 <1.9.0"
- checksum: 10c0/b2f68c153231bdca6491d6050d43d84c7679f44783eaca9daa9bdb3381b5bbdb54eb6de472e9177bc1c161b0bc83423af59e5e356cce8f7880fece757a0106b6
- languageName: node
- linkType: hard
-
-"@opentelemetry/sdk-logs@npm:0.50.0":
- version: 0.50.0
- resolution: "@opentelemetry/sdk-logs@npm:0.50.0"
- dependencies:
- "@opentelemetry/core": "npm:1.23.0"
- "@opentelemetry/resources": "npm:1.23.0"
- peerDependencies:
- "@opentelemetry/api": ">=1.4.0 <1.9.0"
- "@opentelemetry/api-logs": ">=0.39.1"
- checksum: 10c0/186332848a95ffc1c63382bce0451e17c150e9631f84cfc27f681faef9f1cfcd567bf5b151cf7d7d65f9849b7dd21f44c050c5ee9dacc13064c8da62da99637a
- languageName: node
- linkType: hard
-
-"@opentelemetry/sdk-metrics@npm:1.23.0":
- version: 1.23.0
- resolution: "@opentelemetry/sdk-metrics@npm:1.23.0"
- dependencies:
- "@opentelemetry/core": "npm:1.23.0"
- "@opentelemetry/resources": "npm:1.23.0"
- lodash.merge: "npm:^4.6.2"
- peerDependencies:
- "@opentelemetry/api": ">=1.3.0 <1.9.0"
- checksum: 10c0/dd70dc372750c23cda642a4a52f24c69633f21186360104ce7857001edcfc02a30336ad673c7ec99b61eca0664b0f5ec9a7a01a4a1992347982cc0f33aaf6e60
- languageName: node
- linkType: hard
-
-"@opentelemetry/sdk-trace-base@npm:1.23.0":
- version: 1.23.0
- resolution: "@opentelemetry/sdk-trace-base@npm:1.23.0"
- dependencies:
- "@opentelemetry/core": "npm:1.23.0"
- "@opentelemetry/resources": "npm:1.23.0"
- "@opentelemetry/semantic-conventions": "npm:1.23.0"
- peerDependencies:
- "@opentelemetry/api": ">=1.0.0 <1.9.0"
- checksum: 10c0/19a9e925e43c737058c75f5afc8eb9d39f0bb8547dbe112c05646da453a3a7c5ccf9e8513f1936f26447b47c40f6a4c1d2d03500f882f9e9e44c1ea373a7e8a7
- languageName: node
- linkType: hard
-
-"@opentelemetry/sdk-trace-base@npm:^1.23.0":
- version: 1.24.1
- resolution: "@opentelemetry/sdk-trace-base@npm:1.24.1"
- dependencies:
- "@opentelemetry/core": "npm:1.24.1"
- "@opentelemetry/resources": "npm:1.24.1"
- "@opentelemetry/semantic-conventions": "npm:1.24.1"
- peerDependencies:
- "@opentelemetry/api": ">=1.0.0 <1.9.0"
- checksum: 10c0/071783367b06410e4e4bf4626bc560e664ccfa5eff497fe645db99b6074702259dba1c56ed8b003e9c0949ba53cd55d32aae1d46fa7bd47da1186f3d941a9713
- languageName: node
- linkType: hard
-
-"@opentelemetry/semantic-conventions@npm:1.23.0":
- version: 1.23.0
- resolution: "@opentelemetry/semantic-conventions@npm:1.23.0"
- checksum: 10c0/2712f3874a45607bc7024e0d1a01c91a7e4671e7b925e2fcc79227f350c16c59a29ba36d8ab5f0842fe003ff464d24ab576033b35390316886bb120477f96ca6
- languageName: node
- linkType: hard
-
-"@opentelemetry/semantic-conventions@npm:1.24.1, @opentelemetry/semantic-conventions@npm:^1.23.0":
- version: 1.24.1
- resolution: "@opentelemetry/semantic-conventions@npm:1.24.1"
- checksum: 10c0/5a3707860b70df8430745ef4ef99810a6d61d770942c217ac25ef8d6840a6b17b943c1ebe4da4a118dee0e3b1e71da3c16e2790f3c3a7e7e6b171e8d1944f73e
- languageName: node
- linkType: hard
-
"@panva/hkdf@npm:^1.1.1":
version: 1.1.1
resolution: "@panva/hkdf@npm:1.1.1"
@@ -1668,151 +1402,6 @@ __metadata:
languageName: node
linkType: hard
-"@parcel/watcher-android-arm64@npm:2.4.1":
- version: 2.4.1
- resolution: "@parcel/watcher-android-arm64@npm:2.4.1"
- conditions: os=android & cpu=arm64
- languageName: node
- linkType: hard
-
-"@parcel/watcher-darwin-arm64@npm:2.4.1":
- version: 2.4.1
- resolution: "@parcel/watcher-darwin-arm64@npm:2.4.1"
- conditions: os=darwin & cpu=arm64
- languageName: node
- linkType: hard
-
-"@parcel/watcher-darwin-x64@npm:2.4.1":
- version: 2.4.1
- resolution: "@parcel/watcher-darwin-x64@npm:2.4.1"
- conditions: os=darwin & cpu=x64
- languageName: node
- linkType: hard
-
-"@parcel/watcher-freebsd-x64@npm:2.4.1":
- version: 2.4.1
- resolution: "@parcel/watcher-freebsd-x64@npm:2.4.1"
- conditions: os=freebsd & cpu=x64
- languageName: node
- linkType: hard
-
-"@parcel/watcher-linux-arm-glibc@npm:2.4.1":
- version: 2.4.1
- resolution: "@parcel/watcher-linux-arm-glibc@npm:2.4.1"
- conditions: os=linux & cpu=arm & libc=glibc
- languageName: node
- linkType: hard
-
-"@parcel/watcher-linux-arm64-glibc@npm:2.4.1":
- version: 2.4.1
- resolution: "@parcel/watcher-linux-arm64-glibc@npm:2.4.1"
- conditions: os=linux & cpu=arm64 & libc=glibc
- languageName: node
- linkType: hard
-
-"@parcel/watcher-linux-arm64-musl@npm:2.4.1":
- version: 2.4.1
- resolution: "@parcel/watcher-linux-arm64-musl@npm:2.4.1"
- conditions: os=linux & cpu=arm64 & libc=musl
- languageName: node
- linkType: hard
-
-"@parcel/watcher-linux-x64-glibc@npm:2.4.1":
- version: 2.4.1
- resolution: "@parcel/watcher-linux-x64-glibc@npm:2.4.1"
- conditions: os=linux & cpu=x64 & libc=glibc
- languageName: node
- linkType: hard
-
-"@parcel/watcher-linux-x64-musl@npm:2.4.1":
- version: 2.4.1
- resolution: "@parcel/watcher-linux-x64-musl@npm:2.4.1"
- conditions: os=linux & cpu=x64 & libc=musl
- languageName: node
- linkType: hard
-
-"@parcel/watcher-wasm@npm:^2.4.1":
- version: 2.4.1
- resolution: "@parcel/watcher-wasm@npm:2.4.1"
- dependencies:
- is-glob: "npm:^4.0.3"
- micromatch: "npm:^4.0.5"
- napi-wasm: "npm:^1.1.0"
- checksum: 10c0/30a0d4e618c4867a5990025df56dff3a31a01f78b2d108b31e6ed7fabf123a13fd79ee292f547b572e439d272a6157c2ba9fb8e527456951c14283f872bdc16f
- languageName: node
- linkType: hard
-
-"@parcel/watcher-win32-arm64@npm:2.4.1":
- version: 2.4.1
- resolution: "@parcel/watcher-win32-arm64@npm:2.4.1"
- conditions: os=win32 & cpu=arm64
- languageName: node
- linkType: hard
-
-"@parcel/watcher-win32-ia32@npm:2.4.1":
- version: 2.4.1
- resolution: "@parcel/watcher-win32-ia32@npm:2.4.1"
- conditions: os=win32 & cpu=ia32
- languageName: node
- linkType: hard
-
-"@parcel/watcher-win32-x64@npm:2.4.1":
- version: 2.4.1
- resolution: "@parcel/watcher-win32-x64@npm:2.4.1"
- conditions: os=win32 & cpu=x64
- languageName: node
- linkType: hard
-
-"@parcel/watcher@npm:^2.4.1":
- version: 2.4.1
- resolution: "@parcel/watcher@npm:2.4.1"
- dependencies:
- "@parcel/watcher-android-arm64": "npm:2.4.1"
- "@parcel/watcher-darwin-arm64": "npm:2.4.1"
- "@parcel/watcher-darwin-x64": "npm:2.4.1"
- "@parcel/watcher-freebsd-x64": "npm:2.4.1"
- "@parcel/watcher-linux-arm-glibc": "npm:2.4.1"
- "@parcel/watcher-linux-arm64-glibc": "npm:2.4.1"
- "@parcel/watcher-linux-arm64-musl": "npm:2.4.1"
- "@parcel/watcher-linux-x64-glibc": "npm:2.4.1"
- "@parcel/watcher-linux-x64-musl": "npm:2.4.1"
- "@parcel/watcher-win32-arm64": "npm:2.4.1"
- "@parcel/watcher-win32-ia32": "npm:2.4.1"
- "@parcel/watcher-win32-x64": "npm:2.4.1"
- detect-libc: "npm:^1.0.3"
- is-glob: "npm:^4.0.3"
- micromatch: "npm:^4.0.5"
- node-addon-api: "npm:^7.0.0"
- node-gyp: "npm:latest"
- dependenciesMeta:
- "@parcel/watcher-android-arm64":
- optional: true
- "@parcel/watcher-darwin-arm64":
- optional: true
- "@parcel/watcher-darwin-x64":
- optional: true
- "@parcel/watcher-freebsd-x64":
- optional: true
- "@parcel/watcher-linux-arm-glibc":
- optional: true
- "@parcel/watcher-linux-arm64-glibc":
- optional: true
- "@parcel/watcher-linux-arm64-musl":
- optional: true
- "@parcel/watcher-linux-x64-glibc":
- optional: true
- "@parcel/watcher-linux-x64-musl":
- optional: true
- "@parcel/watcher-win32-arm64":
- optional: true
- "@parcel/watcher-win32-ia32":
- optional: true
- "@parcel/watcher-win32-x64":
- optional: true
- checksum: 10c0/33b7112094b9eb46c234d824953967435b628d3d93a0553255e9910829b84cab3da870153c3a870c31db186dc58f3b2db81382fcaee3451438aeec4d786a6211
- languageName: node
- linkType: hard
-
"@pkgjs/parseargs@npm:^0.11.0":
version: 0.11.0
resolution: "@pkgjs/parseargs@npm:0.11.0"
@@ -1944,6 +1533,19 @@ __metadata:
languageName: node
linkType: hard
+"@radix-ui/react-compose-refs@npm:1.1.0":
+ version: 1.1.0
+ resolution: "@radix-ui/react-compose-refs@npm:1.1.0"
+ peerDependencies:
+ "@types/react": "*"
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ checksum: 10c0/7e18706084397d9458ca3473d8565b10691da06f6499a78edbcc4bd72cde08f62e91120658d17d58c19fc39d6b1dffe0133cc4535c8f5fce470abd478f6107e5
+ languageName: node
+ linkType: hard
+
"@radix-ui/react-context@npm:1.0.1":
version: 1.0.1
resolution: "@radix-ui/react-context@npm:1.0.1"
@@ -2266,12 +1868,31 @@ __metadata:
languageName: node
linkType: hard
-"@radix-ui/react-roving-focus@npm:1.0.4":
- version: 1.0.4
- resolution: "@radix-ui/react-roving-focus@npm:1.0.4"
+"@radix-ui/react-primitive@npm:2.0.0":
+ version: 2.0.0
+ resolution: "@radix-ui/react-primitive@npm:2.0.0"
dependencies:
- "@babel/runtime": "npm:^7.13.10"
- "@radix-ui/primitive": "npm:1.0.1"
+ "@radix-ui/react-slot": "npm:1.1.0"
+ peerDependencies:
+ "@types/react": "*"
+ "@types/react-dom": "*"
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ "@types/react-dom":
+ optional: true
+ checksum: 10c0/00cb6ca499252ca848c299212ba6976171cea7608b10b3f9a9639d6732dea2df1197ba0d97c001a4fdb29313c3e7fc2a490f6245dd3579617a0ffd85ae964fdd
+ languageName: node
+ linkType: hard
+
+"@radix-ui/react-roving-focus@npm:1.0.4":
+ version: 1.0.4
+ resolution: "@radix-ui/react-roving-focus@npm:1.0.4"
+ dependencies:
+ "@babel/runtime": "npm:^7.13.10"
+ "@radix-ui/primitive": "npm:1.0.1"
"@radix-ui/react-collection": "npm:1.0.3"
"@radix-ui/react-compose-refs": "npm:1.0.1"
"@radix-ui/react-context": "npm:1.0.1"
@@ -2334,6 +1955,25 @@ __metadata:
languageName: node
linkType: hard
+"@radix-ui/react-separator@npm:^1.1.0":
+ version: 1.1.0
+ resolution: "@radix-ui/react-separator@npm:1.1.0"
+ dependencies:
+ "@radix-ui/react-primitive": "npm:2.0.0"
+ peerDependencies:
+ "@types/react": "*"
+ "@types/react-dom": "*"
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ "@types/react-dom":
+ optional: true
+ checksum: 10c0/0ca9e25db27b6b001f3c0c50b2df9d6cf070b949f183043e263115d694a25b7268fecd670572469a512e556deca25ebb08b3aec4a870f0309eed728eef19ab8a
+ languageName: node
+ linkType: hard
+
"@radix-ui/react-slot@npm:1.0.2, @radix-ui/react-slot@npm:^1.0.2":
version: 1.0.2
resolution: "@radix-ui/react-slot@npm:1.0.2"
@@ -2350,6 +1990,21 @@ __metadata:
languageName: node
linkType: hard
+"@radix-ui/react-slot@npm:1.1.0":
+ version: 1.1.0
+ resolution: "@radix-ui/react-slot@npm:1.1.0"
+ dependencies:
+ "@radix-ui/react-compose-refs": "npm:1.1.0"
+ peerDependencies:
+ "@types/react": "*"
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ checksum: 10c0/a2e8bfb70c440506dd84a1a274f9a8bc433cca37ceae275e53552c9122612e3837744d7fc6f113d6ef1a11491aa914f4add71d76de41cb6d4db72547a8e261ae
+ languageName: node
+ linkType: hard
+
"@radix-ui/react-switch@npm:^1.0.3":
version: 1.0.3
resolution: "@radix-ui/react-switch@npm:1.0.3"
@@ -2545,142 +2200,10 @@ __metadata:
languageName: node
linkType: hard
-"@rollup/plugin-alias@npm:^5.1.0":
- version: 5.1.0
- resolution: "@rollup/plugin-alias@npm:5.1.0"
- dependencies:
- slash: "npm:^4.0.0"
- peerDependencies:
- rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
- peerDependenciesMeta:
- rollup:
- optional: true
- checksum: 10c0/fcae5d711b66c098cd237e09e3000e7dec27cf8b0fa82f5a9cd437c4d8d9428194f51d12822b8593b49f3d9e51c6df6a583037cab35763d92555f9c7fcb0db3d
- languageName: node
- linkType: hard
-
-"@rollup/plugin-commonjs@npm:^25.0.7":
- version: 25.0.7
- resolution: "@rollup/plugin-commonjs@npm:25.0.7"
- dependencies:
- "@rollup/pluginutils": "npm:^5.0.1"
- commondir: "npm:^1.0.1"
- estree-walker: "npm:^2.0.2"
- glob: "npm:^8.0.3"
- is-reference: "npm:1.2.1"
- magic-string: "npm:^0.30.3"
- peerDependencies:
- rollup: ^2.68.0||^3.0.0||^4.0.0
- peerDependenciesMeta:
- rollup:
- optional: true
- checksum: 10c0/d096af5aedd55c19ac528daa84a4cacdf21a69c9c9b20c23e04f27a64966cb383f5e2b01b9c903d40318e35dcaa74dc7b5292a844c6cbc66c252f5447eac05b4
- languageName: node
- linkType: hard
-
-"@rollup/plugin-inject@npm:^5.0.5":
- version: 5.0.5
- resolution: "@rollup/plugin-inject@npm:5.0.5"
- dependencies:
- "@rollup/pluginutils": "npm:^5.0.1"
- estree-walker: "npm:^2.0.2"
- magic-string: "npm:^0.30.3"
- peerDependencies:
- rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
- peerDependenciesMeta:
- rollup:
- optional: true
- checksum: 10c0/22d10cf44fa56a6683d5ac4df24a9003379b3dcaae9897f5c30c844afc2ebca83cfaa5557f13a1399b1c8a0d312c3217bcacd508b7ebc4b2cbee401bd1ec8be2
- languageName: node
- linkType: hard
-
-"@rollup/plugin-json@npm:^6.1.0":
- version: 6.1.0
- resolution: "@rollup/plugin-json@npm:6.1.0"
- dependencies:
- "@rollup/pluginutils": "npm:^5.1.0"
- peerDependencies:
- rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
- peerDependenciesMeta:
- rollup:
- optional: true
- checksum: 10c0/9400c431b5e0cf3088ba2eb2d038809a2b0fb2a84ed004997da85582f48cd64958ed3168893c4f2c8109e38652400ed68282d0c92bf8ec07a3b2ef2e1ceab0b7
- languageName: node
- linkType: hard
-
-"@rollup/plugin-node-resolve@npm:^15.2.3":
- version: 15.2.3
- resolution: "@rollup/plugin-node-resolve@npm:15.2.3"
- dependencies:
- "@rollup/pluginutils": "npm:^5.0.1"
- "@types/resolve": "npm:1.20.2"
- deepmerge: "npm:^4.2.2"
- is-builtin-module: "npm:^3.2.1"
- is-module: "npm:^1.0.0"
- resolve: "npm:^1.22.1"
- peerDependencies:
- rollup: ^2.78.0||^3.0.0||^4.0.0
- peerDependenciesMeta:
- rollup:
- optional: true
- checksum: 10c0/598c15615086f26e28c4b3dbf966682af7fb0e5bc277cc4e57f559668a3be675a63ab261eb34729ce9569c3a51342c48863e50b5efe02e0fc1571828f0113f9d
- languageName: node
- linkType: hard
-
-"@rollup/plugin-replace@npm:^5.0.5":
- version: 5.0.5
- resolution: "@rollup/plugin-replace@npm:5.0.5"
- dependencies:
- "@rollup/pluginutils": "npm:^5.0.1"
- magic-string: "npm:^0.30.3"
- peerDependencies:
- rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
- peerDependenciesMeta:
- rollup:
- optional: true
- checksum: 10c0/a896ebc67e0aeb59102dd3cc8647cfeaac6d37cf337f2e2ae412a83e14dace2bb65b52271a1186f8d1c1ea151a7f9d387a3d89d03012802af40543481571ea0a
- languageName: node
- linkType: hard
-
-"@rollup/plugin-terser@npm:^0.4.4":
- version: 0.4.4
- resolution: "@rollup/plugin-terser@npm:0.4.4"
- dependencies:
- serialize-javascript: "npm:^6.0.1"
- smob: "npm:^1.0.0"
- terser: "npm:^5.17.4"
- peerDependencies:
- rollup: ^2.0.0||^3.0.0||^4.0.0
- peerDependenciesMeta:
- rollup:
- optional: true
- checksum: 10c0/b9cb6c8f02ac1c1344019e9fb854321b74f880efebc41b6bdd84f18331fce0f4a2aadcdb481042245cd3f409b429ac363af71f9efec4a2024731d67d32af36ee
- languageName: node
- linkType: hard
-
-"@rollup/pluginutils@npm:^4.0.0":
- version: 4.2.1
- resolution: "@rollup/pluginutils@npm:4.2.1"
- dependencies:
- estree-walker: "npm:^2.0.1"
- picomatch: "npm:^2.2.2"
- checksum: 10c0/3ee56b2c8f1ed8dfd0a92631da1af3a2dfdd0321948f089b3752b4de1b54dc5076701eadd0e5fc18bd191b77af594ac1db6279e83951238ba16bf8a414c64c48
- languageName: node
- linkType: hard
-
-"@rollup/pluginutils@npm:^5.0.1, @rollup/pluginutils@npm:^5.1.0":
- version: 5.1.0
- resolution: "@rollup/pluginutils@npm:5.1.0"
- dependencies:
- "@types/estree": "npm:^1.0.0"
- estree-walker: "npm:^2.0.2"
- picomatch: "npm:^2.3.1"
- peerDependencies:
- rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
- peerDependenciesMeta:
- rollup:
- optional: true
- checksum: 10c0/c7bed15711f942d6fdd3470fef4105b73991f99a478605e13d41888963330a6f9e32be37e6ddb13f012bc7673ff5e54f06f59fd47109436c1c513986a8a7612d
+"@remix-run/router@npm:1.17.0":
+ version: 1.17.0
+ resolution: "@remix-run/router@npm:1.17.0"
+ checksum: 10c0/6f39cb81c5dec3d3cb901cfc05ef1c745d23192def7d83e6d1a53c43cbb5d7ff488055fd1418ac72f904ff41b3d3ca339d223677994150f276c648123ce166f7
languageName: node
linkType: hard
@@ -2691,6 +2214,13 @@ __metadata:
languageName: node
linkType: hard
+"@rollup/rollup-android-arm-eabi@npm:4.18.0":
+ version: 4.18.0
+ resolution: "@rollup/rollup-android-arm-eabi@npm:4.18.0"
+ conditions: os=android & cpu=arm
+ languageName: node
+ linkType: hard
+
"@rollup/rollup-android-arm64@npm:4.17.2":
version: 4.17.2
resolution: "@rollup/rollup-android-arm64@npm:4.17.2"
@@ -2698,6 +2228,13 @@ __metadata:
languageName: node
linkType: hard
+"@rollup/rollup-android-arm64@npm:4.18.0":
+ version: 4.18.0
+ resolution: "@rollup/rollup-android-arm64@npm:4.18.0"
+ conditions: os=android & cpu=arm64
+ languageName: node
+ linkType: hard
+
"@rollup/rollup-darwin-arm64@npm:4.17.2":
version: 4.17.2
resolution: "@rollup/rollup-darwin-arm64@npm:4.17.2"
@@ -2705,6 +2242,13 @@ __metadata:
languageName: node
linkType: hard
+"@rollup/rollup-darwin-arm64@npm:4.18.0":
+ version: 4.18.0
+ resolution: "@rollup/rollup-darwin-arm64@npm:4.18.0"
+ conditions: os=darwin & cpu=arm64
+ languageName: node
+ linkType: hard
+
"@rollup/rollup-darwin-x64@npm:4.17.2":
version: 4.17.2
resolution: "@rollup/rollup-darwin-x64@npm:4.17.2"
@@ -2712,6 +2256,13 @@ __metadata:
languageName: node
linkType: hard
+"@rollup/rollup-darwin-x64@npm:4.18.0":
+ version: 4.18.0
+ resolution: "@rollup/rollup-darwin-x64@npm:4.18.0"
+ conditions: os=darwin & cpu=x64
+ languageName: node
+ linkType: hard
+
"@rollup/rollup-linux-arm-gnueabihf@npm:4.17.2":
version: 4.17.2
resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.17.2"
@@ -2719,6 +2270,13 @@ __metadata:
languageName: node
linkType: hard
+"@rollup/rollup-linux-arm-gnueabihf@npm:4.18.0":
+ version: 4.18.0
+ resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.18.0"
+ conditions: os=linux & cpu=arm & libc=glibc
+ languageName: node
+ linkType: hard
+
"@rollup/rollup-linux-arm-musleabihf@npm:4.17.2":
version: 4.17.2
resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.17.2"
@@ -2726,6 +2284,13 @@ __metadata:
languageName: node
linkType: hard
+"@rollup/rollup-linux-arm-musleabihf@npm:4.18.0":
+ version: 4.18.0
+ resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.18.0"
+ conditions: os=linux & cpu=arm & libc=musl
+ languageName: node
+ linkType: hard
+
"@rollup/rollup-linux-arm64-gnu@npm:4.17.2":
version: 4.17.2
resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.17.2"
@@ -2733,6 +2298,13 @@ __metadata:
languageName: node
linkType: hard
+"@rollup/rollup-linux-arm64-gnu@npm:4.18.0":
+ version: 4.18.0
+ resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.18.0"
+ conditions: os=linux & cpu=arm64 & libc=glibc
+ languageName: node
+ linkType: hard
+
"@rollup/rollup-linux-arm64-musl@npm:4.17.2":
version: 4.17.2
resolution: "@rollup/rollup-linux-arm64-musl@npm:4.17.2"
@@ -2740,6 +2312,13 @@ __metadata:
languageName: node
linkType: hard
+"@rollup/rollup-linux-arm64-musl@npm:4.18.0":
+ version: 4.18.0
+ resolution: "@rollup/rollup-linux-arm64-musl@npm:4.18.0"
+ conditions: os=linux & cpu=arm64 & libc=musl
+ languageName: node
+ linkType: hard
+
"@rollup/rollup-linux-powerpc64le-gnu@npm:4.17.2":
version: 4.17.2
resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.17.2"
@@ -2747,6 +2326,13 @@ __metadata:
languageName: node
linkType: hard
+"@rollup/rollup-linux-powerpc64le-gnu@npm:4.18.0":
+ version: 4.18.0
+ resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.18.0"
+ conditions: os=linux & cpu=ppc64 & libc=glibc
+ languageName: node
+ linkType: hard
+
"@rollup/rollup-linux-riscv64-gnu@npm:4.17.2":
version: 4.17.2
resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.17.2"
@@ -2754,6 +2340,13 @@ __metadata:
languageName: node
linkType: hard
+"@rollup/rollup-linux-riscv64-gnu@npm:4.18.0":
+ version: 4.18.0
+ resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.18.0"
+ conditions: os=linux & cpu=riscv64 & libc=glibc
+ languageName: node
+ linkType: hard
+
"@rollup/rollup-linux-s390x-gnu@npm:4.17.2":
version: 4.17.2
resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.17.2"
@@ -2761,6 +2354,13 @@ __metadata:
languageName: node
linkType: hard
+"@rollup/rollup-linux-s390x-gnu@npm:4.18.0":
+ version: 4.18.0
+ resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.18.0"
+ conditions: os=linux & cpu=s390x & libc=glibc
+ languageName: node
+ linkType: hard
+
"@rollup/rollup-linux-x64-gnu@npm:4.17.2":
version: 4.17.2
resolution: "@rollup/rollup-linux-x64-gnu@npm:4.17.2"
@@ -2768,6 +2368,13 @@ __metadata:
languageName: node
linkType: hard
+"@rollup/rollup-linux-x64-gnu@npm:4.18.0":
+ version: 4.18.0
+ resolution: "@rollup/rollup-linux-x64-gnu@npm:4.18.0"
+ conditions: os=linux & cpu=x64 & libc=glibc
+ languageName: node
+ linkType: hard
+
"@rollup/rollup-linux-x64-musl@npm:4.17.2":
version: 4.17.2
resolution: "@rollup/rollup-linux-x64-musl@npm:4.17.2"
@@ -2775,6 +2382,13 @@ __metadata:
languageName: node
linkType: hard
+"@rollup/rollup-linux-x64-musl@npm:4.18.0":
+ version: 4.18.0
+ resolution: "@rollup/rollup-linux-x64-musl@npm:4.18.0"
+ conditions: os=linux & cpu=x64 & libc=musl
+ languageName: node
+ linkType: hard
+
"@rollup/rollup-win32-arm64-msvc@npm:4.17.2":
version: 4.17.2
resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.17.2"
@@ -2782,6 +2396,13 @@ __metadata:
languageName: node
linkType: hard
+"@rollup/rollup-win32-arm64-msvc@npm:4.18.0":
+ version: 4.18.0
+ resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.18.0"
+ conditions: os=win32 & cpu=arm64
+ languageName: node
+ linkType: hard
+
"@rollup/rollup-win32-ia32-msvc@npm:4.17.2":
version: 4.17.2
resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.17.2"
@@ -2789,6 +2410,13 @@ __metadata:
languageName: node
linkType: hard
+"@rollup/rollup-win32-ia32-msvc@npm:4.18.0":
+ version: 4.18.0
+ resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.18.0"
+ conditions: os=win32 & cpu=ia32
+ languageName: node
+ linkType: hard
+
"@rollup/rollup-win32-x64-msvc@npm:4.17.2":
version: 4.17.2
resolution: "@rollup/rollup-win32-x64-msvc@npm:4.17.2"
@@ -2796,6 +2424,13 @@ __metadata:
languageName: node
linkType: hard
+"@rollup/rollup-win32-x64-msvc@npm:4.18.0":
+ version: 4.18.0
+ resolution: "@rollup/rollup-win32-x64-msvc@npm:4.18.0"
+ conditions: os=win32 & cpu=x64
+ languageName: node
+ linkType: hard
+
"@rushstack/eslint-patch@npm:^1.3.3":
version: 1.10.2
resolution: "@rushstack/eslint-patch@npm:1.10.2"
@@ -2803,13 +2438,6 @@ __metadata:
languageName: node
linkType: hard
-"@sindresorhus/merge-streams@npm:^2.1.0":
- version: 2.3.0
- resolution: "@sindresorhus/merge-streams@npm:2.3.0"
- checksum: 10c0/69ee906f3125fb2c6bb6ec5cdd84e8827d93b49b3892bce8b62267116cc7e197b5cccf20c160a1d32c26014ecd14470a72a5e3ee37a58f1d6dadc0db1ccf3894
- languageName: node
- linkType: hard
-
"@sora-vp/api@npm:*, @sora-vp/api@workspace:packages/api":
version: 0.0.0-use.local
resolution: "@sora-vp/api@workspace:packages/api"
@@ -2825,52 +2453,128 @@ __metadata:
"@types/bcrypt": "npm:^5"
"@types/mime-types": "npm:^2"
bcrypt: "npm:^5.1.1"
- eslint: "npm:^9.2.0"
+ eslint: "npm:^9.6.0"
mime-types: "npm:^2.1.35"
prettier: "npm:^3.2.5"
superjson: "npm:2.2.1"
typescript: "npm:^5.4.5"
- zod: "npm:^3.23.6"
+ zod: "npm:^3.23.8"
languageName: unknown
linkType: soft
-"@sora-vp/auth-proxy@workspace:apps/auth-proxy":
+"@sora-vp/auth@npm:*, @sora-vp/auth@workspace:packages/auth":
version: 0.0.0-use.local
- resolution: "@sora-vp/auth-proxy@workspace:apps/auth-proxy"
+ resolution: "@sora-vp/auth@workspace:packages/auth"
dependencies:
- "@auth/core": "npm:0.30.0"
+ "@sora-vp/db": "npm:*"
"@sora-vp/eslint-config": "npm:*"
"@sora-vp/prettier-config": "npm:*"
- "@sora-vp/tailwind-config": "npm:*"
"@sora-vp/tsconfig": "npm:*"
- "@types/node": "npm:^20.12.9"
- eslint: "npm:^9.2.0"
- h3: "npm:^1.11.1"
- nitropack: "npm:^2.9.6"
+ "@t3-oss/env-nextjs": "npm:^0.10.1"
+ "@types/bcrypt": "npm:^5"
+ bcrypt: "npm:^5.1.1"
+ eslint: "npm:^9.6.0"
+ next: "npm:^14.2.3"
+ next-auth: "npm:5.0.0-beta.18"
prettier: "npm:^3.2.5"
+ react: "npm:^18.3.1"
+ react-dom: "npm:^18.3.1"
typescript: "npm:^5.4.5"
+ zod: "npm:^3.23.8"
languageName: unknown
linkType: soft
-"@sora-vp/auth@npm:*, @sora-vp/auth@workspace:packages/auth":
+"@sora-vp/client-attendance@workspace:apps/clients/attendance":
version: 0.0.0-use.local
- resolution: "@sora-vp/auth@workspace:packages/auth"
+ resolution: "@sora-vp/client-attendance@workspace:apps/clients/attendance"
dependencies:
- "@sora-vp/db": "npm:*"
+ "@eslint/js": "npm:^9.6.0"
+ "@fontsource-variable/noto-sans-sundanese": "npm:^5.0.18"
+ "@sora-vp/api": "npm:*"
"@sora-vp/eslint-config": "npm:*"
"@sora-vp/prettier-config": "npm:*"
- "@sora-vp/tsconfig": "npm:*"
- "@t3-oss/env-nextjs": "npm:^0.10.1"
- "@types/bcrypt": "npm:^5"
- bcrypt: "npm:^5.1.1"
- eslint: "npm:^9.2.0"
- next: "npm:^14.2.3"
- next-auth: "npm:5.0.0-beta.18"
+ "@sora-vp/tailwind-config": "npm:*"
+ "@sora-vp/ui": "npm:*"
+ "@sora-vp/validators": "npm:*"
+ "@t3-oss/env-core": "npm:^0.10.1"
+ "@tanstack/react-query": "npm:^5.35.1"
+ "@trpc/client": "npm:11.0.0-rc.364"
+ "@trpc/react-query": "npm:11.0.0-rc.364"
+ "@trpc/server": "npm:11.0.0-rc.364"
+ "@types/eslint__js": "npm:^8.42.3"
+ "@types/react": "npm:^18.3.3"
+ "@types/react-dom": "npm:^18.3.0"
+ "@typescript-eslint/eslint-plugin": "npm:^7.13.1"
+ "@typescript-eslint/parser": "npm:^7.13.1"
+ "@vitejs/plugin-react-swc": "npm:^3.5.0"
+ autoprefixer: "npm:^10.4.19"
+ dotenv-cli: "npm:^7.4.1"
+ eslint: "npm:^9.6.0"
+ eslint-plugin-react-hooks: "npm:^4.6.2"
+ eslint-plugin-react-refresh: "npm:^0.4.7"
+ framer-motion: "npm:^11.2.12"
+ jotai: "npm:^2.8.4"
+ lucide-react: "npm:^0.399.0"
+ non.geist: "npm:^1.0.3"
+ postcss: "npm:^8.4.39"
prettier: "npm:^3.2.5"
- react: "npm:18.3.1"
- react-dom: "npm:18.3.1"
+ qr-scanner: "npm:^1.4.2"
+ react: "npm:^18.3.1"
+ react-dom: "npm:^18.3.1"
+ react-router-dom: "npm:^6.24.0"
+ superjson: "npm:2.2.1"
+ tailwindcss: "npm:^3.4.4"
typescript: "npm:^5.4.5"
- zod: "npm:^3.23.6"
+ typescript-eslint: "npm:^7.14.1"
+ vite: "npm:^5.3.1"
+ zod: "npm:^3.23.8"
+ languageName: unknown
+ linkType: soft
+
+"@sora-vp/client-chooser@workspace:apps/clients/chooser":
+ version: 0.0.0-use.local
+ resolution: "@sora-vp/client-chooser@workspace:apps/clients/chooser"
+ dependencies:
+ "@eslint/js": "npm:^9.6.0"
+ "@fontsource-variable/noto-sans-sundanese": "npm:^5.0.18"
+ "@sora-vp/api": "npm:*"
+ "@sora-vp/eslint-config": "npm:*"
+ "@sora-vp/prettier-config": "npm:*"
+ "@sora-vp/tailwind-config": "npm:*"
+ "@sora-vp/ui": "npm:*"
+ "@sora-vp/validators": "npm:*"
+ "@t3-oss/env-core": "npm:^0.10.1"
+ "@tanstack/react-query": "npm:^5.35.1"
+ "@trpc/client": "npm:11.0.0-rc.364"
+ "@trpc/react-query": "npm:11.0.0-rc.364"
+ "@trpc/server": "npm:11.0.0-rc.364"
+ "@types/eslint__js": "npm:^8.42.3"
+ "@types/react": "npm:^18.3.3"
+ "@types/react-dom": "npm:^18.3.0"
+ "@typescript-eslint/eslint-plugin": "npm:^7.13.1"
+ "@typescript-eslint/parser": "npm:^7.13.1"
+ "@vitejs/plugin-react-swc": "npm:^3.5.0"
+ autoprefixer: "npm:^10.4.19"
+ dotenv-cli: "npm:^7.4.1"
+ eslint: "npm:^9.6.0"
+ eslint-plugin-react-hooks: "npm:^4.6.2"
+ eslint-plugin-react-refresh: "npm:^0.4.7"
+ framer-motion: "npm:^11.2.12"
+ jotai: "npm:^2.8.4"
+ lucide-react: "npm:^0.399.0"
+ non.geist: "npm:^1.0.3"
+ postcss: "npm:^8.4.39"
+ prettier: "npm:^3.2.5"
+ qr-scanner: "npm:^1.4.2"
+ react: "npm:^18.3.1"
+ react-dom: "npm:^18.3.1"
+ react-router-dom: "npm:^6.24.0"
+ superjson: "npm:2.2.1"
+ tailwindcss: "npm:^3.4.4"
+ typescript: "npm:^5.4.5"
+ typescript-eslint: "npm:^7.14.1"
+ vite: "npm:^5.3.1"
+ zod: "npm:^3.23.8"
languageName: unknown
linkType: soft
@@ -2885,12 +2589,12 @@ __metadata:
dotenv-cli: "npm:^7.4.1"
drizzle-kit: "npm:^0.20.18"
drizzle-orm: "npm:^0.30.10"
- eslint: "npm:^9.2.0"
+ eslint: "npm:^9.6.0"
mysql2: "npm:^3.9.8"
prettier: "npm:^3.2.5"
tsup: "npm:^8.1.0"
typescript: "npm:^5.4.5"
- zod: "npm:^3.23.6"
+ zod: "npm:^3.23.8"
bin:
db-migrate: ./dist/index.js
languageName: unknown
@@ -2908,11 +2612,11 @@ __metadata:
dotenv-cli: "npm:^7.4.1"
drizzle-kit: "npm:^0.20.18"
drizzle-orm: "npm:^0.30.10"
- eslint: "npm:^9.2.0"
+ eslint: "npm:^9.6.0"
mysql2: "npm:^3.9.8"
prettier: "npm:^3.2.5"
typescript: "npm:^5.4.5"
- zod: "npm:^3.23.6"
+ zod: "npm:^3.23.8"
languageName: unknown
linkType: soft
@@ -2923,7 +2627,7 @@ __metadata:
"@next/eslint-plugin-next": "npm:^14.2.3"
"@sora-vp/prettier-config": "npm:*"
"@sora-vp/tsconfig": "npm:*"
- eslint: "npm:^9.2.0"
+ eslint: "npm:^9.6.0"
eslint-config-turbo: "npm:^1.13.3"
eslint-plugin-import: "npm:^2.29.1"
eslint-plugin-jsx-a11y: "npm:^6.8.0"
@@ -2931,7 +2635,7 @@ __metadata:
eslint-plugin-react-hooks: "npm:beta"
prettier: "npm:^3.2.5"
typescript: "npm:^5.4.5"
- typescript-eslint: "npm:^7.8.0"
+ typescript-eslint: "npm:^7.14.1"
languageName: unknown
linkType: soft
@@ -2940,9 +2644,9 @@ __metadata:
resolution: "@sora-vp/id-generator@workspace:packages/id-generator"
dependencies:
"@types/eslint": "npm:^8.37.0"
- "@typescript-eslint/eslint-plugin": "npm:^5.59.2"
- "@typescript-eslint/parser": "npm:^5.59.2"
- eslint: "npm:^9.2.0"
+ "@typescript-eslint/eslint-plugin": "npm:^7.13.1"
+ "@typescript-eslint/parser": "npm:^7.13.1"
+ eslint: "npm:^9.6.0"
eslint-config-next: "npm:^13.4.2"
eslint-config-prettier: "npm:^8.8.0"
eslint-config-turbo: "npm:^1.13.3"
@@ -2968,19 +2672,21 @@ __metadata:
version: 0.0.0-use.local
resolution: "@sora-vp/processor@workspace:apps/processor"
dependencies:
+ "@sora-vp/api": "npm:*"
"@sora-vp/db": "npm:*"
"@sora-vp/eslint-config": "npm:*"
"@sora-vp/id-generator": "npm:*"
"@sora-vp/prettier-config": "npm:*"
"@sora-vp/tailwind-config": "npm:*"
"@sora-vp/tsconfig": "npm:*"
+ "@t3-oss/env-core": "npm:^0.10.1"
"@trpc/client": "npm:11.0.0-rc.364"
"@trpc/server": "npm:11.0.0-rc.364"
"@types/amqplib": "npm:^0"
"@types/node": "npm:^20.12.9"
amqplib: "npm:^0.10.4"
dotenv-cli: "npm:^7.4.1"
- eslint: "npm:^9.2.0"
+ eslint: "npm:^9.6.0"
pino: "npm:^9.0.0"
pino-pretty: "npm:^11.0.0"
prettier: "npm:^3.2.5"
@@ -2988,6 +2694,7 @@ __metadata:
tsup: "npm:^8.1.0"
tsx: "npm:^4.9.4"
typescript: "npm:^5.4.5"
+ zod: "npm:^3.23.8"
languageName: unknown
linkType: soft
@@ -2998,7 +2705,7 @@ __metadata:
"@sora-vp/eslint-config": "npm:*"
"@sora-vp/prettier-config": "npm:*"
"@sora-vp/tsconfig": "npm:*"
- eslint: "npm:^9.2.0"
+ eslint: "npm:^9.6.0"
prettier: "npm:^3.2.5"
typescript: "npm:^5.4.5"
languageName: unknown
@@ -3011,10 +2718,10 @@ __metadata:
"@sora-vp/eslint-config": "npm:*"
"@sora-vp/prettier-config": "npm:*"
"@sora-vp/tsconfig": "npm:*"
- eslint: "npm:^9.2.0"
- postcss: "npm:^8.4.38"
+ eslint: "npm:^9.6.0"
+ postcss: "npm:^8.4.39"
prettier: "npm:^3.2.5"
- tailwindcss: "npm:^3.4.3"
+ tailwindcss: "npm:^3.4.4"
tailwindcss-animate: "npm:^1.0.7"
typescript: "npm:^5.4.5"
languageName: unknown
@@ -3038,6 +2745,7 @@ __metadata:
"@radix-ui/react-icons": "npm:^1.3.0"
"@radix-ui/react-label": "npm:^2.0.2"
"@radix-ui/react-select": "npm:^2.0.0"
+ "@radix-ui/react-separator": "npm:^1.1.0"
"@radix-ui/react-slot": "npm:^1.0.2"
"@radix-ui/react-switch": "npm:^1.0.3"
"@radix-ui/react-tooltip": "npm:^1.0.7"
@@ -3045,20 +2753,20 @@ __metadata:
"@sora-vp/prettier-config": "npm:*"
"@sora-vp/tailwind-config": "npm:*"
"@sora-vp/tsconfig": "npm:*"
- "@types/react": "npm:^18.3.1"
+ "@types/react": "npm:^18.3.3"
class-variance-authority: "npm:^0.7.0"
- eslint: "npm:^9.2.0"
+ eslint: "npm:^9.6.0"
next-themes: "npm:^0.3.0"
prettier: "npm:^3.2.5"
- react: "npm:18.3.1"
+ react: "npm:^18.3.1"
react-hook-form: "npm:^7.51.4"
react-resizable-panels: "npm:^2.0.19"
sonner: "npm:^1.4.41"
tailwind-merge: "npm:^2.3.0"
- tailwindcss: "npm:^3.4.3"
+ tailwindcss: "npm:^3.4.4"
tailwindcss-animate: "npm:^1.0.7"
typescript: "npm:^5.4.5"
- zod: "npm:^3.23.6"
+ zod: "npm:^3.23.8"
peerDependencies:
react: 18.3.1
zod: ^3.23.6
@@ -3073,11 +2781,11 @@ __metadata:
"@sora-vp/id-generator": "npm:*"
"@sora-vp/prettier-config": "npm:*"
"@sora-vp/tsconfig": "npm:*"
- eslint: "npm:^9.2.0"
+ eslint: "npm:^9.6.0"
js-base64: "npm:^3.7.7"
prettier: "npm:^3.2.5"
typescript: "npm:^5.4.5"
- zod: "npm:^3.23.6"
+ zod: "npm:^3.23.8"
languageName: unknown
linkType: soft
@@ -3103,28 +2811,28 @@ __metadata:
"@types/mime-types": "npm:^2"
"@types/node": "npm:^20.12.9"
"@types/qrcode": "npm:^1"
- "@types/react": "npm:^18.3.1"
+ "@types/react": "npm:^18.3.3"
"@types/react-dom": "npm:^18.3.0"
csv-parse: "npm:^5.5.6"
date-fns: "npm:^3.6.0"
dotenv-cli: "npm:^7.4.1"
- eslint: "npm:^9.2.0"
+ eslint: "npm:^9.6.0"
exceljs: "npm:^4.4.0"
geist: "npm:^1.3.0"
jiti: "npm:^1.21.0"
js-base64: "npm:^3.7.7"
- lucide-react: "npm:^0.390.0"
+ lucide-react: "npm:^0.399.0"
mime-types: "npm:^2.1.35"
next: "npm:^14.2.3"
prettier: "npm:^3.2.5"
qrcode: "npm:^1.5.3"
- react: "npm:18.3.1"
- react-dom: "npm:18.3.1"
+ react: "npm:^18.3.1"
+ react-dom: "npm:^18.3.1"
recharts: "npm:^2.12.7"
superjson: "npm:2.2.1"
- tailwindcss: "npm:^3.4.3"
+ tailwindcss: "npm:^3.4.4"
typescript: "npm:^5.4.5"
- zod: "npm:^3.23.6"
+ zod: "npm:^3.23.8"
languageName: unknown
linkType: soft
@@ -3134,6 +2842,122 @@ __metadata:
languageName: unknown
linkType: soft
+"@swc/core-darwin-arm64@npm:1.6.6":
+ version: 1.6.6
+ resolution: "@swc/core-darwin-arm64@npm:1.6.6"
+ conditions: os=darwin & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"@swc/core-darwin-x64@npm:1.6.6":
+ version: 1.6.6
+ resolution: "@swc/core-darwin-x64@npm:1.6.6"
+ conditions: os=darwin & cpu=x64
+ languageName: node
+ linkType: hard
+
+"@swc/core-linux-arm-gnueabihf@npm:1.6.6":
+ version: 1.6.6
+ resolution: "@swc/core-linux-arm-gnueabihf@npm:1.6.6"
+ conditions: os=linux & cpu=arm
+ languageName: node
+ linkType: hard
+
+"@swc/core-linux-arm64-gnu@npm:1.6.6":
+ version: 1.6.6
+ resolution: "@swc/core-linux-arm64-gnu@npm:1.6.6"
+ conditions: os=linux & cpu=arm64 & libc=glibc
+ languageName: node
+ linkType: hard
+
+"@swc/core-linux-arm64-musl@npm:1.6.6":
+ version: 1.6.6
+ resolution: "@swc/core-linux-arm64-musl@npm:1.6.6"
+ conditions: os=linux & cpu=arm64 & libc=musl
+ languageName: node
+ linkType: hard
+
+"@swc/core-linux-x64-gnu@npm:1.6.6":
+ version: 1.6.6
+ resolution: "@swc/core-linux-x64-gnu@npm:1.6.6"
+ conditions: os=linux & cpu=x64 & libc=glibc
+ languageName: node
+ linkType: hard
+
+"@swc/core-linux-x64-musl@npm:1.6.6":
+ version: 1.6.6
+ resolution: "@swc/core-linux-x64-musl@npm:1.6.6"
+ conditions: os=linux & cpu=x64 & libc=musl
+ languageName: node
+ linkType: hard
+
+"@swc/core-win32-arm64-msvc@npm:1.6.6":
+ version: 1.6.6
+ resolution: "@swc/core-win32-arm64-msvc@npm:1.6.6"
+ conditions: os=win32 & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"@swc/core-win32-ia32-msvc@npm:1.6.6":
+ version: 1.6.6
+ resolution: "@swc/core-win32-ia32-msvc@npm:1.6.6"
+ conditions: os=win32 & cpu=ia32
+ languageName: node
+ linkType: hard
+
+"@swc/core-win32-x64-msvc@npm:1.6.6":
+ version: 1.6.6
+ resolution: "@swc/core-win32-x64-msvc@npm:1.6.6"
+ conditions: os=win32 & cpu=x64
+ languageName: node
+ linkType: hard
+
+"@swc/core@npm:^1.5.7":
+ version: 1.6.6
+ resolution: "@swc/core@npm:1.6.6"
+ dependencies:
+ "@swc/core-darwin-arm64": "npm:1.6.6"
+ "@swc/core-darwin-x64": "npm:1.6.6"
+ "@swc/core-linux-arm-gnueabihf": "npm:1.6.6"
+ "@swc/core-linux-arm64-gnu": "npm:1.6.6"
+ "@swc/core-linux-arm64-musl": "npm:1.6.6"
+ "@swc/core-linux-x64-gnu": "npm:1.6.6"
+ "@swc/core-linux-x64-musl": "npm:1.6.6"
+ "@swc/core-win32-arm64-msvc": "npm:1.6.6"
+ "@swc/core-win32-ia32-msvc": "npm:1.6.6"
+ "@swc/core-win32-x64-msvc": "npm:1.6.6"
+ "@swc/counter": "npm:^0.1.3"
+ "@swc/types": "npm:^0.1.9"
+ peerDependencies:
+ "@swc/helpers": "*"
+ dependenciesMeta:
+ "@swc/core-darwin-arm64":
+ optional: true
+ "@swc/core-darwin-x64":
+ optional: true
+ "@swc/core-linux-arm-gnueabihf":
+ optional: true
+ "@swc/core-linux-arm64-gnu":
+ optional: true
+ "@swc/core-linux-arm64-musl":
+ optional: true
+ "@swc/core-linux-x64-gnu":
+ optional: true
+ "@swc/core-linux-x64-musl":
+ optional: true
+ "@swc/core-win32-arm64-msvc":
+ optional: true
+ "@swc/core-win32-ia32-msvc":
+ optional: true
+ "@swc/core-win32-x64-msvc":
+ optional: true
+ peerDependenciesMeta:
+ "@swc/helpers":
+ optional: true
+ checksum: 10c0/7e46e9f81218abfda9230bc6f4aeaf86ac811c6d8441ca936669da0f182c1f5863b6611d35e4e3b649eb0d395a199b8955d823b7c572eb2203a6b191e86ccfe0
+ languageName: node
+ linkType: hard
+
"@swc/counter@npm:^0.1.3":
version: 0.1.3
resolution: "@swc/counter@npm:0.1.3"
@@ -3151,6 +2975,15 @@ __metadata:
languageName: node
linkType: hard
+"@swc/types@npm:^0.1.9":
+ version: 0.1.9
+ resolution: "@swc/types@npm:0.1.9"
+ dependencies:
+ "@swc/counter": "npm:^0.1.3"
+ checksum: 10c0/e47db2a06189f100696837ac3d56feaf67e8e68541b236c2de497e066689230f5cbb538fc0ca77c04739ae7653c20a2d79c7ab57ecf7506e2d008cb5e523f724
+ languageName: node
+ linkType: hard
+
"@t3-oss/env-core@npm:0.10.1, @t3-oss/env-core@npm:^0.10.1":
version: 0.10.1
resolution: "@t3-oss/env-core@npm:0.10.1"
@@ -3417,7 +3250,7 @@ __metadata:
languageName: node
linkType: hard
-"@types/eslint@npm:^8.37.0":
+"@types/eslint@npm:*, @types/eslint@npm:^8.37.0":
version: 8.56.10
resolution: "@types/eslint@npm:8.56.10"
dependencies:
@@ -3427,7 +3260,16 @@ __metadata:
languageName: node
linkType: hard
-"@types/estree@npm:*, @types/estree@npm:1.0.5, @types/estree@npm:^1.0.0":
+"@types/eslint__js@npm:^8.42.3":
+ version: 8.42.3
+ resolution: "@types/eslint__js@npm:8.42.3"
+ dependencies:
+ "@types/eslint": "npm:*"
+ checksum: 10c0/ccc5180b92155929a089ffb03ed62625216dcd5e46dd3197c6f82370ce8b52c7cb9df66c06b0a3017995409e023bc9eafe5a3f009e391960eacefaa1b62d9a56
+ languageName: node
+ linkType: hard
+
+"@types/estree@npm:*, @types/estree@npm:1.0.5":
version: 1.0.5
resolution: "@types/estree@npm:1.0.5"
checksum: 10c0/b3b0e334288ddb407c7b3357ca67dbee75ee22db242ca7c56fe27db4e1a31989cb8af48a84dd401deb787fe10cc6b2ab1ee82dc4783be87ededbe3d53c79c70d
@@ -3444,15 +3286,6 @@ __metadata:
languageName: node
linkType: hard
-"@types/http-proxy@npm:^1.17.14":
- version: 1.17.14
- resolution: "@types/http-proxy@npm:1.17.14"
- dependencies:
- "@types/node": "npm:*"
- checksum: 10c0/c4bffd87be9aff7e879c05bd2c28716220e0eb39788e3f8d314eee665324ad8f5f0919041cbd710254d553cd9cea023f8b776d4b1ec31d2188eac60af18c3022
- languageName: node
- linkType: hard
-
"@types/inquirer@npm:^6.5.0":
version: 6.5.0
resolution: "@types/inquirer@npm:6.5.0"
@@ -3463,7 +3296,7 @@ __metadata:
languageName: node
linkType: hard
-"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.15, @types/json-schema@npm:^7.0.9":
+"@types/json-schema@npm:*":
version: 7.0.15
resolution: "@types/json-schema@npm:7.0.15"
checksum: 10c0/a996a745e6c5d60292f36731dd41341339d4eeed8180bb09226e5c8d23759067692b1d88e5d91d72ee83dfc00d3aca8e7bd43ea120516c17922cbcb7c3e252db
@@ -3507,6 +3340,13 @@ __metadata:
languageName: node
linkType: hard
+"@types/offscreencanvas@npm:^2019.6.4":
+ version: 2019.7.3
+ resolution: "@types/offscreencanvas@npm:2019.7.3"
+ checksum: 10c0/6d1dfae721d321cd2b5435f347a0e53b09f33b2f9e9333396480f592823bc323847b8169f7d251d2285cb93dbc1ba2e30741ac5cf4b1c003d660fd4c24526963
+ languageName: node
+ linkType: hard
+
"@types/prop-types@npm:*":
version: 15.7.12
resolution: "@types/prop-types@npm:15.7.12"
@@ -3532,7 +3372,7 @@ __metadata:
languageName: node
linkType: hard
-"@types/react@npm:*, @types/react@npm:^18.3.1":
+"@types/react@npm:*":
version: 18.3.1
resolution: "@types/react@npm:18.3.1"
dependencies:
@@ -3542,17 +3382,13 @@ __metadata:
languageName: node
linkType: hard
-"@types/resolve@npm:1.20.2":
- version: 1.20.2
- resolution: "@types/resolve@npm:1.20.2"
- checksum: 10c0/c5b7e1770feb5ccfb6802f6ad82a7b0d50874c99331e0c9b259e415e55a38d7a86ad0901c57665d93f75938be2a6a0bc9aa06c9749192cadb2e4512800bbc6e6
- languageName: node
- linkType: hard
-
-"@types/semver@npm:^7.3.12, @types/semver@npm:^7.5.8":
- version: 7.5.8
- resolution: "@types/semver@npm:7.5.8"
- checksum: 10c0/8663ff927234d1c5fcc04b33062cb2b9fcfbe0f5f351ed26c4d1e1581657deebd506b41ff7fdf89e787e3d33ce05854bc01686379b89e9c49b564c4cfa988efa
+"@types/react@npm:^18.3.3":
+ version: 18.3.3
+ resolution: "@types/react@npm:18.3.3"
+ dependencies:
+ "@types/prop-types": "npm:*"
+ csstype: "npm:^3.0.2"
+ checksum: 10c0/fe455f805c5da13b89964c3d68060cebd43e73ec15001a68b34634604a78140e6fc202f3f61679b9d809dde6d7a7c2cb3ed51e0fd1462557911db09879b55114
languageName: node
linkType: hard
@@ -3572,20 +3408,18 @@ __metadata:
languageName: node
linkType: hard
-"@typescript-eslint/eslint-plugin@npm:7.8.0":
- version: 7.8.0
- resolution: "@typescript-eslint/eslint-plugin@npm:7.8.0"
+"@typescript-eslint/eslint-plugin@npm:7.14.1, @typescript-eslint/eslint-plugin@npm:^7.13.1":
+ version: 7.14.1
+ resolution: "@typescript-eslint/eslint-plugin@npm:7.14.1"
dependencies:
"@eslint-community/regexpp": "npm:^4.10.0"
- "@typescript-eslint/scope-manager": "npm:7.8.0"
- "@typescript-eslint/type-utils": "npm:7.8.0"
- "@typescript-eslint/utils": "npm:7.8.0"
- "@typescript-eslint/visitor-keys": "npm:7.8.0"
- debug: "npm:^4.3.4"
+ "@typescript-eslint/scope-manager": "npm:7.14.1"
+ "@typescript-eslint/type-utils": "npm:7.14.1"
+ "@typescript-eslint/utils": "npm:7.14.1"
+ "@typescript-eslint/visitor-keys": "npm:7.14.1"
graphemer: "npm:^1.4.0"
ignore: "npm:^5.3.1"
natural-compare: "npm:^1.4.0"
- semver: "npm:^7.6.0"
ts-api-utils: "npm:^1.3.0"
peerDependencies:
"@typescript-eslint/parser": ^7.0.0
@@ -3593,49 +3427,25 @@ __metadata:
peerDependenciesMeta:
typescript:
optional: true
- checksum: 10c0/37ca22620d1834ff0baa28fa4b8fd92039a3903cb95748353de32d56bae2a81ce50d1bbaed27487eebc884e0a0f9387fcb0f1647593e4e6df5111ef674afa9f0
+ checksum: 10c0/7c2b9b98a38d78326b0ff7348fe001203eda10817ca7834a7a01f492ae7c2508469bbafaa933208d6459f8ff6685277685983cf6f6843e556a6ab2aa5c05080c
languageName: node
linkType: hard
-"@typescript-eslint/eslint-plugin@npm:^5.59.2":
- version: 5.62.0
- resolution: "@typescript-eslint/eslint-plugin@npm:5.62.0"
+"@typescript-eslint/parser@npm:7.14.1, @typescript-eslint/parser@npm:^7.13.1":
+ version: 7.14.1
+ resolution: "@typescript-eslint/parser@npm:7.14.1"
dependencies:
- "@eslint-community/regexpp": "npm:^4.4.0"
- "@typescript-eslint/scope-manager": "npm:5.62.0"
- "@typescript-eslint/type-utils": "npm:5.62.0"
- "@typescript-eslint/utils": "npm:5.62.0"
- debug: "npm:^4.3.4"
- graphemer: "npm:^1.4.0"
- ignore: "npm:^5.2.0"
- natural-compare-lite: "npm:^1.4.0"
- semver: "npm:^7.3.7"
- tsutils: "npm:^3.21.0"
- peerDependencies:
- "@typescript-eslint/parser": ^5.0.0
- eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
- peerDependenciesMeta:
- typescript:
- optional: true
- checksum: 10c0/3f40cb6bab5a2833c3544e4621b9fdacd8ea53420cadc1c63fac3b89cdf5c62be1e6b7bcf56976dede5db4c43830de298ced3db60b5494a3b961ca1b4bff9f2a
- languageName: node
- linkType: hard
-
-"@typescript-eslint/parser@npm:7.8.0":
- version: 7.8.0
- resolution: "@typescript-eslint/parser@npm:7.8.0"
- dependencies:
- "@typescript-eslint/scope-manager": "npm:7.8.0"
- "@typescript-eslint/types": "npm:7.8.0"
- "@typescript-eslint/typescript-estree": "npm:7.8.0"
- "@typescript-eslint/visitor-keys": "npm:7.8.0"
+ "@typescript-eslint/scope-manager": "npm:7.14.1"
+ "@typescript-eslint/types": "npm:7.14.1"
+ "@typescript-eslint/typescript-estree": "npm:7.14.1"
+ "@typescript-eslint/visitor-keys": "npm:7.14.1"
debug: "npm:^4.3.4"
peerDependencies:
eslint: ^8.56.0
peerDependenciesMeta:
typescript:
optional: true
- checksum: 10c0/0dd994c1b31b810c25e1b755b8d352debb7bf21a31f9a91acaec34acf4e471320bcceaa67cf64c110c0b8f5fac10a037dbabac6ec423e17adf037e59a7bce9c1
+ checksum: 10c0/db3169d4852685cfb27db741c557f58a3e52104bfacc7621beb7c94ec36ac2a08d4e410ac86745db52f482fbfc87e99fa0a26c1d7a10d37a215cce85e1661f0e
languageName: node
linkType: hard
@@ -3657,33 +3467,6 @@ __metadata:
languageName: node
linkType: hard
-"@typescript-eslint/parser@npm:^5.59.2":
- version: 5.62.0
- resolution: "@typescript-eslint/parser@npm:5.62.0"
- dependencies:
- "@typescript-eslint/scope-manager": "npm:5.62.0"
- "@typescript-eslint/types": "npm:5.62.0"
- "@typescript-eslint/typescript-estree": "npm:5.62.0"
- debug: "npm:^4.3.4"
- peerDependencies:
- eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
- peerDependenciesMeta:
- typescript:
- optional: true
- checksum: 10c0/315194b3bf39beb9bd16c190956c46beec64b8371e18d6bb72002108b250983eb1e186a01d34b77eb4045f4941acbb243b16155fbb46881105f65e37dc9e24d4
- languageName: node
- linkType: hard
-
-"@typescript-eslint/scope-manager@npm:5.62.0":
- version: 5.62.0
- resolution: "@typescript-eslint/scope-manager@npm:5.62.0"
- dependencies:
- "@typescript-eslint/types": "npm:5.62.0"
- "@typescript-eslint/visitor-keys": "npm:5.62.0"
- checksum: 10c0/861253235576c1c5c1772d23cdce1418c2da2618a479a7de4f6114a12a7ca853011a1e530525d0931c355a8fd237b9cd828fac560f85f9623e24054fd024726f
- languageName: node
- linkType: hard
-
"@typescript-eslint/scope-manager@npm:6.21.0":
version: 6.21.0
resolution: "@typescript-eslint/scope-manager@npm:6.21.0"
@@ -3694,39 +3477,22 @@ __metadata:
languageName: node
linkType: hard
-"@typescript-eslint/scope-manager@npm:7.8.0":
- version: 7.8.0
- resolution: "@typescript-eslint/scope-manager@npm:7.8.0"
+"@typescript-eslint/scope-manager@npm:7.14.1":
+ version: 7.14.1
+ resolution: "@typescript-eslint/scope-manager@npm:7.14.1"
dependencies:
- "@typescript-eslint/types": "npm:7.8.0"
- "@typescript-eslint/visitor-keys": "npm:7.8.0"
- checksum: 10c0/c253b98e96d4bf0375f473ca2c4d081726f1fd926cdfa65ee14c9ee99cca8eddb763b2d238ac365daa7246bef21b0af38180d04e56e9df7443c0e6f8474d097c
- languageName: node
- linkType: hard
-
-"@typescript-eslint/type-utils@npm:5.62.0":
- version: 5.62.0
- resolution: "@typescript-eslint/type-utils@npm:5.62.0"
- dependencies:
- "@typescript-eslint/typescript-estree": "npm:5.62.0"
- "@typescript-eslint/utils": "npm:5.62.0"
- debug: "npm:^4.3.4"
- tsutils: "npm:^3.21.0"
- peerDependencies:
- eslint: "*"
- peerDependenciesMeta:
- typescript:
- optional: true
- checksum: 10c0/93112e34026069a48f0484b98caca1c89d9707842afe14e08e7390af51cdde87378df29d213d3bbd10a7cfe6f91b228031b56218515ce077bdb62ddea9d9f474
+ "@typescript-eslint/types": "npm:7.14.1"
+ "@typescript-eslint/visitor-keys": "npm:7.14.1"
+ checksum: 10c0/f8c05a0d6f8de4cc19b90a4da308817c66e53f36f7ec48f6cc23e93c7399bc418643d8135933aaf5fc013199cbef0e1ea4223f5147db5ca401b239eaf087011e
languageName: node
linkType: hard
-"@typescript-eslint/type-utils@npm:7.8.0":
- version: 7.8.0
- resolution: "@typescript-eslint/type-utils@npm:7.8.0"
+"@typescript-eslint/type-utils@npm:7.14.1":
+ version: 7.14.1
+ resolution: "@typescript-eslint/type-utils@npm:7.14.1"
dependencies:
- "@typescript-eslint/typescript-estree": "npm:7.8.0"
- "@typescript-eslint/utils": "npm:7.8.0"
+ "@typescript-eslint/typescript-estree": "npm:7.14.1"
+ "@typescript-eslint/utils": "npm:7.14.1"
debug: "npm:^4.3.4"
ts-api-utils: "npm:^1.3.0"
peerDependencies:
@@ -3734,14 +3500,7 @@ __metadata:
peerDependenciesMeta:
typescript:
optional: true
- checksum: 10c0/00f6315626b64f7dbc1f7fba6f365321bb8d34141ed77545b2a07970e59a81dbdf768c1e024225ea00953750d74409ddd8a16782fc4a39261e507c04192dacab
- languageName: node
- linkType: hard
-
-"@typescript-eslint/types@npm:5.62.0":
- version: 5.62.0
- resolution: "@typescript-eslint/types@npm:5.62.0"
- checksum: 10c0/7febd3a7f0701c0b927e094f02e82d8ee2cada2b186fcb938bc2b94ff6fbad88237afc304cbaf33e82797078bbbb1baf91475f6400912f8b64c89be79bfa4ddf
+ checksum: 10c0/bd1c4a8db6273e24156fb10da2cbeb52b4eb03f819da193d4b6bd5a95db3b5524c6fe00d088308d8855b9ae60a3b82afa3a06e89982a09a8573561da960758fd
languageName: node
linkType: hard
@@ -3752,28 +3511,10 @@ __metadata:
languageName: node
linkType: hard
-"@typescript-eslint/types@npm:7.8.0":
- version: 7.8.0
- resolution: "@typescript-eslint/types@npm:7.8.0"
- checksum: 10c0/b2fdbfc21957bfa46f7d8809b607ad8c8b67c51821d899064d09392edc12f28b2318a044f0cd5d523d782e84e8f0558778877944964cf38e139f88790cf9d466
- languageName: node
- linkType: hard
-
-"@typescript-eslint/typescript-estree@npm:5.62.0":
- version: 5.62.0
- resolution: "@typescript-eslint/typescript-estree@npm:5.62.0"
- dependencies:
- "@typescript-eslint/types": "npm:5.62.0"
- "@typescript-eslint/visitor-keys": "npm:5.62.0"
- debug: "npm:^4.3.4"
- globby: "npm:^11.1.0"
- is-glob: "npm:^4.0.3"
- semver: "npm:^7.3.7"
- tsutils: "npm:^3.21.0"
- peerDependenciesMeta:
- typescript:
- optional: true
- checksum: 10c0/d7984a3e9d56897b2481940ec803cb8e7ead03df8d9cfd9797350be82ff765dfcf3cfec04e7355e1779e948da8f02bc5e11719d07a596eb1cb995c48a95e38cf
+"@typescript-eslint/types@npm:7.14.1":
+ version: 7.14.1
+ resolution: "@typescript-eslint/types@npm:7.14.1"
+ checksum: 10c0/5b7bda83c47a9b386482e63447c6b0ed7bd4e82eb43f11a180c6e2f3d2e7a2828f57bcbed82196ad761c49e363cccf4c81a89f1fc976e9f5f0a79dcc928fa2d2
languageName: node
linkType: hard
@@ -3796,12 +3537,12 @@ __metadata:
languageName: node
linkType: hard
-"@typescript-eslint/typescript-estree@npm:7.8.0":
- version: 7.8.0
- resolution: "@typescript-eslint/typescript-estree@npm:7.8.0"
+"@typescript-eslint/typescript-estree@npm:7.14.1":
+ version: 7.14.1
+ resolution: "@typescript-eslint/typescript-estree@npm:7.14.1"
dependencies:
- "@typescript-eslint/types": "npm:7.8.0"
- "@typescript-eslint/visitor-keys": "npm:7.8.0"
+ "@typescript-eslint/types": "npm:7.14.1"
+ "@typescript-eslint/visitor-keys": "npm:7.14.1"
debug: "npm:^4.3.4"
globby: "npm:^11.1.0"
is-glob: "npm:^4.0.3"
@@ -3811,52 +3552,21 @@ __metadata:
peerDependenciesMeta:
typescript:
optional: true
- checksum: 10c0/1690b62679685073dcb0f62499f0b52b445b37ae6e12d02aa4acbafe3fb023cf999b01f714b6282e88f84fd934fe3e2eefb21a64455d19c348d22bbc68ca8e47
- languageName: node
- linkType: hard
-
-"@typescript-eslint/utils@npm:5.62.0":
- version: 5.62.0
- resolution: "@typescript-eslint/utils@npm:5.62.0"
- dependencies:
- "@eslint-community/eslint-utils": "npm:^4.2.0"
- "@types/json-schema": "npm:^7.0.9"
- "@types/semver": "npm:^7.3.12"
- "@typescript-eslint/scope-manager": "npm:5.62.0"
- "@typescript-eslint/types": "npm:5.62.0"
- "@typescript-eslint/typescript-estree": "npm:5.62.0"
- eslint-scope: "npm:^5.1.1"
- semver: "npm:^7.3.7"
- peerDependencies:
- eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
- checksum: 10c0/f09b7d9952e4a205eb1ced31d7684dd55cee40bf8c2d78e923aa8a255318d97279825733902742c09d8690f37a50243f4c4d383ab16bd7aefaf9c4b438f785e1
+ checksum: 10c0/a8da9bcc4de3334a225424946abd99374de05c42098455419224bc0f46bb1b66115f8bd6ae268461294b90943ed4a407bcd255c0fa60eb76ba4cdc5fc7c20855
languageName: node
linkType: hard
-"@typescript-eslint/utils@npm:7.8.0":
- version: 7.8.0
- resolution: "@typescript-eslint/utils@npm:7.8.0"
+"@typescript-eslint/utils@npm:7.14.1":
+ version: 7.14.1
+ resolution: "@typescript-eslint/utils@npm:7.14.1"
dependencies:
"@eslint-community/eslint-utils": "npm:^4.4.0"
- "@types/json-schema": "npm:^7.0.15"
- "@types/semver": "npm:^7.5.8"
- "@typescript-eslint/scope-manager": "npm:7.8.0"
- "@typescript-eslint/types": "npm:7.8.0"
- "@typescript-eslint/typescript-estree": "npm:7.8.0"
- semver: "npm:^7.6.0"
+ "@typescript-eslint/scope-manager": "npm:7.14.1"
+ "@typescript-eslint/types": "npm:7.14.1"
+ "@typescript-eslint/typescript-estree": "npm:7.14.1"
peerDependencies:
eslint: ^8.56.0
- checksum: 10c0/31fb58388d15b082eb7bd5bce889cc11617aa1131dfc6950471541b3df64c82d1c052e2cccc230ca4ae80456d4f63a3e5dccb79899a8f3211ce36c089b7d7640
- languageName: node
- linkType: hard
-
-"@typescript-eslint/visitor-keys@npm:5.62.0":
- version: 5.62.0
- resolution: "@typescript-eslint/visitor-keys@npm:5.62.0"
- dependencies:
- "@typescript-eslint/types": "npm:5.62.0"
- eslint-visitor-keys: "npm:^3.3.0"
- checksum: 10c0/7c3b8e4148e9b94d9b7162a596a1260d7a3efc4e65199693b8025c71c4652b8042501c0bc9f57654c1e2943c26da98c0f77884a746c6ae81389fcb0b513d995d
+ checksum: 10c0/c7f635a3c2c6c085e1d51a52088e55cad9d7e1257b1f60378e5eeb6eb0871db027d42747e9ef60a2f557cf9dd68b2ce014d488d795db8f771506290b164b0e5a
languageName: node
linkType: hard
@@ -3870,35 +3580,24 @@ __metadata:
languageName: node
linkType: hard
-"@typescript-eslint/visitor-keys@npm:7.8.0":
- version: 7.8.0
- resolution: "@typescript-eslint/visitor-keys@npm:7.8.0"
+"@typescript-eslint/visitor-keys@npm:7.14.1":
+ version: 7.14.1
+ resolution: "@typescript-eslint/visitor-keys@npm:7.14.1"
dependencies:
- "@typescript-eslint/types": "npm:7.8.0"
+ "@typescript-eslint/types": "npm:7.14.1"
eslint-visitor-keys: "npm:^3.4.3"
- checksum: 10c0/5892fb5d9c58efaf89adb225f7dbbb77f9363961f2ff420b6b130bdd102dddd7aa8a16c46a5a71c19889d27b781e966119a89270555ea2cb5653a04d8994123d
+ checksum: 10c0/39ac489990fcfdcee442f27658431a0eb44ccf694f701a45df2a108c47cea9582e0955bff0d449047549149385f72895a5d7e6c1622ece1fe32594b7cecb85f3
languageName: node
linkType: hard
-"@vercel/nft@npm:^0.26.4":
- version: 0.26.5
- resolution: "@vercel/nft@npm:0.26.5"
+"@vitejs/plugin-react-swc@npm:^3.5.0":
+ version: 3.7.0
+ resolution: "@vitejs/plugin-react-swc@npm:3.7.0"
dependencies:
- "@mapbox/node-pre-gyp": "npm:^1.0.5"
- "@rollup/pluginutils": "npm:^4.0.0"
- acorn: "npm:^8.6.0"
- acorn-import-attributes: "npm:^1.9.2"
- async-sema: "npm:^3.1.1"
- bindings: "npm:^1.4.0"
- estree-walker: "npm:2.0.2"
- glob: "npm:^7.1.3"
- graceful-fs: "npm:^4.2.9"
- micromatch: "npm:^4.0.2"
- node-gyp-build: "npm:^4.2.2"
- resolve-from: "npm:^5.0.0"
- bin:
- nft: out/cli.js
- checksum: 10c0/b7034b2f851384f26316c856a731c0973a99bd02f6bb349916a750328a4919944ed6fd12c321b38ec6535d29dfb627d7fa8ab0f1e8c1c3cabd71e3350bd77548
+ "@swc/core": "npm:^1.5.7"
+ peerDependencies:
+ vite: ^4 || ^5
+ checksum: 10c0/f9f562c87f0fd384d160c5d499056841f8a38050fc01f5295d3394a77c288eca1f78f6df3aa08c01f3f5cb3e4937c6490607ac87b700d87bab425b7c4dc15e91
languageName: node
linkType: hard
@@ -3925,15 +3624,6 @@ __metadata:
languageName: node
linkType: hard
-"acorn-import-attributes@npm:^1.9.2":
- version: 1.9.5
- resolution: "acorn-import-attributes@npm:1.9.5"
- peerDependencies:
- acorn: ^8
- checksum: 10c0/5926eaaead2326d5a86f322ff1b617b0f698aa61dc719a5baa0e9d955c9885cc71febac3fb5bacff71bbf2c4f9c12db2056883c68c53eb962c048b952e1e013d
- languageName: node
- linkType: hard
-
"acorn-jsx@npm:^5.3.2":
version: 5.3.2
resolution: "acorn-jsx@npm:5.3.2"
@@ -3950,7 +3640,7 @@ __metadata:
languageName: node
linkType: hard
-"acorn@npm:^8.10.0, acorn@npm:^8.11.2, acorn@npm:^8.11.3, acorn@npm:^8.4.1, acorn@npm:^8.6.0, acorn@npm:^8.8.2":
+"acorn@npm:^8.11.3, acorn@npm:^8.4.1":
version: 8.11.3
resolution: "acorn@npm:8.11.3"
bin:
@@ -3959,6 +3649,15 @@ __metadata:
languageName: node
linkType: hard
+"acorn@npm:^8.12.0":
+ version: 8.12.0
+ resolution: "acorn@npm:8.12.0"
+ bin:
+ acorn: bin/acorn
+ checksum: 10c0/a19f9dead009d3b430fa3c253710b47778cdaace15b316de6de93a68c355507bc1072a9956372b6c990cbeeb167d4a929249d0faeb8ae4bb6911d68d53299549
+ languageName: node
+ linkType: hard
+
"agent-base@npm:6":
version: 6.0.2
resolution: "agent-base@npm:6.0.2"
@@ -4011,13 +3710,6 @@ __metadata:
languageName: node
linkType: hard
-"ansi-colors@npm:^4.1.3":
- version: 4.1.3
- resolution: "ansi-colors@npm:4.1.3"
- checksum: 10c0/ec87a2f59902f74e61eada7f6e6fe20094a628dab765cfdbd03c3477599368768cffccdb5d3bb19a1b6c99126783a143b1fee31aab729b31ffe5836c7e5e28b9
- languageName: node
- linkType: hard
-
"ansi-escapes@npm:^4.2.1":
version: 4.3.2
resolution: "ansi-escapes@npm:4.3.2"
@@ -4073,7 +3765,7 @@ __metadata:
languageName: node
linkType: hard
-"anymatch@npm:^3.1.3, anymatch@npm:~3.1.2":
+"anymatch@npm:~3.1.2":
version: 3.1.3
resolution: "anymatch@npm:3.1.3"
dependencies:
@@ -4126,21 +3818,6 @@ __metadata:
languageName: node
linkType: hard
-"archiver-utils@npm:^5.0.0, archiver-utils@npm:^5.0.2":
- version: 5.0.2
- resolution: "archiver-utils@npm:5.0.2"
- dependencies:
- glob: "npm:^10.0.0"
- graceful-fs: "npm:^4.2.0"
- is-stream: "npm:^2.0.1"
- lazystream: "npm:^1.0.0"
- lodash: "npm:^4.17.15"
- normalize-path: "npm:^3.0.0"
- readable-stream: "npm:^4.0.0"
- checksum: 10c0/3782c5fa9922186aa1a8e41ed0c2867569faa5f15c8e5e6418ea4c1b730b476e21bd68270b3ea457daf459ae23aaea070b2b9f90cf90a59def8dc79b9e4ef538
- languageName: node
- linkType: hard
-
"archiver@npm:^5.0.0":
version: 5.3.2
resolution: "archiver@npm:5.3.2"
@@ -4156,21 +3833,6 @@ __metadata:
languageName: node
linkType: hard
-"archiver@npm:^7.0.1":
- version: 7.0.1
- resolution: "archiver@npm:7.0.1"
- dependencies:
- archiver-utils: "npm:^5.0.2"
- async: "npm:^3.2.4"
- buffer-crc32: "npm:^1.0.0"
- readable-stream: "npm:^4.0.0"
- readdir-glob: "npm:^1.1.2"
- tar-stream: "npm:^3.0.0"
- zip-stream: "npm:^6.0.1"
- checksum: 10c0/02afd87ca16f6184f752db8e26884e6eff911c476812a0e7f7b26c4beb09f06119807f388a8e26ed2558aa8ba9db28646ebd147a4f99e46813b8b43158e1438e
- languageName: node
- linkType: hard
-
"are-we-there-yet@npm:^2.0.0":
version: 2.0.0
resolution: "are-we-there-yet@npm:2.0.0"
@@ -4360,13 +4022,6 @@ __metadata:
languageName: node
linkType: hard
-"async-sema@npm:^3.1.1":
- version: 3.1.1
- resolution: "async-sema@npm:3.1.1"
- checksum: 10c0/a16da9f7f2dbdd00a969bf264b7ad331b59df3eac2b38f529b881c5cc8662594e68ed096d927ec2aabdc13454379cdc6d677bcdb0a3d2db338fb4be17957832b
- languageName: node
- linkType: hard
-
"async@npm:^3.2.4":
version: 3.2.5
resolution: "async@npm:3.2.5"
@@ -4381,6 +4036,24 @@ __metadata:
languageName: node
linkType: hard
+"autoprefixer@npm:^10.4.19":
+ version: 10.4.19
+ resolution: "autoprefixer@npm:10.4.19"
+ dependencies:
+ browserslist: "npm:^4.23.0"
+ caniuse-lite: "npm:^1.0.30001599"
+ fraction.js: "npm:^4.3.7"
+ normalize-range: "npm:^0.1.2"
+ picocolors: "npm:^1.0.0"
+ postcss-value-parser: "npm:^4.2.0"
+ peerDependencies:
+ postcss: ^8.1.0
+ bin:
+ autoprefixer: bin/autoprefixer
+ checksum: 10c0/fe0178eb8b1da4f15c6535cd329926609b22d1811e047371dccce50563623f8075dd06fb167daff059e4228da651b0bdff6d9b44281541eaf0ce0b79125bfd19
+ languageName: node
+ linkType: hard
+
"available-typed-arrays@npm:^1.0.7":
version: 1.0.7
resolution: "available-typed-arrays@npm:1.0.7"
@@ -4406,13 +4079,6 @@ __metadata:
languageName: node
linkType: hard
-"b4a@npm:^1.6.4":
- version: 1.6.6
- resolution: "b4a@npm:1.6.6"
- checksum: 10c0/56f30277666cb511a15829e38d369b114df7dc8cec4cedc09cc5d685bc0f27cb63c7bcfb58e09a19a1b3c4f2541069ab078b5328542e85d74a39620327709a38
- languageName: node
- linkType: hard
-
"balanced-match@npm:^1.0.0":
version: 1.0.2
resolution: "balanced-match@npm:1.0.2"
@@ -4420,13 +4086,6 @@ __metadata:
languageName: node
linkType: hard
-"bare-events@npm:^2.2.0":
- version: 2.2.2
- resolution: "bare-events@npm:2.2.2"
- checksum: 10c0/bacdaaf072f87ab5d2ed0c2fc519ef0fa8f6acd834fee50710a05f416a1b73ed99c9c6dfbefdd462ec4eb726d8f74e4a8476c2f8c3ae8812919c67eacb1f807f
- languageName: node
- linkType: hard
-
"base64-js@npm:^1.3.1":
version: 1.5.1
resolution: "base64-js@npm:1.5.1"
@@ -4475,15 +4134,6 @@ __metadata:
languageName: node
linkType: hard
-"bindings@npm:^1.4.0":
- version: 1.5.0
- resolution: "bindings@npm:1.5.0"
- dependencies:
- file-uri-to-path: "npm:1.0.0"
- checksum: 10c0/3dab2491b4bb24124252a91e656803eac24292473e56554e35bbfe3cc1875332cfa77600c3bac7564049dc95075bf6fcc63a4609920ff2d64d0fe405fcf0d4ba
- languageName: node
- linkType: hard
-
"bl@npm:^4.0.3, bl@npm:^4.1.0":
version: 4.1.0
resolution: "bl@npm:4.1.0"
@@ -4544,6 +4194,20 @@ __metadata:
languageName: node
linkType: hard
+"browserslist@npm:^4.23.0":
+ version: 4.23.1
+ resolution: "browserslist@npm:4.23.1"
+ dependencies:
+ caniuse-lite: "npm:^1.0.30001629"
+ electron-to-chromium: "npm:^1.4.796"
+ node-releases: "npm:^2.0.14"
+ update-browserslist-db: "npm:^1.0.16"
+ bin:
+ browserslist: cli.js
+ checksum: 10c0/eb47c7ab9d60db25ce2faca70efeb278faa7282a2f62b7f2fa2f92e5f5251cf65144244566c86559419ff4f6d78f59ea50e39911321ad91f3b27788901f1f5e9
+ languageName: node
+ linkType: hard
+
"buffer-crc32@npm:^0.2.1, buffer-crc32@npm:^0.2.13":
version: 0.2.13
resolution: "buffer-crc32@npm:0.2.13"
@@ -4551,13 +4215,6 @@ __metadata:
languageName: node
linkType: hard
-"buffer-crc32@npm:^1.0.0":
- version: 1.0.0
- resolution: "buffer-crc32@npm:1.0.0"
- checksum: 10c0/8b86e161cee4bb48d5fa622cbae4c18f25e4857e5203b89e23de59e627ab26beb82d9d7999f2b8de02580165f61f83f997beaf02980cdf06affd175b651921ab
- languageName: node
- linkType: hard
-
"buffer-from@npm:^1.0.0":
version: 1.1.2
resolution: "buffer-from@npm:1.1.2"
@@ -4606,13 +4263,6 @@ __metadata:
languageName: node
linkType: hard
-"builtin-modules@npm:^3.3.0":
- version: 3.3.0
- resolution: "builtin-modules@npm:3.3.0"
- checksum: 10c0/2cb3448b4f7306dc853632a4fcddc95e8d4e4b9868c139400027b71938fc6806d4ff44007deffb362ac85724bd40c2c6452fb6a0aa4531650eeddb98d8e5ee8a
- languageName: node
- linkType: hard
-
"bundle-require@npm:^4.0.0":
version: 4.1.0
resolution: "bundle-require@npm:4.1.0"
@@ -4633,26 +4283,6 @@ __metadata:
languageName: node
linkType: hard
-"c12@npm:^1.10.0":
- version: 1.10.0
- resolution: "c12@npm:1.10.0"
- dependencies:
- chokidar: "npm:^3.6.0"
- confbox: "npm:^0.1.3"
- defu: "npm:^6.1.4"
- dotenv: "npm:^16.4.5"
- giget: "npm:^1.2.1"
- jiti: "npm:^1.21.0"
- mlly: "npm:^1.6.1"
- ohash: "npm:^1.1.3"
- pathe: "npm:^1.1.2"
- perfect-debounce: "npm:^1.0.0"
- pkg-types: "npm:^1.0.3"
- rc9: "npm:^2.1.1"
- checksum: 10c0/52408f5a1ec4bf7f6b470245525e621c7cd8cc0a648f5fa971ddbbe13dd1c8d3bd1fd59b194d7881029020392bb1151b323a39a9df869cf40e450c8f882486f8
- languageName: node
- linkType: hard
-
"cac@npm:^6.7.12":
version: 6.7.14
resolution: "cac@npm:6.7.14"
@@ -4738,6 +4368,13 @@ __metadata:
languageName: node
linkType: hard
+"caniuse-lite@npm:^1.0.30001599, caniuse-lite@npm:^1.0.30001629":
+ version: 1.0.30001638
+ resolution: "caniuse-lite@npm:1.0.30001638"
+ checksum: 10c0/33019e0c53ed73f1e728b6f313efed2d7a25710dfa2ad3924d2be9939df10d0991556ac87523d3177d472c246654c9216f03e5532717ed97df58014728c3e798
+ languageName: node
+ linkType: hard
+
"chainsaw@npm:~0.1.0":
version: 0.1.0
resolution: "chainsaw@npm:0.1.0"
@@ -4778,7 +4415,7 @@ __metadata:
languageName: node
linkType: hard
-"chalk@npm:^5.2.0, chalk@npm:^5.3.0":
+"chalk@npm:^5.2.0":
version: 5.3.0
resolution: "chalk@npm:5.3.0"
checksum: 10c0/8297d436b2c0f95801103ff2ef67268d362021b8210daf8ddbe349695333eb3610a71122172ff3b0272f1ef2cf7cc2c41fdaa4715f52e49ffe04c56340feed09
@@ -4818,7 +4455,7 @@ __metadata:
languageName: node
linkType: hard
-"chokidar@npm:^3.5.1, chokidar@npm:^3.5.3, chokidar@npm:^3.6.0":
+"chokidar@npm:^3.5.1, chokidar@npm:^3.5.3":
version: 3.6.0
resolution: "chokidar@npm:3.6.0"
dependencies:
@@ -4844,15 +4481,6 @@ __metadata:
languageName: node
linkType: hard
-"citty@npm:^0.1.5, citty@npm:^0.1.6":
- version: 0.1.6
- resolution: "citty@npm:0.1.6"
- dependencies:
- consola: "npm:^3.2.3"
- checksum: 10c0/d26ad82a9a4a8858c7e149d90b878a3eceecd4cfd3e2ed3cd5f9a06212e451fb4f8cbe0fa39a3acb1b3e8f18e22db8ee5def5829384bad50e823d4b301609b48
- languageName: node
- linkType: hard
-
"class-variance-authority@npm:^0.7.0":
version: 0.7.0
resolution: "class-variance-authority@npm:0.7.0"
@@ -4912,17 +4540,6 @@ __metadata:
languageName: node
linkType: hard
-"clipboardy@npm:^4.0.0":
- version: 4.0.0
- resolution: "clipboardy@npm:4.0.0"
- dependencies:
- execa: "npm:^8.0.1"
- is-wsl: "npm:^3.1.0"
- is64bit: "npm:^2.0.0"
- checksum: 10c0/02bb5f3d0a772bd84ec26a3566c72c2319a9f3b4cb8338370c3bffcf0073c80b834abe1a6945bea4f2cbea28e1627a975aaac577e3f61a868d924ce79138b041
- languageName: node
- linkType: hard
-
"cliui@npm:^6.0.0":
version: 6.0.0
resolution: "cliui@npm:6.0.0"
@@ -4934,17 +4551,6 @@ __metadata:
languageName: node
linkType: hard
-"cliui@npm:^8.0.1":
- version: 8.0.1
- resolution: "cliui@npm:8.0.1"
- dependencies:
- string-width: "npm:^4.2.0"
- strip-ansi: "npm:^6.0.1"
- wrap-ansi: "npm:^7.0.0"
- checksum: 10c0/4bda0f09c340cbb6dfdc1ed508b3ca080f12992c18d68c6be4d9cf51756033d5266e61ec57529e610dacbf4da1c634423b0c1b11037709cc6b09045cbd815df5
- languageName: node
- linkType: hard
-
"clone@npm:^1.0.2":
version: 1.0.4
resolution: "clone@npm:1.0.4"
@@ -4966,13 +4572,6 @@ __metadata:
languageName: node
linkType: hard
-"cluster-key-slot@npm:^1.1.0":
- version: 1.1.2
- resolution: "cluster-key-slot@npm:1.1.2"
- checksum: 10c0/d7d39ca28a8786e9e801eeb8c770e3c3236a566625d7299a47bb71113fb2298ce1039596acb82590e598c52dbc9b1f088c8f587803e697cb58e1867a95ff94d3
- languageName: node
- linkType: hard
-
"color-convert@npm:^1.9.0":
version: 1.9.3
resolution: "color-convert@npm:1.9.3"
@@ -5028,13 +4627,6 @@ __metadata:
languageName: node
linkType: hard
-"commander@npm:^2.20.0":
- version: 2.20.3
- resolution: "commander@npm:2.20.3"
- checksum: 10c0/74c781a5248c2402a0a3e966a0a2bba3c054aad144f5c023364be83265e796b20565aa9feff624132ff629aa64e16999fa40a743c10c12f7c61e96a794b99288
- languageName: node
- linkType: hard
-
"commander@npm:^4.0.0":
version: 4.1.1
resolution: "commander@npm:4.1.1"
@@ -5043,16 +4635,9 @@ __metadata:
linkType: hard
"commander@npm:^9.4.1":
- version: 9.5.0
- resolution: "commander@npm:9.5.0"
- checksum: 10c0/5f7784fbda2aaec39e89eb46f06a999e00224b3763dc65976e05929ec486e174fe9aac2655f03ba6a5e83875bd173be5283dc19309b7c65954701c02025b3c1d
- languageName: node
- linkType: hard
-
-"commondir@npm:^1.0.1":
- version: 1.0.1
- resolution: "commondir@npm:1.0.1"
- checksum: 10c0/33a124960e471c25ee19280c9ce31ccc19574b566dc514fe4f4ca4c34fa8b0b57cf437671f5de380e11353ea9426213fca17687dd2ef03134fea2dbc53809fd6
+ version: 9.5.0
+ resolution: "commander@npm:9.5.0"
+ checksum: 10c0/5f7784fbda2aaec39e89eb46f06a999e00224b3763dc65976e05929ec486e174fe9aac2655f03ba6a5e83875bd173be5283dc19309b7c65954701c02025b3c1d
languageName: node
linkType: hard
@@ -5068,19 +4653,6 @@ __metadata:
languageName: node
linkType: hard
-"compress-commons@npm:^6.0.2":
- version: 6.0.2
- resolution: "compress-commons@npm:6.0.2"
- dependencies:
- crc-32: "npm:^1.2.0"
- crc32-stream: "npm:^6.0.0"
- is-stream: "npm:^2.0.1"
- normalize-path: "npm:^3.0.0"
- readable-stream: "npm:^4.0.0"
- checksum: 10c0/2347031b7c92c8ed5011b07b93ec53b298fa2cd1800897532ac4d4d1aeae06567883f481b6e35f13b65fc31b190c751df6635434d525562f0203fde76f1f0814
- languageName: node
- linkType: hard
-
"concat-map@npm:0.0.1":
version: 0.0.1
resolution: "concat-map@npm:0.0.1"
@@ -5088,26 +4660,12 @@ __metadata:
languageName: node
linkType: hard
-"confbox@npm:^0.1.3, confbox@npm:^0.1.7":
- version: 0.1.7
- resolution: "confbox@npm:0.1.7"
- checksum: 10c0/18b40c2f652196a833f3f1a5db2326a8a579cd14eacabfe637e4fc8cb9b68d7cf296139a38c5e7c688ce5041bf46f9adce05932d43fde44cf7e012840b5da111
- languageName: node
- linkType: hard
-
"config@workspace:packages/config":
version: 0.0.0-use.local
resolution: "config@workspace:packages/config"
languageName: unknown
linkType: soft
-"consola@npm:^3.2.3":
- version: 3.2.3
- resolution: "consola@npm:3.2.3"
- checksum: 10c0/c606220524ec88a05bb1baf557e9e0e04a0c08a9c35d7a08652d99de195c4ddcb6572040a7df57a18ff38bbc13ce9880ad032d56630cef27bef72768ef0ac078
- languageName: node
- linkType: hard
-
"console-control-strings@npm:^1.0.0, console-control-strings@npm:^1.1.0":
version: 1.1.0
resolution: "console-control-strings@npm:1.1.0"
@@ -5132,13 +4690,6 @@ __metadata:
languageName: node
linkType: hard
-"cookie-es@npm:^1.0.0, cookie-es@npm:^1.1.0":
- version: 1.1.0
- resolution: "cookie-es@npm:1.1.0"
- checksum: 10c0/27f1057b05eb42dca539a80cf45b8f9d5bacf35482690d756025447810dcd669e0cd13952a063a43e47a4e6fd7400745defedc97479a4254019f0bdb5c200341
- languageName: node
- linkType: hard
-
"cookie@npm:0.6.0":
version: 0.6.0
resolution: "cookie@npm:0.6.0"
@@ -5188,16 +4739,6 @@ __metadata:
languageName: node
linkType: hard
-"crc32-stream@npm:^6.0.0":
- version: 6.0.0
- resolution: "crc32-stream@npm:6.0.0"
- dependencies:
- crc-32: "npm:^1.2.0"
- readable-stream: "npm:^4.0.0"
- checksum: 10c0/bf9c84571ede2d119c2b4f3a9ef5eeb9ff94b588493c0d3862259af86d3679dcce1c8569dd2b0a6eff2f35f5e2081cc1263b846d2538d4054da78cf34f262a3d
- languageName: node
- linkType: hard
-
"create-require@npm:^1.1.0":
version: 1.1.1
resolution: "create-require@npm:1.1.1"
@@ -5205,13 +4746,6 @@ __metadata:
languageName: node
linkType: hard
-"croner@npm:^8.0.1":
- version: 8.0.2
- resolution: "croner@npm:8.0.2"
- checksum: 10c0/24e9edd76d1f0c08a2af31d76565a35036077f49e007fd9b3984f3c3d15decccea4f98648cf58077e63b23376e4d5251973466605182967620b1d5cd114a93f6
- languageName: node
- linkType: hard
-
"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3":
version: 7.0.3
resolution: "cross-spawn@npm:7.0.3"
@@ -5223,18 +4757,6 @@ __metadata:
languageName: node
linkType: hard
-"crossws@npm:^0.2.0, crossws@npm:^0.2.2, crossws@npm:^0.2.4":
- version: 0.2.4
- resolution: "crossws@npm:0.2.4"
- peerDependencies:
- uWebSockets.js: "*"
- peerDependenciesMeta:
- uWebSockets.js:
- optional: true
- checksum: 10c0/b950c64d36f3f11fdb8e0faf3107598660d89d77eb860e68b535fe6acba9f0f2f0507cc7250bd219a3ef2fe08718db91b591e6912b7324fcfc8fd1b8d9f78c96
- languageName: node
- linkType: hard
-
"cssesc@npm:^3.0.0":
version: 3.0.0
resolution: "cssesc@npm:3.0.0"
@@ -5429,33 +4951,6 @@ __metadata:
languageName: node
linkType: hard
-"db0@npm:^0.1.4":
- version: 0.1.4
- resolution: "db0@npm:0.1.4"
- peerDependencies:
- "@libsql/client": ^0.5.2
- better-sqlite3: ^9.4.3
- drizzle-orm: ^0.29.4
- peerDependenciesMeta:
- "@libsql/client":
- optional: true
- better-sqlite3:
- optional: true
- drizzle-orm:
- optional: true
- checksum: 10c0/5b24852b5955184a94e78a426e3bc444d561cd4d65e75fd64c1dcc8c4614628ed0841a52a7bfb0fea37323a966b196af15279452966fdf8ffeaba53e220bc959
- languageName: node
- linkType: hard
-
-"debug@npm:2.6.9":
- version: 2.6.9
- resolution: "debug@npm:2.6.9"
- dependencies:
- ms: "npm:2.0.0"
- checksum: 10c0/121908fb839f7801180b69a7e218a40b5a0b718813b886b7d6bdb82001b931c938e2941d1e4450f33a1b1df1da653f5f7a0440c197f29fbf8a6e9d45ff6ef589
- languageName: node
- linkType: hard
-
"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4":
version: 4.3.4
resolution: "debug@npm:4.3.4"
@@ -5505,13 +5000,6 @@ __metadata:
languageName: node
linkType: hard
-"deepmerge@npm:^4.2.2":
- version: 4.3.1
- resolution: "deepmerge@npm:4.3.1"
- checksum: 10c0/e53481aaf1aa2c4082b5342be6b6d8ad9dfe387bc92ce197a66dea08bd4265904a087e75e464f14d1347cf2ac8afe1e4c16b266e0561cc5df29382d3c5f80044
- languageName: node
- linkType: hard
-
"defaults@npm:^1.0.3":
version: 1.0.4
resolution: "defaults@npm:1.0.4"
@@ -5532,13 +5020,6 @@ __metadata:
languageName: node
linkType: hard
-"define-lazy-prop@npm:^2.0.0":
- version: 2.0.0
- resolution: "define-lazy-prop@npm:2.0.0"
- checksum: 10c0/db6c63864a9d3b7dc9def55d52764968a5af296de87c1b2cc71d8be8142e445208071953649e0386a8cc37cfcf9a2067a47207f1eb9ff250c2a269658fdae422
- languageName: node
- linkType: hard
-
"define-properties@npm:^1.2.0, define-properties@npm:^1.2.1":
version: 1.2.1
resolution: "define-properties@npm:1.2.1"
@@ -5550,13 +5031,6 @@ __metadata:
languageName: node
linkType: hard
-"defu@npm:^6.0.0, defu@npm:^6.1.3, defu@npm:^6.1.4":
- version: 6.1.4
- resolution: "defu@npm:6.1.4"
- checksum: 10c0/2d6cc366262dc0cb8096e429368e44052fdf43ed48e53ad84cc7c9407f890301aa5fcb80d0995abaaf842b3949f154d060be4160f7a46cb2bc2f7726c81526f5
- languageName: node
- linkType: hard
-
"degenerator@npm:^5.0.0":
version: 5.0.1
resolution: "degenerator@npm:5.0.1"
@@ -5598,13 +5072,6 @@ __metadata:
languageName: node
linkType: hard
-"depd@npm:2.0.0":
- version: 2.0.0
- resolution: "depd@npm:2.0.0"
- checksum: 10c0/58bd06ec20e19529b06f7ad07ddab60e504d9e0faca4bd23079fac2d279c3594334d736508dc350e06e510aba5e22e4594483b3a6562ce7c17dd797f4cc4ad2c
- languageName: node
- linkType: hard
-
"dequal@npm:^2.0.3":
version: 2.0.3
resolution: "dequal@npm:2.0.3"
@@ -5612,29 +5079,6 @@ __metadata:
languageName: node
linkType: hard
-"destr@npm:^2.0.3":
- version: 2.0.3
- resolution: "destr@npm:2.0.3"
- checksum: 10c0/10e7eff5149e2839a4dd29a1e9617c3c675a3b53608d78d74fc6f4abc31daa977e6de08e0eea78965527a0d5a35467ae2f9624e0a4646d54aa1162caa094473e
- languageName: node
- linkType: hard
-
-"destroy@npm:1.2.0":
- version: 1.2.0
- resolution: "destroy@npm:1.2.0"
- checksum: 10c0/bd7633942f57418f5a3b80d5cb53898127bcf53e24cdf5d5f4396be471417671f0fee48a4ebe9a1e9defbde2a31280011af58a57e090ff822f589b443ed4e643
- languageName: node
- linkType: hard
-
-"detect-libc@npm:^1.0.3":
- version: 1.0.3
- resolution: "detect-libc@npm:1.0.3"
- bin:
- detect-libc: ./bin/detect-libc.js
- checksum: 10c0/4da0deae9f69e13bc37a0902d78bf7169480004b1fed3c19722d56cff578d16f0e11633b7fbf5fb6249181236c72e90024cbd68f0b9558ae06e281f47326d50d
- languageName: node
- linkType: hard
-
"detect-libc@npm:^2.0.0":
version: 2.0.3
resolution: "detect-libc@npm:2.0.3"
@@ -5723,15 +5167,6 @@ __metadata:
languageName: node
linkType: hard
-"dot-prop@npm:^8.0.2":
- version: 8.0.2
- resolution: "dot-prop@npm:8.0.2"
- dependencies:
- type-fest: "npm:^3.8.0"
- checksum: 10c0/422b4a65aad880fc4a21d09615ae97bf6c66767e7b29522fbafa34d2dd0489adff745f79dd1126ac463730f2b43eada75a02e5114065491c6148953f29551f27
- languageName: node
- linkType: hard
-
"dotenv-cli@npm:^7.4.1":
version: 7.4.2
resolution: "dotenv-cli@npm:7.4.2"
@@ -5760,7 +5195,7 @@ __metadata:
languageName: node
linkType: hard
-"dotenv@npm:^16.3.0, dotenv@npm:^16.4.5":
+"dotenv@npm:^16.3.0":
version: 16.4.5
resolution: "dotenv@npm:16.4.5"
checksum: 10c0/48d92870076832af0418b13acd6e5a5a3e83bb00df690d9812e94b24aff62b88ade955ac99a05501305b8dc8f1b0ee7638b18493deb6fe93d680e5220936292f
@@ -5896,13 +5331,6 @@ __metadata:
languageName: node
linkType: hard
-"duplexer@npm:^0.1.2":
- version: 0.1.2
- resolution: "duplexer@npm:0.1.2"
- checksum: 10c0/c57bcd4bdf7e623abab2df43a7b5b23d18152154529d166c1e0da6bee341d84c432d157d7e97b32fecb1bf3a8b8857dd85ed81a915789f550637ed25b8e64fc2
- languageName: node
- linkType: hard
-
"eastasianwidth@npm:^0.2.0":
version: 0.2.0
resolution: "eastasianwidth@npm:0.2.0"
@@ -5910,13 +5338,6 @@ __metadata:
languageName: node
linkType: hard
-"ee-first@npm:1.1.1":
- version: 1.1.1
- resolution: "ee-first@npm:1.1.1"
- checksum: 10c0/b5bb125ee93161bc16bfe6e56c6b04de5ad2aa44234d8f644813cc95d861a6910903132b05093706de2b706599367c4130eb6d170f6b46895686b95f87d017b7
- languageName: node
- linkType: hard
-
"electron-to-chromium@npm:^1.4.668":
version: 1.4.759
resolution: "electron-to-chromium@npm:1.4.759"
@@ -5924,6 +5345,13 @@ __metadata:
languageName: node
linkType: hard
+"electron-to-chromium@npm:^1.4.796":
+ version: 1.4.815
+ resolution: "electron-to-chromium@npm:1.4.815"
+ checksum: 10c0/239f949e59375dbd6f13abd3bfc46463a72f77decb196b3c88d1ee9cd64ce04be4366d25d45a639f59141d63c1905fdb28d672830d68282af24abbe0620b02b4
+ languageName: node
+ linkType: hard
+
"emoji-regex@npm:^8.0.0":
version: 8.0.0
resolution: "emoji-regex@npm:8.0.0"
@@ -5945,13 +5373,6 @@ __metadata:
languageName: node
linkType: hard
-"encodeurl@npm:~1.0.2":
- version: 1.0.2
- resolution: "encodeurl@npm:1.0.2"
- checksum: 10c0/f6c2387379a9e7c1156c1c3d4f9cb7bb11cf16dd4c1682e1f6746512564b053df5781029b6061296832b59fb22f459dbe250386d217c2f6e203601abb2ee0bec
- languageName: node
- linkType: hard
-
"encoding@npm:^0.1.13":
version: 0.1.13
resolution: "encoding@npm:0.1.13"
@@ -6269,87 +5690,7 @@ __metadata:
languageName: node
linkType: hard
-"esbuild@npm:^0.20.2, esbuild@npm:~0.20.2":
- version: 0.20.2
- resolution: "esbuild@npm:0.20.2"
- dependencies:
- "@esbuild/aix-ppc64": "npm:0.20.2"
- "@esbuild/android-arm": "npm:0.20.2"
- "@esbuild/android-arm64": "npm:0.20.2"
- "@esbuild/android-x64": "npm:0.20.2"
- "@esbuild/darwin-arm64": "npm:0.20.2"
- "@esbuild/darwin-x64": "npm:0.20.2"
- "@esbuild/freebsd-arm64": "npm:0.20.2"
- "@esbuild/freebsd-x64": "npm:0.20.2"
- "@esbuild/linux-arm": "npm:0.20.2"
- "@esbuild/linux-arm64": "npm:0.20.2"
- "@esbuild/linux-ia32": "npm:0.20.2"
- "@esbuild/linux-loong64": "npm:0.20.2"
- "@esbuild/linux-mips64el": "npm:0.20.2"
- "@esbuild/linux-ppc64": "npm:0.20.2"
- "@esbuild/linux-riscv64": "npm:0.20.2"
- "@esbuild/linux-s390x": "npm:0.20.2"
- "@esbuild/linux-x64": "npm:0.20.2"
- "@esbuild/netbsd-x64": "npm:0.20.2"
- "@esbuild/openbsd-x64": "npm:0.20.2"
- "@esbuild/sunos-x64": "npm:0.20.2"
- "@esbuild/win32-arm64": "npm:0.20.2"
- "@esbuild/win32-ia32": "npm:0.20.2"
- "@esbuild/win32-x64": "npm:0.20.2"
- dependenciesMeta:
- "@esbuild/aix-ppc64":
- optional: true
- "@esbuild/android-arm":
- optional: true
- "@esbuild/android-arm64":
- optional: true
- "@esbuild/android-x64":
- optional: true
- "@esbuild/darwin-arm64":
- optional: true
- "@esbuild/darwin-x64":
- optional: true
- "@esbuild/freebsd-arm64":
- optional: true
- "@esbuild/freebsd-x64":
- optional: true
- "@esbuild/linux-arm":
- optional: true
- "@esbuild/linux-arm64":
- optional: true
- "@esbuild/linux-ia32":
- optional: true
- "@esbuild/linux-loong64":
- optional: true
- "@esbuild/linux-mips64el":
- optional: true
- "@esbuild/linux-ppc64":
- optional: true
- "@esbuild/linux-riscv64":
- optional: true
- "@esbuild/linux-s390x":
- optional: true
- "@esbuild/linux-x64":
- optional: true
- "@esbuild/netbsd-x64":
- optional: true
- "@esbuild/openbsd-x64":
- optional: true
- "@esbuild/sunos-x64":
- optional: true
- "@esbuild/win32-arm64":
- optional: true
- "@esbuild/win32-ia32":
- optional: true
- "@esbuild/win32-x64":
- optional: true
- bin:
- esbuild: bin/esbuild
- checksum: 10c0/66398f9fb2c65e456a3e649747b39af8a001e47963b25e86d9c09d2a48d61aa641b27da0ce5cad63df95ad246105e1d83e7fee0e1e22a0663def73b1c5101112
- languageName: node
- linkType: hard
-
-"esbuild@npm:^0.21.4":
+"esbuild@npm:^0.21.3, esbuild@npm:^0.21.4":
version: 0.21.5
resolution: "esbuild@npm:0.21.5"
dependencies:
@@ -6502,24 +5843,97 @@ __metadata:
optional: true
bin:
esbuild: bin/esbuild
- checksum: 10c0/473b1d92842f50a303cf948a11ebd5f69581cd254d599dd9d62f9989858e0533f64e83b723b5e1398a5b488c0f5fd088795b4235f65ecaf4f007d4b79f04bc88
+ checksum: 10c0/473b1d92842f50a303cf948a11ebd5f69581cd254d599dd9d62f9989858e0533f64e83b723b5e1398a5b488c0f5fd088795b4235f65ecaf4f007d4b79f04bc88
+ languageName: node
+ linkType: hard
+
+"esbuild@npm:~0.20.2":
+ version: 0.20.2
+ resolution: "esbuild@npm:0.20.2"
+ dependencies:
+ "@esbuild/aix-ppc64": "npm:0.20.2"
+ "@esbuild/android-arm": "npm:0.20.2"
+ "@esbuild/android-arm64": "npm:0.20.2"
+ "@esbuild/android-x64": "npm:0.20.2"
+ "@esbuild/darwin-arm64": "npm:0.20.2"
+ "@esbuild/darwin-x64": "npm:0.20.2"
+ "@esbuild/freebsd-arm64": "npm:0.20.2"
+ "@esbuild/freebsd-x64": "npm:0.20.2"
+ "@esbuild/linux-arm": "npm:0.20.2"
+ "@esbuild/linux-arm64": "npm:0.20.2"
+ "@esbuild/linux-ia32": "npm:0.20.2"
+ "@esbuild/linux-loong64": "npm:0.20.2"
+ "@esbuild/linux-mips64el": "npm:0.20.2"
+ "@esbuild/linux-ppc64": "npm:0.20.2"
+ "@esbuild/linux-riscv64": "npm:0.20.2"
+ "@esbuild/linux-s390x": "npm:0.20.2"
+ "@esbuild/linux-x64": "npm:0.20.2"
+ "@esbuild/netbsd-x64": "npm:0.20.2"
+ "@esbuild/openbsd-x64": "npm:0.20.2"
+ "@esbuild/sunos-x64": "npm:0.20.2"
+ "@esbuild/win32-arm64": "npm:0.20.2"
+ "@esbuild/win32-ia32": "npm:0.20.2"
+ "@esbuild/win32-x64": "npm:0.20.2"
+ dependenciesMeta:
+ "@esbuild/aix-ppc64":
+ optional: true
+ "@esbuild/android-arm":
+ optional: true
+ "@esbuild/android-arm64":
+ optional: true
+ "@esbuild/android-x64":
+ optional: true
+ "@esbuild/darwin-arm64":
+ optional: true
+ "@esbuild/darwin-x64":
+ optional: true
+ "@esbuild/freebsd-arm64":
+ optional: true
+ "@esbuild/freebsd-x64":
+ optional: true
+ "@esbuild/linux-arm":
+ optional: true
+ "@esbuild/linux-arm64":
+ optional: true
+ "@esbuild/linux-ia32":
+ optional: true
+ "@esbuild/linux-loong64":
+ optional: true
+ "@esbuild/linux-mips64el":
+ optional: true
+ "@esbuild/linux-ppc64":
+ optional: true
+ "@esbuild/linux-riscv64":
+ optional: true
+ "@esbuild/linux-s390x":
+ optional: true
+ "@esbuild/linux-x64":
+ optional: true
+ "@esbuild/netbsd-x64":
+ optional: true
+ "@esbuild/openbsd-x64":
+ optional: true
+ "@esbuild/sunos-x64":
+ optional: true
+ "@esbuild/win32-arm64":
+ optional: true
+ "@esbuild/win32-ia32":
+ optional: true
+ "@esbuild/win32-x64":
+ optional: true
+ bin:
+ esbuild: bin/esbuild
+ checksum: 10c0/66398f9fb2c65e456a3e649747b39af8a001e47963b25e86d9c09d2a48d61aa641b27da0ce5cad63df95ad246105e1d83e7fee0e1e22a0663def73b1c5101112
languageName: node
linkType: hard
-"escalade@npm:^3.1.1, escalade@npm:^3.1.2":
+"escalade@npm:^3.1.2":
version: 3.1.2
resolution: "escalade@npm:3.1.2"
checksum: 10c0/6b4adafecd0682f3aa1cd1106b8fff30e492c7015b178bc81b2d2f75106dabea6c6d6e8508fc491bd58e597c74abb0e8e2368f943ecb9393d4162e3c2f3cf287
languageName: node
linkType: hard
-"escape-html@npm:~1.0.3":
- version: 1.0.3
- resolution: "escape-html@npm:1.0.3"
- checksum: 10c0/524c739d776b36c3d29fa08a22e03e8824e3b2fd57500e5e44ecf3cc4707c34c60f9ca0781c0e33d191f2991161504c295e98f68c78fe7baa6e57081ec6ac0a3
- languageName: node
- linkType: hard
-
"escape-string-regexp@npm:^1.0.5":
version: 1.0.5
resolution: "escape-string-regexp@npm:1.0.5"
@@ -6534,13 +5948,6 @@ __metadata:
languageName: node
linkType: hard
-"escape-string-regexp@npm:^5.0.0":
- version: 5.0.0
- resolution: "escape-string-regexp@npm:5.0.0"
- checksum: 10c0/6366f474c6f37a802800a435232395e04e9885919873e382b157ab7e8f0feb8fed71497f84a6f6a81a49aab41815522f5839112bd38026d203aea0c91622df95
- languageName: node
- linkType: hard
-
"escodegen@npm:^2.1.0":
version: 2.1.0
resolution: "escodegen@npm:2.1.0"
@@ -6707,6 +6114,15 @@ __metadata:
languageName: node
linkType: hard
+"eslint-plugin-react-hooks@npm:^4.6.2":
+ version: 4.6.2
+ resolution: "eslint-plugin-react-hooks@npm:4.6.2"
+ peerDependencies:
+ eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0
+ checksum: 10c0/4844e58c929bc05157fb70ba1e462e34f1f4abcbc8dd5bbe5b04513d33e2699effb8bca668297976ceea8e7ebee4e8fc29b9af9d131bcef52886feaa2308b2cc
+ languageName: node
+ linkType: hard
+
"eslint-plugin-react-hooks@npm:beta":
version: 5.1.0-beta-6946ebe620-20240508
resolution: "eslint-plugin-react-hooks@npm:5.1.0-beta-6946ebe620-20240508"
@@ -6716,6 +6132,15 @@ __metadata:
languageName: node
linkType: hard
+"eslint-plugin-react-refresh@npm:^0.4.7":
+ version: 0.4.7
+ resolution: "eslint-plugin-react-refresh@npm:0.4.7"
+ peerDependencies:
+ eslint: ">=7"
+ checksum: 10c0/78600fe6b10905e7a068a377a381f315c962e3cb7c0575ffcb2136a1fe3dd6936bdfabb56c8f053a581b322a8fbffd7b7ec4b6fa7e227e5470f38fbe9bb170ee
+ languageName: node
+ linkType: hard
+
"eslint-plugin-react@npm:^7.33.2, eslint-plugin-react@npm:^7.34.1":
version: 7.34.1
resolution: "eslint-plugin-react@npm:7.34.1"
@@ -6755,16 +6180,6 @@ __metadata:
languageName: node
linkType: hard
-"eslint-scope@npm:^5.1.1":
- version: 5.1.1
- resolution: "eslint-scope@npm:5.1.1"
- dependencies:
- esrecurse: "npm:^4.3.0"
- estraverse: "npm:^4.1.1"
- checksum: 10c0/d30ef9dc1c1cbdece34db1539a4933fe3f9b14e1ffb27ecc85987902ee663ad7c9473bbd49a9a03195a373741e62e2f807c4938992e019b511993d163450e70a
- languageName: node
- linkType: hard
-
"eslint-scope@npm:^8.0.1":
version: 8.0.1
resolution: "eslint-scope@npm:8.0.1"
@@ -6789,17 +6204,17 @@ __metadata:
languageName: node
linkType: hard
-"eslint@npm:^9.2.0":
- version: 9.2.0
- resolution: "eslint@npm:9.2.0"
+"eslint@npm:^9.6.0":
+ version: 9.6.0
+ resolution: "eslint@npm:9.6.0"
dependencies:
"@eslint-community/eslint-utils": "npm:^4.2.0"
"@eslint-community/regexpp": "npm:^4.6.1"
- "@eslint/eslintrc": "npm:^3.0.2"
- "@eslint/js": "npm:9.2.0"
- "@humanwhocodes/config-array": "npm:^0.13.0"
+ "@eslint/config-array": "npm:^0.17.0"
+ "@eslint/eslintrc": "npm:^3.1.0"
+ "@eslint/js": "npm:9.6.0"
"@humanwhocodes/module-importer": "npm:^1.0.1"
- "@humanwhocodes/retry": "npm:^0.2.3"
+ "@humanwhocodes/retry": "npm:^0.3.0"
"@nodelib/fs.walk": "npm:^1.2.8"
ajv: "npm:^6.12.4"
chalk: "npm:^4.0.0"
@@ -6808,8 +6223,8 @@ __metadata:
escape-string-regexp: "npm:^4.0.0"
eslint-scope: "npm:^8.0.1"
eslint-visitor-keys: "npm:^4.0.0"
- espree: "npm:^10.0.1"
- esquery: "npm:^1.4.2"
+ espree: "npm:^10.1.0"
+ esquery: "npm:^1.5.0"
esutils: "npm:^2.0.2"
fast-deep-equal: "npm:^3.1.3"
file-entry-cache: "npm:^8.0.0"
@@ -6829,7 +6244,7 @@ __metadata:
text-table: "npm:^0.2.0"
bin:
eslint: bin/eslint.js
- checksum: 10c0/eab3265100a359a486e40e1d9d4d3ecff936d2f4d952f4ab107d404e0684fffbe186ecd0fb41791af5bcb13570a27032ddf9a2e628927ed33473f64255b0037b
+ checksum: 10c0/82ea5ad3f28aaef89e2a98f4e6df0eae9d4e16ccd6d667c69977042e0b103fa5df98bf16d3df72d1ae77edd8c1dccfdf4afa2a55309aa8081a1bc54af6229826
languageName: node
linkType: hard
@@ -6856,6 +6271,17 @@ __metadata:
languageName: node
linkType: hard
+"espree@npm:^10.1.0":
+ version: 10.1.0
+ resolution: "espree@npm:10.1.0"
+ dependencies:
+ acorn: "npm:^8.12.0"
+ acorn-jsx: "npm:^5.3.2"
+ eslint-visitor-keys: "npm:^4.0.0"
+ checksum: 10c0/52e6feaa77a31a6038f0c0e3fce93010a4625701925b0715cd54a2ae190b3275053a0717db698697b32653788ac04845e489d6773b508d6c2e8752f3c57470a0
+ languageName: node
+ linkType: hard
+
"esprima@npm:^4.0.1":
version: 4.0.1
resolution: "esprima@npm:4.0.1"
@@ -6866,7 +6292,7 @@ __metadata:
languageName: node
linkType: hard
-"esquery@npm:^1.4.2":
+"esquery@npm:^1.5.0":
version: 1.5.0
resolution: "esquery@npm:1.5.0"
dependencies:
@@ -6884,13 +6310,6 @@ __metadata:
languageName: node
linkType: hard
-"estraverse@npm:^4.1.1":
- version: 4.3.0
- resolution: "estraverse@npm:4.3.0"
- checksum: 10c0/9cb46463ef8a8a4905d3708a652d60122a0c20bb58dec7e0e12ab0e7235123d74214fc0141d743c381813e1b992767e2708194f6f6e0f9fd00c1b4e0887b8b6d
- languageName: node
- linkType: hard
-
"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0, estraverse@npm:^5.3.0":
version: 5.3.0
resolution: "estraverse@npm:5.3.0"
@@ -6898,22 +6317,6 @@ __metadata:
languageName: node
linkType: hard
-"estree-walker@npm:2.0.2, estree-walker@npm:^2.0.1, estree-walker@npm:^2.0.2":
- version: 2.0.2
- resolution: "estree-walker@npm:2.0.2"
- checksum: 10c0/53a6c54e2019b8c914dc395890153ffdc2322781acf4bd7d1a32d7aedc1710807bdcd866ac133903d5629ec601fbb50abe8c2e5553c7f5a0afdd9b6af6c945af
- languageName: node
- linkType: hard
-
-"estree-walker@npm:^3.0.3":
- version: 3.0.3
- resolution: "estree-walker@npm:3.0.3"
- dependencies:
- "@types/estree": "npm:^1.0.0"
- checksum: 10c0/c12e3c2b2642d2bcae7d5aa495c60fa2f299160946535763969a1c83fc74518ffa9c2cd3a8b69ac56aea547df6a8aac25f729a342992ef0bbac5f1c73e78995d
- languageName: node
- linkType: hard
-
"esutils@npm:^2.0.2":
version: 2.0.3
resolution: "esutils@npm:2.0.3"
@@ -6921,13 +6324,6 @@ __metadata:
languageName: node
linkType: hard
-"etag@npm:^1.8.1, etag@npm:~1.8.1":
- version: 1.8.1
- resolution: "etag@npm:1.8.1"
- checksum: 10c0/12be11ef62fb9817314d790089a0a49fae4e1b50594135dcb8076312b7d7e470884b5100d249b28c18581b7fd52f8b485689ffae22a11ed9ec17377a33a08f84
- languageName: node
- linkType: hard
-
"event-emitter@npm:^0.3.5":
version: 0.3.5
resolution: "event-emitter@npm:0.3.5"
@@ -6993,23 +6389,6 @@ __metadata:
languageName: node
linkType: hard
-"execa@npm:^8.0.1":
- version: 8.0.1
- resolution: "execa@npm:8.0.1"
- dependencies:
- cross-spawn: "npm:^7.0.3"
- get-stream: "npm:^8.0.1"
- human-signals: "npm:^5.0.0"
- is-stream: "npm:^3.0.0"
- merge-stream: "npm:^2.0.0"
- npm-run-path: "npm:^5.1.0"
- onetime: "npm:^6.0.0"
- signal-exit: "npm:^4.1.0"
- strip-final-newline: "npm:^3.0.0"
- checksum: 10c0/2c52d8775f5bf103ce8eec9c7ab3059909ba350a5164744e9947ed14a53f51687c040a250bda833f906d1283aa8803975b84e6c8f7a7c42f99dc8ef80250d1af
- languageName: node
- linkType: hard
-
"exponential-backoff@npm:^3.1.1":
version: 3.1.1
resolution: "exponential-backoff@npm:3.1.1"
@@ -7068,14 +6447,7 @@ __metadata:
languageName: node
linkType: hard
-"fast-fifo@npm:^1.1.0, fast-fifo@npm:^1.2.0":
- version: 1.3.2
- resolution: "fast-fifo@npm:1.3.2"
- checksum: 10c0/d53f6f786875e8b0529f784b59b4b05d4b5c31c651710496440006a398389a579c8dbcd2081311478b5bf77f4b0b21de69109c5a4eabea9d8e8783d1eb864e4c
- languageName: node
- linkType: hard
-
-"fast-glob@npm:^3.0.3, fast-glob@npm:^3.2.12, fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.0, fast-glob@npm:^3.3.1, fast-glob@npm:^3.3.2":
+"fast-glob@npm:^3.0.3, fast-glob@npm:^3.2.12, fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.0, fast-glob@npm:^3.3.1":
version: 3.3.2
resolution: "fast-glob@npm:3.3.2"
dependencies:
@@ -7143,13 +6515,6 @@ __metadata:
languageName: node
linkType: hard
-"file-uri-to-path@npm:1.0.0":
- version: 1.0.0
- resolution: "file-uri-to-path@npm:1.0.0"
- checksum: 10c0/3b545e3a341d322d368e880e1c204ef55f1d45cdea65f7efc6c6ce9e0c4d22d802d5629320eb779d006fe59624ac17b0e848d83cc5af7cd101f206cb704f5519
- languageName: node
- linkType: hard
-
"fill-range@npm:^7.1.1":
version: 7.1.1
resolution: "fill-range@npm:7.1.1"
@@ -7215,10 +6580,30 @@ __metadata:
languageName: node
linkType: hard
-"fresh@npm:0.5.2":
- version: 0.5.2
- resolution: "fresh@npm:0.5.2"
- checksum: 10c0/c6d27f3ed86cc5b601404822f31c900dd165ba63fff8152a3ef714e2012e7535027063bc67ded4cb5b3a49fa596495d46cacd9f47d6328459cf570f08b7d9e5a
+"fraction.js@npm:^4.3.7":
+ version: 4.3.7
+ resolution: "fraction.js@npm:4.3.7"
+ checksum: 10c0/df291391beea9ab4c263487ffd9d17fed162dbb736982dee1379b2a8cc94e4e24e46ed508c6d278aded9080ba51872f1bc5f3a5fd8d7c74e5f105b508ac28711
+ languageName: node
+ linkType: hard
+
+"framer-motion@npm:^11.2.12":
+ version: 11.2.12
+ resolution: "framer-motion@npm:11.2.12"
+ dependencies:
+ tslib: "npm:^2.4.0"
+ peerDependencies:
+ "@emotion/is-prop-valid": "*"
+ react: ^18.0.0
+ react-dom: ^18.0.0
+ peerDependenciesMeta:
+ "@emotion/is-prop-valid":
+ optional: true
+ react:
+ optional: true
+ react-dom:
+ optional: true
+ checksum: 10c0/a0f4460d2f135742389cf616968314fabee75ad9740fcb62a1c414deee8ade12ac19f4df3e399b819ce2337b9e76fe5a5363787decc60375477f5d23304f73f4
languageName: node
linkType: hard
@@ -7375,7 +6760,7 @@ __metadata:
languageName: node
linkType: hard
-"get-caller-file@npm:^2.0.1, get-caller-file@npm:^2.0.5":
+"get-caller-file@npm:^2.0.1":
version: 2.0.5
resolution: "get-caller-file@npm:2.0.5"
checksum: 10c0/c6c7b60271931fa752aeb92f2b47e355eac1af3a2673f47c9589e8f8a41adc74d45551c1bc57b5e66a80609f10ffb72b6f575e4370d61cc3f7f3aaff01757cde
@@ -7402,13 +6787,6 @@ __metadata:
languageName: node
linkType: hard
-"get-port-please@npm:^3.1.2":
- version: 3.1.2
- resolution: "get-port-please@npm:3.1.2"
- checksum: 10c0/61237342fe035967e5ad1b67a2dee347a64de093bf1222b7cd50072568d73c48dad5cc5cd4fa44635b7cfdcd14d6c47554edb9891c2ec70ab33ecb831683e257
- languageName: node
- linkType: hard
-
"get-stream@npm:^6.0.0":
version: 6.0.1
resolution: "get-stream@npm:6.0.1"
@@ -7416,13 +6794,6 @@ __metadata:
languageName: node
linkType: hard
-"get-stream@npm:^8.0.1":
- version: 8.0.1
- resolution: "get-stream@npm:8.0.1"
- checksum: 10c0/5c2181e98202b9dae0bb4a849979291043e5892eb40312b47f0c22b9414fc9b28a3b6063d2375705eb24abc41ecf97894d9a51f64ff021511b504477b27b4290
- languageName: node
- linkType: hard
-
"get-symbol-description@npm:^1.0.2":
version: 1.0.2
resolution: "get-symbol-description@npm:1.0.2"
@@ -7464,24 +6835,6 @@ __metadata:
languageName: node
linkType: hard
-"giget@npm:^1.2.1":
- version: 1.2.3
- resolution: "giget@npm:1.2.3"
- dependencies:
- citty: "npm:^0.1.6"
- consola: "npm:^3.2.3"
- defu: "npm:^6.1.4"
- node-fetch-native: "npm:^1.6.3"
- nypm: "npm:^0.3.8"
- ohash: "npm:^1.1.3"
- pathe: "npm:^1.1.2"
- tar: "npm:^6.2.0"
- bin:
- giget: dist/cli.mjs
- checksum: 10c0/0e82836783c704346fdda83e23d144e97f28a959320b1d8ee73c69a5af562362bcb727cf6ad99f90e45ed8a6abec140833534bb1fedcaa1c06fa026daaf3119c
- languageName: node
- linkType: hard
-
"glob-parent@npm:^5.1.2, glob-parent@npm:~5.1.2":
version: 5.1.2
resolution: "glob-parent@npm:5.1.2"
@@ -7529,7 +6882,7 @@ __metadata:
languageName: node
linkType: hard
-"glob@npm:^10.0.0, glob@npm:^10.2.2, glob@npm:^10.3.10":
+"glob@npm:^10.2.2, glob@npm:^10.3.10":
version: 10.3.12
resolution: "glob@npm:10.3.12"
dependencies:
@@ -7558,7 +6911,7 @@ __metadata:
languageName: node
linkType: hard
-"glob@npm:^8.0.3, glob@npm:^8.1.0":
+"glob@npm:^8.1.0":
version: 8.1.0
resolution: "glob@npm:8.1.0"
dependencies:
@@ -7625,20 +6978,6 @@ __metadata:
languageName: node
linkType: hard
-"globby@npm:^14.0.1":
- version: 14.0.1
- resolution: "globby@npm:14.0.1"
- dependencies:
- "@sindresorhus/merge-streams": "npm:^2.1.0"
- fast-glob: "npm:^3.3.2"
- ignore: "npm:^5.2.4"
- path-type: "npm:^5.0.0"
- slash: "npm:^5.1.0"
- unicorn-magic: "npm:^0.1.0"
- checksum: 10c0/749a6be91cf455c161ebb5c9130df3991cb9fd7568425db850a8279a6cf45acd031c5069395beb7aeb4dd606b64f0d6ff8116c93726178d8e6182fee58c2736d
- languageName: node
- linkType: hard
-
"gopd@npm:^1.0.1":
version: 1.0.1
resolution: "gopd@npm:1.0.1"
@@ -7648,7 +6987,7 @@ __metadata:
languageName: node
linkType: hard
-"graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.11, graceful-fs@npm:^4.2.2, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9":
+"graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.11, graceful-fs@npm:^4.2.2, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6":
version: 4.2.11
resolution: "graceful-fs@npm:4.2.11"
checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2
@@ -7672,33 +7011,6 @@ __metadata:
languageName: node
linkType: hard
-"gzip-size@npm:^7.0.0":
- version: 7.0.0
- resolution: "gzip-size@npm:7.0.0"
- dependencies:
- duplexer: "npm:^0.1.2"
- checksum: 10c0/0bf63084d5fea0880f3607ecd361d4663aab26b9cb0d3e97ba77373a0246c8f8de57d8613ac4e57e1e6c28522dcee6f8682aae55c275b9262b66d2ffd698f72b
- languageName: node
- linkType: hard
-
-"h3@npm:^1.10.2, h3@npm:^1.11.1":
- version: 1.11.1
- resolution: "h3@npm:1.11.1"
- dependencies:
- cookie-es: "npm:^1.0.0"
- crossws: "npm:^0.2.2"
- defu: "npm:^6.1.4"
- destr: "npm:^2.0.3"
- iron-webcrypto: "npm:^1.0.0"
- ohash: "npm:^1.1.3"
- radix3: "npm:^1.1.0"
- ufo: "npm:^1.4.0"
- uncrypto: "npm:^0.1.3"
- unenv: "npm:^1.9.0"
- checksum: 10c0/bd02bfae536a0facb9ddcd85bd51ad16264ea6fd331a548540a0846e426348449fcbcb10b0fa08673cd1d9c60e6ff5d8f56e7ec2e1ee43fda460d8c16866cbfa
- languageName: node
- linkType: hard
-
"handlebars@npm:^4.4.3":
version: 4.7.8
resolution: "handlebars@npm:4.7.8"
@@ -7827,13 +7139,6 @@ __metadata:
languageName: node
linkType: hard
-"hookable@npm:^5.5.3":
- version: 5.5.3
- resolution: "hookable@npm:5.5.3"
- checksum: 10c0/275f4cc84d27f8d48c5a5cd5685b6c0fea9291be9deea5bff0cfa72856ed566abde1dcd8cb1da0f9a70b4da3d7ec0d60dc3554c4edbba647058cc38816eced3d
- languageName: node
- linkType: hard
-
"http-cache-semantics@npm:^4.1.1":
version: 4.1.1
resolution: "http-cache-semantics@npm:4.1.1"
@@ -7841,19 +7146,6 @@ __metadata:
languageName: node
linkType: hard
-"http-errors@npm:2.0.0":
- version: 2.0.0
- resolution: "http-errors@npm:2.0.0"
- dependencies:
- depd: "npm:2.0.0"
- inherits: "npm:2.0.4"
- setprototypeof: "npm:1.2.0"
- statuses: "npm:2.0.1"
- toidentifier: "npm:1.0.1"
- checksum: 10c0/fc6f2715fe188d091274b5ffc8b3657bd85c63e969daa68ccb77afb05b071a4b62841acb7a21e417b5539014dff2ebf9550f0b14a9ff126f2734a7c1387f8e19
- languageName: node
- linkType: hard
-
"http-proxy-agent@npm:^7.0.0, http-proxy-agent@npm:^7.0.1":
version: 7.0.2
resolution: "http-proxy-agent@npm:7.0.2"
@@ -7864,13 +7156,6 @@ __metadata:
languageName: node
linkType: hard
-"http-shutdown@npm:^1.2.2":
- version: 1.2.2
- resolution: "http-shutdown@npm:1.2.2"
- checksum: 10c0/1ea04d50d9a84ad6e7d9ee621160ce9515936e32e7f5ba445db48a5d72681858002c934c7f3ae5f474b301c1cd6b418aee3f6a2f109822109e606cc1a6c17c03
- languageName: node
- linkType: hard
-
"https-proxy-agent@npm:^5.0.0":
version: 5.0.1
resolution: "https-proxy-agent@npm:5.0.1"
@@ -7891,13 +7176,6 @@ __metadata:
languageName: node
linkType: hard
-"httpxy@npm:^0.1.5":
- version: 0.1.5
- resolution: "httpxy@npm:0.1.5"
- checksum: 10c0/02f0393106cb7ea7ddc6f524d04bbcfbe509b64334b89358e6e0cb9f05c471dbdd84d8a1d6e76832129b548f63cee7ca837f42ba34a3efa4a630aebc1cf8d419
- languageName: node
- linkType: hard
-
"human-signals@npm:^2.1.0":
version: 2.1.0
resolution: "human-signals@npm:2.1.0"
@@ -7905,13 +7183,6 @@ __metadata:
languageName: node
linkType: hard
-"human-signals@npm:^5.0.0":
- version: 5.0.0
- resolution: "human-signals@npm:5.0.0"
- checksum: 10c0/5a9359073fe17a8b58e5a085e9a39a950366d9f00217c4ff5878bd312e09d80f460536ea6a3f260b5943a01fe55c158d1cea3fc7bee3d0520aeef04f6d915c82
- languageName: node
- linkType: hard
-
"iconv-lite@npm:^0.4.24":
version: 0.4.24
resolution: "iconv-lite@npm:0.4.24"
@@ -7937,7 +7208,7 @@ __metadata:
languageName: node
linkType: hard
-"ignore@npm:^5.1.1, ignore@npm:^5.2.0, ignore@npm:^5.2.4, ignore@npm:^5.3.1":
+"ignore@npm:^5.1.1, ignore@npm:^5.2.0, ignore@npm:^5.3.1":
version: 5.3.1
resolution: "ignore@npm:5.3.1"
checksum: 10c0/703f7f45ffb2a27fb2c5a8db0c32e7dee66b33a225d28e8db4e1be6474795f606686a6e3bcc50e1aa12f2042db4c9d4a7d60af3250511de74620fbed052ea4cd
@@ -7985,7 +7256,7 @@ __metadata:
languageName: node
linkType: hard
-"inherits@npm:2, inherits@npm:2.0.4, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.0, inherits@npm:~2.0.1, inherits@npm:~2.0.3":
+"inherits@npm:2, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.0, inherits@npm:~2.0.1, inherits@npm:~2.0.3":
version: 2.0.4
resolution: "inherits@npm:2.0.4"
checksum: 10c0/4e531f648b29039fb7426fb94075e6545faa1eb9fe83c29f0b6d9e7263aceb4289d2d4557db0d428188eeb449cc7c5e77b0a0b2c4e248ff2a65933a0dee49ef2
@@ -8070,23 +7341,6 @@ __metadata:
languageName: node
linkType: hard
-"ioredis@npm:^5.3.2":
- version: 5.4.1
- resolution: "ioredis@npm:5.4.1"
- dependencies:
- "@ioredis/commands": "npm:^1.1.1"
- cluster-key-slot: "npm:^1.1.0"
- debug: "npm:^4.3.4"
- denque: "npm:^2.1.0"
- lodash.defaults: "npm:^4.2.0"
- lodash.isarguments: "npm:^3.1.0"
- redis-errors: "npm:^1.2.0"
- redis-parser: "npm:^3.0.0"
- standard-as-callback: "npm:^2.1.0"
- checksum: 10c0/5d28b7c89a3cab5b76d75923d7d4ce79172b3a1ca9be690133f6e8e393a7a4b4ffd55513e618bbb5504fed80d9e1395c9d9531a7c5c5c84aa4c4e765cca75456
- languageName: node
- linkType: hard
-
"ip-address@npm:^9.0.5":
version: 9.0.5
resolution: "ip-address@npm:9.0.5"
@@ -8097,13 +7351,6 @@ __metadata:
languageName: node
linkType: hard
-"iron-webcrypto@npm:^1.0.0":
- version: 1.1.1
- resolution: "iron-webcrypto@npm:1.1.1"
- checksum: 10c0/a1b3a45044f36c4b1d191164c3395de86396ed316b7a69569efd1e72fc695143dc667f38f048595b8d59a2034b98de727c04ef0b049a4caab8077cfc440c38aa
- languageName: node
- linkType: hard
-
"is-array-buffer@npm:^3.0.4":
version: 3.0.4
resolution: "is-array-buffer@npm:3.0.4"
@@ -8151,15 +7398,6 @@ __metadata:
languageName: node
linkType: hard
-"is-builtin-module@npm:^3.2.1":
- version: 3.2.1
- resolution: "is-builtin-module@npm:3.2.1"
- dependencies:
- builtin-modules: "npm:^3.3.0"
- checksum: 10c0/5a66937a03f3b18803381518f0ef679752ac18cdb7dd53b5e23ee8df8d440558737bd8dcc04d2aae555909d2ecb4a81b5c0d334d119402584b61e6a003e31af1
- languageName: node
- linkType: hard
-
"is-callable@npm:^1.1.3, is-callable@npm:^1.1.4, is-callable@npm:^1.2.7":
version: 1.2.7
resolution: "is-callable@npm:1.2.7"
@@ -8194,24 +7432,6 @@ __metadata:
languageName: node
linkType: hard
-"is-docker@npm:^2.0.0, is-docker@npm:^2.1.1":
- version: 2.2.1
- resolution: "is-docker@npm:2.2.1"
- bin:
- is-docker: cli.js
- checksum: 10c0/e828365958d155f90c409cdbe958f64051d99e8aedc2c8c4cd7c89dcf35329daed42f7b99346f7828df013e27deb8f721cf9408ba878c76eb9e8290235fbcdcc
- languageName: node
- linkType: hard
-
-"is-docker@npm:^3.0.0":
- version: 3.0.0
- resolution: "is-docker@npm:3.0.0"
- bin:
- is-docker: cli.js
- checksum: 10c0/d2c4f8e6d3e34df75a5defd44991b6068afad4835bb783b902fa12d13ebdb8f41b2a199dcb0b5ed2cb78bfee9e4c0bbdb69c2d9646f4106464674d3e697a5856
- languageName: node
- linkType: hard
-
"is-extglob@npm:^2.1.1":
version: 2.1.1
resolution: "is-extglob@npm:2.1.1"
@@ -8253,17 +7473,6 @@ __metadata:
languageName: node
linkType: hard
-"is-inside-container@npm:^1.0.0":
- version: 1.0.0
- resolution: "is-inside-container@npm:1.0.0"
- dependencies:
- is-docker: "npm:^3.0.0"
- bin:
- is-inside-container: cli.js
- checksum: 10c0/a8efb0e84f6197e6ff5c64c52890fa9acb49b7b74fed4da7c95383965da6f0fa592b4dbd5e38a79f87fc108196937acdbcd758fcefc9b140e479b39ce1fcd1cd
- languageName: node
- linkType: hard
-
"is-interactive@npm:^1.0.0":
version: 1.0.0
resolution: "is-interactive@npm:1.0.0"
@@ -8294,13 +7503,6 @@ __metadata:
languageName: node
linkType: hard
-"is-module@npm:^1.0.0":
- version: 1.0.0
- resolution: "is-module@npm:1.0.0"
- checksum: 10c0/795a3914bcae7c26a1c23a1e5574c42eac13429625045737bf3e324ce865c0601d61aee7a5afbca1bee8cb300c7d9647e7dc98860c9bdbc3b7fdc51d8ac0bffc
- languageName: node
- linkType: hard
-
"is-negative-zero@npm:^2.0.3":
version: 2.0.3
resolution: "is-negative-zero@npm:2.0.3"
@@ -8308,13 +7510,6 @@ __metadata:
languageName: node
linkType: hard
-"is-node-process@npm:^1.2.0":
- version: 1.2.0
- resolution: "is-node-process@npm:1.2.0"
- checksum: 10c0/5b24fda6776d00e42431d7bcd86bce81cb0b6cabeb944142fe7b077a54ada2e155066ad06dbe790abdb397884bdc3151e04a9707b8cd185099efbc79780573ed
- languageName: node
- linkType: hard
-
"is-number-object@npm:^1.0.4":
version: 1.0.7
resolution: "is-number-object@npm:1.0.7"
@@ -8345,13 +7540,6 @@ __metadata:
languageName: node
linkType: hard
-"is-primitive@npm:^3.0.1":
- version: 3.0.1
- resolution: "is-primitive@npm:3.0.1"
- checksum: 10c0/2e3b6f029fabbdda467ea51ea4fdd00e6552434108b863a08f296638072c506a7c195089e3e31f83e7fc14bebbd1c5c9f872fe127c9284a7665c8227b47ffdd6
- languageName: node
- linkType: hard
-
"is-promise@npm:^2.2.2":
version: 2.2.2
resolution: "is-promise@npm:2.2.2"
@@ -8366,15 +7554,6 @@ __metadata:
languageName: node
linkType: hard
-"is-reference@npm:1.2.1":
- version: 1.2.1
- resolution: "is-reference@npm:1.2.1"
- dependencies:
- "@types/estree": "npm:*"
- checksum: 10c0/7dc819fc8de7790264a0a5d531164f9f5b9ef5aa1cd05f35322d14db39c8a2ec78fd5d4bf57f9789f3ddd2b3abeea7728432b759636157a42db12a9e8c3b549b
- languageName: node
- linkType: hard
-
"is-regex@npm:^1.1.4":
version: 1.1.4
resolution: "is-regex@npm:1.1.4"
@@ -8401,20 +7580,13 @@ __metadata:
languageName: node
linkType: hard
-"is-stream@npm:^2.0.0, is-stream@npm:^2.0.1":
+"is-stream@npm:^2.0.0":
version: 2.0.1
resolution: "is-stream@npm:2.0.1"
checksum: 10c0/7c284241313fc6efc329b8d7f08e16c0efeb6baab1b4cd0ba579eb78e5af1aa5da11e68559896a2067cd6c526bd29241dda4eb1225e627d5aa1a89a76d4635a5
languageName: node
linkType: hard
-"is-stream@npm:^3.0.0":
- version: 3.0.0
- resolution: "is-stream@npm:3.0.0"
- checksum: 10c0/eb2f7127af02ee9aa2a0237b730e47ac2de0d4e76a4a905a50a11557f2339df5765eaea4ceb8029f1efa978586abe776908720bfcb1900c20c6ec5145f6f29d8
- languageName: node
- linkType: hard
-
"is-string@npm:^1.0.5, is-string@npm:^1.0.7":
version: 1.0.7
resolution: "is-string@npm:1.0.7"
@@ -8491,33 +7663,6 @@ __metadata:
languageName: node
linkType: hard
-"is-wsl@npm:^2.2.0":
- version: 2.2.0
- resolution: "is-wsl@npm:2.2.0"
- dependencies:
- is-docker: "npm:^2.0.0"
- checksum: 10c0/a6fa2d370d21be487c0165c7a440d567274fbba1a817f2f0bfa41cc5e3af25041d84267baa22df66696956038a43973e72fca117918c91431920bdef490fa25e
- languageName: node
- linkType: hard
-
-"is-wsl@npm:^3.1.0":
- version: 3.1.0
- resolution: "is-wsl@npm:3.1.0"
- dependencies:
- is-inside-container: "npm:^1.0.0"
- checksum: 10c0/d3317c11995690a32c362100225e22ba793678fe8732660c6de511ae71a0ff05b06980cf21f98a6bf40d7be0e9e9506f859abe00a1118287d63e53d0a3d06947
- languageName: node
- linkType: hard
-
-"is64bit@npm:^2.0.0":
- version: 2.0.0
- resolution: "is64bit@npm:2.0.0"
- dependencies:
- system-architecture: "npm:^0.1.0"
- checksum: 10c0/9f3741d4b7560e2a30b9ce0c79bb30c7bdcc5df77c897bd59bb68f0fd882ae698015e8da81d48331def66c778d430c1ae3cb8c1fcc34e96c576b66198395faa7
- languageName: node
- linkType: hard
-
"isarray@npm:0.0.1":
version: 0.0.1
resolution: "isarray@npm:0.0.1"
@@ -8602,6 +7747,21 @@ __metadata:
languageName: node
linkType: hard
+"jotai@npm:^2.8.4":
+ version: 2.8.4
+ resolution: "jotai@npm:2.8.4"
+ peerDependencies:
+ "@types/react": ">=17.0.0"
+ react: ">=17.0.0"
+ peerDependenciesMeta:
+ "@types/react":
+ optional: true
+ react:
+ optional: true
+ checksum: 10c0/32bd3a41ea9de2f1a17dc179707a37d4c470a44973d8e48dbc8d5284fbf6333b678a203b10216049ab7e62ca34465cf3c765f64ed54cb0ef470246309415ff0f
+ languageName: node
+ linkType: hard
+
"joycon@npm:^3.0.1, joycon@npm:^3.1.1":
version: 3.1.1
resolution: "joycon@npm:3.1.1"
@@ -8750,20 +7910,6 @@ __metadata:
languageName: node
linkType: hard
-"klona@npm:^2.0.6":
- version: 2.0.6
- resolution: "klona@npm:2.0.6"
- checksum: 10c0/94eed2c6c2ce99f409df9186a96340558897b3e62a85afdc1ee39103954d2ebe1c1c4e9fe2b0952771771fa96d70055ede8b27962a7021406374fdb695fd4d01
- languageName: node
- linkType: hard
-
-"knitwork@npm:^1.0.0, knitwork@npm:^1.1.0":
- version: 1.1.0
- resolution: "knitwork@npm:1.1.0"
- checksum: 10c0/e23c679d4ded01890ab2669ccde2e85e4d7e6ba327b1395ff657f8067c7d73dc134fc8cd8188c653de4a687be7fa9c130bd36c3e2f76d8685e8b97ff8b30779c
- languageName: node
- linkType: hard
-
"language-subtag-registry@npm:^0.3.20":
version: 0.3.22
resolution: "language-subtag-registry@npm:0.3.22"
@@ -8836,35 +7982,6 @@ __metadata:
languageName: node
linkType: hard
-"listhen@npm:^1.7.2":
- version: 1.7.2
- resolution: "listhen@npm:1.7.2"
- dependencies:
- "@parcel/watcher": "npm:^2.4.1"
- "@parcel/watcher-wasm": "npm:^2.4.1"
- citty: "npm:^0.1.6"
- clipboardy: "npm:^4.0.0"
- consola: "npm:^3.2.3"
- crossws: "npm:^0.2.0"
- defu: "npm:^6.1.4"
- get-port-please: "npm:^3.1.2"
- h3: "npm:^1.10.2"
- http-shutdown: "npm:^1.2.2"
- jiti: "npm:^1.21.0"
- mlly: "npm:^1.6.1"
- node-forge: "npm:^1.3.1"
- pathe: "npm:^1.1.2"
- std-env: "npm:^3.7.0"
- ufo: "npm:^1.4.0"
- untun: "npm:^0.1.3"
- uqr: "npm:^0.1.2"
- bin:
- listen: bin/listhen.mjs
- listhen: bin/listhen.mjs
- checksum: 10c0/cd4d0651686b88c61a5bd5d5afc03feb99e352eb7862260112010655cf7997fb3356e61317f09555e2b7412175ae05265fc9e97458aa014586bf9fa4ab22bd5a
- languageName: node
- linkType: hard
-
"load-tsconfig@npm:^0.2.3":
version: 0.2.5
resolution: "load-tsconfig@npm:0.2.5"
@@ -8872,16 +7989,6 @@ __metadata:
languageName: node
linkType: hard
-"local-pkg@npm:^0.5.0":
- version: 0.5.0
- resolution: "local-pkg@npm:0.5.0"
- dependencies:
- mlly: "npm:^1.4.2"
- pkg-types: "npm:^1.0.3"
- checksum: 10c0/f61cbd00d7689f275558b1a45c7ff2a3ddf8472654123ed880215677b9adfa729f1081e50c27ffb415cdb9fa706fb755fec5e23cdd965be375c8059e87ff1cc9
- languageName: node
- linkType: hard
-
"locate-path@npm:^5.0.0":
version: 5.0.0
resolution: "locate-path@npm:5.0.0"
@@ -8942,13 +8049,6 @@ __metadata:
languageName: node
linkType: hard
-"lodash.isarguments@npm:^3.1.0":
- version: 3.1.0
- resolution: "lodash.isarguments@npm:3.1.0"
- checksum: 10c0/5e8f95ba10975900a3920fb039a3f89a5a79359a1b5565e4e5b4310ed6ebe64011e31d402e34f577eca983a1fc01ff86c926e3cbe602e1ddfc858fdd353e62d8
- languageName: node
- linkType: hard
-
"lodash.isboolean@npm:^3.0.3":
version: 3.0.3
resolution: "lodash.isboolean@npm:3.0.3"
@@ -9026,7 +8126,7 @@ __metadata:
languageName: node
linkType: hard
-"lodash@npm:^4.17.15, lodash@npm:^4.17.19, lodash@npm:^4.17.21":
+"lodash@npm:^4.17.19, lodash@npm:^4.17.21":
version: 4.17.21
resolution: "lodash@npm:4.17.21"
checksum: 10c0/d8cbea072bb08655bb4c989da418994b073a608dffa608b09ac04b43a791b12aeae7cd7ad919aa4c925f33b48490b5cfe6c1f71d827956071dae2e7bb3a6b74c
@@ -9125,21 +8225,12 @@ __metadata:
languageName: node
linkType: hard
-"lucide-react@npm:^0.390.0":
- version: 0.390.0
- resolution: "lucide-react@npm:0.390.0"
+"lucide-react@npm:^0.399.0":
+ version: 0.399.0
+ resolution: "lucide-react@npm:0.399.0"
peerDependencies:
- react: ^16.5.1 || ^17.0.0 || ^18.0.0
- checksum: 10c0/d8062c311e703c592c0704d624855b965ba2caa3260f7158f65eb6a63c0826150ac67d35df210d58830bc6d85f8ad0e98e62c7e02e6f9e37690909aa046f64d0
- languageName: node
- linkType: hard
-
-"magic-string@npm:^0.30.0, magic-string@npm:^0.30.3, magic-string@npm:^0.30.5, magic-string@npm:^0.30.8":
- version: 0.30.10
- resolution: "magic-string@npm:0.30.10"
- dependencies:
- "@jridgewell/sourcemap-codec": "npm:^1.4.15"
- checksum: 10c0/aa9ca17eae571a19bce92c8221193b6f93ee8511abb10f085e55ffd398db8e4c089a208d9eac559deee96a08b7b24d636ea4ab92f09c6cf42a7d1af51f7fd62b
+ react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ checksum: 10c0/49b97b65b8f225d4e93b18e66e5b2c8ce67a6cd7a90c589c6492b26063cec565a3d8b18b934fb35de01d9a15e1f52b2f8767b306b0a580d75a3c18d306e362be
languageName: node
linkType: hard
@@ -9209,7 +8300,7 @@ __metadata:
languageName: node
linkType: hard
-"micromatch@npm:^4.0.2, micromatch@npm:^4.0.4, micromatch@npm:^4.0.5":
+"micromatch@npm:^4.0.4, micromatch@npm:^4.0.5":
version: 4.0.5
resolution: "micromatch@npm:4.0.5"
dependencies:
@@ -9220,45 +8311,18 @@ __metadata:
linkType: hard
"mime-db@npm:1.52.0":
- version: 1.52.0
- resolution: "mime-db@npm:1.52.0"
- checksum: 10c0/0557a01deebf45ac5f5777fe7740b2a5c309c6d62d40ceab4e23da9f821899ce7a900b7ac8157d4548ddbb7beffe9abc621250e6d182b0397ec7f10c7b91a5aa
- languageName: node
- linkType: hard
-
-"mime-types@npm:^2.1.35":
- version: 2.1.35
- resolution: "mime-types@npm:2.1.35"
- dependencies:
- mime-db: "npm:1.52.0"
- checksum: 10c0/82fb07ec56d8ff1fc999a84f2f217aa46cb6ed1033fefaabd5785b9a974ed225c90dc72fff460259e66b95b73648596dbcc50d51ed69cdf464af2d237d3149b2
- languageName: node
- linkType: hard
-
-"mime@npm:1.6.0":
- version: 1.6.0
- resolution: "mime@npm:1.6.0"
- bin:
- mime: cli.js
- checksum: 10c0/b92cd0adc44888c7135a185bfd0dddc42c32606401c72896a842ae15da71eb88858f17669af41e498b463cd7eb998f7b48939a25b08374c7924a9c8a6f8a81b0
- languageName: node
- linkType: hard
-
-"mime@npm:^3.0.0":
- version: 3.0.0
- resolution: "mime@npm:3.0.0"
- bin:
- mime: cli.js
- checksum: 10c0/402e792a8df1b2cc41cb77f0dcc46472b7944b7ec29cb5bbcd398624b6b97096728f1239766d3fdeb20551dd8d94738344c195a6ea10c4f906eb0356323b0531
+ version: 1.52.0
+ resolution: "mime-db@npm:1.52.0"
+ checksum: 10c0/0557a01deebf45ac5f5777fe7740b2a5c309c6d62d40ceab4e23da9f821899ce7a900b7ac8157d4548ddbb7beffe9abc621250e6d182b0397ec7f10c7b91a5aa
languageName: node
linkType: hard
-"mime@npm:^4.0.1":
- version: 4.0.3
- resolution: "mime@npm:4.0.3"
- bin:
- mime: bin/cli.js
- checksum: 10c0/4be1d06813a581eb9634748919eadab9785857dcfe2af4acca8e4bc340b4b74ff7452c7d3cd76169d0f6b77d7f1ab3434bde8a72ca4291fd150b4205c756c36b
+"mime-types@npm:^2.1.35":
+ version: 2.1.35
+ resolution: "mime-types@npm:2.1.35"
+ dependencies:
+ mime-db: "npm:1.52.0"
+ checksum: 10c0/82fb07ec56d8ff1fc999a84f2f217aa46cb6ed1033fefaabd5785b9a974ed225c90dc72fff460259e66b95b73648596dbcc50d51ed69cdf464af2d237d3149b2
languageName: node
linkType: hard
@@ -9269,13 +8333,6 @@ __metadata:
languageName: node
linkType: hard
-"mimic-fn@npm:^4.0.0":
- version: 4.0.0
- resolution: "mimic-fn@npm:4.0.0"
- checksum: 10c0/de9cc32be9996fd941e512248338e43407f63f6d497abe8441fa33447d922e927de54d4cc3c1a3c6d652857acd770389d5a3823f311a744132760ce2be15ccbf
- languageName: node
- linkType: hard
-
"minimatch@npm:9.0.3":
version: 9.0.3
resolution: "minimatch@npm:9.0.3"
@@ -9285,7 +8342,7 @@ __metadata:
languageName: node
linkType: hard
-"minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2":
+"minimatch@npm:^3.0.4, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2":
version: 3.1.2
resolution: "minimatch@npm:3.1.2"
dependencies:
@@ -9432,32 +8489,6 @@ __metadata:
languageName: node
linkType: hard
-"mlly@npm:^1.4.2, mlly@npm:^1.6.1":
- version: 1.7.0
- resolution: "mlly@npm:1.7.0"
- dependencies:
- acorn: "npm:^8.11.3"
- pathe: "npm:^1.1.2"
- pkg-types: "npm:^1.1.0"
- ufo: "npm:^1.5.3"
- checksum: 10c0/0b90e5b86e35897fd830624635b30052d0dfeb01b62a021fff4c0a5f46fbc617db685acfbc8c1c7cdcf687d9ffb8d54f3c1b0087ab953232cb3c158a2fb2d770
- languageName: node
- linkType: hard
-
-"mri@npm:^1.2.0":
- version: 1.2.0
- resolution: "mri@npm:1.2.0"
- checksum: 10c0/a3d32379c2554cf7351db6237ddc18dc9e54e4214953f3da105b97dc3babe0deb3ffe99cf409b38ea47cc29f9430561ba6b53b24ab8f9ce97a4b50409e4a50e7
- languageName: node
- linkType: hard
-
-"ms@npm:2.0.0":
- version: 2.0.0
- resolution: "ms@npm:2.0.0"
- checksum: 10c0/f8fda810b39fd7255bbdc451c46286e549794fcc700dc9cd1d25658bbc4dc2563a5de6fe7c60f798a16a60c6ceb53f033cb353f493f0cf63e5199b702943159d
- languageName: node
- linkType: hard
-
"ms@npm:2.1.2":
version: 2.1.2
resolution: "ms@npm:2.1.2"
@@ -9465,7 +8496,7 @@ __metadata:
languageName: node
linkType: hard
-"ms@npm:2.1.3, ms@npm:^2.1.1":
+"ms@npm:^2.1.1":
version: 2.1.3
resolution: "ms@npm:2.1.3"
checksum: 10c0/d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48
@@ -9533,20 +8564,6 @@ __metadata:
languageName: node
linkType: hard
-"napi-wasm@npm:^1.1.0":
- version: 1.1.0
- resolution: "napi-wasm@npm:1.1.0"
- checksum: 10c0/074df6b5b72698f07b39ca3c448a3fcbaf8e6e78521f0cb3aefd8c2f059d69eae0e3bfe367b4aa3df1976c25e351e4e52a359f22fb2c379eb6781bfa042f582b
- languageName: node
- linkType: hard
-
-"natural-compare-lite@npm:^1.4.0":
- version: 1.4.0
- resolution: "natural-compare-lite@npm:1.4.0"
- checksum: 10c0/f6cef26f5044515754802c0fc475d81426f3b90fe88c20fabe08771ce1f736ce46e0397c10acb569a4dd0acb84c7f1ee70676122f95d5bfdd747af3a6c6bbaa8
- languageName: node
- linkType: hard
-
"natural-compare@npm:^1.4.0":
version: 1.4.0
resolution: "natural-compare@npm:1.4.0"
@@ -9672,89 +8689,6 @@ __metadata:
languageName: node
linkType: hard
-"nitropack@npm:^2.9.6":
- version: 2.9.6
- resolution: "nitropack@npm:2.9.6"
- dependencies:
- "@cloudflare/kv-asset-handler": "npm:^0.3.1"
- "@netlify/functions": "npm:^2.6.0"
- "@rollup/plugin-alias": "npm:^5.1.0"
- "@rollup/plugin-commonjs": "npm:^25.0.7"
- "@rollup/plugin-inject": "npm:^5.0.5"
- "@rollup/plugin-json": "npm:^6.1.0"
- "@rollup/plugin-node-resolve": "npm:^15.2.3"
- "@rollup/plugin-replace": "npm:^5.0.5"
- "@rollup/plugin-terser": "npm:^0.4.4"
- "@rollup/pluginutils": "npm:^5.1.0"
- "@types/http-proxy": "npm:^1.17.14"
- "@vercel/nft": "npm:^0.26.4"
- archiver: "npm:^7.0.1"
- c12: "npm:^1.10.0"
- chalk: "npm:^5.3.0"
- chokidar: "npm:^3.6.0"
- citty: "npm:^0.1.6"
- consola: "npm:^3.2.3"
- cookie-es: "npm:^1.1.0"
- croner: "npm:^8.0.1"
- crossws: "npm:^0.2.4"
- db0: "npm:^0.1.4"
- defu: "npm:^6.1.4"
- destr: "npm:^2.0.3"
- dot-prop: "npm:^8.0.2"
- esbuild: "npm:^0.20.2"
- escape-string-regexp: "npm:^5.0.0"
- etag: "npm:^1.8.1"
- fs-extra: "npm:^11.2.0"
- globby: "npm:^14.0.1"
- gzip-size: "npm:^7.0.0"
- h3: "npm:^1.11.1"
- hookable: "npm:^5.5.3"
- httpxy: "npm:^0.1.5"
- ioredis: "npm:^5.3.2"
- is-primitive: "npm:^3.0.1"
- jiti: "npm:^1.21.0"
- klona: "npm:^2.0.6"
- knitwork: "npm:^1.1.0"
- listhen: "npm:^1.7.2"
- magic-string: "npm:^0.30.8"
- mime: "npm:^4.0.1"
- mlly: "npm:^1.6.1"
- mri: "npm:^1.2.0"
- node-fetch-native: "npm:^1.6.4"
- ofetch: "npm:^1.3.4"
- ohash: "npm:^1.1.3"
- openapi-typescript: "npm:^6.7.5"
- pathe: "npm:^1.1.2"
- perfect-debounce: "npm:^1.0.0"
- pkg-types: "npm:^1.0.3"
- pretty-bytes: "npm:^6.1.1"
- radix3: "npm:^1.1.2"
- rollup: "npm:^4.13.2"
- rollup-plugin-visualizer: "npm:^5.12.0"
- scule: "npm:^1.3.0"
- semver: "npm:^7.6.0"
- serve-placeholder: "npm:^2.0.1"
- serve-static: "npm:^1.15.0"
- std-env: "npm:^3.7.0"
- ufo: "npm:^1.5.3"
- uncrypto: "npm:^0.1.3"
- unctx: "npm:^2.3.1"
- unenv: "npm:^1.9.0"
- unimport: "npm:^3.7.1"
- unstorage: "npm:^1.10.2"
- unwasm: "npm:^0.3.9"
- peerDependencies:
- xml2js: ^0.6.2
- peerDependenciesMeta:
- xml2js:
- optional: true
- bin:
- nitro: dist/cli/index.mjs
- nitropack: dist/cli/index.mjs
- checksum: 10c0/cec6b023f26641c5ef0670dd155dc49d96d337032930fa1e0f42324fdf0c9ddfd3500483f615fa9cce8a27bc91823987307049f8e385b07a39065f2d82198270
- languageName: node
- linkType: hard
-
"no-case@npm:^2.2.0, no-case@npm:^2.3.2":
version: 2.3.2
resolution: "no-case@npm:2.3.2"
@@ -9773,22 +8707,6 @@ __metadata:
languageName: node
linkType: hard
-"node-addon-api@npm:^7.0.0":
- version: 7.1.0
- resolution: "node-addon-api@npm:7.1.0"
- dependencies:
- node-gyp: "npm:latest"
- checksum: 10c0/2e096ab079e3c46d33b0e252386e9c239c352f7cc6d75363d9a3c00bdff34c1a5da170da861917512843f213c32d024ced9dc9552b968029786480d18727ec66
- languageName: node
- linkType: hard
-
-"node-fetch-native@npm:^1.6.1, node-fetch-native@npm:^1.6.2, node-fetch-native@npm:^1.6.3, node-fetch-native@npm:^1.6.4":
- version: 1.6.4
- resolution: "node-fetch-native@npm:1.6.4"
- checksum: 10c0/78334dc6def5d1d95cfe87b33ac76c4833592c5eb84779ad2b0c23c689f9dd5d1cfc827035ada72d6b8b218f717798968c5a99aeff0a1a8bf06657e80592f9c3
- languageName: node
- linkType: hard
-
"node-fetch@npm:^2.6.7":
version: 2.7.0
resolution: "node-fetch@npm:2.7.0"
@@ -9803,24 +8721,6 @@ __metadata:
languageName: node
linkType: hard
-"node-forge@npm:^1.3.1":
- version: 1.3.1
- resolution: "node-forge@npm:1.3.1"
- checksum: 10c0/e882819b251a4321f9fc1d67c85d1501d3004b4ee889af822fd07f64de3d1a8e272ff00b689570af0465d65d6bf5074df9c76e900e0aff23e60b847f2a46fbe8
- languageName: node
- linkType: hard
-
-"node-gyp-build@npm:^4.2.2":
- version: 4.8.1
- resolution: "node-gyp-build@npm:4.8.1"
- bin:
- node-gyp-build: bin.js
- node-gyp-build-optional: optional.js
- node-gyp-build-test: build-test.js
- checksum: 10c0/e36ca3d2adf2b9cca316695d7687207c19ac6ed326d6d7c68d7112cebe0de4f82d6733dff139132539fcc01cf5761f6c9082a21864ab9172edf84282bc849ce7
- languageName: node
- linkType: hard
-
"node-gyp@npm:latest":
version: 10.1.0
resolution: "node-gyp@npm:10.1.0"
@@ -9867,6 +8767,13 @@ __metadata:
languageName: node
linkType: hard
+"non.geist@npm:^1.0.3":
+ version: 1.0.3
+ resolution: "non.geist@npm:1.0.3"
+ checksum: 10c0/8f00efbf2076caf80f3cac0cfec39b125b6df578a524ceb83c6b4c4e6bb48545865f7f7942fd855711798edde5ac6ec4aac30ebe549b07fbb3a4f53fa463fd8a
+ languageName: node
+ linkType: hard
+
"nopt@npm:^5.0.0":
version: 5.0.0
resolution: "nopt@npm:5.0.0"
@@ -9896,6 +8803,13 @@ __metadata:
languageName: node
linkType: hard
+"normalize-range@npm:^0.1.2":
+ version: 0.1.2
+ resolution: "normalize-range@npm:0.1.2"
+ checksum: 10c0/bf39b73a63e0a42ad1a48c2bd1bda5a07ede64a7e2567307a407674e595bcff0fa0d57e8e5f1e7fa5e91000797c7615e13613227aaaa4d6d6e87f5bd5cc95de6
+ languageName: node
+ linkType: hard
+
"npm-run-path@npm:^4.0.1":
version: 4.0.1
resolution: "npm-run-path@npm:4.0.1"
@@ -9905,15 +8819,6 @@ __metadata:
languageName: node
linkType: hard
-"npm-run-path@npm:^5.1.0":
- version: 5.3.0
- resolution: "npm-run-path@npm:5.3.0"
- dependencies:
- path-key: "npm:^4.0.0"
- checksum: 10c0/124df74820c40c2eb9a8612a254ea1d557ddfab1581c3e751f825e3e366d9f00b0d76a3c94ecd8398e7f3eee193018622677e95816e8491f0797b21e30b2deba
- languageName: node
- linkType: hard
-
"npmlog@npm:^5.0.1":
version: 5.0.1
resolution: "npmlog@npm:5.0.1"
@@ -9926,21 +8831,6 @@ __metadata:
languageName: node
linkType: hard
-"nypm@npm:^0.3.8":
- version: 0.3.8
- resolution: "nypm@npm:0.3.8"
- dependencies:
- citty: "npm:^0.1.6"
- consola: "npm:^3.2.3"
- execa: "npm:^8.0.1"
- pathe: "npm:^1.1.2"
- ufo: "npm:^1.4.0"
- bin:
- nypm: dist/cli.mjs
- checksum: 10c0/b910ad4f2156789e410443cb20e9e604baf9570dd54acc740bd3a7784cb6e96d4a2619c4e6ad2bea28a3f849acafbf4a8bdc9b9e52bd87379a5bd68e3b66400d
- languageName: node
- linkType: hard
-
"oauth4webapi@npm:^2.4.0":
version: 2.10.4
resolution: "oauth4webapi@npm:2.10.4"
@@ -10044,24 +8934,6 @@ __metadata:
languageName: node
linkType: hard
-"ofetch@npm:^1.3.3, ofetch@npm:^1.3.4":
- version: 1.3.4
- resolution: "ofetch@npm:1.3.4"
- dependencies:
- destr: "npm:^2.0.3"
- node-fetch-native: "npm:^1.6.3"
- ufo: "npm:^1.5.3"
- checksum: 10c0/39855005c3f8aa11c11d3a3b0c4366b67d316da58633f4cf5d4a5af0a61495fd68699f355e70deda70355ead25f27b41c3bde2fdd1d24ce3f85ac79608dd8677
- languageName: node
- linkType: hard
-
-"ohash@npm:^1.1.3":
- version: 1.1.3
- resolution: "ohash@npm:1.1.3"
- checksum: 10c0/928f5bdbd8cd73f90cf544c0533dbda8e0a42d9b8c7454ab89e64e4d11bc85f85242830b4e107426ce13dc4dd3013286f8f5e0c84abd8942a014b907d9692540
- languageName: node
- linkType: hard
-
"on-exit-leak-free@npm:^2.1.0":
version: 2.1.2
resolution: "on-exit-leak-free@npm:2.1.2"
@@ -10069,15 +8941,6 @@ __metadata:
languageName: node
linkType: hard
-"on-finished@npm:2.4.1":
- version: 2.4.1
- resolution: "on-finished@npm:2.4.1"
- dependencies:
- ee-first: "npm:1.1.1"
- checksum: 10c0/46fb11b9063782f2d9968863d9cbba33d77aa13c17f895f56129c274318b86500b22af3a160fe9995aa41317efcd22941b6eba747f718ced08d9a73afdb087b4
- languageName: node
- linkType: hard
-
"once@npm:^1.3.0, once@npm:^1.3.1, once@npm:^1.4.0":
version: 1.4.0
resolution: "once@npm:1.4.0"
@@ -10096,42 +8959,6 @@ __metadata:
languageName: node
linkType: hard
-"onetime@npm:^6.0.0":
- version: 6.0.0
- resolution: "onetime@npm:6.0.0"
- dependencies:
- mimic-fn: "npm:^4.0.0"
- checksum: 10c0/4eef7c6abfef697dd4479345a4100c382d73c149d2d56170a54a07418c50816937ad09500e1ed1e79d235989d073a9bade8557122aee24f0576ecde0f392bb6c
- languageName: node
- linkType: hard
-
-"open@npm:^8.4.0":
- version: 8.4.2
- resolution: "open@npm:8.4.2"
- dependencies:
- define-lazy-prop: "npm:^2.0.0"
- is-docker: "npm:^2.1.1"
- is-wsl: "npm:^2.2.0"
- checksum: 10c0/bb6b3a58401dacdb0aad14360626faf3fb7fba4b77816b373495988b724fb48941cad80c1b65d62bb31a17609b2cd91c41a181602caea597ca80dfbcc27e84c9
- languageName: node
- linkType: hard
-
-"openapi-typescript@npm:^6.7.5":
- version: 6.7.5
- resolution: "openapi-typescript@npm:6.7.5"
- dependencies:
- ansi-colors: "npm:^4.1.3"
- fast-glob: "npm:^3.3.2"
- js-yaml: "npm:^4.1.0"
- supports-color: "npm:^9.4.0"
- undici: "npm:^5.28.2"
- yargs-parser: "npm:^21.1.1"
- bin:
- openapi-typescript: bin/cli.js
- checksum: 10c0/d4486a1a08d40a4292389af26093fd1b5c26ea4ee8c91f2d4d3f3fb910484cf3720eacafb38699a4de11759c2f67f866466ed75ab463b04f4f9d28e6ceb3cff2
- languageName: node
- linkType: hard
-
"optionator@npm:^0.9.3":
version: 0.9.4
resolution: "optionator@npm:0.9.4"
@@ -10186,13 +9013,6 @@ __metadata:
languageName: node
linkType: hard
-"outvariant@npm:^1.2.1, outvariant@npm:^1.4.0":
- version: 1.4.2
- resolution: "outvariant@npm:1.4.2"
- checksum: 10c0/48041425a4cb725ff8871b7d9889bfc2eaded867b9b35b6c2450a36fb3632543173098654990caa6c9e9f67d902b2a01f4402c301835e9ecaf4b4695d3161853
- languageName: node
- linkType: hard
-
"p-limit@npm:^2.2.0":
version: 2.3.0
resolution: "p-limit@npm:2.3.0"
@@ -10305,13 +9125,6 @@ __metadata:
languageName: node
linkType: hard
-"parseurl@npm:~1.3.3":
- version: 1.3.3
- resolution: "parseurl@npm:1.3.3"
- checksum: 10c0/90dd4760d6f6174adb9f20cf0965ae12e23879b5f5464f38e92fce8073354341e4b3b76fa3d878351efe7d01e617121955284cfd002ab087fba1a0726ec0b4f5
- languageName: node
- linkType: hard
-
"pascal-case@npm:^2.0.0":
version: 2.0.1
resolution: "pascal-case@npm:2.0.1"
@@ -10352,13 +9165,6 @@ __metadata:
languageName: node
linkType: hard
-"path-key@npm:^4.0.0":
- version: 4.0.0
- resolution: "path-key@npm:4.0.0"
- checksum: 10c0/794efeef32863a65ac312f3c0b0a99f921f3e827ff63afa5cb09a377e202c262b671f7b3832a4e64731003fa94af0263713962d317b9887bd1e0c48a342efba3
- languageName: node
- linkType: hard
-
"path-parse@npm:^1.0.7":
version: 1.0.7
resolution: "path-parse@npm:1.0.7"
@@ -10383,27 +9189,6 @@ __metadata:
languageName: node
linkType: hard
-"path-type@npm:^5.0.0":
- version: 5.0.0
- resolution: "path-type@npm:5.0.0"
- checksum: 10c0/e8f4b15111bf483900c75609e5e74e3fcb79f2ddb73e41470028fcd3e4b5162ec65da9907be077ee5012c18801ff7fffb35f9f37a077f3f81d85a0b7d6578efd
- languageName: node
- linkType: hard
-
-"pathe@npm:^1.1.1, pathe@npm:^1.1.2":
- version: 1.1.2
- resolution: "pathe@npm:1.1.2"
- checksum: 10c0/64ee0a4e587fb0f208d9777a6c56e4f9050039268faaaaecd50e959ef01bf847b7872785c36483fa5cdcdbdfdb31fef2ff222684d4fc21c330ab60395c681897
- languageName: node
- linkType: hard
-
-"perfect-debounce@npm:^1.0.0":
- version: 1.0.0
- resolution: "perfect-debounce@npm:1.0.0"
- checksum: 10c0/e2baac416cae046ef1b270812cf9ccfb0f91c04ea36ac7f5b00bc84cb7f41bdbba087c0ab21b4e02a7ef3a1f1f6db399f137cecec46868bd7d8d88c2a9ee431f
- languageName: node
- linkType: hard
-
"picocolors@npm:^1.0.0":
version: 1.0.0
resolution: "picocolors@npm:1.0.0"
@@ -10411,7 +9196,14 @@ __metadata:
languageName: node
linkType: hard
-"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.2.2, picomatch@npm:^2.3.1":
+"picocolors@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "picocolors@npm:1.0.1"
+ checksum: 10c0/c63cdad2bf812ef0d66c8db29583802355d4ca67b9285d846f390cc15c2f6ccb94e8cb7eb6a6e97fc5990a6d3ad4ae42d86c84d3146e667c739a4234ed50d400
+ languageName: node
+ linkType: hard
+
+"picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.3.1":
version: 2.3.1
resolution: "picomatch@npm:2.3.1"
checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be
@@ -10494,17 +9286,6 @@ __metadata:
languageName: node
linkType: hard
-"pkg-types@npm:^1.0.3, pkg-types@npm:^1.1.0":
- version: 1.1.0
- resolution: "pkg-types@npm:1.1.0"
- dependencies:
- confbox: "npm:^0.1.7"
- mlly: "npm:^1.6.1"
- pathe: "npm:^1.1.2"
- checksum: 10c0/b350da13d2dab7dc2fa9d65a08a2038d841d8d8c94bf3878dd911a522e20da50d6662bab510fa329e363e403892374b3b847ebf7b3e10011805cdefb00f228fd
- languageName: node
- linkType: hard
-
"pngjs@npm:^5.0.0":
version: 5.0.0
resolution: "pngjs@npm:5.0.0"
@@ -10582,7 +9363,7 @@ __metadata:
languageName: node
linkType: hard
-"postcss-value-parser@npm:^4.0.0":
+"postcss-value-parser@npm:^4.0.0, postcss-value-parser@npm:^4.2.0":
version: 4.2.0
resolution: "postcss-value-parser@npm:4.2.0"
checksum: 10c0/f4142a4f56565f77c1831168e04e3effd9ffcc5aebaf0f538eee4b2d465adfd4b85a44257bb48418202a63806a7da7fe9f56c330aebb3cac898e46b4cbf49161
@@ -10611,6 +9392,17 @@ __metadata:
languageName: node
linkType: hard
+"postcss@npm:^8.4.39":
+ version: 8.4.39
+ resolution: "postcss@npm:8.4.39"
+ dependencies:
+ nanoid: "npm:^3.3.7"
+ picocolors: "npm:^1.0.1"
+ source-map-js: "npm:^1.2.0"
+ checksum: 10c0/16f5ac3c4e32ee76d1582b3c0dcf1a1fdb91334a45ad755eeb881ccc50318fb8d64047de4f1601ac96e30061df203f0f2e2edbdc0bfc49b9c57bc9fb9bedaea3
+ languageName: node
+ linkType: hard
+
"preact-render-to-string@npm:5.2.3":
version: 5.2.3
resolution: "preact-render-to-string@npm:5.2.3"
@@ -10700,13 +9492,6 @@ __metadata:
languageName: node
linkType: hard
-"pretty-bytes@npm:^6.1.1":
- version: 6.1.1
- resolution: "pretty-bytes@npm:6.1.1"
- checksum: 10c0/c7a660b933355f3b4587ad3f001c266a8dd6afd17db9f89ebc50812354bb142df4b9600396ba5999bdb1f9717300387dc311df91895c5f0f2a1780e22495b5f8
- languageName: node
- linkType: hard
-
"pretty-format@npm:^3.8.0":
version: 3.8.0
resolution: "pretty-format@npm:3.8.0"
@@ -10810,6 +9595,15 @@ __metadata:
languageName: node
linkType: hard
+"qr-scanner@npm:^1.4.2":
+ version: 1.4.2
+ resolution: "qr-scanner@npm:1.4.2"
+ dependencies:
+ "@types/offscreencanvas": "npm:^2019.6.4"
+ checksum: 10c0/32ac53d6f5c9045e1464d6b110eb19d3f8865f72276d26f00f6cc1e1d239ce34c799824a3082c775236cf887cf4354b2c292c89a08fd25378ab2c68472346970
+ languageName: node
+ linkType: hard
+
"qrcode@npm:^1.5.3":
version: 1.5.3
resolution: "qrcode@npm:1.5.3"
@@ -10838,13 +9632,6 @@ __metadata:
languageName: node
linkType: hard
-"queue-tick@npm:^1.0.1":
- version: 1.0.1
- resolution: "queue-tick@npm:1.0.1"
- checksum: 10c0/0db998e2c9b15215317dbcf801e9b23e6bcde4044e115155dae34f8e7454b9a783f737c9a725528d677b7a66c775eb7a955cf144fe0b87f62b575ce5bfd515a9
- languageName: node
- linkType: hard
-
"quick-format-unescaped@npm:^4.0.3":
version: 4.0.4
resolution: "quick-format-unescaped@npm:4.0.4"
@@ -10852,39 +9639,6 @@ __metadata:
languageName: node
linkType: hard
-"radix3@npm:^1.1.0, radix3@npm:^1.1.2":
- version: 1.1.2
- resolution: "radix3@npm:1.1.2"
- checksum: 10c0/d4a295547f71af079868d2c2ed3814a9296ee026c5488212d58c106e6b4797c6eaec1259b46c9728913622f2240c9a944bfc8e2b3b5f6e4a5045338b1609f1e4
- languageName: node
- linkType: hard
-
-"randombytes@npm:^2.1.0":
- version: 2.1.0
- resolution: "randombytes@npm:2.1.0"
- dependencies:
- safe-buffer: "npm:^5.1.0"
- checksum: 10c0/50395efda7a8c94f5dffab564f9ff89736064d32addf0cc7e8bf5e4166f09f8ded7a0849ca6c2d2a59478f7d90f78f20d8048bca3cdf8be09d8e8a10790388f3
- languageName: node
- linkType: hard
-
-"range-parser@npm:~1.2.1":
- version: 1.2.1
- resolution: "range-parser@npm:1.2.1"
- checksum: 10c0/96c032ac2475c8027b7a4e9fe22dc0dfe0f6d90b85e496e0f016fbdb99d6d066de0112e680805075bd989905e2123b3b3d002765149294dce0c1f7f01fcc2ea0
- languageName: node
- linkType: hard
-
-"rc9@npm:^2.1.1":
- version: 2.1.2
- resolution: "rc9@npm:2.1.2"
- dependencies:
- defu: "npm:^6.1.4"
- destr: "npm:^2.0.3"
- checksum: 10c0/a2ead3b94bf033e35e4ea40d70062a09feddb8f589c3f5a8fe4e9342976974296aee9f6e9e72bd5e78e6ae4b7bc16dc244f63699fd7322c16314e3238db982c9
- languageName: node
- linkType: hard
-
"rc@npm:^1.0.1, rc@npm:^1.1.6":
version: 1.2.8
resolution: "rc@npm:1.2.8"
@@ -10899,7 +9653,7 @@ __metadata:
languageName: node
linkType: hard
-"react-dom@npm:18.3.1":
+"react-dom@npm:^18.3.1":
version: 18.3.1
resolution: "react-dom@npm:18.3.1"
dependencies:
@@ -10972,6 +9726,30 @@ __metadata:
languageName: node
linkType: hard
+"react-router-dom@npm:^6.24.0":
+ version: 6.24.0
+ resolution: "react-router-dom@npm:6.24.0"
+ dependencies:
+ "@remix-run/router": "npm:1.17.0"
+ react-router: "npm:6.24.0"
+ peerDependencies:
+ react: ">=16.8"
+ react-dom: ">=16.8"
+ checksum: 10c0/2cb41120c1ff58fd1e187807214cf581e78e2845e5f411aa6a04f4748bd100431fd1ac5f8a45db281ea03d0d2354b66896b938c0b77adf7b343a6c1be52411de
+ languageName: node
+ linkType: hard
+
+"react-router@npm:6.24.0":
+ version: 6.24.0
+ resolution: "react-router@npm:6.24.0"
+ dependencies:
+ "@remix-run/router": "npm:1.17.0"
+ peerDependencies:
+ react: ">=16.8"
+ checksum: 10c0/ad9c924d16dc4f5c90dff588e9a69d37488d2ad537de1ddbdf3b68561658c6e3fd1b8b12d16d50f19177f6547748c54e948d477e921f9230799ac71acfec24cf
+ languageName: node
+ linkType: hard
+
"react-smooth@npm:^4.0.0":
version: 4.0.1
resolution: "react-smooth@npm:4.0.1"
@@ -11018,7 +9796,7 @@ __metadata:
languageName: node
linkType: hard
-"react@npm:18.3.1":
+"react@npm:^18.3.1":
version: 18.3.1
resolution: "react@npm:18.3.1"
dependencies:
@@ -11140,22 +9918,6 @@ __metadata:
languageName: node
linkType: hard
-"redis-errors@npm:^1.0.0, redis-errors@npm:^1.2.0":
- version: 1.2.0
- resolution: "redis-errors@npm:1.2.0"
- checksum: 10c0/5b316736e9f532d91a35bff631335137a4f974927bb2fb42bf8c2f18879173a211787db8ac4c3fde8f75ed6233eb0888e55d52510b5620e30d69d7d719c8b8a7
- languageName: node
- linkType: hard
-
-"redis-parser@npm:^3.0.0":
- version: 3.0.0
- resolution: "redis-parser@npm:3.0.0"
- dependencies:
- redis-errors: "npm:^1.0.0"
- checksum: 10c0/ee16ac4c7b2a60b1f42a2cdaee22b005bd4453eb2d0588b8a4939718997ae269da717434da5d570fe0b05030466eeb3f902a58cf2e8e1ca058bf6c9c596f632f
- languageName: node
- linkType: hard
-
"reflect.getprototypeof@npm:^1.0.4":
version: 1.0.6
resolution: "reflect.getprototypeof@npm:1.0.6"
@@ -11251,7 +10013,7 @@ __metadata:
languageName: node
linkType: hard
-"resolve@npm:^1.1.7, resolve@npm:^1.12.0, resolve@npm:^1.22.1, resolve@npm:^1.22.2, resolve@npm:^1.22.4":
+"resolve@npm:^1.1.7, resolve@npm:^1.12.0, resolve@npm:^1.22.2, resolve@npm:^1.22.4":
version: 1.22.8
resolution: "resolve@npm:1.22.8"
dependencies:
@@ -11277,7 +10039,7 @@ __metadata:
languageName: node
linkType: hard
-"resolve@patch:resolve@npm%3A^1.1.7#optional!builtin, resolve@patch:resolve@npm%3A^1.12.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.1#optional!builtin, resolve@patch:resolve@npm%3A^1.22.2#optional!builtin, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin":
+"resolve@patch:resolve@npm%3A^1.1.7#optional!builtin, resolve@patch:resolve@npm%3A^1.12.0#optional!builtin, resolve@patch:resolve@npm%3A^1.22.2#optional!builtin, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin":
version: 1.22.8
resolution: "resolve@patch:resolve@npm%3A1.22.8#optional!builtin::version=1.22.8&hash=c3c19d"
dependencies:
@@ -11349,45 +10111,89 @@ __metadata:
languageName: node
linkType: hard
-"rollup-plugin-visualizer@npm:^5.12.0":
- version: 5.12.0
- resolution: "rollup-plugin-visualizer@npm:5.12.0"
+"rollup@npm:^4.0.2":
+ version: 4.17.2
+ resolution: "rollup@npm:4.17.2"
dependencies:
- open: "npm:^8.4.0"
- picomatch: "npm:^2.3.1"
- source-map: "npm:^0.7.4"
- yargs: "npm:^17.5.1"
- peerDependencies:
- rollup: 2.x || 3.x || 4.x
- peerDependenciesMeta:
- rollup:
+ "@rollup/rollup-android-arm-eabi": "npm:4.17.2"
+ "@rollup/rollup-android-arm64": "npm:4.17.2"
+ "@rollup/rollup-darwin-arm64": "npm:4.17.2"
+ "@rollup/rollup-darwin-x64": "npm:4.17.2"
+ "@rollup/rollup-linux-arm-gnueabihf": "npm:4.17.2"
+ "@rollup/rollup-linux-arm-musleabihf": "npm:4.17.2"
+ "@rollup/rollup-linux-arm64-gnu": "npm:4.17.2"
+ "@rollup/rollup-linux-arm64-musl": "npm:4.17.2"
+ "@rollup/rollup-linux-powerpc64le-gnu": "npm:4.17.2"
+ "@rollup/rollup-linux-riscv64-gnu": "npm:4.17.2"
+ "@rollup/rollup-linux-s390x-gnu": "npm:4.17.2"
+ "@rollup/rollup-linux-x64-gnu": "npm:4.17.2"
+ "@rollup/rollup-linux-x64-musl": "npm:4.17.2"
+ "@rollup/rollup-win32-arm64-msvc": "npm:4.17.2"
+ "@rollup/rollup-win32-ia32-msvc": "npm:4.17.2"
+ "@rollup/rollup-win32-x64-msvc": "npm:4.17.2"
+ "@types/estree": "npm:1.0.5"
+ fsevents: "npm:~2.3.2"
+ dependenciesMeta:
+ "@rollup/rollup-android-arm-eabi":
+ optional: true
+ "@rollup/rollup-android-arm64":
+ optional: true
+ "@rollup/rollup-darwin-arm64":
+ optional: true
+ "@rollup/rollup-darwin-x64":
+ optional: true
+ "@rollup/rollup-linux-arm-gnueabihf":
+ optional: true
+ "@rollup/rollup-linux-arm-musleabihf":
+ optional: true
+ "@rollup/rollup-linux-arm64-gnu":
+ optional: true
+ "@rollup/rollup-linux-arm64-musl":
+ optional: true
+ "@rollup/rollup-linux-powerpc64le-gnu":
+ optional: true
+ "@rollup/rollup-linux-riscv64-gnu":
+ optional: true
+ "@rollup/rollup-linux-s390x-gnu":
+ optional: true
+ "@rollup/rollup-linux-x64-gnu":
+ optional: true
+ "@rollup/rollup-linux-x64-musl":
+ optional: true
+ "@rollup/rollup-win32-arm64-msvc":
+ optional: true
+ "@rollup/rollup-win32-ia32-msvc":
+ optional: true
+ "@rollup/rollup-win32-x64-msvc":
+ optional: true
+ fsevents:
optional: true
bin:
- rollup-plugin-visualizer: dist/bin/cli.js
- checksum: 10c0/0e44a641223377ebb472bb10f2b22efa773b5f6fbe8d54f197f07c68d7a432cbf00abad79a0aa1570f70c673c792f24700d926d663ed9a4d0ad8406ae5a0f4e4
+ rollup: dist/bin/rollup
+ checksum: 10c0/4fa6644e5c7fc4a34f654ea7e209be6c2c5897ed9dd43e7135230137204df748a795c7553804130f6c41da0b71e83f8c35a4a7881d385a77996adee50b609a6e
languageName: node
linkType: hard
-"rollup@npm:^4.0.2, rollup@npm:^4.13.2":
- version: 4.17.2
- resolution: "rollup@npm:4.17.2"
- dependencies:
- "@rollup/rollup-android-arm-eabi": "npm:4.17.2"
- "@rollup/rollup-android-arm64": "npm:4.17.2"
- "@rollup/rollup-darwin-arm64": "npm:4.17.2"
- "@rollup/rollup-darwin-x64": "npm:4.17.2"
- "@rollup/rollup-linux-arm-gnueabihf": "npm:4.17.2"
- "@rollup/rollup-linux-arm-musleabihf": "npm:4.17.2"
- "@rollup/rollup-linux-arm64-gnu": "npm:4.17.2"
- "@rollup/rollup-linux-arm64-musl": "npm:4.17.2"
- "@rollup/rollup-linux-powerpc64le-gnu": "npm:4.17.2"
- "@rollup/rollup-linux-riscv64-gnu": "npm:4.17.2"
- "@rollup/rollup-linux-s390x-gnu": "npm:4.17.2"
- "@rollup/rollup-linux-x64-gnu": "npm:4.17.2"
- "@rollup/rollup-linux-x64-musl": "npm:4.17.2"
- "@rollup/rollup-win32-arm64-msvc": "npm:4.17.2"
- "@rollup/rollup-win32-ia32-msvc": "npm:4.17.2"
- "@rollup/rollup-win32-x64-msvc": "npm:4.17.2"
+"rollup@npm:^4.13.0":
+ version: 4.18.0
+ resolution: "rollup@npm:4.18.0"
+ dependencies:
+ "@rollup/rollup-android-arm-eabi": "npm:4.18.0"
+ "@rollup/rollup-android-arm64": "npm:4.18.0"
+ "@rollup/rollup-darwin-arm64": "npm:4.18.0"
+ "@rollup/rollup-darwin-x64": "npm:4.18.0"
+ "@rollup/rollup-linux-arm-gnueabihf": "npm:4.18.0"
+ "@rollup/rollup-linux-arm-musleabihf": "npm:4.18.0"
+ "@rollup/rollup-linux-arm64-gnu": "npm:4.18.0"
+ "@rollup/rollup-linux-arm64-musl": "npm:4.18.0"
+ "@rollup/rollup-linux-powerpc64le-gnu": "npm:4.18.0"
+ "@rollup/rollup-linux-riscv64-gnu": "npm:4.18.0"
+ "@rollup/rollup-linux-s390x-gnu": "npm:4.18.0"
+ "@rollup/rollup-linux-x64-gnu": "npm:4.18.0"
+ "@rollup/rollup-linux-x64-musl": "npm:4.18.0"
+ "@rollup/rollup-win32-arm64-msvc": "npm:4.18.0"
+ "@rollup/rollup-win32-ia32-msvc": "npm:4.18.0"
+ "@rollup/rollup-win32-x64-msvc": "npm:4.18.0"
"@types/estree": "npm:1.0.5"
fsevents: "npm:~2.3.2"
dependenciesMeta:
@@ -11427,7 +10233,7 @@ __metadata:
optional: true
bin:
rollup: dist/bin/rollup
- checksum: 10c0/4fa6644e5c7fc4a34f654ea7e209be6c2c5897ed9dd43e7135230137204df748a795c7553804130f6c41da0b71e83f8c35a4a7881d385a77996adee50b609a6e
+ checksum: 10c0/7d0239f029c48d977e0d0b942433bed9ca187d2328b962fc815fc775d0fdf1966ffcd701fef265477e999a1fb01bddcc984fc675d1b9d9864bf8e1f1f487e23e
languageName: node
linkType: hard
@@ -11477,7 +10283,7 @@ __metadata:
languageName: node
linkType: hard
-"safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:~5.2.0":
+"safe-buffer@npm:^5.0.1, safe-buffer@npm:~5.2.0":
version: 5.2.1
resolution: "safe-buffer@npm:5.2.1"
checksum: 10c0/6501914237c0a86e9675d4e51d89ca3c21ffd6a31642efeba25ad65720bce6921c9e7e974e5be91a786b25aa058b5303285d3c15dbabf983a919f5f630d349f3
@@ -11534,13 +10340,6 @@ __metadata:
languageName: node
linkType: hard
-"scule@npm:^1.1.1, scule@npm:^1.3.0":
- version: 1.3.0
- resolution: "scule@npm:1.3.0"
- checksum: 10c0/5d1736daa10622c420f2aa74e60d3c722e756bfb139fa784ae5c66669fdfe92932d30ed5072e4ce3107f9c3053e35ad73b2461cb18de45b867e1d4dea63f8823
- languageName: node
- linkType: hard
-
"secure-json-parse@npm:^2.4.0":
version: 2.7.0
resolution: "secure-json-parse@npm:2.7.0"
@@ -11557,7 +10356,7 @@ __metadata:
languageName: node
linkType: hard
-"semver@npm:^7.3.5, semver@npm:^7.3.7, semver@npm:^7.5.2, semver@npm:^7.5.4, semver@npm:^7.6.0":
+"semver@npm:^7.3.5, semver@npm:^7.5.2, semver@npm:^7.5.4, semver@npm:^7.6.0":
version: 7.6.1
resolution: "semver@npm:7.6.1"
bin:
@@ -11566,27 +10365,6 @@ __metadata:
languageName: node
linkType: hard
-"send@npm:0.18.0":
- version: 0.18.0
- resolution: "send@npm:0.18.0"
- dependencies:
- debug: "npm:2.6.9"
- depd: "npm:2.0.0"
- destroy: "npm:1.2.0"
- encodeurl: "npm:~1.0.2"
- escape-html: "npm:~1.0.3"
- etag: "npm:~1.8.1"
- fresh: "npm:0.5.2"
- http-errors: "npm:2.0.0"
- mime: "npm:1.6.0"
- ms: "npm:2.1.3"
- on-finished: "npm:2.4.1"
- range-parser: "npm:~1.2.1"
- statuses: "npm:2.0.1"
- checksum: 10c0/0eb134d6a51fc13bbcb976a1f4214ea1e33f242fae046efc311e80aff66c7a43603e26a79d9d06670283a13000e51be6e0a2cb80ff0942eaf9f1cd30b7ae736a
- languageName: node
- linkType: hard
-
"sentence-case@npm:^2.1.0":
version: 2.1.1
resolution: "sentence-case@npm:2.1.1"
@@ -11604,36 +10382,6 @@ __metadata:
languageName: node
linkType: hard
-"serialize-javascript@npm:^6.0.1":
- version: 6.0.2
- resolution: "serialize-javascript@npm:6.0.2"
- dependencies:
- randombytes: "npm:^2.1.0"
- checksum: 10c0/2dd09ef4b65a1289ba24a788b1423a035581bef60817bea1f01eda8e3bda623f86357665fe7ac1b50f6d4f583f97db9615b3f07b2a2e8cbcb75033965f771dd2
- languageName: node
- linkType: hard
-
-"serve-placeholder@npm:^2.0.1":
- version: 2.0.1
- resolution: "serve-placeholder@npm:2.0.1"
- dependencies:
- defu: "npm:^6.0.0"
- checksum: 10c0/5d7d520e5da94b53cf78ed63c14b2e414bd13d4692053696d9352fae4c1158bb07b037e708fcf0c574185c322cc9265fe6e124733030587cfa5836dbb33b9af1
- languageName: node
- linkType: hard
-
-"serve-static@npm:^1.15.0":
- version: 1.15.0
- resolution: "serve-static@npm:1.15.0"
- dependencies:
- encodeurl: "npm:~1.0.2"
- escape-html: "npm:~1.0.3"
- parseurl: "npm:~1.3.3"
- send: "npm:0.18.0"
- checksum: 10c0/fa9f0e21a540a28f301258dfe1e57bb4f81cd460d28f0e973860477dd4acef946a1f41748b5bd41c73b621bea2029569c935faa38578fd34cd42a9b4947088ba
- languageName: node
- linkType: hard
-
"set-blocking@npm:^2.0.0":
version: 2.0.0
resolution: "set-blocking@npm:2.0.0"
@@ -11674,13 +10422,6 @@ __metadata:
languageName: node
linkType: hard
-"setprototypeof@npm:1.2.0":
- version: 1.2.0
- resolution: "setprototypeof@npm:1.2.0"
- checksum: 10c0/68733173026766fa0d9ecaeb07f0483f4c2dc70ca376b3b7c40b7cda909f94b0918f6c5ad5ce27a9160bdfb475efaa9d5e705a11d8eaae18f9835d20976028bc
- languageName: node
- linkType: hard
-
"shebang-command@npm:^2.0.0":
version: 2.0.0
resolution: "shebang-command@npm:2.0.0"
@@ -11716,7 +10457,7 @@ __metadata:
languageName: node
linkType: hard
-"signal-exit@npm:^4.0.1, signal-exit@npm:^4.1.0":
+"signal-exit@npm:^4.0.1":
version: 4.1.0
resolution: "signal-exit@npm:4.1.0"
checksum: 10c0/41602dce540e46d599edba9d9860193398d135f7ff72cab629db5171516cfae628d21e7bfccde1bbfdf11c48726bc2a6d1a8fb8701125852fbfda7cf19c6aa83
@@ -11737,20 +10478,6 @@ __metadata:
languageName: node
linkType: hard
-"slash@npm:^4.0.0":
- version: 4.0.0
- resolution: "slash@npm:4.0.0"
- checksum: 10c0/b522ca75d80d107fd30d29df0549a7b2537c83c4c4ecd12cd7d4ea6c8aaca2ab17ada002e7a1d78a9d736a0261509f26ea5b489082ee443a3a810586ef8eff18
- languageName: node
- linkType: hard
-
-"slash@npm:^5.1.0":
- version: 5.1.0
- resolution: "slash@npm:5.1.0"
- checksum: 10c0/eb48b815caf0bdc390d0519d41b9e0556a14380f6799c72ba35caf03544d501d18befdeeef074bc9c052acf69654bc9e0d79d7f1de0866284137a40805299eb3
- languageName: node
- linkType: hard
-
"smart-buffer@npm:^4.2.0":
version: 4.2.0
resolution: "smart-buffer@npm:4.2.0"
@@ -11758,13 +10485,6 @@ __metadata:
languageName: node
linkType: hard
-"smob@npm:^1.0.0":
- version: 1.5.0
- resolution: "smob@npm:1.5.0"
- checksum: 10c0/a1067f23265812de8357ed27312101af49b89129eb973e3f26ab5856ea774f88cace13342e66e32470f933ccfa916e0e9d0f7ca8bbd4f92dfab2af45c15956c2
- languageName: node
- linkType: hard
-
"snake-case@npm:^2.1.0":
version: 2.1.0
resolution: "snake-case@npm:2.1.0"
@@ -11833,7 +10553,7 @@ __metadata:
languageName: node
linkType: hard
-"source-map-support@npm:^0.5.21, source-map-support@npm:~0.5.20":
+"source-map-support@npm:^0.5.21":
version: 0.5.21
resolution: "source-map-support@npm:0.5.21"
dependencies:
@@ -11859,13 +10579,6 @@ __metadata:
languageName: node
linkType: hard
-"source-map@npm:^0.7.4":
- version: 0.7.4
- resolution: "source-map@npm:0.7.4"
- checksum: 10c0/dc0cf3768fe23c345ea8760487f8c97ef6fca8a73c83cd7c9bf2fde8bc2c34adb9c0824d6feb14bc4f9e37fb522e18af621543f1289038a66ac7586da29aa7dc
- languageName: node
- linkType: hard
-
"split2@npm:^4.0.0":
version: 4.2.0
resolution: "split2@npm:4.2.0"
@@ -11896,27 +10609,6 @@ __metadata:
languageName: node
linkType: hard
-"standard-as-callback@npm:^2.1.0":
- version: 2.1.0
- resolution: "standard-as-callback@npm:2.1.0"
- checksum: 10c0/012677236e3d3fdc5689d29e64ea8a599331c4babe86956bf92fc5e127d53f85411c5536ee0079c52c43beb0026b5ce7aa1d834dd35dd026e82a15d1bcaead1f
- languageName: node
- linkType: hard
-
-"statuses@npm:2.0.1":
- version: 2.0.1
- resolution: "statuses@npm:2.0.1"
- checksum: 10c0/34378b207a1620a24804ce8b5d230fea0c279f00b18a7209646d5d47e419d1cc23e7cbf33a25a1e51ac38973dc2ac2e1e9c647a8e481ef365f77668d72becfd0
- languageName: node
- linkType: hard
-
-"std-env@npm:^3.7.0":
- version: 3.7.0
- resolution: "std-env@npm:3.7.0"
- checksum: 10c0/60edf2d130a4feb7002974af3d5a5f3343558d1ccf8d9b9934d225c638606884db4a20d2fe6440a09605bca282af6b042ae8070a10490c0800d69e82e478f41e
- languageName: node
- linkType: hard
-
"streamsearch@npm:^1.1.0":
version: 1.1.0
resolution: "streamsearch@npm:1.1.0"
@@ -11924,27 +10616,6 @@ __metadata:
languageName: node
linkType: hard
-"streamx@npm:^2.15.0":
- version: 2.16.1
- resolution: "streamx@npm:2.16.1"
- dependencies:
- bare-events: "npm:^2.2.0"
- fast-fifo: "npm:^1.1.0"
- queue-tick: "npm:^1.0.1"
- dependenciesMeta:
- bare-events:
- optional: true
- checksum: 10c0/202b1d7cb7ceb36cdc5d5d0e2c27deafcc8670a4934cda7a5e3d3d45b8d3a64dc43f1b982b1c1cb316f01964dd5137b7e26af3151582c7c29ad3cf4072c6dbb9
- languageName: node
- linkType: hard
-
-"strict-event-emitter@npm:^0.5.1":
- version: 0.5.1
- resolution: "strict-event-emitter@npm:0.5.1"
- checksum: 10c0/f5228a6e6b6393c57f52f62e673cfe3be3294b35d6f7842fc24b172ae0a6e6c209fa83241d0e433fc267c503bc2f4ffdbe41a9990ff8ffd5ac425ec0489417f7
- languageName: node
- linkType: hard
-
"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3":
version: 4.2.3
resolution: "string-width@npm:4.2.3"
@@ -12078,13 +10749,6 @@ __metadata:
languageName: node
linkType: hard
-"strip-final-newline@npm:^3.0.0":
- version: 3.0.0
- resolution: "strip-final-newline@npm:3.0.0"
- checksum: 10c0/a771a17901427bac6293fd416db7577e2bc1c34a19d38351e9d5478c3c415f523f391003b42ed475f27e33a78233035df183525395f731d3bfb8cdcbd4da08ce
- languageName: node
- linkType: hard
-
"strip-json-comments@npm:^3.1.1":
version: 3.1.1
resolution: "strip-json-comments@npm:3.1.1"
@@ -12099,15 +10763,6 @@ __metadata:
languageName: node
linkType: hard
-"strip-literal@npm:^1.3.0":
- version: 1.3.0
- resolution: "strip-literal@npm:1.3.0"
- dependencies:
- acorn: "npm:^8.10.0"
- checksum: 10c0/3c0c9ee41eb346e827eede61ef288457f53df30e3e6ff8b94fa81b636933b0c13ca4ea5c97d00a10d72d04be326da99ac819f8769f0c6407ba8177c98344a916
- languageName: node
- linkType: hard
-
"styled-jsx@npm:5.1.1":
version: 5.1.1
resolution: "styled-jsx@npm:5.1.1"
@@ -12169,13 +10824,6 @@ __metadata:
languageName: node
linkType: hard
-"supports-color@npm:^9.4.0":
- version: 9.4.0
- resolution: "supports-color@npm:9.4.0"
- checksum: 10c0/6c24e6b2b64c6a60e5248490cfa50de5924da32cf09ae357ad8ebbf305cc5d2717ba705a9d4cb397d80bbf39417e8fdc8d7a0ce18bd0041bf7b5b456229164e4
- languageName: node
- linkType: hard
-
"supports-preserve-symlinks-flag@npm:^1.0.0":
version: 1.0.0
resolution: "supports-preserve-symlinks-flag@npm:1.0.0"
@@ -12193,13 +10841,6 @@ __metadata:
languageName: node
linkType: hard
-"system-architecture@npm:^0.1.0":
- version: 0.1.0
- resolution: "system-architecture@npm:0.1.0"
- checksum: 10c0/1969974ea5d31a9ac7c38f2657cfe8255b36f9e1d5ba3c58cb84c24fbeedf562778b8511f18a0abe6d70ae90148cfcaf145ecf26e37c0a53a3829076f3238cbb
- languageName: node
- linkType: hard
-
"tailwind-merge@npm:^2.3.0":
version: 2.3.0
resolution: "tailwind-merge@npm:2.3.0"
@@ -12218,9 +10859,9 @@ __metadata:
languageName: node
linkType: hard
-"tailwindcss@npm:^3.4.3":
- version: 3.4.3
- resolution: "tailwindcss@npm:3.4.3"
+"tailwindcss@npm:^3.4.4":
+ version: 3.4.4
+ resolution: "tailwindcss@npm:3.4.4"
dependencies:
"@alloc/quick-lru": "npm:^5.2.0"
arg: "npm:^5.0.2"
@@ -12247,7 +10888,7 @@ __metadata:
bin:
tailwind: lib/cli.js
tailwindcss: lib/cli.js
- checksum: 10c0/11e5546494f2888f693ebaa271b218b3a8e52fe59d7b629e54f2dffd6eaafd5ded2e9f0c37ad04e6a866dffb2b116d91becebad77e1441beee8bf016bb2392f9
+ checksum: 10c0/e4f7e1a2e1897871a4744f421ccb5639e8d51012e3644b0c35cf723527fdc8f9cddd3fa3b0fc28c198b0ea6ce44ead21c89cfec549d80bad9b1f3dd9d8bf2d54
languageName: node
linkType: hard
@@ -12271,18 +10912,7 @@ __metadata:
languageName: node
linkType: hard
-"tar-stream@npm:^3.0.0":
- version: 3.1.7
- resolution: "tar-stream@npm:3.1.7"
- dependencies:
- b4a: "npm:^1.6.4"
- fast-fifo: "npm:^1.2.0"
- streamx: "npm:^2.15.0"
- checksum: 10c0/a09199d21f8714bd729993ac49b6c8efcb808b544b89f23378ad6ffff6d1cb540878614ba9d4cfec11a64ef39e1a6f009a5398371491eb1fda606ffc7f70f718
- languageName: node
- linkType: hard
-
-"tar@npm:^6.1.11, tar@npm:^6.1.2, tar@npm:^6.2.0":
+"tar@npm:^6.1.11, tar@npm:^6.1.2":
version: 6.2.1
resolution: "tar@npm:6.2.1"
dependencies:
@@ -12296,20 +10926,6 @@ __metadata:
languageName: node
linkType: hard
-"terser@npm:^5.17.4":
- version: 5.31.0
- resolution: "terser@npm:5.31.0"
- dependencies:
- "@jridgewell/source-map": "npm:^0.3.3"
- acorn: "npm:^8.8.2"
- commander: "npm:^2.20.0"
- source-map-support: "npm:~0.5.20"
- bin:
- terser: bin/terser
- checksum: 10c0/cb127a579b03fb9dcee0d293ff24814deedcd430f447933b618e8593b7454f615b5c8493c68e86a4b0188769d5ea2af5251b5d507edb208114f7e8aebdc7c850
- languageName: node
- linkType: hard
-
"text-table@npm:^0.2.0":
version: 0.2.0
resolution: "text-table@npm:0.2.0"
@@ -12427,13 +11043,6 @@ __metadata:
languageName: node
linkType: hard
-"toidentifier@npm:1.0.1":
- version: 1.0.1
- resolution: "toidentifier@npm:1.0.1"
- checksum: 10c0/93937279934bd66cc3270016dd8d0afec14fb7c94a05c72dc57321f8bd1fa97e5bea6d1f7c89e728d077ca31ea125b78320a616a6c6cd0e6b9cb94cb864381c1
- languageName: node
- linkType: hard
-
"tr46@npm:^1.0.1":
version: 1.0.1
resolution: "tr46@npm:1.0.1"
@@ -12532,7 +11141,7 @@ __metadata:
languageName: node
linkType: hard
-"tslib@npm:^1.8.1, tslib@npm:^1.9.0":
+"tslib@npm:^1.9.0":
version: 1.14.1
resolution: "tslib@npm:1.14.1"
checksum: 10c0/69ae09c49eea644bc5ebe1bca4fa4cc2c82b7b3e02f43b84bd891504edf66dbc6b2ec0eef31a957042de2269139e4acff911e6d186a258fb14069cd7f6febce2
@@ -12585,17 +11194,6 @@ __metadata:
languageName: node
linkType: hard
-"tsutils@npm:^3.21.0":
- version: 3.21.0
- resolution: "tsutils@npm:3.21.0"
- dependencies:
- tslib: "npm:^1.8.1"
- peerDependencies:
- typescript: ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta"
- checksum: 10c0/02f19e458ec78ead8fffbf711f834ad8ecd2cc6ade4ec0320790713dccc0a412b99e7fd907c4cda2a1dc602c75db6f12e0108e87a5afad4b2f9e90a24cabd5a2
- languageName: node
- linkType: hard
-
"tsx@npm:^4.9.4":
version: 4.9.4
resolution: "tsx@npm:4.9.4"
@@ -12699,13 +11297,6 @@ __metadata:
languageName: node
linkType: hard
-"type-fest@npm:^3.8.0":
- version: 3.13.1
- resolution: "type-fest@npm:3.13.1"
- checksum: 10c0/547d22186f73a8c04590b70dcf63baff390078c75ea8acd366bbd510fd0646e348bd1970e47ecf795b7cff0b41d26e9c475c1fedd6ef5c45c82075fbf916b629
- languageName: node
- linkType: hard
-
"type@npm:^2.7.2":
version: 2.7.2
resolution: "type@npm:2.7.2"
@@ -12765,19 +11356,19 @@ __metadata:
languageName: node
linkType: hard
-"typescript-eslint@npm:^7.8.0":
- version: 7.8.0
- resolution: "typescript-eslint@npm:7.8.0"
+"typescript-eslint@npm:^7.14.1":
+ version: 7.14.1
+ resolution: "typescript-eslint@npm:7.14.1"
dependencies:
- "@typescript-eslint/eslint-plugin": "npm:7.8.0"
- "@typescript-eslint/parser": "npm:7.8.0"
- "@typescript-eslint/utils": "npm:7.8.0"
+ "@typescript-eslint/eslint-plugin": "npm:7.14.1"
+ "@typescript-eslint/parser": "npm:7.14.1"
+ "@typescript-eslint/utils": "npm:7.14.1"
peerDependencies:
eslint: ^8.56.0
peerDependenciesMeta:
typescript:
optional: true
- checksum: 10c0/ce18a3dad7e2168cb6f2f29f7e77f3cf22bef72de6663ac8138d66b72e8aeb90875dbb6ad59526afd40543f5f0068f2ad9cd85003f78f9086aafd4b9fc3a9e85
+ checksum: 10c0/93439aa50a814a2d7e117c7d9b54982292986e3c090950961d13dcb07b804ae31e43300e094fd5d27d1208c1647ebbb95fda4bc89163b1c0b2e36e8a777a6800
languageName: node
linkType: hard
@@ -12801,13 +11392,6 @@ __metadata:
languageName: node
linkType: hard
-"ufo@npm:^1.4.0, ufo@npm:^1.5.3":
- version: 1.5.3
- resolution: "ufo@npm:1.5.3"
- checksum: 10c0/1df10702582aa74f4deac4486ecdfd660e74be057355f1afb6adfa14243476cf3d3acff734ccc3d0b74e9bfdefe91d578f3edbbb0a5b2430fe93cd672370e024
- languageName: node
- linkType: hard
-
"uglify-js@npm:^3.1.4":
version: 3.17.4
resolution: "uglify-js@npm:3.17.4"
@@ -12829,25 +11413,6 @@ __metadata:
languageName: node
linkType: hard
-"uncrypto@npm:^0.1.3":
- version: 0.1.3
- resolution: "uncrypto@npm:0.1.3"
- checksum: 10c0/74a29afefd76d5b77bedc983559ceb33f5bbc8dada84ff33755d1e3355da55a4e03a10e7ce717918c436b4dfafde1782e799ebaf2aadd775612b49f7b5b2998e
- languageName: node
- linkType: hard
-
-"unctx@npm:^2.3.1":
- version: 2.3.1
- resolution: "unctx@npm:2.3.1"
- dependencies:
- acorn: "npm:^8.8.2"
- estree-walker: "npm:^3.0.3"
- magic-string: "npm:^0.30.0"
- unplugin: "npm:^1.3.1"
- checksum: 10c0/e00aef1912a23686af2254806279b92a412b4dbad11240fa91db6a7b378e1b4f81dd9b6c9ed73708df9cccf02c11e748847e11f038064127963f6a796e66be6e
- languageName: node
- linkType: hard
-
"undici-types@npm:~5.26.4":
version: 5.26.5
resolution: "undici-types@npm:5.26.5"
@@ -12855,56 +11420,6 @@ __metadata:
languageName: node
linkType: hard
-"undici@npm:^5.28.2":
- version: 5.28.4
- resolution: "undici@npm:5.28.4"
- dependencies:
- "@fastify/busboy": "npm:^2.0.0"
- checksum: 10c0/08d0f2596553aa0a54ca6e8e9c7f45aef7d042c60918564e3a142d449eda165a80196f6ef19ea2ef2e6446959e293095d8e40af1236f0d67223b06afac5ecad7
- languageName: node
- linkType: hard
-
-"unenv@npm:^1.9.0":
- version: 1.9.0
- resolution: "unenv@npm:1.9.0"
- dependencies:
- consola: "npm:^3.2.3"
- defu: "npm:^6.1.3"
- mime: "npm:^3.0.0"
- node-fetch-native: "npm:^1.6.1"
- pathe: "npm:^1.1.1"
- checksum: 10c0/d00012badc83731c07f08d5129c702c49c0212375eb3732b27aae89ace3c67162dbaea4496965676f18fc06b0ec445d91385e283f5fd3e4540dda8b0b5424f81
- languageName: node
- linkType: hard
-
-"unicorn-magic@npm:^0.1.0":
- version: 0.1.0
- resolution: "unicorn-magic@npm:0.1.0"
- checksum: 10c0/e4ed0de05b0a05e735c7d8a2930881e5efcfc3ec897204d5d33e7e6247f4c31eac92e383a15d9a6bccb7319b4271ee4bea946e211bf14951fec6ff2cbbb66a92
- languageName: node
- linkType: hard
-
-"unimport@npm:^3.7.1":
- version: 3.7.1
- resolution: "unimport@npm:3.7.1"
- dependencies:
- "@rollup/pluginutils": "npm:^5.1.0"
- acorn: "npm:^8.11.2"
- escape-string-regexp: "npm:^5.0.0"
- estree-walker: "npm:^3.0.3"
- fast-glob: "npm:^3.3.2"
- local-pkg: "npm:^0.5.0"
- magic-string: "npm:^0.30.5"
- mlly: "npm:^1.4.2"
- pathe: "npm:^1.1.1"
- pkg-types: "npm:^1.0.3"
- scule: "npm:^1.1.1"
- strip-literal: "npm:^1.3.0"
- unplugin: "npm:^1.5.1"
- checksum: 10c0/75c240e3894b960e9155984b8c8739aafdba5d2e5aabac75e136cb00bea2521ac638f6a258b7d4383112ef1293968b8b425425c529ab681f382ecdb187d05b73
- languageName: node
- linkType: hard
-
"unique-filename@npm:^3.0.0":
version: 3.0.0
resolution: "unique-filename@npm:3.0.0"
@@ -12930,104 +11445,6 @@ __metadata:
languageName: node
linkType: hard
-"unplugin@npm:^1.10.0, unplugin@npm:^1.3.1, unplugin@npm:^1.5.1":
- version: 1.10.1
- resolution: "unplugin@npm:1.10.1"
- dependencies:
- acorn: "npm:^8.11.3"
- chokidar: "npm:^3.6.0"
- webpack-sources: "npm:^3.2.3"
- webpack-virtual-modules: "npm:^0.6.1"
- checksum: 10c0/6fe469785a46ff2a2d5c077db8b8b8d2c5429016f2561cffed4eb0068ea085c50b8c503891a4ea028f8226da0b9a8b878118a0b9eeded511b53adec4edbb38d3
- languageName: node
- linkType: hard
-
-"unstorage@npm:^1.10.2":
- version: 1.10.2
- resolution: "unstorage@npm:1.10.2"
- dependencies:
- anymatch: "npm:^3.1.3"
- chokidar: "npm:^3.6.0"
- destr: "npm:^2.0.3"
- h3: "npm:^1.11.1"
- listhen: "npm:^1.7.2"
- lru-cache: "npm:^10.2.0"
- mri: "npm:^1.2.0"
- node-fetch-native: "npm:^1.6.2"
- ofetch: "npm:^1.3.3"
- ufo: "npm:^1.4.0"
- peerDependencies:
- "@azure/app-configuration": ^1.5.0
- "@azure/cosmos": ^4.0.0
- "@azure/data-tables": ^13.2.2
- "@azure/identity": ^4.0.1
- "@azure/keyvault-secrets": ^4.8.0
- "@azure/storage-blob": ^12.17.0
- "@capacitor/preferences": ^5.0.7
- "@netlify/blobs": ^6.5.0 || ^7.0.0
- "@planetscale/database": ^1.16.0
- "@upstash/redis": ^1.28.4
- "@vercel/kv": ^1.0.1
- idb-keyval: ^6.2.1
- ioredis: ^5.3.2
- peerDependenciesMeta:
- "@azure/app-configuration":
- optional: true
- "@azure/cosmos":
- optional: true
- "@azure/data-tables":
- optional: true
- "@azure/identity":
- optional: true
- "@azure/keyvault-secrets":
- optional: true
- "@azure/storage-blob":
- optional: true
- "@capacitor/preferences":
- optional: true
- "@netlify/blobs":
- optional: true
- "@planetscale/database":
- optional: true
- "@upstash/redis":
- optional: true
- "@vercel/kv":
- optional: true
- idb-keyval:
- optional: true
- ioredis:
- optional: true
- checksum: 10c0/89d61e6b2165ddc78005b8a4a340576877b56b70ec0b318f7cf2e74ee7ab19006036267ba28587100fa7256c573db3bd720700daf6586bbdcad4ed60b64c4284
- languageName: node
- linkType: hard
-
-"untun@npm:^0.1.3":
- version: 0.1.3
- resolution: "untun@npm:0.1.3"
- dependencies:
- citty: "npm:^0.1.5"
- consola: "npm:^3.2.3"
- pathe: "npm:^1.1.1"
- bin:
- untun: bin/untun.mjs
- checksum: 10c0/2b44a4cc84a5c21994f43b9f55348e5a8d9dd5fd0ad8fb5cd091b6f6b53d506b1cdb90e89cc238d61b46d488f7a89ab0d1a5c735bfc835581c7b22a236381295
- languageName: node
- linkType: hard
-
-"unwasm@npm:^0.3.9":
- version: 0.3.9
- resolution: "unwasm@npm:0.3.9"
- dependencies:
- knitwork: "npm:^1.0.0"
- magic-string: "npm:^0.30.8"
- mlly: "npm:^1.6.1"
- pathe: "npm:^1.1.2"
- pkg-types: "npm:^1.0.3"
- unplugin: "npm:^1.10.0"
- checksum: 10c0/6f5d3671ebed9641db4105ed6c4607c4dc9d9954b1e8165565f2bbbdceb488ad22d5ece3d80a1057b646f5fc4b1d421381b73ce0f516d78e0f064e9948234be5
- languageName: node
- linkType: hard
-
"unzipper@npm:^0.10.11":
version: 0.10.14
resolution: "unzipper@npm:0.10.14"
@@ -13060,6 +11477,20 @@ __metadata:
languageName: node
linkType: hard
+"update-browserslist-db@npm:^1.0.16":
+ version: 1.0.16
+ resolution: "update-browserslist-db@npm:1.0.16"
+ dependencies:
+ escalade: "npm:^3.1.2"
+ picocolors: "npm:^1.0.1"
+ peerDependencies:
+ browserslist: ">= 4.21.0"
+ bin:
+ update-browserslist-db: cli.js
+ checksum: 10c0/5995399fc202adbb51567e4810e146cdf7af630a92cc969365a099150cb00597e425cc14987ca7080b09a4d0cfd2a3de53fbe72eebff171aed7f9bb81f9bf405
+ languageName: node
+ linkType: hard
+
"update-check@npm:^1.5.4":
version: 1.5.4
resolution: "update-check@npm:1.5.4"
@@ -13086,13 +11517,6 @@ __metadata:
languageName: node
linkType: hard
-"uqr@npm:^0.1.2":
- version: 0.1.2
- resolution: "uqr@npm:0.1.2"
- checksum: 10c0/40cd81b4c13f1764d52ec28da2d58e60816e6fae54d4eb75b32fbf3137937f438eff16c766139fb0faec5d248a5314591f5a0dbd694e569d419eed6f3bd80242
- languageName: node
- linkType: hard
-
"uri-js@npm:^4.2.2":
version: 4.4.1
resolution: "uri-js@npm:4.4.1"
@@ -13112,13 +11536,6 @@ __metadata:
languageName: node
linkType: hard
-"urlpattern-polyfill@npm:8.0.2":
- version: 8.0.2
- resolution: "urlpattern-polyfill@npm:8.0.2"
- checksum: 10c0/5388bbe8459dbd8861ee7cb97904be915dd863a9789c2191c528056f16adad7836ec22762ed002fed44e8995d0f98bdfb75a606466b77233e70d0f61b969aaf9
- languageName: node
- linkType: hard
-
"use-callback-ref@npm:^1.3.0":
version: 1.3.2
resolution: "use-callback-ref@npm:1.3.2"
@@ -13202,6 +11619,46 @@ __metadata:
languageName: node
linkType: hard
+"vite@npm:^5.3.1":
+ version: 5.3.2
+ resolution: "vite@npm:5.3.2"
+ dependencies:
+ esbuild: "npm:^0.21.3"
+ fsevents: "npm:~2.3.3"
+ postcss: "npm:^8.4.38"
+ rollup: "npm:^4.13.0"
+ peerDependencies:
+ "@types/node": ^18.0.0 || >=20.0.0
+ less: "*"
+ lightningcss: ^1.21.0
+ sass: "*"
+ stylus: "*"
+ sugarss: "*"
+ terser: ^5.4.0
+ dependenciesMeta:
+ fsevents:
+ optional: true
+ peerDependenciesMeta:
+ "@types/node":
+ optional: true
+ less:
+ optional: true
+ lightningcss:
+ optional: true
+ sass:
+ optional: true
+ stylus:
+ optional: true
+ sugarss:
+ optional: true
+ terser:
+ optional: true
+ bin:
+ vite: bin/vite.js
+ checksum: 10c0/3ed576d18c6c008ae92be68f9c79bf7556dae10978a3e8b4c4b42199424755e5c99836e6d4f81fb8b533b957d7f4e351abc60b8a93f4c4b5eb9890b5b6450926
+ languageName: node
+ linkType: hard
+
"wcwidth@npm:^1.0.1":
version: 1.0.1
resolution: "wcwidth@npm:1.0.1"
@@ -13225,20 +11682,6 @@ __metadata:
languageName: node
linkType: hard
-"webpack-sources@npm:^3.2.3":
- version: 3.2.3
- resolution: "webpack-sources@npm:3.2.3"
- checksum: 10c0/2ef63d77c4fad39de4a6db17323d75eb92897b32674e97d76f0a1e87c003882fc038571266ad0ef581ac734cbe20952912aaa26155f1905e96ce251adbb1eb4e
- languageName: node
- linkType: hard
-
-"webpack-virtual-modules@npm:^0.6.1":
- version: 0.6.1
- resolution: "webpack-virtual-modules@npm:0.6.1"
- checksum: 10c0/696bdc1acf3806374bdeb4b9b9856b79ee70b31e92f325dfab9b8c8c7e14bb6ddffa9f895a214770c4fb8fea45a21f34ca64310f74e877292a90f4a9966c9c2f
- languageName: node
- linkType: hard
-
"whatwg-url@npm:^5.0.0":
version: 5.0.0
resolution: "whatwg-url@npm:5.0.0"
@@ -13370,7 +11813,7 @@ __metadata:
languageName: node
linkType: hard
-"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0, wrap-ansi@npm:^7.0.0":
+"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0":
version: 7.0.0
resolution: "wrap-ansi@npm:7.0.0"
dependencies:
@@ -13424,13 +11867,6 @@ __metadata:
languageName: node
linkType: hard
-"y18n@npm:^5.0.5":
- version: 5.0.8
- resolution: "y18n@npm:5.0.8"
- checksum: 10c0/4df2842c36e468590c3691c894bc9cdbac41f520566e76e24f59401ba7d8b4811eb1e34524d57e54bc6d864bcb66baab7ffd9ca42bf1eda596618f9162b91249
- languageName: node
- linkType: hard
-
"yallist@npm:^3.0.2":
version: 3.1.1
resolution: "yallist@npm:3.1.1"
@@ -13464,13 +11900,6 @@ __metadata:
languageName: node
linkType: hard
-"yargs-parser@npm:^21.1.1":
- version: 21.1.1
- resolution: "yargs-parser@npm:21.1.1"
- checksum: 10c0/f84b5e48169479d2f402239c59f084cfd1c3acc197a05c59b98bab067452e6b3ea46d4dd8ba2985ba7b3d32a343d77df0debd6b343e5dae3da2aab2cdf5886b2
- languageName: node
- linkType: hard
-
"yargs@npm:^15.3.1":
version: 15.4.1
resolution: "yargs@npm:15.4.1"
@@ -13490,21 +11919,6 @@ __metadata:
languageName: node
linkType: hard
-"yargs@npm:^17.5.1":
- version: 17.7.2
- resolution: "yargs@npm:17.7.2"
- dependencies:
- cliui: "npm:^8.0.1"
- escalade: "npm:^3.1.1"
- get-caller-file: "npm:^2.0.5"
- require-directory: "npm:^2.1.1"
- string-width: "npm:^4.2.3"
- y18n: "npm:^5.0.5"
- yargs-parser: "npm:^21.1.1"
- checksum: 10c0/ccd7e723e61ad5965fffbb791366db689572b80cca80e0f96aad968dfff4156cd7cd1ad18607afe1046d8241e6fb2d6c08bf7fa7bfb5eaec818735d8feac8f05
- languageName: node
- linkType: hard
-
"yn@npm:3.1.1":
version: 3.1.1
resolution: "yn@npm:3.1.1"
@@ -13530,20 +11944,16 @@ __metadata:
languageName: node
linkType: hard
-"zip-stream@npm:^6.0.1":
- version: 6.0.1
- resolution: "zip-stream@npm:6.0.1"
- dependencies:
- archiver-utils: "npm:^5.0.0"
- compress-commons: "npm:^6.0.2"
- readable-stream: "npm:^4.0.0"
- checksum: 10c0/50f2fb30327fb9d09879abf7ae2493705313adf403e794b030151aaae00009162419d60d0519e807673ec04d442e140c8879ca14314df0a0192de3b233e8f28b
- languageName: node
- linkType: hard
-
-"zod@npm:^3.20.2, zod@npm:^3.23.6":
+"zod@npm:^3.20.2":
version: 3.23.7
resolution: "zod@npm:3.23.7"
checksum: 10c0/c746d8882d4797597c945fea293dc69caba6de90b82037ca8ee8a1acaea8c5f8ce73492b4a5fac3100a11a99807737b2fcd51db93d9e9ca4d6b938faed67b6e3
languageName: node
linkType: hard
+
+"zod@npm:^3.23.8":
+ version: 3.23.8
+ resolution: "zod@npm:3.23.8"
+ checksum: 10c0/8f14c87d6b1b53c944c25ce7a28616896319d95bc46a9660fe441adc0ed0a81253b02b5abdaeffedbeb23bdd25a0bf1c29d2c12dd919aef6447652dd295e3e69
+ languageName: node
+ linkType: hard