diff --git a/.env.example b/.env.example
deleted file mode 100644
index b701f25..0000000
--- a/.env.example
+++ /dev/null
@@ -1,3 +0,0 @@
-# Drizzle
-DATABASE_URL='mysql://YOUR_MYSQL_URL_HERE?ssl={"rejectUnauthorized":true}'
-
diff --git a/.eslintrc.cjs b/.eslintrc.cjs
index 77455ed..7310542 100644
--- a/.eslintrc.cjs
+++ b/.eslintrc.cjs
@@ -6,11 +6,13 @@ const config = {
parserOptions: {
project: true,
},
- plugins: ["@typescript-eslint"],
+ env: { browser: true, es2020: true },
+ plugins: ["@typescript-eslint", "react-refresh"],
extends: [
- "next/core-web-vitals",
+ "plugin:react-hooks/recommended",
"plugin:@typescript-eslint/recommended-type-checked",
"plugin:@typescript-eslint/stylistic-type-checked",
+ "plugin:react-hooks/recommended",
],
rules: {
// These opinionated rules are enabled in stylistic-type-checked above.
@@ -33,6 +35,11 @@ const config = {
checksVoidReturn: { attributes: false },
},
],
+
+ "react-refresh/only-export-components": [
+ "warn",
+ { allowConstantExport: true },
+ ],
},
};
diff --git a/.gitignore b/.gitignore
index 49caf27..cf4ced7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,18 +3,6 @@
/.pnp
.pnp.js
-# Testing
-/coverage
-
-# Database
-/prisma/db.sqlite
-/prisma/db.sqlite-journal
-
-# Next.js
-/.next/
-/out/
-next-env.d.ts
-
# Production
/build
@@ -32,9 +20,6 @@ yarn-error.log*
.env
.env*.local
-# Vercel
-.vercel
-
# Typescript
*.tsbuildinfo
diff --git a/drizzle.config.ts b/drizzle.config.ts
deleted file mode 100644
index c43c6cc..0000000
--- a/drizzle.config.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-// @ts-check
-
-import { type Config } from "drizzle-kit";
-
-import { env } from "~/env";
-
-const config: Config = {
- schema: "./src/server/db/schema.ts",
- driver: "mysql2",
- dbCredentials: {
- uri: env.DATABASE_URL,
- },
- tablesFilter: ["me_*"],
-};
-
-export default config;
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..e4b78ea
--- /dev/null
+++ b/index.html
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ Vite + React + TS
+
+
+
+
+
+
diff --git a/next.config.js b/next.config.js
deleted file mode 100644
index 080e9d5..0000000
--- a/next.config.js
+++ /dev/null
@@ -1,15 +0,0 @@
-// @ts-check
-
-await import("./src/env.js");
-
-/** @type {import("next").NextConfig} */
-const config = {
- reactStrictMode: true,
-
- i18n: {
- locales: ["en"],
- defaultLocale: "en",
- },
-};
-
-export default config;
diff --git a/package.json b/package.json
index 026f972..90ca0ab 100644
--- a/package.json
+++ b/package.json
@@ -4,29 +4,16 @@
"private": true,
"type": "module",
"scripts": {
- "build": "next build",
- "db:push": "drizzle-kit push:mysql",
- "db:studio": "drizzle-kit studio",
- "dev": "next dev",
- "lint": "next lint --cache --fix",
- "start": "next start",
+ "build": "tsc && vite build",
+ "dev": "vite",
+ "lint": "eslint src --cache --fix --max-warnings 0",
+ "preview": "vite preview",
"format": "prettier --cache --write '**/*.{md,json,css,scss,js,mjs,cjs,ts,tsx}'"
},
"dependencies": {
- "@octokit/rest": "^20.0.2",
- "@planetscale/database": "^1.11.0",
- "@t3-oss/env-nextjs": "^0.7.1",
- "@tanstack/react-query": "^4.36.1",
- "@trpc/client": "^10.43.6",
- "@trpc/next": "^10.43.6",
- "@trpc/react-query": "^10.43.6",
- "@trpc/server": "^10.43.6",
"axios": "^1.6.7",
- "drizzle-orm": "^0.29.3",
- "next": "^14.0.4",
"react": "18.2.0",
"react-dom": "18.2.0",
- "superjson": "^2.2.1",
"zod": "^3.22.4"
},
"devDependencies": {
@@ -36,17 +23,19 @@
"@types/react-dom": "^18.2.15",
"@typescript-eslint/eslint-plugin": "^6.11.0",
"@typescript-eslint/parser": "^6.11.0",
+ "@vitejs/plugin-react-swc": "^3.5.0",
"autoprefixer": "^10.4.14",
"clsx": "^2.1.0",
- "drizzle-kit": "^0.20.9",
"eslint": "^8.54.0",
"eslint-config-next": "^14.0.4",
- "mysql2": "^3.6.1",
+ "eslint-plugin-react-hooks": "^4.6.0",
+ "eslint-plugin-react-refresh": "^0.4.5",
"postcss": "^8.4.31",
"prettier": "^3.1.0",
"prettier-plugin-tailwindcss": "^0.5.11",
"tailwindcss": "^3.3.5",
- "typescript": "^5.1.6"
+ "typescript": "^5.1.6",
+ "vite": "^5.0.12"
},
"ct3aMetadata": {
"initVersion": "7.25.1"
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 2a86778..752eea3 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -5,48 +5,15 @@ settings:
excludeLinksFromLockfile: false
dependencies:
- '@octokit/rest':
- specifier: ^20.0.2
- version: 20.0.2
- '@planetscale/database':
- specifier: ^1.11.0
- version: 1.13.0
- '@t3-oss/env-nextjs':
- specifier: ^0.7.1
- version: 0.7.1(typescript@5.3.3)(zod@3.22.4)
- '@tanstack/react-query':
- specifier: ^4.36.1
- version: 4.36.1(react-dom@18.2.0)(react@18.2.0)
- '@trpc/client':
- specifier: ^10.43.6
- version: 10.45.0(@trpc/server@10.45.0)
- '@trpc/next':
- specifier: ^10.43.6
- version: 10.45.0(@tanstack/react-query@4.36.1)(@trpc/client@10.45.0)(@trpc/react-query@10.45.0)(@trpc/server@10.45.0)(next@14.0.4)(react-dom@18.2.0)(react@18.2.0)
- '@trpc/react-query':
- specifier: ^10.43.6
- version: 10.45.0(@tanstack/react-query@4.36.1)(@trpc/client@10.45.0)(@trpc/server@10.45.0)(react-dom@18.2.0)(react@18.2.0)
- '@trpc/server':
- specifier: ^10.43.6
- version: 10.45.0
axios:
specifier: ^1.6.7
version: 1.6.7
- drizzle-orm:
- specifier: ^0.29.3
- version: 0.29.3(@planetscale/database@1.13.0)(@types/react@18.2.47)(mysql2@3.7.0)(react@18.2.0)
- next:
- specifier: ^14.0.4
- version: 14.0.4(react-dom@18.2.0)(react@18.2.0)
react:
specifier: 18.2.0
version: 18.2.0
react-dom:
specifier: 18.2.0
version: 18.2.0(react@18.2.0)
- superjson:
- specifier: ^2.2.1
- version: 2.2.1
zod:
specifier: ^3.22.4
version: 3.22.4
@@ -70,24 +37,27 @@ devDependencies:
'@typescript-eslint/parser':
specifier: ^6.11.0
version: 6.18.1(eslint@8.56.0)(typescript@5.3.3)
+ '@vitejs/plugin-react-swc':
+ specifier: ^3.5.0
+ version: 3.5.0(vite@5.0.12)
autoprefixer:
specifier: ^10.4.14
version: 10.4.16(postcss@8.4.33)
clsx:
specifier: ^2.1.0
version: 2.1.0
- drizzle-kit:
- specifier: ^0.20.9
- version: 0.20.10
eslint:
specifier: ^8.54.0
version: 8.56.0
eslint-config-next:
specifier: ^14.0.4
version: 14.0.4(eslint@8.56.0)(typescript@5.3.3)
- mysql2:
- specifier: ^3.6.1
- version: 3.7.0
+ eslint-plugin-react-hooks:
+ specifier: ^4.6.0
+ version: 4.6.0(eslint@8.56.0)
+ eslint-plugin-react-refresh:
+ specifier: ^0.4.5
+ version: 0.4.5(eslint@8.56.0)
postcss:
specifier: ^8.4.31
version: 8.4.33
@@ -103,6 +73,9 @@ devDependencies:
typescript:
specifier: ^5.1.6
version: 5.3.3
+ vite:
+ specifier: ^5.0.12
+ version: 5.0.12(@types/node@18.19.6)
packages:
@@ -123,28 +96,8 @@ packages:
regenerator-runtime: 0.14.1
dev: true
- /@drizzle-team/studio@0.0.37:
- resolution: {integrity: sha512-LZyAPGJBX43jsrVZh7+w1Jig/BC6PJx63ReHUYK+GRQYNY9UJNlPXmn1uC/LMRX+A7JwYM4Sr4Fg/hnJSqlfgA==}
- dependencies:
- superjson: 2.2.1
- dev: true
-
- /@esbuild-kit/core-utils@3.3.2:
- resolution: {integrity: sha512-sPRAnw9CdSsRmEtnsl2WXWdyquogVpB3yZ3dgwJfe8zrOzTsV7cJvmwrKVa+0ma5BoiGJ+BoqkMvawbayKUsqQ==}
- dependencies:
- esbuild: 0.18.20
- source-map-support: 0.5.21
- dev: true
-
- /@esbuild-kit/esm-loader@2.6.5:
- resolution: {integrity: sha512-FxEMIkJKnodyA1OaCUoEvbYRkoZlLZ4d/eXFu9Fh8CbBBgP5EmZxrfTRyN0qpXZ4vOvqnE5YdRdcrmUUXuU+dA==}
- dependencies:
- '@esbuild-kit/core-utils': 3.3.2
- get-tsconfig: 4.7.2
- dev: true
-
- /@esbuild/aix-ppc64@0.19.11:
- resolution: {integrity: sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g==}
+ /@esbuild/aix-ppc64@0.19.12:
+ resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==}
engines: {node: '>=12'}
cpu: [ppc64]
os: [aix]
@@ -152,8 +105,8 @@ packages:
dev: true
optional: true
- /@esbuild/android-arm64@0.18.20:
- resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==}
+ /@esbuild/android-arm64@0.19.12:
+ resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==}
engines: {node: '>=12'}
cpu: [arm64]
os: [android]
@@ -161,17 +114,8 @@ packages:
dev: true
optional: true
- /@esbuild/android-arm64@0.19.11:
- resolution: {integrity: sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [android]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/android-arm@0.18.20:
- resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==}
+ /@esbuild/android-arm@0.19.12:
+ resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==}
engines: {node: '>=12'}
cpu: [arm]
os: [android]
@@ -179,17 +123,8 @@ packages:
dev: true
optional: true
- /@esbuild/android-arm@0.19.11:
- resolution: {integrity: sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw==}
- engines: {node: '>=12'}
- cpu: [arm]
- os: [android]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/android-x64@0.18.20:
- resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==}
+ /@esbuild/android-x64@0.19.12:
+ resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==}
engines: {node: '>=12'}
cpu: [x64]
os: [android]
@@ -197,17 +132,8 @@ packages:
dev: true
optional: true
- /@esbuild/android-x64@0.19.11:
- resolution: {integrity: sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [android]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/darwin-arm64@0.18.20:
- resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==}
+ /@esbuild/darwin-arm64@0.19.12:
+ resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==}
engines: {node: '>=12'}
cpu: [arm64]
os: [darwin]
@@ -215,17 +141,8 @@ packages:
dev: true
optional: true
- /@esbuild/darwin-arm64@0.19.11:
- resolution: {integrity: sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/darwin-x64@0.18.20:
- resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==}
+ /@esbuild/darwin-x64@0.19.12:
+ resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==}
engines: {node: '>=12'}
cpu: [x64]
os: [darwin]
@@ -233,17 +150,8 @@ packages:
dev: true
optional: true
- /@esbuild/darwin-x64@0.19.11:
- resolution: {integrity: sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [darwin]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/freebsd-arm64@0.18.20:
- resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==}
+ /@esbuild/freebsd-arm64@0.19.12:
+ resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==}
engines: {node: '>=12'}
cpu: [arm64]
os: [freebsd]
@@ -251,17 +159,8 @@ packages:
dev: true
optional: true
- /@esbuild/freebsd-arm64@0.19.11:
- resolution: {integrity: sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [freebsd]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/freebsd-x64@0.18.20:
- resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==}
+ /@esbuild/freebsd-x64@0.19.12:
+ resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==}
engines: {node: '>=12'}
cpu: [x64]
os: [freebsd]
@@ -269,17 +168,8 @@ packages:
dev: true
optional: true
- /@esbuild/freebsd-x64@0.19.11:
- resolution: {integrity: sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [freebsd]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-arm64@0.18.20:
- resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==}
+ /@esbuild/linux-arm64@0.19.12:
+ resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==}
engines: {node: '>=12'}
cpu: [arm64]
os: [linux]
@@ -287,17 +177,8 @@ packages:
dev: true
optional: true
- /@esbuild/linux-arm64@0.19.11:
- resolution: {integrity: sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-arm@0.18.20:
- resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==}
+ /@esbuild/linux-arm@0.19.12:
+ resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==}
engines: {node: '>=12'}
cpu: [arm]
os: [linux]
@@ -305,17 +186,8 @@ packages:
dev: true
optional: true
- /@esbuild/linux-arm@0.19.11:
- resolution: {integrity: sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q==}
- engines: {node: '>=12'}
- cpu: [arm]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-ia32@0.18.20:
- resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==}
+ /@esbuild/linux-ia32@0.19.12:
+ resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==}
engines: {node: '>=12'}
cpu: [ia32]
os: [linux]
@@ -323,17 +195,8 @@ packages:
dev: true
optional: true
- /@esbuild/linux-ia32@0.19.11:
- resolution: {integrity: sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-loong64@0.18.20:
- resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==}
+ /@esbuild/linux-loong64@0.19.12:
+ resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==}
engines: {node: '>=12'}
cpu: [loong64]
os: [linux]
@@ -341,17 +204,8 @@ packages:
dev: true
optional: true
- /@esbuild/linux-loong64@0.19.11:
- resolution: {integrity: sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg==}
- engines: {node: '>=12'}
- cpu: [loong64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-mips64el@0.18.20:
- resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==}
+ /@esbuild/linux-mips64el@0.19.12:
+ resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==}
engines: {node: '>=12'}
cpu: [mips64el]
os: [linux]
@@ -359,17 +213,8 @@ packages:
dev: true
optional: true
- /@esbuild/linux-mips64el@0.19.11:
- resolution: {integrity: sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg==}
- engines: {node: '>=12'}
- cpu: [mips64el]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-ppc64@0.18.20:
- resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==}
+ /@esbuild/linux-ppc64@0.19.12:
+ resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==}
engines: {node: '>=12'}
cpu: [ppc64]
os: [linux]
@@ -377,17 +222,8 @@ packages:
dev: true
optional: true
- /@esbuild/linux-ppc64@0.19.11:
- resolution: {integrity: sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA==}
- engines: {node: '>=12'}
- cpu: [ppc64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-riscv64@0.18.20:
- resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==}
+ /@esbuild/linux-riscv64@0.19.12:
+ resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==}
engines: {node: '>=12'}
cpu: [riscv64]
os: [linux]
@@ -395,17 +231,8 @@ packages:
dev: true
optional: true
- /@esbuild/linux-riscv64@0.19.11:
- resolution: {integrity: sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ==}
- engines: {node: '>=12'}
- cpu: [riscv64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-s390x@0.18.20:
- resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==}
+ /@esbuild/linux-s390x@0.19.12:
+ resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==}
engines: {node: '>=12'}
cpu: [s390x]
os: [linux]
@@ -413,17 +240,8 @@ packages:
dev: true
optional: true
- /@esbuild/linux-s390x@0.19.11:
- resolution: {integrity: sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q==}
- engines: {node: '>=12'}
- cpu: [s390x]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/linux-x64@0.18.20:
- resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==}
+ /@esbuild/linux-x64@0.19.12:
+ resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==}
engines: {node: '>=12'}
cpu: [x64]
os: [linux]
@@ -431,17 +249,8 @@ packages:
dev: true
optional: true
- /@esbuild/linux-x64@0.19.11:
- resolution: {integrity: sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [linux]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/netbsd-x64@0.18.20:
- resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==}
+ /@esbuild/netbsd-x64@0.19.12:
+ resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==}
engines: {node: '>=12'}
cpu: [x64]
os: [netbsd]
@@ -449,17 +258,8 @@ packages:
dev: true
optional: true
- /@esbuild/netbsd-x64@0.19.11:
- resolution: {integrity: sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [netbsd]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/openbsd-x64@0.18.20:
- resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==}
+ /@esbuild/openbsd-x64@0.19.12:
+ resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==}
engines: {node: '>=12'}
cpu: [x64]
os: [openbsd]
@@ -467,17 +267,8 @@ packages:
dev: true
optional: true
- /@esbuild/openbsd-x64@0.19.11:
- resolution: {integrity: sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [openbsd]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/sunos-x64@0.18.20:
- resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==}
+ /@esbuild/sunos-x64@0.19.12:
+ resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==}
engines: {node: '>=12'}
cpu: [x64]
os: [sunos]
@@ -485,17 +276,8 @@ packages:
dev: true
optional: true
- /@esbuild/sunos-x64@0.19.11:
- resolution: {integrity: sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [sunos]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/win32-arm64@0.18.20:
- resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==}
+ /@esbuild/win32-arm64@0.19.12:
+ resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==}
engines: {node: '>=12'}
cpu: [arm64]
os: [win32]
@@ -503,17 +285,8 @@ packages:
dev: true
optional: true
- /@esbuild/win32-arm64@0.19.11:
- resolution: {integrity: sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/win32-ia32@0.18.20:
- resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==}
+ /@esbuild/win32-ia32@0.19.12:
+ resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==}
engines: {node: '>=12'}
cpu: [ia32]
os: [win32]
@@ -521,26 +294,8 @@ packages:
dev: true
optional: true
- /@esbuild/win32-ia32@0.19.11:
- resolution: {integrity: sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/win32-x64@0.18.20:
- resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [win32]
- requiresBuild: true
- dev: true
- optional: true
-
- /@esbuild/win32-x64@0.19.11:
- resolution: {integrity: sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw==}
+ /@esbuild/win32-x64@0.19.12:
+ resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==}
engines: {node: '>=12'}
cpu: [x64]
os: [win32]
@@ -647,97 +402,12 @@ packages:
'@jridgewell/sourcemap-codec': 1.4.15
dev: true
- /@next/env@14.0.4:
- resolution: {integrity: sha512-irQnbMLbUNQpP1wcE5NstJtbuA/69kRfzBrpAD7Gsn8zm/CY6YQYc3HQBz8QPxwISG26tIm5afvvVbu508oBeQ==}
- dev: false
-
/@next/eslint-plugin-next@14.0.4:
resolution: {integrity: sha512-U3qMNHmEZoVmHA0j/57nRfi3AscXNvkOnxDmle/69Jz/G0o/gWjXTDdlgILZdrxQ0Lw/jv2mPW8PGy0EGIHXhQ==}
dependencies:
glob: 7.1.7
dev: true
- /@next/swc-darwin-arm64@14.0.4:
- resolution: {integrity: sha512-mF05E/5uPthWzyYDyptcwHptucf/jj09i2SXBPwNzbgBNc+XnwzrL0U6BmPjQeOL+FiB+iG1gwBeq7mlDjSRPg==}
- engines: {node: '>= 10'}
- cpu: [arm64]
- os: [darwin]
- requiresBuild: true
- dev: false
- optional: true
-
- /@next/swc-darwin-x64@14.0.4:
- resolution: {integrity: sha512-IZQ3C7Bx0k2rYtrZZxKKiusMTM9WWcK5ajyhOZkYYTCc8xytmwSzR1skU7qLgVT/EY9xtXDG0WhY6fyujnI3rw==}
- engines: {node: '>= 10'}
- cpu: [x64]
- os: [darwin]
- requiresBuild: true
- dev: false
- optional: true
-
- /@next/swc-linux-arm64-gnu@14.0.4:
- resolution: {integrity: sha512-VwwZKrBQo/MGb1VOrxJ6LrKvbpo7UbROuyMRvQKTFKhNaXjUmKTu7wxVkIuCARAfiI8JpaWAnKR+D6tzpCcM4w==}
- engines: {node: '>= 10'}
- cpu: [arm64]
- os: [linux]
- requiresBuild: true
- dev: false
- optional: true
-
- /@next/swc-linux-arm64-musl@14.0.4:
- resolution: {integrity: sha512-8QftwPEW37XxXoAwsn+nXlodKWHfpMaSvt81W43Wh8dv0gkheD+30ezWMcFGHLI71KiWmHK5PSQbTQGUiidvLQ==}
- engines: {node: '>= 10'}
- cpu: [arm64]
- os: [linux]
- requiresBuild: true
- dev: false
- optional: true
-
- /@next/swc-linux-x64-gnu@14.0.4:
- resolution: {integrity: sha512-/s/Pme3VKfZAfISlYVq2hzFS8AcAIOTnoKupc/j4WlvF6GQ0VouS2Q2KEgPuO1eMBwakWPB1aYFIA4VNVh667A==}
- engines: {node: '>= 10'}
- cpu: [x64]
- os: [linux]
- requiresBuild: true
- dev: false
- optional: true
-
- /@next/swc-linux-x64-musl@14.0.4:
- resolution: {integrity: sha512-m8z/6Fyal4L9Bnlxde5g2Mfa1Z7dasMQyhEhskDATpqr+Y0mjOBZcXQ7G5U+vgL22cI4T7MfvgtrM2jdopqWaw==}
- engines: {node: '>= 10'}
- cpu: [x64]
- os: [linux]
- requiresBuild: true
- dev: false
- optional: true
-
- /@next/swc-win32-arm64-msvc@14.0.4:
- resolution: {integrity: sha512-7Wv4PRiWIAWbm5XrGz3D8HUkCVDMMz9igffZG4NB1p4u1KoItwx9qjATHz88kwCEal/HXmbShucaslXCQXUM5w==}
- engines: {node: '>= 10'}
- cpu: [arm64]
- os: [win32]
- requiresBuild: true
- dev: false
- optional: true
-
- /@next/swc-win32-ia32-msvc@14.0.4:
- resolution: {integrity: sha512-zLeNEAPULsl0phfGb4kdzF/cAVIfaC7hY+kt0/d+y9mzcZHsMS3hAS829WbJ31DkSlVKQeHEjZHIdhN+Pg7Gyg==}
- engines: {node: '>= 10'}
- cpu: [ia32]
- os: [win32]
- requiresBuild: true
- dev: false
- optional: true
-
- /@next/swc-win32-x64-msvc@14.0.4:
- resolution: {integrity: sha512-yEh2+R8qDlDCjxVpzOTEpBLQTEFAcP2A8fUFLaWNap9GitYKkKv1//y2S6XY6zsR4rCOPRpU7plYDR+az2n30A==}
- engines: {node: '>= 10'}
- cpu: [x64]
- os: [win32]
- requiresBuild: true
- dev: false
- optional: true
-
/@nodelib/fs.scandir@2.1.5:
resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
engines: {node: '>= 8'}
@@ -759,109 +429,6 @@ packages:
fastq: 1.16.0
dev: true
- /@octokit/auth-token@4.0.0:
- resolution: {integrity: sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==}
- engines: {node: '>= 18'}
- dev: false
-
- /@octokit/core@5.1.0:
- resolution: {integrity: sha512-BDa2VAMLSh3otEiaMJ/3Y36GU4qf6GI+VivQ/P41NC6GHcdxpKlqV0ikSZ5gdQsmS3ojXeRx5vasgNTinF0Q4g==}
- engines: {node: '>= 18'}
- dependencies:
- '@octokit/auth-token': 4.0.0
- '@octokit/graphql': 7.0.2
- '@octokit/request': 8.1.6
- '@octokit/request-error': 5.0.1
- '@octokit/types': 12.4.0
- before-after-hook: 2.2.3
- universal-user-agent: 6.0.1
- dev: false
-
- /@octokit/endpoint@9.0.4:
- resolution: {integrity: sha512-DWPLtr1Kz3tv8L0UvXTDP1fNwM0S+z6EJpRcvH66orY6Eld4XBMCSYsaWp4xIm61jTWxK68BrR7ibO+vSDnZqw==}
- engines: {node: '>= 18'}
- dependencies:
- '@octokit/types': 12.4.0
- universal-user-agent: 6.0.1
- dev: false
-
- /@octokit/graphql@7.0.2:
- resolution: {integrity: sha512-OJ2iGMtj5Tg3s6RaXH22cJcxXRi7Y3EBqbHTBRq+PQAqfaS8f/236fUrWhfSn8P4jovyzqucxme7/vWSSZBX2Q==}
- engines: {node: '>= 18'}
- dependencies:
- '@octokit/request': 8.1.6
- '@octokit/types': 12.4.0
- universal-user-agent: 6.0.1
- dev: false
-
- /@octokit/openapi-types@19.1.0:
- resolution: {integrity: sha512-6G+ywGClliGQwRsjvqVYpklIfa7oRPA0vyhPQG/1Feh+B+wU0vGH1JiJ5T25d3g1JZYBHzR2qefLi9x8Gt+cpw==}
- dev: false
-
- /@octokit/plugin-paginate-rest@9.1.5(@octokit/core@5.1.0):
- resolution: {integrity: sha512-WKTQXxK+bu49qzwv4qKbMMRXej1DU2gq017euWyKVudA6MldaSSQuxtz+vGbhxV4CjxpUxjZu6rM2wfc1FiWVg==}
- engines: {node: '>= 18'}
- peerDependencies:
- '@octokit/core': '>=5'
- dependencies:
- '@octokit/core': 5.1.0
- '@octokit/types': 12.4.0
- dev: false
-
- /@octokit/plugin-request-log@4.0.0(@octokit/core@5.1.0):
- resolution: {integrity: sha512-2uJI1COtYCq8Z4yNSnM231TgH50bRkheQ9+aH8TnZanB6QilOnx8RMD2qsnamSOXtDj0ilxvevf5fGsBhBBzKA==}
- engines: {node: '>= 18'}
- peerDependencies:
- '@octokit/core': '>=5'
- dependencies:
- '@octokit/core': 5.1.0
- dev: false
-
- /@octokit/plugin-rest-endpoint-methods@10.2.0(@octokit/core@5.1.0):
- resolution: {integrity: sha512-ePbgBMYtGoRNXDyKGvr9cyHjQ163PbwD0y1MkDJCpkO2YH4OeXX40c4wYHKikHGZcpGPbcRLuy0unPUuafco8Q==}
- engines: {node: '>= 18'}
- peerDependencies:
- '@octokit/core': '>=5'
- dependencies:
- '@octokit/core': 5.1.0
- '@octokit/types': 12.4.0
- dev: false
-
- /@octokit/request-error@5.0.1:
- resolution: {integrity: sha512-X7pnyTMV7MgtGmiXBwmO6M5kIPrntOXdyKZLigNfQWSEQzVxR4a4vo49vJjTWX70mPndj8KhfT4Dx+2Ng3vnBQ==}
- engines: {node: '>= 18'}
- dependencies:
- '@octokit/types': 12.4.0
- deprecation: 2.3.1
- once: 1.4.0
- dev: false
-
- /@octokit/request@8.1.6:
- resolution: {integrity: sha512-YhPaGml3ncZC1NfXpP3WZ7iliL1ap6tLkAp6MvbK2fTTPytzVUyUesBBogcdMm86uRYO5rHaM1xIWxigWZ17MQ==}
- engines: {node: '>= 18'}
- dependencies:
- '@octokit/endpoint': 9.0.4
- '@octokit/request-error': 5.0.1
- '@octokit/types': 12.4.0
- universal-user-agent: 6.0.1
- dev: false
-
- /@octokit/rest@20.0.2:
- resolution: {integrity: sha512-Ux8NDgEraQ/DMAU1PlAohyfBBXDwhnX2j33Z1nJNziqAfHi70PuxkFYIcIt8aIAxtRE7KVuKp8lSR8pA0J5iOQ==}
- engines: {node: '>= 18'}
- dependencies:
- '@octokit/core': 5.1.0
- '@octokit/plugin-paginate-rest': 9.1.5(@octokit/core@5.1.0)
- '@octokit/plugin-request-log': 4.0.0(@octokit/core@5.1.0)
- '@octokit/plugin-rest-endpoint-methods': 10.2.0(@octokit/core@5.1.0)
- dev: false
-
- /@octokit/types@12.4.0:
- resolution: {integrity: sha512-FLWs/AvZllw/AGVs+nJ+ELCDZZJk+kY0zMen118xhL2zD0s1etIUHm1odgjP7epxYU1ln7SZxEUWYop5bhsdgQ==}
- dependencies:
- '@octokit/openapi-types': 19.1.0
- dev: false
-
/@pkgjs/parseargs@0.11.0:
resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
engines: {node: '>=14'}
@@ -869,117 +436,236 @@ packages:
dev: true
optional: true
- /@planetscale/database@1.13.0:
- resolution: {integrity: sha512-sb9tUoF+Po55o+3PRHZVeH8XzUIABKBKcnq6oBUa+p/2uau/E2EXhnUPXmkC/x7oB6ILBqmqTL6dPP5Dn6d6iA==}
- engines: {node: '>=16'}
- dev: false
+ /@rollup/rollup-android-arm-eabi@4.9.6:
+ resolution: {integrity: sha512-MVNXSSYN6QXOulbHpLMKYi60ppyO13W9my1qogeiAqtjb2yR4LSmfU2+POvDkLzhjYLXz9Rf9+9a3zFHW1Lecg==}
+ cpu: [arm]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-android-arm64@4.9.6:
+ resolution: {integrity: sha512-T14aNLpqJ5wzKNf5jEDpv5zgyIqcpn1MlwCrUXLrwoADr2RkWA0vOWP4XxbO9aiO3dvMCQICZdKeDrFl7UMClw==}
+ cpu: [arm64]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-darwin-arm64@4.9.6:
+ resolution: {integrity: sha512-CqNNAyhRkTbo8VVZ5R85X73H3R5NX9ONnKbXuHisGWC0qRbTTxnF1U4V9NafzJbgGM0sHZpdO83pLPzq8uOZFw==}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-darwin-x64@4.9.6:
+ resolution: {integrity: sha512-zRDtdJuRvA1dc9Mp6BWYqAsU5oeLixdfUvkTHuiYOHwqYuQ4YgSmi6+/lPvSsqc/I0Omw3DdICx4Tfacdzmhog==}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-linux-arm-gnueabihf@4.9.6:
+ resolution: {integrity: sha512-oNk8YXDDnNyG4qlNb6is1ojTOGL/tRhbbKeE/YuccItzerEZT68Z9gHrY3ROh7axDc974+zYAPxK5SH0j/G+QQ==}
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-linux-arm64-gnu@4.9.6:
+ resolution: {integrity: sha512-Z3O60yxPtuCYobrtzjo0wlmvDdx2qZfeAWTyfOjEDqd08kthDKexLpV97KfAeUXPosENKd8uyJMRDfFMxcYkDQ==}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-linux-arm64-musl@4.9.6:
+ resolution: {integrity: sha512-gpiG0qQJNdYEVad+1iAsGAbgAnZ8j07FapmnIAQgODKcOTjLEWM9sRb+MbQyVsYCnA0Im6M6QIq6ax7liws6eQ==}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-linux-riscv64-gnu@4.9.6:
+ resolution: {integrity: sha512-+uCOcvVmFUYvVDr27aiyun9WgZk0tXe7ThuzoUTAukZJOwS5MrGbmSlNOhx1j80GdpqbOty05XqSl5w4dQvcOA==}
+ cpu: [riscv64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-linux-x64-gnu@4.9.6:
+ resolution: {integrity: sha512-HUNqM32dGzfBKuaDUBqFB7tP6VMN74eLZ33Q9Y1TBqRDn+qDonkAUyKWwF9BR9unV7QUzffLnz9GrnKvMqC/fw==}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-linux-x64-musl@4.9.6:
+ resolution: {integrity: sha512-ch7M+9Tr5R4FK40FHQk8VnML0Szi2KRujUgHXd/HjuH9ifH72GUmw6lStZBo3c3GB82vHa0ZoUfjfcM7JiiMrQ==}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-win32-arm64-msvc@4.9.6:
+ resolution: {integrity: sha512-VD6qnR99dhmTQ1mJhIzXsRcTBvTjbfbGGwKAHcu+52cVl15AC/kplkhxzW/uT0Xl62Y/meBKDZvoJSJN+vTeGA==}
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-win32-ia32-msvc@4.9.6:
+ resolution: {integrity: sha512-J9AFDq/xiRI58eR2NIDfyVmTYGyIZmRcvcAoJ48oDld/NTR8wyiPUu2X/v1navJ+N/FGg68LEbX3Ejd6l8B7MQ==}
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@rollup/rollup-win32-x64-msvc@4.9.6:
+ resolution: {integrity: sha512-jqzNLhNDvIZOrt69Ce4UjGRpXJBzhUBzawMwnaDAwyHriki3XollsewxWzOzz+4yOFDkuJHtTsZFwMxhYJWmLQ==}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
/@rushstack/eslint-patch@1.6.1:
resolution: {integrity: sha512-UY+FGM/2jjMkzQLn8pxcHGMaVLh9aEitG3zY2CiY7XHdLiz3bZOwa6oDxNqEMv7zZkV+cj5DOdz0cQ1BP5Hjgw==}
dev: true
- /@swc/helpers@0.5.2:
- resolution: {integrity: sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==}
- dependencies:
- tslib: 2.6.2
- dev: false
+ /@swc/core-darwin-arm64@1.3.106:
+ resolution: {integrity: sha512-XYcbViNyHnnm7RWOAO1YipMmthM7m2aXF32b0y+JMLYFBEyFpjVX9btLkzeL7wRx/5B3I35yJNhE+xyx0Q1Gkw==}
+ engines: {node: '>=10'}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
- /@t3-oss/env-core@0.7.1(typescript@5.3.3)(zod@3.22.4):
- resolution: {integrity: sha512-3+SQt39OlmSaRLqYVFv8uRm1BpFepM5TIiMytRqO9cjH+wB77o6BIJdeyM5h5U4qLBMEzOJWCY4MBaU/rLwbYw==}
+ /@swc/core-darwin-x64@1.3.106:
+ resolution: {integrity: sha512-YKDPhUdfuwhmOUS9+CaIwl/0Tp+f1b73BH2EIESuxSNsogZf18a8HQ8O0fQEwdiwmA5LEqw47cj+kfOWV/0+kw==}
+ engines: {node: '>=10'}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@swc/core-linux-arm-gnueabihf@1.3.106:
+ resolution: {integrity: sha512-bHxxJXogvFfocLL5inZxxtx/x/WgKozigp80Vbx0viac1fPDJrqKBw2X4MzpMiuTRAGVQ03jJI6pDwbSBf+yDw==}
+ engines: {node: '>=10'}
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@swc/core-linux-arm64-gnu@1.3.106:
+ resolution: {integrity: sha512-c7jue++CHLgtpeaakEukoCLT9eNrImizbleE9Y7Is8CHqLq/7DG4s+7ma9DFKXIzW2MpTg9byIEQfpqSphVW6A==}
+ engines: {node: '>=10'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@swc/core-linux-arm64-musl@1.3.106:
+ resolution: {integrity: sha512-51EaC3Q8qAhLtWVnAVqoYX/gk3tK31cCBzUpwCcmhianhEBM2/WtKRAS4MqPhE8VVZuN3WjO2c2JaF2mX0yuoA==}
+ engines: {node: '>=10'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@swc/core-linux-x64-gnu@1.3.106:
+ resolution: {integrity: sha512-tOUi8BB6jAeCXgx7ESLNnX7nrbMVKQ/XajK77v7Ad4SXf9HYArnimBJpXUUyVFJTXLSv4e6c7s6XHHqXb5Lwcg==}
+ engines: {node: '>=10'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@swc/core-linux-x64-musl@1.3.106:
+ resolution: {integrity: sha512-binLw4Lbd83NPy4/m/teH2nbaifxveSD+sKDvpxywRbvYW2I0w/iCBpUBcbnl16TQF4TPOGpq5YwG9lVxPVw5g==}
+ engines: {node: '>=10'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@swc/core-win32-arm64-msvc@1.3.106:
+ resolution: {integrity: sha512-n4ttBWr8tM7DPzwcEOIBTyTMHZTzCmbic/HTtxEsPyMAf/Daen+yrTKzjPP6k2usfSrjkxA780RSJJxI1N8r2w==}
+ engines: {node: '>=10'}
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@swc/core-win32-ia32-msvc@1.3.106:
+ resolution: {integrity: sha512-GhDNIwxE5FhkujESI6h/4ysT3wxwmrzTUlZYaR8rRui6a6SdX9feIPUHPEE5o5hpyp+xqlmvRxKkRxOnwsq8iA==}
+ engines: {node: '>=10'}
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@swc/core-win32-x64-msvc@1.3.106:
+ resolution: {integrity: sha512-2M6yWChuMS1+/MPo3Dor0SOMkvmiugonWlzsZBAu/oZboH2xKrHSRv7brsBujb2Oe47r+NsbV+vq9tnnP9Vl1Q==}
+ engines: {node: '>=10'}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@swc/core@1.3.106:
+ resolution: {integrity: sha512-++QPSPkFq2qELYVScxNHJC42hKQChjiTWS2P0QQ5JWT4NHb9lmNSfrc1ylFIyImwRnxsW2MTBALLYLf95EFAsg==}
+ engines: {node: '>=10'}
+ requiresBuild: true
peerDependencies:
- typescript: '>=4.7.2'
- zod: ^3.0.0
+ '@swc/helpers': ^0.5.0
peerDependenciesMeta:
- typescript:
+ '@swc/helpers':
optional: true
dependencies:
- typescript: 5.3.3
- zod: 3.22.4
- dev: false
+ '@swc/counter': 0.1.2
+ '@swc/types': 0.1.5
+ optionalDependencies:
+ '@swc/core-darwin-arm64': 1.3.106
+ '@swc/core-darwin-x64': 1.3.106
+ '@swc/core-linux-arm-gnueabihf': 1.3.106
+ '@swc/core-linux-arm64-gnu': 1.3.106
+ '@swc/core-linux-arm64-musl': 1.3.106
+ '@swc/core-linux-x64-gnu': 1.3.106
+ '@swc/core-linux-x64-musl': 1.3.106
+ '@swc/core-win32-arm64-msvc': 1.3.106
+ '@swc/core-win32-ia32-msvc': 1.3.106
+ '@swc/core-win32-x64-msvc': 1.3.106
+ dev: true
- /@t3-oss/env-nextjs@0.7.1(typescript@5.3.3)(zod@3.22.4):
- resolution: {integrity: sha512-tQDbNLGCOvKGi+JoGuJ/CJInJI7/kLWJqtgGppAKS7ZFLdVOqZYR/uRjxlXOWPnxmUKF8VswOAsq7fXUpNZDhA==}
- peerDependencies:
- typescript: '>=4.7.2'
- zod: ^3.0.0
- peerDependenciesMeta:
- typescript:
- optional: true
- dependencies:
- '@t3-oss/env-core': 0.7.1(typescript@5.3.3)(zod@3.22.4)
- typescript: 5.3.3
- zod: 3.22.4
- dev: false
+ /@swc/counter@0.1.2:
+ resolution: {integrity: sha512-9F4ys4C74eSTEUNndnER3VJ15oru2NumfQxS8geE+f3eB5xvfxpWyqE5XlVnxb/R14uoXi6SLbBwwiDSkv+XEw==}
+ dev: true
- /@tanstack/query-core@4.36.1:
- resolution: {integrity: sha512-DJSilV5+ytBP1FbFcEJovv4rnnm/CokuVvrBEtW/Va9DvuJ3HksbXUJEpI0aV1KtuL4ZoO9AVE6PyNLzF7tLeA==}
- dev: false
-
- /@tanstack/react-query@4.36.1(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-y7ySVHFyyQblPl3J3eQBWpXZkliroki3ARnBKsdJchlgt7yJLRDUcf4B8soufgiYt3pEQIkBWBx1N9/ZPIeUWw==}
- peerDependencies:
- react: ^16.8.0 || ^17.0.0 || ^18.0.0
- react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0
- react-native: '*'
- peerDependenciesMeta:
- react-dom:
- optional: true
- react-native:
- optional: true
- dependencies:
- '@tanstack/query-core': 4.36.1
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- use-sync-external-store: 1.2.0(react@18.2.0)
- dev: false
-
- /@trpc/client@10.45.0(@trpc/server@10.45.0):
- resolution: {integrity: sha512-m091R1qte9rvkvL8N1e/mzrbb8S4gb+Q4ZNJnEGDgd7kic/6a8DFgSciBTiCoSp0YwOTVhyQzSrrA/sZI6PhBg==}
- peerDependencies:
- '@trpc/server': 10.45.0
- dependencies:
- '@trpc/server': 10.45.0
- dev: false
-
- /@trpc/next@10.45.0(@tanstack/react-query@4.36.1)(@trpc/client@10.45.0)(@trpc/react-query@10.45.0)(@trpc/server@10.45.0)(next@14.0.4)(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-saXajAb5GBpos9BNEtq/BeTOxmM4oCP3kyuGlMopNtHoacr71xHCItFnLsPWffM4DVW88uOXCFWaOtpOs5ThBw==}
- peerDependencies:
- '@tanstack/react-query': ^4.18.0
- '@trpc/client': 10.45.0
- '@trpc/react-query': 10.45.0
- '@trpc/server': 10.45.0
- next: '*'
- react: '>=16.8.0'
- react-dom: '>=16.8.0'
- dependencies:
- '@tanstack/react-query': 4.36.1(react-dom@18.2.0)(react@18.2.0)
- '@trpc/client': 10.45.0(@trpc/server@10.45.0)
- '@trpc/react-query': 10.45.0(@tanstack/react-query@4.36.1)(@trpc/client@10.45.0)(@trpc/server@10.45.0)(react-dom@18.2.0)(react@18.2.0)
- '@trpc/server': 10.45.0
- next: 14.0.4(react-dom@18.2.0)(react@18.2.0)
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- dev: false
-
- /@trpc/react-query@10.45.0(@tanstack/react-query@4.36.1)(@trpc/client@10.45.0)(@trpc/server@10.45.0)(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-MMc2pLwoaLZVwvLQyzJv3uEmdG3lORhifhVzR/drtavwDYwt+OEvH0w3s1zC7RaDdFpc6Nj2kkpHmdoU7BlAAw==}
- peerDependencies:
- '@tanstack/react-query': ^4.18.0
- '@trpc/client': 10.45.0
- '@trpc/server': 10.45.0
- react: '>=16.8.0'
- react-dom: '>=16.8.0'
- dependencies:
- '@tanstack/react-query': 4.36.1(react-dom@18.2.0)(react@18.2.0)
- '@trpc/client': 10.45.0(@trpc/server@10.45.0)
- '@trpc/server': 10.45.0
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- dev: false
-
- /@trpc/server@10.45.0:
- resolution: {integrity: sha512-2Fwzv6nqpE0Ie/G7PeS0EVR89zLm+c1Mw7T+RAGtU807j4oaUx0zGkBXTu5u9AI+j+BYNN2GZxJcuDTAecbr1A==}
- dev: false
+ /@swc/types@0.1.5:
+ resolution: {integrity: sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw==}
+ dev: true
/@types/eslint@8.56.1:
resolution: {integrity: sha512-18PLWRzhy9glDQp3+wOgfLYRWlhgX0azxgJ63rdpoUHyrC9z0f5CkFburjQx4uD7ZCruw85ZtMt6K+L+R8fLJQ==}
@@ -1008,6 +694,7 @@ packages:
/@types/prop-types@15.7.11:
resolution: {integrity: sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==}
+ dev: true
/@types/react-dom@18.2.18:
resolution: {integrity: sha512-TJxDm6OfAX2KJWJdMEVTwWke5Sc/E/RlnPGvGfS0W7+6ocy2xhDVQVh/KvC2Uf7kACs+gDytdusDSdWfWkaNzw==}
@@ -1021,9 +708,11 @@ packages:
'@types/prop-types': 15.7.11
'@types/scheduler': 0.16.8
csstype: 3.1.3
+ dev: true
/@types/scheduler@0.16.8:
resolution: {integrity: sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==}
+ dev: true
/@types/semver@7.5.6:
resolution: {integrity: sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==}
@@ -1165,6 +854,17 @@ packages:
resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
dev: true
+ /@vitejs/plugin-react-swc@3.5.0(vite@5.0.12):
+ resolution: {integrity: sha512-1PrOvAaDpqlCV+Up8RkAh9qaiUjoDUcjtttyhXDKw53XA6Ve16SOp6cCOpRs8Dj8DqUQs6eTW5YkLcLJjrXAig==}
+ peerDependencies:
+ vite: ^4 || ^5
+ dependencies:
+ '@swc/core': 1.3.106
+ vite: 5.0.12(@types/node@18.19.6)
+ transitivePeerDependencies:
+ - '@swc/helpers'
+ dev: true
+
/acorn-jsx@5.3.2(acorn@8.11.3):
resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
peerDependencies:
@@ -1373,10 +1073,6 @@ packages:
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
dev: true
- /before-after-hook@2.2.3:
- resolution: {integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==}
- dev: false
-
/binary-extensions@2.2.0:
resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
engines: {node: '>=8'}
@@ -1413,17 +1109,6 @@ packages:
update-browserslist-db: 1.0.13(browserslist@4.22.2)
dev: true
- /buffer-from@1.1.2:
- resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
- dev: true
-
- /busboy@1.6.0:
- resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==}
- engines: {node: '>=10.16.0'}
- dependencies:
- streamsearch: 1.1.0
- dev: false
-
/call-bind@1.0.5:
resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==}
dependencies:
@@ -1442,13 +1127,9 @@ packages:
engines: {node: '>= 6'}
dev: true
- /camelcase@7.0.1:
- resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==}
- engines: {node: '>=14.16'}
- dev: true
-
/caniuse-lite@1.0.30001576:
resolution: {integrity: sha512-ff5BdakGe2P3SQsMsiqmt1Lc8221NR1VzHj5jXN5vBny9A6fpze94HiVV/n7XRosOlsShJcvMv5mdnpjOGCEgg==}
+ dev: true
/chalk@4.1.2:
resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
@@ -1458,11 +1139,6 @@ packages:
supports-color: 7.2.0
dev: true
- /chalk@5.3.0:
- resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==}
- engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
- dev: true
-
/chokidar@3.5.3:
resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
engines: {node: '>= 8.10.0'}
@@ -1478,21 +1154,6 @@ packages:
fsevents: 2.3.3
dev: true
- /cli-color@2.0.3:
- resolution: {integrity: sha512-OkoZnxyC4ERN3zLzZaY9Emb7f/MhBOIpePv0Ycok0fJYT+Ouo00UBEIwsVsr0yoow++n5YWlSUgST9GKhNHiRQ==}
- engines: {node: '>=0.10'}
- dependencies:
- d: 1.0.1
- es5-ext: 0.10.62
- es6-iterator: 2.0.3
- memoizee: 0.4.15
- timers-ext: 0.1.7
- dev: true
-
- /client-only@0.0.1:
- resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==}
- dev: false
-
/clsx@2.1.0:
resolution: {integrity: sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==}
engines: {node: '>=6'}
@@ -1521,21 +1182,10 @@ packages:
engines: {node: '>= 6'}
dev: true
- /commander@9.5.0:
- resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==}
- engines: {node: ^12.20.0 || >=14}
- dev: true
-
/concat-map@0.0.1:
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
dev: true
- /copy-anything@3.0.5:
- resolution: {integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==}
- engines: {node: '>=12.13'}
- dependencies:
- is-what: 4.1.16
-
/cross-spawn@7.0.3:
resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
engines: {node: '>= 8'}
@@ -1553,12 +1203,6 @@ packages:
/csstype@3.1.3:
resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
-
- /d@1.0.1:
- resolution: {integrity: sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==}
- dependencies:
- es5-ext: 0.10.62
- type: 1.2.0
dev: true
/damerau-levenshtein@1.0.8:
@@ -1615,14 +1259,6 @@ packages:
engines: {node: '>=0.4.0'}
dev: false
- /denque@2.1.0:
- resolution: {integrity: sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==}
- engines: {node: '>=0.10'}
-
- /deprecation@2.3.1:
- resolution: {integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==}
- dev: false
-
/dequal@2.0.3:
resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
engines: {node: '>=6'}
@@ -1632,12 +1268,6 @@ packages:
resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
dev: true
- /difflib@0.2.4:
- resolution: {integrity: sha512-9YVwmMb0wQHQNr5J9m6BSj6fk4pfGITGQOOs+D9Fl+INODWFOfvhIU1hNv6GgR1RBoC/9NJcwu77zShxV0kT7w==}
- dependencies:
- heap: 0.2.7
- dev: true
-
/dir-glob@3.0.1:
resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
engines: {node: '>=8'}
@@ -1663,112 +1293,6 @@ packages:
esutils: 2.0.3
dev: true
- /dreamopt@0.8.0:
- resolution: {integrity: sha512-vyJTp8+mC+G+5dfgsY+r3ckxlz+QMX40VjPQsZc5gxVAxLmi64TBoVkP54A/pRAXMXsbu2GMMBrZPxNv23waMg==}
- engines: {node: '>=0.4.0'}
- dependencies:
- wordwrap: 1.0.0
- dev: true
-
- /drizzle-kit@0.20.10:
- resolution: {integrity: sha512-GoBmfAWrZiX2ZHMGlVg7w34bnJw1gbQIzhGr1cROK6+0eikhFNSR4a4G8jtD3FO5JZKbbWHuNA5YFDJu6Us0Tw==}
- hasBin: true
- dependencies:
- '@drizzle-team/studio': 0.0.37
- '@esbuild-kit/esm-loader': 2.6.5
- camelcase: 7.0.1
- chalk: 5.3.0
- commander: 9.5.0
- env-paths: 3.0.0
- esbuild: 0.19.11
- esbuild-register: 3.5.0(esbuild@0.19.11)
- glob: 8.1.0
- hanji: 0.0.5
- json-diff: 0.9.0
- minimatch: 7.4.6
- semver: 7.5.4
- zod: 3.22.4
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /drizzle-orm@0.29.3(@planetscale/database@1.13.0)(@types/react@18.2.47)(mysql2@3.7.0)(react@18.2.0):
- resolution: {integrity: sha512-uSE027csliGSGYD0pqtM+SAQATMREb3eSM/U8s6r+Y0RFwTKwftnwwSkqx3oS65UBgqDOM0gMTl5UGNpt6lW0A==}
- peerDependencies:
- '@aws-sdk/client-rds-data': '>=3'
- '@cloudflare/workers-types': '>=3'
- '@libsql/client': '*'
- '@neondatabase/serverless': '>=0.1'
- '@opentelemetry/api': ^1.4.1
- '@planetscale/database': '>=1'
- '@types/better-sqlite3': '*'
- '@types/pg': '*'
- '@types/react': '>=18'
- '@types/sql.js': '*'
- '@vercel/postgres': '*'
- better-sqlite3: '>=7'
- bun-types: '*'
- expo-sqlite: '>=13.2.0'
- knex: '*'
- kysely: '*'
- mysql2: '>=2'
- pg: '>=8'
- postgres: '>=3'
- react: '>=18'
- sql.js: '>=1'
- sqlite3: '>=5'
- peerDependenciesMeta:
- '@aws-sdk/client-rds-data':
- optional: true
- '@cloudflare/workers-types':
- optional: true
- '@libsql/client':
- optional: true
- '@neondatabase/serverless':
- optional: true
- '@opentelemetry/api':
- optional: true
- '@planetscale/database':
- optional: true
- '@types/better-sqlite3':
- optional: true
- '@types/pg':
- optional: true
- '@types/react':
- optional: true
- '@types/sql.js':
- optional: true
- '@vercel/postgres':
- optional: true
- better-sqlite3:
- optional: true
- bun-types:
- optional: true
- expo-sqlite:
- optional: true
- knex:
- optional: true
- kysely:
- optional: true
- mysql2:
- optional: true
- pg:
- optional: true
- postgres:
- optional: true
- react:
- optional: true
- sql.js:
- optional: true
- sqlite3:
- optional: true
- dependencies:
- '@planetscale/database': 1.13.0
- '@types/react': 18.2.47
- mysql2: 3.7.0
- react: 18.2.0
- dev: false
-
/eastasianwidth@0.2.0:
resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
dev: true
@@ -1793,11 +1317,6 @@ packages:
tapable: 2.2.1
dev: true
- /env-paths@3.0.0:
- resolution: {integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- dev: true
-
/es-abstract@1.22.3:
resolution: {integrity: sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==}
engines: {node: '>= 0.4'}
@@ -1886,110 +1405,35 @@ packages:
is-symbol: 1.0.4
dev: true
- /es5-ext@0.10.62:
- resolution: {integrity: sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==}
- engines: {node: '>=0.10'}
- requiresBuild: true
- dependencies:
- es6-iterator: 2.0.3
- es6-symbol: 3.1.3
- next-tick: 1.1.0
- dev: true
-
- /es6-iterator@2.0.3:
- resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==}
- dependencies:
- d: 1.0.1
- es5-ext: 0.10.62
- es6-symbol: 3.1.3
- dev: true
-
- /es6-symbol@3.1.3:
- resolution: {integrity: sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==}
- dependencies:
- d: 1.0.1
- ext: 1.7.0
- dev: true
-
- /es6-weak-map@2.0.3:
- resolution: {integrity: sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==}
- dependencies:
- d: 1.0.1
- es5-ext: 0.10.62
- es6-iterator: 2.0.3
- es6-symbol: 3.1.3
- dev: true
-
- /esbuild-register@3.5.0(esbuild@0.19.11):
- resolution: {integrity: sha512-+4G/XmakeBAsvJuDugJvtyF1x+XJT4FMocynNpxrvEBViirpfUn2PgNpCHedfWhF4WokNsO/OvMKrmJOIJsI5A==}
- peerDependencies:
- esbuild: '>=0.12 <1'
- dependencies:
- debug: 4.3.4
- esbuild: 0.19.11
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /esbuild@0.18.20:
- resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==}
+ /esbuild@0.19.12:
+ resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==}
engines: {node: '>=12'}
hasBin: true
requiresBuild: true
optionalDependencies:
- '@esbuild/android-arm': 0.18.20
- '@esbuild/android-arm64': 0.18.20
- '@esbuild/android-x64': 0.18.20
- '@esbuild/darwin-arm64': 0.18.20
- '@esbuild/darwin-x64': 0.18.20
- '@esbuild/freebsd-arm64': 0.18.20
- '@esbuild/freebsd-x64': 0.18.20
- '@esbuild/linux-arm': 0.18.20
- '@esbuild/linux-arm64': 0.18.20
- '@esbuild/linux-ia32': 0.18.20
- '@esbuild/linux-loong64': 0.18.20
- '@esbuild/linux-mips64el': 0.18.20
- '@esbuild/linux-ppc64': 0.18.20
- '@esbuild/linux-riscv64': 0.18.20
- '@esbuild/linux-s390x': 0.18.20
- '@esbuild/linux-x64': 0.18.20
- '@esbuild/netbsd-x64': 0.18.20
- '@esbuild/openbsd-x64': 0.18.20
- '@esbuild/sunos-x64': 0.18.20
- '@esbuild/win32-arm64': 0.18.20
- '@esbuild/win32-ia32': 0.18.20
- '@esbuild/win32-x64': 0.18.20
- dev: true
-
- /esbuild@0.19.11:
- resolution: {integrity: sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==}
- engines: {node: '>=12'}
- hasBin: true
- requiresBuild: true
- optionalDependencies:
- '@esbuild/aix-ppc64': 0.19.11
- '@esbuild/android-arm': 0.19.11
- '@esbuild/android-arm64': 0.19.11
- '@esbuild/android-x64': 0.19.11
- '@esbuild/darwin-arm64': 0.19.11
- '@esbuild/darwin-x64': 0.19.11
- '@esbuild/freebsd-arm64': 0.19.11
- '@esbuild/freebsd-x64': 0.19.11
- '@esbuild/linux-arm': 0.19.11
- '@esbuild/linux-arm64': 0.19.11
- '@esbuild/linux-ia32': 0.19.11
- '@esbuild/linux-loong64': 0.19.11
- '@esbuild/linux-mips64el': 0.19.11
- '@esbuild/linux-ppc64': 0.19.11
- '@esbuild/linux-riscv64': 0.19.11
- '@esbuild/linux-s390x': 0.19.11
- '@esbuild/linux-x64': 0.19.11
- '@esbuild/netbsd-x64': 0.19.11
- '@esbuild/openbsd-x64': 0.19.11
- '@esbuild/sunos-x64': 0.19.11
- '@esbuild/win32-arm64': 0.19.11
- '@esbuild/win32-ia32': 0.19.11
- '@esbuild/win32-x64': 0.19.11
+ '@esbuild/aix-ppc64': 0.19.12
+ '@esbuild/android-arm': 0.19.12
+ '@esbuild/android-arm64': 0.19.12
+ '@esbuild/android-x64': 0.19.12
+ '@esbuild/darwin-arm64': 0.19.12
+ '@esbuild/darwin-x64': 0.19.12
+ '@esbuild/freebsd-arm64': 0.19.12
+ '@esbuild/freebsd-x64': 0.19.12
+ '@esbuild/linux-arm': 0.19.12
+ '@esbuild/linux-arm64': 0.19.12
+ '@esbuild/linux-ia32': 0.19.12
+ '@esbuild/linux-loong64': 0.19.12
+ '@esbuild/linux-mips64el': 0.19.12
+ '@esbuild/linux-ppc64': 0.19.12
+ '@esbuild/linux-riscv64': 0.19.12
+ '@esbuild/linux-s390x': 0.19.12
+ '@esbuild/linux-x64': 0.19.12
+ '@esbuild/netbsd-x64': 0.19.12
+ '@esbuild/openbsd-x64': 0.19.12
+ '@esbuild/sunos-x64': 0.19.12
+ '@esbuild/win32-arm64': 0.19.12
+ '@esbuild/win32-ia32': 0.19.12
+ '@esbuild/win32-x64': 0.19.12
dev: true
/escalade@3.1.1:
@@ -2159,6 +1603,14 @@ packages:
eslint: 8.56.0
dev: true
+ /eslint-plugin-react-refresh@0.4.5(eslint@8.56.0):
+ resolution: {integrity: sha512-D53FYKJa+fDmZMtriODxvhwrO+IOqrxoEo21gMA0sjHdU6dPVH4OhyFip9ypl8HOF5RV5KdTo+rBQLvnY2cO8w==}
+ peerDependencies:
+ eslint: '>=7'
+ dependencies:
+ eslint: 8.56.0
+ dev: true
+
/eslint-plugin-react@7.33.2(eslint@8.56.0):
resolution: {integrity: sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==}
engines: {node: '>=4'}
@@ -2277,19 +1729,6 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
- /event-emitter@0.3.5:
- resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==}
- dependencies:
- d: 1.0.1
- es5-ext: 0.10.62
- dev: true
-
- /ext@1.7.0:
- resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==}
- dependencies:
- type: 2.7.2
- dev: true
-
/fast-deep-equal@3.1.3:
resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
dev: true
@@ -2421,11 +1860,6 @@ packages:
resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
dev: true
- /generate-function@2.3.1:
- resolution: {integrity: sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==}
- dependencies:
- is-property: 1.0.2
-
/get-intrinsic@1.2.2:
resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==}
dependencies:
@@ -2463,10 +1897,6 @@ packages:
is-glob: 4.0.3
dev: true
- /glob-to-regexp@0.4.1:
- resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==}
- dev: false
-
/glob@10.3.10:
resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==}
engines: {node: '>=16 || 14 >=14.17'}
@@ -2501,17 +1931,6 @@ packages:
path-is-absolute: 1.0.1
dev: true
- /glob@8.1.0:
- resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==}
- engines: {node: '>=12'}
- dependencies:
- fs.realpath: 1.0.0
- inflight: 1.0.6
- inherits: 2.0.4
- minimatch: 5.1.6
- once: 1.4.0
- dev: true
-
/globals@13.24.0:
resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
engines: {node: '>=8'}
@@ -2546,18 +1965,12 @@ packages:
/graceful-fs@4.2.11:
resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
+ dev: true
/graphemer@1.4.0:
resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
dev: true
- /hanji@0.0.5:
- resolution: {integrity: sha512-Abxw1Lq+TnYiL4BueXqMau222fPSPMFtya8HdpWsz/xVAhifXou71mPh/kY2+08RgFcVccjG3uZHs6K5HAe3zw==}
- dependencies:
- lodash.throttle: 4.1.1
- sisteransi: 1.0.5
- dev: true
-
/has-bigints@1.0.2:
resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==}
dev: true
@@ -2597,16 +2010,6 @@ packages:
function-bind: 1.1.2
dev: true
- /heap@0.2.7:
- resolution: {integrity: sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==}
- dev: true
-
- /iconv-lite@0.6.3:
- resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==}
- engines: {node: '>=0.10.0'}
- dependencies:
- safer-buffer: 2.1.2
-
/ignore@5.3.0:
resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==}
engines: {node: '>= 4'}
@@ -2755,13 +2158,6 @@ packages:
engines: {node: '>=8'}
dev: true
- /is-promise@2.2.2:
- resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==}
- dev: true
-
- /is-property@1.0.2:
- resolution: {integrity: sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==}
-
/is-regex@1.1.4:
resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
engines: {node: '>= 0.4'}
@@ -2818,10 +2214,6 @@ packages:
get-intrinsic: 1.2.2
dev: true
- /is-what@4.1.16:
- resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==}
- engines: {node: '>=12.13'}
-
/isarray@2.0.5:
resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
dev: true
@@ -2868,15 +2260,6 @@ packages:
resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
dev: true
- /json-diff@0.9.0:
- resolution: {integrity: sha512-cVnggDrVkAAA3OvFfHpFEhOnmcsUpleEKq4d4O8sQWWSH40MBrWstKigVB1kGrgLWzuom+7rRdaCsnBD6VyObQ==}
- hasBin: true
- dependencies:
- cli-color: 2.0.3
- difflib: 0.2.4
- dreamopt: 0.8.0
- dev: true
-
/json-schema-traverse@0.4.1:
resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
dev: true
@@ -2952,13 +2335,6 @@ packages:
resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
dev: true
- /lodash.throttle@4.1.1:
- resolution: {integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==}
- dev: true
-
- /long@5.2.3:
- resolution: {integrity: sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==}
-
/loose-envify@1.4.0:
resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
hasBin: true
@@ -2977,33 +2353,6 @@ packages:
yallist: 4.0.0
dev: true
- /lru-cache@7.18.3:
- resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==}
- engines: {node: '>=12'}
-
- /lru-cache@8.0.5:
- resolution: {integrity: sha512-MhWWlVnuab1RG5/zMRRcVGXZLCXrZTgfwMikgzCegsPnG62yDQo5JnqKkrK4jO5iKqDAZGItAqN5CtKBCBWRUA==}
- engines: {node: '>=16.14'}
-
- /lru-queue@0.1.0:
- resolution: {integrity: sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==}
- dependencies:
- es5-ext: 0.10.62
- dev: true
-
- /memoizee@0.4.15:
- resolution: {integrity: sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==}
- dependencies:
- d: 1.0.1
- es5-ext: 0.10.62
- es6-weak-map: 2.0.3
- event-emitter: 0.3.5
- is-promise: 2.2.2
- lru-queue: 0.1.0
- next-tick: 1.1.0
- timers-ext: 0.1.7
- dev: true
-
/merge2@1.4.1:
resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
engines: {node: '>= 8'}
@@ -3035,20 +2384,6 @@ packages:
brace-expansion: 1.1.11
dev: true
- /minimatch@5.1.6:
- resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==}
- engines: {node: '>=10'}
- dependencies:
- brace-expansion: 2.0.1
- dev: true
-
- /minimatch@7.4.6:
- resolution: {integrity: sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==}
- engines: {node: '>=10'}
- dependencies:
- brace-expansion: 2.0.1
- dev: true
-
/minimatch@9.0.3:
resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==}
engines: {node: '>=16 || 14 >=14.17'}
@@ -3073,19 +2408,6 @@ packages:
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
dev: true
- /mysql2@3.7.0:
- resolution: {integrity: sha512-c45jA3Jc1X8yJKzrWu1GpplBKGwv/wIV6ITZTlCSY7npF2YfJR+6nMP5e+NTQhUeJPSyOQAbGDCGEHbAl8HN9w==}
- engines: {node: '>= 8.0'}
- dependencies:
- denque: 2.1.0
- generate-function: 2.3.1
- iconv-lite: 0.6.3
- long: 5.2.3
- lru-cache: 8.0.5
- named-placeholders: 1.1.3
- seq-queue: 0.0.5
- sqlstring: 2.3.3
-
/mz@2.7.0:
resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
dependencies:
@@ -3094,65 +2416,16 @@ packages:
thenify-all: 1.6.0
dev: true
- /named-placeholders@1.1.3:
- resolution: {integrity: sha512-eLoBxg6wE/rZkJPhU/xRX1WTpkFEwDJEN96oxFrTsqBdbT5ec295Q+CoHrL9IT0DipqKhmGcaZmwOt8OON5x1w==}
- engines: {node: '>=12.0.0'}
- dependencies:
- lru-cache: 7.18.3
-
/nanoid@3.3.7:
resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true
+ dev: true
/natural-compare@1.4.0:
resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
dev: true
- /next-tick@1.1.0:
- resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==}
- dev: true
-
- /next@14.0.4(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-qbwypnM7327SadwFtxXnQdGiKpkuhaRLE2uq62/nRul9cj9KhQ5LhHmlziTNqUidZotw/Q1I9OjirBROdUJNgA==}
- engines: {node: '>=18.17.0'}
- hasBin: true
- peerDependencies:
- '@opentelemetry/api': ^1.1.0
- react: ^18.2.0
- react-dom: ^18.2.0
- sass: ^1.3.0
- peerDependenciesMeta:
- '@opentelemetry/api':
- optional: true
- sass:
- optional: true
- dependencies:
- '@next/env': 14.0.4
- '@swc/helpers': 0.5.2
- busboy: 1.6.0
- caniuse-lite: 1.0.30001576
- graceful-fs: 4.2.11
- postcss: 8.4.31
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- styled-jsx: 5.1.1(react@18.2.0)
- watchpack: 2.4.0
- optionalDependencies:
- '@next/swc-darwin-arm64': 14.0.4
- '@next/swc-darwin-x64': 14.0.4
- '@next/swc-linux-arm64-gnu': 14.0.4
- '@next/swc-linux-arm64-musl': 14.0.4
- '@next/swc-linux-x64-gnu': 14.0.4
- '@next/swc-linux-x64-musl': 14.0.4
- '@next/swc-win32-arm64-msvc': 14.0.4
- '@next/swc-win32-ia32-msvc': 14.0.4
- '@next/swc-win32-x64-msvc': 14.0.4
- transitivePeerDependencies:
- - '@babel/core'
- - babel-plugin-macros
- dev: false
-
/node-releases@2.0.14:
resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==}
dev: true
@@ -3243,6 +2516,7 @@ packages:
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
dependencies:
wrappy: 1.0.2
+ dev: true
/optionator@0.9.3:
resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==}
@@ -3311,6 +2585,7 @@ packages:
/picocolors@1.0.0:
resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
+ dev: true
/picomatch@2.3.1:
resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
@@ -3388,15 +2663,6 @@ packages:
resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
dev: true
- /postcss@8.4.31:
- resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==}
- engines: {node: ^10 || ^12 || >=14}
- dependencies:
- nanoid: 3.3.7
- picocolors: 1.0.0
- source-map-js: 1.0.2
- dev: false
-
/postcss@8.4.33:
resolution: {integrity: sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==}
engines: {node: ^10 || ^12 || >=14}
@@ -3588,6 +2854,29 @@ packages:
glob: 7.2.3
dev: true
+ /rollup@4.9.6:
+ resolution: {integrity: sha512-05lzkCS2uASX0CiLFybYfVkwNbKZG5NFQ6Go0VWyogFTXXbR039UVsegViTntkk4OglHBdF54ccApXRRuXRbsg==}
+ engines: {node: '>=18.0.0', npm: '>=8.0.0'}
+ hasBin: true
+ dependencies:
+ '@types/estree': 1.0.5
+ optionalDependencies:
+ '@rollup/rollup-android-arm-eabi': 4.9.6
+ '@rollup/rollup-android-arm64': 4.9.6
+ '@rollup/rollup-darwin-arm64': 4.9.6
+ '@rollup/rollup-darwin-x64': 4.9.6
+ '@rollup/rollup-linux-arm-gnueabihf': 4.9.6
+ '@rollup/rollup-linux-arm64-gnu': 4.9.6
+ '@rollup/rollup-linux-arm64-musl': 4.9.6
+ '@rollup/rollup-linux-riscv64-gnu': 4.9.6
+ '@rollup/rollup-linux-x64-gnu': 4.9.6
+ '@rollup/rollup-linux-x64-musl': 4.9.6
+ '@rollup/rollup-win32-arm64-msvc': 4.9.6
+ '@rollup/rollup-win32-ia32-msvc': 4.9.6
+ '@rollup/rollup-win32-x64-msvc': 4.9.6
+ fsevents: 2.3.3
+ dev: true
+
/run-parallel@1.2.0:
resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
dependencies:
@@ -3613,9 +2902,6 @@ packages:
is-regex: 1.1.4
dev: true
- /safer-buffer@2.1.2:
- resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
-
/scheduler@0.23.0:
resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==}
dependencies:
@@ -3635,9 +2921,6 @@ packages:
lru-cache: 6.0.0
dev: true
- /seq-queue@0.0.5:
- resolution: {integrity: sha512-hr3Wtp/GZIc/6DAGPDcV4/9WoZhjrkXsi5B/07QgX8tsdc6ilr7BFM6PM6rbdAX1kFSDYeZGLipIZZKyQP0O5Q==}
-
/set-function-length@1.1.1:
resolution: {integrity: sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==}
engines: {node: '>= 0.4'}
@@ -3682,10 +2965,6 @@ packages:
engines: {node: '>=14'}
dev: true
- /sisteransi@1.0.5:
- resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
- dev: true
-
/slash@3.0.0:
resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
engines: {node: '>=8'}
@@ -3694,28 +2973,8 @@ packages:
/source-map-js@1.0.2:
resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
engines: {node: '>=0.10.0'}
-
- /source-map-support@0.5.21:
- resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
- dependencies:
- buffer-from: 1.1.2
- source-map: 0.6.1
dev: true
- /source-map@0.6.1:
- resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /sqlstring@2.3.3:
- resolution: {integrity: sha512-qC9iz2FlN7DQl3+wjwn3802RTyjCx7sDvfQEXchwa6CWOx07/WVfh91gBmQ9fahw8snwGEWU3xGzOt4tFyHLxg==}
- engines: {node: '>= 0.6'}
-
- /streamsearch@1.1.0:
- resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==}
- engines: {node: '>=10.0.0'}
- dev: false
-
/string-width@4.2.3:
resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
engines: {node: '>=8'}
@@ -3797,23 +3056,6 @@ packages:
engines: {node: '>=8'}
dev: true
- /styled-jsx@5.1.1(react@18.2.0):
- resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==}
- engines: {node: '>= 12.0.0'}
- peerDependencies:
- '@babel/core': '*'
- babel-plugin-macros: '*'
- react: '>= 16.8.0 || 17.x.x || ^18.0.0-0'
- peerDependenciesMeta:
- '@babel/core':
- optional: true
- babel-plugin-macros:
- optional: true
- dependencies:
- client-only: 0.0.1
- react: 18.2.0
- dev: false
-
/sucrase@3.35.0:
resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==}
engines: {node: '>=16 || 14 >=14.17'}
@@ -3828,12 +3070,6 @@ packages:
ts-interface-checker: 0.1.13
dev: true
- /superjson@2.2.1:
- resolution: {integrity: sha512-8iGv75BYOa0xRJHK5vRLEjE2H/i4lulTjzpUXic3Eg8akftYjkmQDa8JARQ42rlczXyFR3IeRoeFCc7RxHsYZA==}
- engines: {node: '>=16'}
- dependencies:
- copy-anything: 3.0.5
-
/supports-color@7.2.0:
resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
engines: {node: '>=8'}
@@ -3899,13 +3135,6 @@ packages:
any-promise: 1.3.0
dev: true
- /timers-ext@0.1.7:
- resolution: {integrity: sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==}
- dependencies:
- es5-ext: 0.10.62
- next-tick: 1.1.0
- dev: true
-
/to-regex-range@5.0.1:
resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
engines: {node: '>=8.0'}
@@ -3935,10 +3164,6 @@ packages:
strip-bom: 3.0.0
dev: true
- /tslib@2.6.2:
- resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
- dev: false
-
/type-check@0.4.0:
resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
engines: {node: '>= 0.8.0'}
@@ -3951,14 +3176,6 @@ packages:
engines: {node: '>=10'}
dev: true
- /type@1.2.0:
- resolution: {integrity: sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==}
- dev: true
-
- /type@2.7.2:
- resolution: {integrity: sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==}
- dev: true
-
/typed-array-buffer@1.0.0:
resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==}
engines: {node: '>= 0.4'}
@@ -4001,6 +3218,7 @@ packages:
resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==}
engines: {node: '>=14.17'}
hasBin: true
+ dev: true
/unbox-primitive@1.0.2:
resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==}
@@ -4015,10 +3233,6 @@ packages:
resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
dev: true
- /universal-user-agent@6.0.1:
- resolution: {integrity: sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==}
- dev: false
-
/update-browserslist-db@1.0.13(browserslist@4.22.2):
resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==}
hasBin: true
@@ -4036,25 +3250,45 @@ packages:
punycode: 2.3.1
dev: true
- /use-sync-external-store@1.2.0(react@18.2.0):
- resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==}
- peerDependencies:
- react: ^16.8.0 || ^17.0.0 || ^18.0.0
- dependencies:
- react: 18.2.0
- dev: false
-
/util-deprecate@1.0.2:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
dev: true
- /watchpack@2.4.0:
- resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==}
- engines: {node: '>=10.13.0'}
+ /vite@5.0.12(@types/node@18.19.6):
+ resolution: {integrity: sha512-4hsnEkG3q0N4Tzf1+t6NdN9dg/L3BM+q8SWgbSPnJvrgH2kgdyzfVJwbR1ic69/4uMJJ/3dqDZZE5/WwqW8U1w==}
+ engines: {node: ^18.0.0 || >=20.0.0}
+ hasBin: true
+ peerDependencies:
+ '@types/node': ^18.0.0 || >=20.0.0
+ less: '*'
+ lightningcss: ^1.21.0
+ sass: '*'
+ stylus: '*'
+ sugarss: '*'
+ terser: ^5.4.0
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+ less:
+ optional: true
+ lightningcss:
+ optional: true
+ sass:
+ optional: true
+ stylus:
+ optional: true
+ sugarss:
+ optional: true
+ terser:
+ optional: true
dependencies:
- glob-to-regexp: 0.4.1
- graceful-fs: 4.2.11
- dev: false
+ '@types/node': 18.19.6
+ esbuild: 0.19.12
+ postcss: 8.4.33
+ rollup: 4.9.6
+ optionalDependencies:
+ fsevents: 2.3.3
+ dev: true
/which-boxed-primitive@1.0.2:
resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
@@ -4112,10 +3346,6 @@ packages:
isexe: 2.0.0
dev: true
- /wordwrap@1.0.0:
- resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==}
- dev: true
-
/wrap-ansi@7.0.0:
resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
engines: {node: '>=10'}
@@ -4136,6 +3366,7 @@ packages:
/wrappy@1.0.2:
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
+ dev: true
/yallist@4.0.0:
resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
@@ -4153,3 +3384,4 @@ packages:
/zod@3.22.4:
resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==}
+ dev: false
diff --git a/src/App.css b/src/App.css
new file mode 100644
index 0000000..b9d355d
--- /dev/null
+++ b/src/App.css
@@ -0,0 +1,42 @@
+#root {
+ max-width: 1280px;
+ margin: 0 auto;
+ padding: 2rem;
+ text-align: center;
+}
+
+.logo {
+ height: 6em;
+ padding: 1.5em;
+ will-change: filter;
+ transition: filter 300ms;
+}
+.logo:hover {
+ filter: drop-shadow(0 0 2em #646cffaa);
+}
+.logo.react:hover {
+ filter: drop-shadow(0 0 2em #61dafbaa);
+}
+
+@keyframes logo-spin {
+ from {
+ transform: rotate(0deg);
+ }
+ to {
+ transform: rotate(360deg);
+ }
+}
+
+@media (prefers-reduced-motion: no-preference) {
+ a:nth-of-type(2) .logo {
+ animation: logo-spin infinite 20s linear;
+ }
+}
+
+.card {
+ padding: 2em;
+}
+
+.read-the-docs {
+ color: #888;
+}
diff --git a/src/App.tsx b/src/App.tsx
new file mode 100644
index 0000000..a4f0798
--- /dev/null
+++ b/src/App.tsx
@@ -0,0 +1,32 @@
+import { useState } from "react";
+import reactLogo from "./assets/react.svg";
+import "./App.css";
+
+function App() {
+ const [count, setCount] = useState(0);
+
+ return (
+ <>
+
+ Vite + React
+
+
+
+ Edit src/App.tsx and save to test HMR
+
+
+
+ Click on the Vite and React logos to learn more
+
+ >
+ );
+}
+
+export default App;
diff --git a/src/assets/react.svg b/src/assets/react.svg
new file mode 100644
index 0000000..6c87de9
--- /dev/null
+++ b/src/assets/react.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/components/MusicPlayer.tsx b/src/components/MusicPlayer.tsx
deleted file mode 100644
index b14f132..0000000
--- a/src/components/MusicPlayer.tsx
+++ /dev/null
@@ -1,85 +0,0 @@
-import { useTerminal } from "~/context/TerminalContext";
-import { TerminalRenderer } from "~/utils/terminal/renderer";
-import { TerminalBoxElement } from "~/utils/terminal/elements/box";
-import { useEffect, useState } from "react";
-
-const theme = {
- black: "#45475a",
- red: "#f38ba8",
- green: "#a6e3a1",
- yellow: "#f9e2af",
- blue: "#89bafa",
- magenta: "#f5c2e7",
- cyan: "#94e2d5",
- white: "#bac2de",
- grey: "#585B70",
- lightGrey: "#a6adc8",
-};
-
-const formatDurationMSS = (duration: number) => {
- const minutes = Math.floor(duration / 60);
- const seconds = duration % 60;
-
- return `${minutes}:${seconds.toString().padStart(2, "0")}`;
-};
-
-export const MusicPlayer = (props: {
- title: string;
- artist: string;
- album: string;
- duration: number;
-}) => {
- const { cols } = useTerminal();
- const canvas = new TerminalRenderer(cols, 5);
-
- const [played, setPlayed] = useState(0);
- useEffect(() => {
- const interval = setInterval(() => {
- setPlayed(x => Math.min(props.duration, x + 1));
- }, 1000);
-
- return () => clearInterval(interval);
- }, [setPlayed, props.duration]);
-
- canvas.writeElement(
- new TerminalBoxElement(canvas.width, canvas.height),
- 0,
- 0,
- );
-
- canvas.write(1, 0, "Playback".substring(0, Math.min(8, canvas.width - 2)), {
- foreground: theme.magenta,
- });
-
- const inner = new TerminalRenderer(canvas.width - 2, canvas.height - 2);
- // Title and Artist
- inner.write(2, 0, `${props.title} · ${props.artist}`, {
- foreground: theme.cyan,
- fontWeight: 700,
- });
- inner.apply(0, 0, {
- char: "\udb81\udc0a",
- foreground: theme.cyan,
- fontWeight: 800,
- });
-
- // Album
- inner.write(0, 1, props.album, { foreground: theme.yellow });
-
- // Bar
- inner.write(0, 2, " ".repeat(inner.width), {
- foreground: theme.green,
- background: "#55576d",
- });
- inner.write(0, 2, " ".repeat((inner.width * played) / props.duration), {
- foreground: "#55576d",
- background: theme.green,
- });
- const time = `${formatDurationMSS(played)}/${formatDurationMSS(
- props.duration,
- )}`;
- inner.write(inner.width / 2 - time.length / 2, 2, time, { fontWeight: 800 });
-
- canvas.writeElement(inner, 1, 1);
- return {canvas.render()}
;
-};
diff --git a/src/components/MusicVisualizer.tsx b/src/components/MusicVisualizer.tsx
deleted file mode 100644
index 6a3f5c3..0000000
--- a/src/components/MusicVisualizer.tsx
+++ /dev/null
@@ -1,5 +0,0 @@
-import { type FunctionComponent } from "react";
-
-export const MusicVisualizer: FunctionComponent = () => (
-
-);
diff --git a/src/components/Nvim/Nvim.tsx b/src/components/Nvim/Nvim.tsx
deleted file mode 100644
index 115d95e..0000000
--- a/src/components/Nvim/Nvim.tsx
+++ /dev/null
@@ -1,19 +0,0 @@
-import { NvimStatusBar } from "./NvimStatusBar";
-import { NvimTree } from "./NvimTree";
-
-export const Nvim = () => {
- return (
-
- );
-};
diff --git a/src/components/Nvim/NvimStatusBar.tsx b/src/components/Nvim/NvimStatusBar.tsx
deleted file mode 100644
index f6ca985..0000000
--- a/src/components/Nvim/NvimStatusBar.tsx
+++ /dev/null
@@ -1,31 +0,0 @@
-import { useTerminal } from "~/context/TerminalContext";
-import { TerminalRenderer } from "~/utils/terminal/renderer";
-import { theme } from "~/utils/terminal/theme";
-
-export const NvimStatusBar = (props: { label: string; fileName: string }) => {
- const { cols: width } = useTerminal();
- const canvas = new TerminalRenderer(width, 1);
-
- canvas.write(0, 0, ` ${props.label} `, {
- background: theme.blue,
- foreground: "#000",
- });
- canvas.write(props.label.length + 2, 0, "\ue0ba", {
- background: theme.blue,
- foreground: "#474353",
- });
- canvas.write(props.label.length + 3, 0, "\ue0ba", {
- background: "#474353",
- foreground: "#373040",
- });
- canvas.write(props.label.length + 4, 0, ` ${props.fileName} `, {
- background: "#373040",
- foreground: theme.white,
- });
- canvas.write(props.label.length + 6 + props.fileName.length, 0, "\ue0ba", {
- background: "#373040",
- foreground: "#29293c",
- });
-
- return {canvas.render()}
;
-};
diff --git a/src/components/Nvim/NvimTree.tsx b/src/components/Nvim/NvimTree.tsx
deleted file mode 100644
index 47b8a2d..0000000
--- a/src/components/Nvim/NvimTree.tsx
+++ /dev/null
@@ -1,172 +0,0 @@
-import { useState, useEffect } from "react";
-import { useApp } from "~/context/AppContext";
-import { useTerminal } from "~/context/TerminalContext";
-import { FILE_STYLES, File } from "~/utils/filesystem";
-import { type Cell } from "~/utils/terminal/cell";
-import { TerminalRenderer } from "~/utils/terminal/renderer";
-import { theme } from "~/utils/terminal/theme";
-import { Manifest } from "~/utils/types";
-
-const PATH_FOLDED: Cell = {
- char: "",
- foreground: theme.grey,
-};
-
-const PATH_UNFOLDED: Cell = {
- char: "",
- foreground: theme.blue,
-};
-
-const FILES_SRC: Array = [
- {
- name: "projects",
- type: "directory",
- children: [{ name: "README.md", type: "md" }],
- folded: true,
- },
- { name: "README.md", type: "md" },
- { name: "LICENSE.md", type: "md" },
- { name: "prout", type: "directory", children: [], folded: true },
- { name: "hello", type: "directory", children: [], folded: true },
- { name: "pubkey.asc", type: "asc" },
-];
-
-const buildFileTree = (manifest: Manifest): Array => {
- if (manifest === undefined) return [];
-
- const files: Array = [];
- manifest.projects.forEach(project => {
- if (project.name === "pihkaal") {
- project.files.forEach(file => {
- files.push({
- name: file,
- type: "md",
- });
- });
- } else {
- files.push({
- name: project.name,
- type: "directory",
- folded: true,
- children: project.files.map(file => ({
- name: file,
- type: "md",
- })),
- });
- }
- });
-
- return files;
-};
-
-export const NvimTree = () => {
- const manifest = useApp();
-
- const [selected, setSelected] = useState(0);
- const [files, setFiles] = useState(buildFileTree(manifest));
-
- const { cols: width, rows: height } = useTerminal();
- const canvas = new TerminalRenderer(width * 0.2, height - 2, {
- background: "#0000001a",
- });
-
- const tree = new TerminalRenderer(canvas.width - 3, height - 1);
- tree.write(0, selected, " ".repeat(tree.width), { background: "#504651" });
-
- let y = 0;
- let indent = 0;
- const renderTree = (files: Array) => {
- files.forEach(file => {
- tree.apply(2 + indent * 2, y, FILE_STYLES[file.type]);
-
- if (file.type === "directory") {
- tree.apply(indent * 2, y, file.folded ? PATH_FOLDED : PATH_UNFOLDED);
- tree.write(4 + indent * 2, y, file.name, {
- foreground: FILE_STYLES.directory.foreground,
- });
-
- y++;
- if (!file.folded) {
- indent++;
- renderTree(file.children);
- indent--;
- }
- } else {
- if (file.name === "README.md") {
- tree.write(4 + indent * 2, y, file.name, {
- foreground: theme.yellow,
- fontWeight: 800,
- });
- } else {
- tree.write(4 + indent * 2, y, file.name);
- }
- y++;
- }
- });
- };
-
- useEffect(() => {
- const onScroll = (event: KeyboardEvent) => {
- switch (event.key) {
- case "ArrowUp":
- setSelected(x => Math.max(0, x - 1));
- break;
-
- case "ArrowDown":
- setSelected(x => Math.min(y - 1, x + 1));
- break;
-
- case "Enter":
- let y = 0;
- const findFile = (files: Array): File | null => {
- for (const f of files) {
- if (y === selected) {
- return f;
- }
- y++;
- if (f.type === "directory" && !f.folded) {
- const found = findFile(f.children);
- if (found) return found;
- }
- }
-
- return null;
- };
-
- const current = findFile(files);
- if (!current) {
- setSelected(0);
- return;
- }
-
- if (current.type === "directory") {
- current.folded = !current.folded;
- setFiles([...files]);
- }
- break;
- }
- };
-
- window.addEventListener("keydown", onScroll);
-
- return () => {
- window.removeEventListener("keydown", onScroll);
- };
- });
-
- renderTree(files);
-
- canvas.writeElement(tree, 2, 1);
-
- return {canvas.render()}
;
-};
-
-/*
- .sort((a, b) => a.name.localeCompare(b.name)).sort((a, b) =>
- a.type === "directory" && b.type !== "directory"
- ? -1
- : a.type !== "directory" && b.type === "directory"
- ? 1
- : 0,
- ),
-*/
diff --git a/src/components/Terminal.tsx b/src/components/Terminal.tsx
deleted file mode 100644
index 17d18d8..0000000
--- a/src/components/Terminal.tsx
+++ /dev/null
@@ -1,64 +0,0 @@
-import { useRef, useState, useEffect, type ReactNode } from "react";
-import clsx from "clsx";
-import { TerminalContextProvider } from "~/context/TerminalContext";
-
-export const Terminal = (props: {
- children?: ReactNode;
- className?: string;
-}) => {
- const terminalRef = useRef(null);
-
- const [size, setSize] = useState<{ cols: number; rows: number }>();
-
- useEffect(() => {
- const precision = 300;
-
- const calculateSize = () => {
- if (!terminalRef.current) return;
-
- const node = document.createElement("span");
- node.style.color = "transparent";
- node.style.position = "absolute";
- node.textContent = "A".repeat(precision);
-
- terminalRef.current.appendChild(node);
-
- setSize({
- cols: Math.floor(
- (terminalRef.current.offsetWidth - 4) /
- (node.offsetWidth / precision),
- ),
- rows: Math.floor(
- (terminalRef.current.offsetHeight - 4) / node.offsetHeight,
- ),
- });
-
- node.remove();
- };
-
- calculateSize();
-
- setTimeout(() => calculateSize(), 1);
-
- window.addEventListener("resize", calculateSize);
-
- return () => {
- window.removeEventListener("resize", calculateSize);
- };
- }, []);
-
- return (
-
-
- {size && props.children}
-
-
- );
-};
diff --git a/src/components/Text.tsx b/src/components/Text.tsx
deleted file mode 100644
index d7c659f..0000000
--- a/src/components/Text.tsx
+++ /dev/null
@@ -1,23 +0,0 @@
-import config from "~/../tailwind.config";
-
-const THEME = config.theme.extend.colors;
-type TerminalColor = keyof {
- [K in keyof typeof THEME]: K extends `color${number}` ? K : never;
-};
-
-export const Text = (props: {
- children: string | Array;
- bold?: boolean;
- fg?: TerminalColor;
- bg?: TerminalColor;
-}) => (
-
- {props.children}
-
-);
diff --git a/src/components/terminal/TerminalBox.tsx b/src/components/terminal/TerminalBox.tsx
deleted file mode 100644
index 238d628..0000000
--- a/src/components/terminal/TerminalBox.tsx
+++ /dev/null
@@ -1,22 +0,0 @@
-import { useTerminalCanvas } from "~/context/TerminalCanvasContext";
-import { type CellStyle } from "~/utils/terminal/cell";
-import { TerminalBoxElement } from "~/utils/terminal/elements/box";
-
-export const TerminalBox = (props: {
- x: number;
- y: number;
- width: number;
- height: number;
- style?: CellStyle;
-}) => {
- const canvas = useTerminalCanvas();
-
- const element = new TerminalBoxElement(
- props.width,
- props.height,
- props.style ?? {},
- );
- canvas.writeElement(element, props.x, props.y);
-
- return null;
-};
diff --git a/src/components/terminal/TerminalCanvas.tsx b/src/components/terminal/TerminalCanvas.tsx
deleted file mode 100644
index a986f70..0000000
--- a/src/components/terminal/TerminalCanvas.tsx
+++ /dev/null
@@ -1,23 +0,0 @@
-import React, { type ReactNode, useEffect, useState } from "react";
-import { TerminalCanvasContextProvider } from "~/context/TerminalCanvasContext";
-import { TerminalRenderer } from "~/utils/terminal/renderer";
-
-export const TerminalCanvas = (props: {
- width: number;
- height: number;
- children?: Array | ReactNode;
-}) => {
- const [canvas] = useState(new TerminalRenderer(props.width, props.height));
- const [render, setRender] = useState>([]);
-
- useEffect(() => {
- setRender(canvas.render());
- }, [canvas, props.children]);
-
- return (
-
- {props.children}
- {render}
-
- );
-};
diff --git a/src/components/terminal/TerminalCell.tsx b/src/components/terminal/TerminalCell.tsx
deleted file mode 100644
index b13a6ee..0000000
--- a/src/components/terminal/TerminalCell.tsx
+++ /dev/null
@@ -1,21 +0,0 @@
-import { useTerminalCanvas } from "~/context/TerminalCanvasContext";
-import { type CellStyle } from "~/utils/terminal/cell";
-
-export const TerminalCell = (props: {
- x: number;
- y: number;
- children: Array | string;
- style?: CellStyle;
-}) => {
- const canvas = useTerminalCanvas();
-
- const text = Array.isArray(props.children)
- ? props.children.join("")
- : props.children;
- canvas.apply(props.x, props.y, {
- char: text,
- ...(props.style ?? {}),
- });
-
- return null;
-};
diff --git a/src/components/terminal/TerminalSubCanvas.tsx b/src/components/terminal/TerminalSubCanvas.tsx
deleted file mode 100644
index 87ebdae..0000000
--- a/src/components/terminal/TerminalSubCanvas.tsx
+++ /dev/null
@@ -1,25 +0,0 @@
-import React, { type ReactNode, useState } from "react";
-import {
- TerminalCanvasContextProvider,
- useTerminalCanvas,
-} from "~/context/TerminalCanvasContext";
-import { TerminalRenderer } from "~/utils/terminal/renderer";
-
-export const TerminalSubCanvas = (props: {
- x: number;
- y: number;
- width: number;
- height: number;
- children?: Array | ReactNode;
-}) => {
- const parent = useTerminalCanvas();
- const [canvas] = useState(new TerminalRenderer(props.width, props.height));
-
- parent.writeElement(canvas, props.x, props.y);
-
- return (
-
- {props.children}
-
- );
-};
diff --git a/src/components/terminal/TerminalText.tsx b/src/components/terminal/TerminalText.tsx
deleted file mode 100644
index 6c9c82b..0000000
--- a/src/components/terminal/TerminalText.tsx
+++ /dev/null
@@ -1,16 +0,0 @@
-import { useTerminalCanvas } from "~/context/TerminalCanvasContext";
-
-export const TerminalText = (props: {
- x: number;
- y: number;
- children: Array | string;
-}) => {
- const canvas = useTerminalCanvas();
-
- const text = Array.isArray(props.children)
- ? props.children.join("")
- : props.children;
- canvas.write(props.x, props.y, text);
-
- return null;
-};
diff --git a/src/context/AppContext.tsx b/src/context/AppContext.tsx
deleted file mode 100644
index 218e0fd..0000000
--- a/src/context/AppContext.tsx
+++ /dev/null
@@ -1,39 +0,0 @@
-import {
- createContext,
- useEffect,
- useContext,
- useState,
- ReactNode,
-} from "react";
-import axios from "axios";
-import { Manifest } from "~/utils/types";
-
-const AppContext = createContext(undefined);
-
-export const AppContextProvider = (props: {
- children: Array | ReactNode;
-}) => {
- const [manifest, setManifest] = useState();
-
- useEffect(() => {
- axios
- .get(
- "https://raw.githubusercontent.com/pihkaal/pihkaal/main/manifest.json",
- )
- .then(x => {
- setManifest(x.data);
- console.log(x.data);
- });
- }, []);
-
- return (
- {props.children}
- );
-};
-
-export const useApp = () => {
- const context = useContext(AppContext);
- if (!context) throw new Error("useApp must be used inside the app lol");
-
- return context;
-};
diff --git a/src/context/TerminalCanvasContext.ts b/src/context/TerminalCanvasContext.ts
deleted file mode 100644
index 36c066e..0000000
--- a/src/context/TerminalCanvasContext.ts
+++ /dev/null
@@ -1,18 +0,0 @@
-import { createContext, useContext } from "react";
-import { type TerminalRenderer } from "~/utils/terminal/renderer";
-
-const TerminalCanvasContext = createContext(
- undefined,
-);
-
-export const TerminalCanvasContextProvider = TerminalCanvasContext.Provider;
-
-export const useTerminalCanvas = () => {
- const context = useContext(TerminalCanvasContext);
- if (!context)
- throw new Error(
- "useTerminalCanvas must be used inside a Terminal component",
- );
-
- return context;
-};
diff --git a/src/context/TerminalContext.tsx b/src/context/TerminalContext.tsx
deleted file mode 100644
index abd4d24..0000000
--- a/src/context/TerminalContext.tsx
+++ /dev/null
@@ -1,15 +0,0 @@
-import { createContext, useContext } from "react";
-
-const TerminalContext = createContext<
- { cols: number; rows: number } | undefined
->(undefined);
-
-export const TerminalContextProvider = TerminalContext.Provider;
-
-export const useTerminal = () => {
- const context = useContext(TerminalContext);
- if (!context)
- throw new Error("useTerminal must be used inside a Terminal component");
-
- return context;
-};
diff --git a/src/env.js b/src/env.js
deleted file mode 100644
index c795447..0000000
--- a/src/env.js
+++ /dev/null
@@ -1,26 +0,0 @@
-import { createEnv } from "@t3-oss/env-nextjs";
-import { z } from "zod";
-
-export const env = createEnv({
- server: {
- DATABASE_URL: z
- .string()
- .url()
- .refine(
- str => !str.includes("YOUR_MYSQL_URL_HERE"),
- "You forgot to change the default URL",
- ),
- NODE_ENV: z
- .enum(["development", "test", "production"])
- .default("development"),
- },
-
- client: {},
-
- runtimeEnv: {
- DATABASE_URL: process.env.DATABASE_URL,
- NODE_ENV: process.env.NODE_ENV,
- },
- skipValidation: !!process.env.SKIP_ENV_VALIDATION,
- emptyStringAsUndefined: true,
-});
diff --git a/src/index.css b/src/index.css
new file mode 100644
index 0000000..6119ad9
--- /dev/null
+++ b/src/index.css
@@ -0,0 +1,68 @@
+:root {
+ font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
+ line-height: 1.5;
+ font-weight: 400;
+
+ color-scheme: light dark;
+ color: rgba(255, 255, 255, 0.87);
+ background-color: #242424;
+
+ font-synthesis: none;
+ text-rendering: optimizeLegibility;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+
+a {
+ font-weight: 500;
+ color: #646cff;
+ text-decoration: inherit;
+}
+a:hover {
+ color: #535bf2;
+}
+
+body {
+ margin: 0;
+ display: flex;
+ place-items: center;
+ min-width: 320px;
+ min-height: 100vh;
+}
+
+h1 {
+ font-size: 3.2em;
+ line-height: 1.1;
+}
+
+button {
+ border-radius: 8px;
+ border: 1px solid transparent;
+ padding: 0.6em 1.2em;
+ font-size: 1em;
+ font-weight: 500;
+ font-family: inherit;
+ background-color: #1a1a1a;
+ cursor: pointer;
+ transition: border-color 0.25s;
+}
+button:hover {
+ border-color: #646cff;
+}
+button:focus,
+button:focus-visible {
+ outline: 4px auto -webkit-focus-ring-color;
+}
+
+@media (prefers-color-scheme: light) {
+ :root {
+ color: #213547;
+ background-color: #ffffff;
+ }
+ a:hover {
+ color: #747bff;
+ }
+ button {
+ background-color: #f9f9f9;
+ }
+}
diff --git a/src/main.tsx b/src/main.tsx
new file mode 100644
index 0000000..f25366e
--- /dev/null
+++ b/src/main.tsx
@@ -0,0 +1,10 @@
+import React from "react";
+import ReactDOM from "react-dom/client";
+import App from "./App.tsx";
+import "./index.css";
+
+ReactDOM.createRoot(document.getElementById("root")!).render(
+
+
+ ,
+);
diff --git a/src/pages/_app.tsx b/src/pages/_app.tsx
deleted file mode 100644
index 1831917..0000000
--- a/src/pages/_app.tsx
+++ /dev/null
@@ -1,11 +0,0 @@
-import { type AppType } from "next/app";
-
-import { api } from "~/utils/api";
-
-import "~/styles/globals.css";
-
-const MyApp: AppType = ({ Component, pageProps }) => {
- return ;
-};
-
-export default api.withTRPC(MyApp);
diff --git a/src/pages/api/trpc/[trpc].ts b/src/pages/api/trpc/[trpc].ts
deleted file mode 100644
index 089901f..0000000
--- a/src/pages/api/trpc/[trpc].ts
+++ /dev/null
@@ -1,18 +0,0 @@
-import { createNextApiHandler } from "@trpc/server/adapters/next";
-
-import { env } from "~/env";
-import { appRouter } from "~/server/api/root";
-import { createTRPCContext } from "~/server/api/trpc";
-
-export default createNextApiHandler({
- router: appRouter,
- createContext: createTRPCContext,
- onError:
- env.NODE_ENV === "development"
- ? ({ path, error }) => {
- console.error(
- `❌ tRPC failed on ${path ?? ""}: ${error.message}`,
- );
- }
- : undefined,
-});
diff --git a/src/pages/index.tsx b/src/pages/index.tsx
deleted file mode 100644
index 1fe6641..0000000
--- a/src/pages/index.tsx
+++ /dev/null
@@ -1,42 +0,0 @@
-import Head from "next/head";
-import { Terminal } from "~/components/Terminal";
-import { MusicVisualizer } from "~/components/MusicVisualizer";
-import { MusicPlayer } from "~/components/MusicPlayer";
-import { Nvim } from "~/components/Nvim/Nvim";
-import { AppContextProvider } from "~/context/AppContext";
-
-export default function Home() {
- return (
-
-
- pihkaal
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- );
-}
diff --git a/src/server/api/root.ts b/src/server/api/root.ts
deleted file mode 100644
index 6903a04..0000000
--- a/src/server/api/root.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-import { createTRPCRouter } from "~/server/api/trpc";
-import { github } from "./routers/github";
-
-export const appRouter = createTRPCRouter({
- github,
-});
-
-export type AppRouter = typeof appRouter;
diff --git a/src/server/api/routers/github/getRepos.ts b/src/server/api/routers/github/getRepos.ts
deleted file mode 100644
index ef5a922..0000000
--- a/src/server/api/routers/github/getRepos.ts
+++ /dev/null
@@ -1,18 +0,0 @@
-import { Octokit } from "@octokit/rest";
-import { publicProcedure } from "../../trpc";
-import axios from "axios";
-
-type Manifest = {
- projects: Array<{
- name: string;
- files: Array;
- }>;
-};
-
-export const getRepos = publicProcedure.query(async () => {
- const { data: manifest } = await axios.get(
- "https://raw.githubusercontent.com/pihkaal/pihkaal/main/manifest.json",
- );
-
- return manifest;
-});
diff --git a/src/server/api/routers/github/index.ts b/src/server/api/routers/github/index.ts
deleted file mode 100644
index 28ec58b..0000000
--- a/src/server/api/routers/github/index.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-import { createTRPCRouter } from "../../trpc";
-import { getRepos } from "./getRepos";
-
-export const github = createTRPCRouter({
- getRepos,
-});
diff --git a/src/server/api/trpc.ts b/src/server/api/trpc.ts
deleted file mode 100644
index a468e07..0000000
--- a/src/server/api/trpc.ts
+++ /dev/null
@@ -1,48 +0,0 @@
-import { initTRPC } from "@trpc/server";
-import { type CreateNextContextOptions } from "@trpc/server/adapters/next";
-import superjson from "superjson";
-import { ZodError } from "zod";
-
-import { db } from "~/server/db";
-
-/**
- * 1. CONTEXT
- */
-
-type CreateContextOptions = Record;
-
-const createInnerTRPCContext = (_opts: CreateContextOptions) => {
- return {
- db,
- };
-};
-
-export const createTRPCContext = (_opts: CreateNextContextOptions) => {
- return createInnerTRPCContext({});
-};
-
-/**
- * 2. INITIALIZATION
- */
-
-const t = initTRPC.context().create({
- transformer: superjson,
- errorFormatter({ shape, error }) {
- return {
- ...shape,
- data: {
- ...shape.data,
- zodError:
- error.cause instanceof ZodError ? error.cause.flatten() : null,
- },
- };
- },
-});
-
-/**
- * 3. ROUTER & PROCEDURE (THE IMPORTANT BIT)
- */
-
-export const createTRPCRouter = t.router;
-
-export const publicProcedure = t.procedure;
diff --git a/src/server/db/index.ts b/src/server/db/index.ts
deleted file mode 100644
index dc2ad54..0000000
--- a/src/server/db/index.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Client } from "@planetscale/database";
-import { drizzle } from "drizzle-orm/planetscale-serverless";
-
-import { env } from "~/env";
-import * as schema from "./schema";
-
-export const db = drizzle(
- new Client({
- url: env.DATABASE_URL,
- }).connection(),
- { schema },
-);
diff --git a/src/server/db/schema.ts b/src/server/db/schema.ts
deleted file mode 100644
index 218d8af..0000000
--- a/src/server/db/schema.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-import { mysqlTableCreator } from "drizzle-orm/mysql-core";
-
-export const mysqlTable = mysqlTableCreator(name => `me_${name}`);
diff --git a/src/styles/globals.css b/src/styles/globals.css
deleted file mode 100644
index 0831d4b..0000000
--- a/src/styles/globals.css
+++ /dev/null
@@ -1,33 +0,0 @@
-@tailwind base;
-@tailwind components;
-@tailwind utilities;
-
-@font-face {
- font-family: "JetBrainsMono";
- src:
- url("/fonts/JetBrainsMonoNFM-Bold.woff2") format("woff2"),
- url("/fonts/JetBrainsMonoNFM-Bold.woff") format("woff");
- font-weight: bold;
- font-style: normal;
- font-display: swap;
-}
-
-@font-face {
- font-family: "JetBrainsMono";
- src:
- url("/fonts/JetBrainsMonoNFM-Regular.woff2") format("woff2"),
- url("/fonts/JetBrainsMonoNFM-Regular.woff") format("woff");
- font-weight: normal;
- font-style: normal;
- font-display: swap;
-}
-
-@font-face {
- font-family: "JetBrainsMono";
- src:
- url("/fonts/JetBrainsMonoNFM-Medium.woff2") format("woff2"),
- url("/fonts/JetBrainsMonoNFM-Medium.woff") format("woff");
- font-weight: 500;
- font-style: normal;
- font-display: swap;
-}
diff --git a/src/utils/api.ts b/src/utils/api.ts
deleted file mode 100644
index 93efb6d..0000000
--- a/src/utils/api.ts
+++ /dev/null
@@ -1,36 +0,0 @@
-import { httpBatchLink, loggerLink } from "@trpc/client";
-import { createTRPCNext } from "@trpc/next";
-import { type inferRouterInputs, type inferRouterOutputs } from "@trpc/server";
-import superjson from "superjson";
-
-import { type AppRouter } from "~/server/api/root";
-
-const getBaseUrl = () => {
- if (typeof window !== "undefined") return ""; // browser should use relative url
- if (process.env.VERCEL_URL) return `https://${process.env.VERCEL_URL}`; // SSR should use vercel url
- return `http://localhost:${process.env.PORT ?? 3000}`; // dev SSR should use localhost
-};
-
-export const api = createTRPCNext({
- config() {
- return {
- transformer: superjson,
-
- links: [
- loggerLink({
- enabled: opts =>
- process.env.NODE_ENV === "development" ||
- (opts.direction === "down" && opts.result instanceof Error),
- }),
- httpBatchLink({
- url: `${getBaseUrl()}/api/trpc`,
- }),
- ],
- };
- },
- ssr: false,
-});
-
-export type RouterInputs = inferRouterInputs;
-
-export type RouterOutputs = inferRouterOutputs;
diff --git a/src/utils/filesystem.ts b/src/utils/filesystem.ts
deleted file mode 100644
index 9c12e8b..0000000
--- a/src/utils/filesystem.ts
+++ /dev/null
@@ -1,32 +0,0 @@
-import { Cell } from "./terminal/cell";
-import { theme } from "./terminal/theme";
-
-export const FILE_STYLES = {
- directory: {
- char: "\ue6ad", // \ue6ad ||| \ueaf6
- foreground: theme.blue,
- },
- md: {
- char: "\ue73e",
- foreground: theme.blue,
- },
- asc: {
- char: "\uf43d",
- foreground: theme.yellow,
- },
-} as const satisfies Record;
-
-export type FileType = keyof typeof FILE_STYLES;
-
-export type File = {
- name: string;
-} & (
- | {
- type: Exclude;
- }
- | {
- type: "directory";
- children: Array;
- folded: boolean;
- }
-);
diff --git a/src/utils/math.ts b/src/utils/math.ts
deleted file mode 100644
index 62a509c..0000000
--- a/src/utils/math.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-export const clamp = (v: number, min: number, max: number): number =>
- Math.min(Math.max(min, v), max);
-
-export const clamp01 = (v: number): number => clamp(v, 0, 1);
-
-export const floorAll = (...xs: Array): Array =>
- xs.map(Math.floor);
diff --git a/src/utils/terminal/cell.ts b/src/utils/terminal/cell.ts
deleted file mode 100644
index f2984cc..0000000
--- a/src/utils/terminal/cell.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-export type Cell = {
- char: string;
-} & CellStyle;
-
-export type CellStyle = Partial<{
- foreground: string;
- background: string;
- fontWeight: number;
-}>;
diff --git a/src/utils/terminal/element.ts b/src/utils/terminal/element.ts
deleted file mode 100644
index 2768d78..0000000
--- a/src/utils/terminal/element.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-import { type Cell } from "./cell";
-
-export interface TerminalElement {
- readonly data: Array>;
- readonly width: number;
- readonly height: number;
-}
diff --git a/src/utils/terminal/elements/box.ts b/src/utils/terminal/elements/box.ts
deleted file mode 100644
index 4c3cd0d..0000000
--- a/src/utils/terminal/elements/box.ts
+++ /dev/null
@@ -1,38 +0,0 @@
-import { type Cell, type CellStyle } from "../cell";
-import { TerminalRenderer } from "../renderer";
-import { type TerminalElement } from "../element";
-
-export class TerminalBoxElement implements TerminalElement {
- public readonly data: Array>;
-
- constructor(
- public readonly width: number,
- public readonly height: number,
- style: CellStyle = {},
- ) {
- const canvas = new TerminalRenderer(width, height, style);
-
- if (width == 1 && height > 1) {
- for (let y = 0; y < height - 1; y++) {
- canvas.write(0, y, "│");
- }
- } else if (height == 1 && width > 1) {
- canvas.write(0, 0, "─".repeat(width - 2));
- } else {
- canvas.write(0, 0, "┌");
- canvas.write(width - 1, 0, "┐");
- canvas.write(0, height - 1, "└");
- canvas.write(width - 1, height - 1, "┘");
-
- canvas.write(1, 0, "─".repeat(width - 2));
- canvas.write(1, height - 1, "─".repeat(width - 2));
-
- for (let y = 1; y < height - 1; y++) {
- canvas.write(0, y, "│");
- canvas.write(width - 1, y, "│");
- }
- }
-
- this.data = canvas.data;
- }
-}
diff --git a/src/utils/terminal/renderer.tsx b/src/utils/terminal/renderer.tsx
deleted file mode 100644
index 4917ce4..0000000
--- a/src/utils/terminal/renderer.tsx
+++ /dev/null
@@ -1,124 +0,0 @@
-import { type ReactNode } from "react";
-import { floorAll } from "../math";
-import { type CellStyle, type Cell } from "./cell";
-import { type TerminalElement } from "./element";
-
-export class TerminalRenderer implements TerminalElement {
- public readonly data: Array>;
-
- constructor(
- public readonly width: number,
- public readonly height: number,
- public readonly defaultStyle: CellStyle = {},
- ) {
- [this.width, this.height] = floorAll(this.width, this.height);
-
- this.data = new Array(this.height).fill(0).map(() =>
- new Array(this.width).fill({
- char: " ",
- ...defaultStyle,
- }),
- );
- }
-
- apply(x: number, y: number, cell: Partial): void {
- [x, y] = floorAll(x, y);
-
- if (x < 0 || x >= this.width || y < 0 || y >= this.height) return;
-
- this.data[y][x] = {
- ...this.data[y][x],
- ...cell,
- };
- }
-
- write(x: number, y: number, text: string, style: CellStyle = {}): void {
- [x, y] = floorAll(x, y);
-
- for (let i = 0; i < text.length; i++) {
- this.apply(x + i, y, {
- char: text[i],
- ...style,
- });
- }
- }
-
- writeFilter(
- x: number,
- y: number,
- text: string,
- filter: (cell: Cell) => Cell,
- ): void {
- [x, y] = floorAll(x, y);
-
- for (let i = 0; i < text.length; i++) {
- this.apply(x + i, y, {
- ...filter(this.data[y][x + i]),
- char: text[i],
- });
- }
- }
-
- writeElement(canvas: TerminalElement, dx: number, dy: number): void {
- [dx, dy] = floorAll(dx, dy);
-
- for (let y = 0; y < canvas.height; y++) {
- for (let x = 0; x < canvas.width; x++) {
- this.apply(dx + x, dy + y, canvas.data[y][x]);
- }
- }
- }
-
- subCanvas(
- x: number,
- y: number,
- width: number,
- height: number,
- ): TerminalRenderer {
- [x, y, width, height] = floorAll(x, y, width, height);
-
- const canvas = new TerminalRenderer(width, height);
- for (let cy = 0; cy < height; cy++) {
- for (let cx = 0; cx < width; cx++) {
- canvas.apply(cx, cy, this.data[y + cy][x + cx]);
- }
- }
-
- return canvas;
- }
-
- render(): Array {
- const nodes: Array = [];
-
- for (let y = 0; y < this.height; y++) {
- for (let x = 0; x < this.width; x++) {
- const cell = this.data[y][x];
- /*
- const span = document.createElement("span");
- span.innerHTML = cell.char;
- span.style.color = cell.foreground ?? "unset";
- span.style.background = cell.background ?? "unset";
- span.style.fontWeight = String(cell.fontWeight ?? "unset");
-
- target.appendChild(span);
- */
- nodes.push(
-
- {cell.char}
- ,
- );
- }
-
- nodes.push( );
- }
-
- return nodes;
- }
-}
diff --git a/src/utils/terminal/theme.ts b/src/utils/terminal/theme.ts
deleted file mode 100644
index 24a741b..0000000
--- a/src/utils/terminal/theme.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-export const theme = {
- black: "#45475a",
- red: "#f38ba8",
- green: "#a6e3a1",
- yellow: "#f9e2af",
- blue: "#89bafa",
- magenta: "#f5c2e7",
- cyan: "#94e2d5",
- white: "#bac2de",
- grey: "#585B70",
- lightGrey: "#a6adc8",
-};
diff --git a/src/utils/types.ts b/src/utils/types.ts
deleted file mode 100644
index b35bd6a..0000000
--- a/src/utils/types.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-export type Manifest = {
- projects: Array<{
- name: string;
- files: Array;
- }>;
-};
diff --git a/src/vite-env.d.ts b/src/vite-env.d.ts
new file mode 100644
index 0000000..11f02fe
--- /dev/null
+++ b/src/vite-env.d.ts
@@ -0,0 +1 @@
+///
diff --git a/tsconfig.json b/tsconfig.json
index 905062d..a7fc6fb 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -1,42 +1,25 @@
{
"compilerOptions": {
- /* Base Options: */
- "esModuleInterop": true,
- "skipLibCheck": true,
- "target": "es2022",
- "allowJs": true,
- "resolveJsonModule": true,
- "moduleDetection": "force",
- "isolatedModules": true,
-
- /* Strictness */
- "strict": true,
- "noUncheckedIndexedAccess": true,
- "checkJs": true,
-
- /* Bundled projects */
- "lib": ["dom", "dom.iterable", "ES2022"],
- "noEmit": true,
+ "target": "ES2020",
+ "useDefineForClassFields": true,
+ "lib": ["ES2020", "DOM", "DOM.Iterable"],
"module": "ESNext",
- "moduleResolution": "Bundler",
- "jsx": "preserve",
- "plugins": [{ "name": "next" }],
- "incremental": true,
+ "skipLibCheck": true,
- /* Path Aliases */
- "baseUrl": ".",
- "paths": {
- "~/*": ["./src/*"]
- }
+ /* Bundler mode */
+ "moduleResolution": "bundler",
+ "allowImportingTsExtensions": true,
+ "resolveJsonModule": true,
+ "isolatedModules": true,
+ "noEmit": true,
+ "jsx": "react-jsx",
+
+ /* Linting */
+ "strict": true,
+ "noUnusedLocals": true,
+ "noUnusedParameters": true,
+ "noFallthroughCasesInSwitch": true
},
- "include": [
- ".eslintrc.cjs",
- "next-env.d.ts",
- "**/*.ts",
- "**/*.tsx",
- "**/*.cjs",
- "**/*.js",
- ".next/types/**/*.ts"
- ],
- "exclude": ["node_modules"]
+ "include": ["src"],
+ "references": [{ "path": "./tsconfig.node.json" }]
}
diff --git a/tsconfig.node.json b/tsconfig.node.json
new file mode 100644
index 0000000..f4dc8ce
--- /dev/null
+++ b/tsconfig.node.json
@@ -0,0 +1,10 @@
+{
+ "compilerOptions": {
+ "composite": true,
+ "skipLibCheck": true,
+ "module": "ESNext",
+ "moduleResolution": "bundler",
+ "allowSyntheticDefaultImports": true
+ },
+ "include": ["vite.config.ts", "tailwind.config.ts"]
+}
diff --git a/vite.config.ts b/vite.config.ts
new file mode 100644
index 0000000..689b0ce
--- /dev/null
+++ b/vite.config.ts
@@ -0,0 +1,8 @@
+import { defineConfig } from "vite";
+import react from "@vitejs/plugin-react-swc";
+
+const config = defineConfig({
+ plugins: [react()],
+});
+
+export default config;
| |