diff --git a/package.json b/package.json index bced4b8..d87d0ff 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "sprintpadawan", - "version": "2.1.0", + "version": "2.2.0", "description": "Plan. Sprint. Repeat.", "private": true, "scripts": { @@ -14,7 +14,7 @@ }, "dependencies": { "@ably-labs/react-hooks": "^2.1.1", - "@clerk/nextjs": "^4.23.2", + "@clerk/nextjs": "^4.23.3", "@neondatabase/serverless": "^0.6.0", "@paralleldrive/cuid2": "^2.2.2", "@react-email/components": "^0.0.7", @@ -23,7 +23,7 @@ "@trpc/next": "10.38.0", "@trpc/react-query": "10.38.0", "@trpc/server": "10.38.0", - "@unkey/api": "^0.6.16", + "@unkey/api": "^0.6.19", "@upstash/ratelimit": "^0.4.3", "@upstash/redis": "^1.22.0", "autoprefixer": "^10.4.15", @@ -37,7 +37,6 @@ "react-dom": "18.2.0", "react-email": "^1.9.4", "react-icons": "^4.10.1", - "resend": "^1.0.0", "sharp": "^0.32.5", "superjson": "1.13.1", "zod": "^3.22.2" @@ -45,19 +44,19 @@ "devDependencies": { "@types/eslint": "^8.44.2", "@types/json2csv": "^5.0.3", - "@types/node": "^20.5.6", + "@types/node": "^20.5.7", "@types/react": "^18.2.21", "@typescript-eslint/eslint-plugin": "^6.4.1", "@typescript-eslint/parser": "^6.4.1", - "daisyui": "^3.6.1", + "bufferutil": "^4.0.7", + "daisyui": "^3.6.3", "drizzle-kit": "^0.19.13", - "eslint": "^8.47.0", + "eslint": "^8.48.0", "eslint-config-next": "^13.4.19", "pg": "^8.11.3", "tailwindcss": "^3.3.3", - "typescript": "^5.2.2" - }, - "ct3aMetadata": { - "initVersion": "7.5.9" + "typescript": "^5.2.2", + "utf-8-validate": "5.0.2", + "ws": "^8.13.0" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0bf405f..b523c86 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -7,10 +7,10 @@ settings: dependencies: '@ably-labs/react-hooks': specifier: ^2.1.1 - version: 2.1.1(react-dom@18.2.0)(react@18.2.0) + version: 2.1.1(bufferutil@4.0.7)(react-dom@18.2.0)(react@18.2.0)(utf-8-validate@5.0.2) '@clerk/nextjs': - specifier: ^4.23.2 - version: 4.23.2(next@13.4.19)(react-dom@18.2.0)(react@18.2.0) + specifier: ^4.23.3 + version: 4.23.3(next@13.4.19)(react-dom@18.2.0)(react@18.2.0) '@neondatabase/serverless': specifier: ^0.6.0 version: 0.6.0 @@ -36,8 +36,8 @@ dependencies: specifier: 10.38.0 version: 10.38.0 '@unkey/api': - specifier: ^0.6.16 - version: 0.6.16 + specifier: ^0.6.19 + version: 0.6.19 '@upstash/ratelimit': specifier: ^0.4.3 version: 0.4.3 @@ -77,9 +77,6 @@ dependencies: react-icons: specifier: ^4.10.1 version: 4.10.1(react@18.2.0) - resend: - specifier: ^1.0.0 - version: 1.0.0 sharp: specifier: ^0.32.5 version: 0.32.5 @@ -98,29 +95,32 @@ devDependencies: specifier: ^5.0.3 version: 5.0.3 '@types/node': - specifier: ^20.5.6 - version: 20.5.6 + specifier: ^20.5.7 + version: 20.5.7 '@types/react': specifier: ^18.2.21 version: 18.2.21 '@typescript-eslint/eslint-plugin': specifier: ^6.4.1 - version: 6.4.1(@typescript-eslint/parser@6.4.1)(eslint@8.47.0)(typescript@5.2.2) + version: 6.4.1(@typescript-eslint/parser@6.4.1)(eslint@8.48.0)(typescript@5.2.2) '@typescript-eslint/parser': specifier: ^6.4.1 - version: 6.4.1(eslint@8.47.0)(typescript@5.2.2) + version: 6.4.1(eslint@8.48.0)(typescript@5.2.2) + bufferutil: + specifier: ^4.0.7 + version: 4.0.7 daisyui: - specifier: ^3.6.1 - version: 3.6.1 + specifier: ^3.6.3 + version: 3.6.3 drizzle-kit: specifier: ^0.19.13 version: 0.19.13 eslint: - specifier: ^8.47.0 - version: 8.47.0 + specifier: ^8.48.0 + version: 8.48.0 eslint-config-next: specifier: ^13.4.19 - version: 13.4.19(eslint@8.47.0)(typescript@5.2.2) + version: 13.4.19(eslint@8.48.0)(typescript@5.2.2) pg: specifier: ^8.11.3 version: 8.11.3 @@ -130,6 +130,12 @@ devDependencies: typescript: specifier: ^5.2.2 version: 5.2.2 + utf-8-validate: + specifier: 5.0.2 + version: 5.0.2 + ws: + specifier: ^8.13.0 + version: 8.13.0(bufferutil@4.0.7)(utf-8-validate@5.0.2) packages: @@ -138,13 +144,13 @@ packages: engines: {node: '>=0.10.0'} dev: true - /@ably-labs/react-hooks@2.1.1(react-dom@18.2.0)(react@18.2.0): + /@ably-labs/react-hooks@2.1.1(bufferutil@4.0.7)(react-dom@18.2.0)(react@18.2.0)(utf-8-validate@5.0.2): resolution: {integrity: sha512-Bunqu9GDFInZLpFMfWhUboU1g4W5UXzDfeAqI9ueNIF3p9KIMS7LfgjKBfXsC0DtAWkBgCjL22PvNToiHP92Ig==} peerDependencies: react: '>=18.1.0' react-dom: '>=18.1.0' dependencies: - ably: 1.2.43 + ably: 1.2.43(bufferutil@4.0.7)(utf-8-validate@5.0.2) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) transitivePeerDependencies: @@ -191,11 +197,11 @@ packages: dependencies: regenerator-runtime: 0.14.0 - /@clerk/backend@0.27.0: - resolution: {integrity: sha512-Sj541JrpqAn1A/UwdyDBxFV3stq2A/Pe/8HdPTG3Cct6briPyavfi46O5s1+L3BSvUcKUY+UbM0+8VsoCNFi4w==} + /@clerk/backend@0.28.0: + resolution: {integrity: sha512-2HbpJljKhz6642cyIcL3NE/QUQM1Ty4Vm7h9Pc/PsmuINfb6DI2HaP29INb6bt8GiY9xbrJcGOkMfBS9iHCTMQ==} engines: {node: '>=14'} dependencies: - '@clerk/types': 3.49.0 + '@clerk/types': 3.50.0 '@peculiar/webcrypto': 1.4.1 '@types/node': 16.18.6 cookie: 0.5.0 @@ -205,24 +211,24 @@ packages: tslib: 2.4.1 dev: false - /@clerk/clerk-react@4.23.2(react@18.2.0): - resolution: {integrity: sha512-6MJa8ecr22qHhTfdkMMIJGctMBqj01fLJ4vmfZvr22tIkwkPXoeYJd5XcFKuSoO2dXc1eHD/F9i/HdCqGm68gw==} + /@clerk/clerk-react@4.24.0(react@18.2.0): + resolution: {integrity: sha512-D2NtrMrDuoLvgTn0jtZEpmCn13heMkmdy30HzoOxmNOmHiVuQ16L/eZyCO1HH1DH2pcJnpXIuC0OdQg26DDK6g==} engines: {node: '>=14'} peerDependencies: react: '>=16' dependencies: - '@clerk/shared': 0.21.0(react@18.2.0) - '@clerk/types': 3.49.0 + '@clerk/shared': 0.22.0(react@18.2.0) + '@clerk/types': 3.50.0 react: 18.2.0 tslib: 2.4.1 dev: false - /@clerk/clerk-sdk-node@4.12.2: - resolution: {integrity: sha512-7xYPsLSeGO5XoP0No/9m2dsCMezwtmiYGKOwWzt41ZzJNFlU0rfqYF3VOZEsbtQlc3ZXeU+67ItjoJYrf3kT6A==} + /@clerk/clerk-sdk-node@4.12.3: + resolution: {integrity: sha512-IchaYk1tfT+bJz6LeC+WGJlFB0y1HNQbxnPKfsZMojZgWe68cK1TDF/n5w+4FKjUiRj2vNbewDoVUZhKZrRPnw==} engines: {node: '>=14'} dependencies: - '@clerk/backend': 0.27.0 - '@clerk/types': 3.49.0 + '@clerk/backend': 0.28.0 + '@clerk/types': 3.50.0 '@types/cookies': 0.7.7 '@types/express': 4.17.14 '@types/node-fetch': 2.6.2 @@ -231,18 +237,18 @@ packages: tslib: 2.4.1 dev: false - /@clerk/nextjs@4.23.2(next@13.4.19)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-99bSVu9r1E9MxybO/6mmPAufSKq4KU7SFeMVkylX7UF8sy5t/LE9cLHyc+9jitcCGgZNai9Om4sj1WIgkNOP8w==} + /@clerk/nextjs@4.23.3(next@13.4.19)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-q8CWhPnqzG6KHII0thghQGhR/kZhEISupr0AuJDSrp7X0dpeFo0BdaBDOwD6MLe5c1wzJSr3yXGnyaxf3yj8FA==} engines: {node: '>=14'} peerDependencies: next: '>=10' react: ^17.0.2 || ^18.0.0-0 react-dom: ^17.0.2 || ^18.0.0-0 dependencies: - '@clerk/backend': 0.27.0 - '@clerk/clerk-react': 4.23.2(react@18.2.0) - '@clerk/clerk-sdk-node': 4.12.2 - '@clerk/types': 3.49.0 + '@clerk/backend': 0.28.0 + '@clerk/clerk-react': 4.24.0(react@18.2.0) + '@clerk/clerk-sdk-node': 4.12.3 + '@clerk/types': 3.50.0 next: 13.4.19(react-dom@18.2.0)(react@18.2.0) path-to-regexp: 6.2.1 react: 18.2.0 @@ -250,19 +256,19 @@ packages: tslib: 2.4.1 dev: false - /@clerk/shared@0.21.0(react@18.2.0): - resolution: {integrity: sha512-tkV2OAddFMPBHDjcMbtNNrV3NQD+hGKf2hn3TKv1mRJNZ2oR5Bfk8r0bkaqwoqxX8ndkbHLCa9gwR8SWO7GGow==} + /@clerk/shared@0.22.0(react@18.2.0): + resolution: {integrity: sha512-AHPypu9gZ3v44PRqiMA56c+YNLc2IzLaPUyiYFYU+xeH/R+wqzGp7OxZoZr/kmzgA8taiVl/bjixWgpuZwzI3A==} peerDependencies: react: '>=16' dependencies: glob-to-regexp: 0.4.1 js-cookie: 3.0.1 react: 18.2.0 - swr: 1.3.0(react@18.2.0) + swr: 2.2.0(react@18.2.0) dev: false - /@clerk/types@3.49.0: - resolution: {integrity: sha512-vAx5R/iYfsgIaIDMiDr6ZKQnAneAmRrUVYz6KCtPG6/hnEAnRYhwXpEUi89e5G0BFmuUfSxe/N/Anfc1PNteXQ==} + /@clerk/types@3.50.0: + resolution: {integrity: sha512-3TWalDWPTFToXC/W07QUIBN96TA+4dR3YLBvwr9U2Z4RVG9in9HW4CTC6aHTnJ2kVtTcgDkXjDKeVKS1GjPCcA==} engines: {node: '>=14'} dependencies: csstype: 3.1.1 @@ -280,17 +286,17 @@ packages: resolution: {integrity: sha512-ps5qF0tMxWRVu+V5gvCRrQNqlY92aTnIKdq27gm9LZMSdaKYZt6AVvSK1dlUMzs6Rt0Jm80b+eWct6xShBKhIw==} dev: true - /@esbuild-kit/core-utils@3.1.0: - resolution: {integrity: sha512-Uuk8RpCg/7fdHSceR1M6XbSZFSuMrxcePFuGgyvsBn+u339dk5OeL4jv2EojwTN2st/unJGsVm4qHWjWNmJ/tw==} + /@esbuild-kit/core-utils@3.2.2: + resolution: {integrity: sha512-Ub6LaRaAgF80dTSzUdXpFLM1pVDdmEVB9qb5iAzSpyDlX/mfJTFGOnZ516O05p5uWWteNviMKi4PAyEuRxI5gA==} dependencies: - esbuild: 0.17.19 + esbuild: 0.18.20 source-map-support: 0.5.21 dev: true /@esbuild-kit/esm-loader@2.5.5: resolution: {integrity: sha512-Qwfvj/qoPbClxCRNuac1Du01r9gvNOT+pMYtJDapfB1eoGN1YlJ1BixLyL9WVENRx5RXgNLdfYdx/CuswlGhMw==} dependencies: - '@esbuild-kit/core-utils': 3.1.0 + '@esbuild-kit/core-utils': 3.2.2 get-tsconfig: 4.7.0 dev: true @@ -303,15 +309,6 @@ packages: dev: false optional: true - /@esbuild/android-arm64@0.17.19: - resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-arm64@0.18.20: resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} engines: {node: '>=12'} @@ -330,15 +327,6 @@ packages: dev: false optional: true - /@esbuild/android-arm@0.17.19: - resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-arm@0.18.20: resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} engines: {node: '>=12'} @@ -357,15 +345,6 @@ packages: dev: false optional: true - /@esbuild/android-x64@0.17.19: - resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-x64@0.18.20: resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} engines: {node: '>=12'} @@ -384,15 +363,6 @@ packages: dev: false optional: true - /@esbuild/darwin-arm64@0.17.19: - resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-arm64@0.18.20: resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} engines: {node: '>=12'} @@ -411,15 +381,6 @@ packages: dev: false optional: true - /@esbuild/darwin-x64@0.17.19: - resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-x64@0.18.20: resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} engines: {node: '>=12'} @@ -438,15 +399,6 @@ packages: dev: false optional: true - /@esbuild/freebsd-arm64@0.17.19: - resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-arm64@0.18.20: resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} engines: {node: '>=12'} @@ -465,15 +417,6 @@ packages: dev: false optional: true - /@esbuild/freebsd-x64@0.17.19: - resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-x64@0.18.20: resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} engines: {node: '>=12'} @@ -492,15 +435,6 @@ packages: dev: false optional: true - /@esbuild/linux-arm64@0.17.19: - resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm64@0.18.20: resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} engines: {node: '>=12'} @@ -519,15 +453,6 @@ packages: dev: false optional: true - /@esbuild/linux-arm@0.17.19: - resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm@0.18.20: resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} engines: {node: '>=12'} @@ -546,15 +471,6 @@ packages: dev: false optional: true - /@esbuild/linux-ia32@0.17.19: - resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ia32@0.18.20: resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} engines: {node: '>=12'} @@ -573,15 +489,6 @@ packages: dev: false optional: true - /@esbuild/linux-loong64@0.17.19: - resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-loong64@0.18.20: resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} engines: {node: '>=12'} @@ -600,15 +507,6 @@ packages: dev: false optional: true - /@esbuild/linux-mips64el@0.17.19: - resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-mips64el@0.18.20: resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} engines: {node: '>=12'} @@ -627,15 +525,6 @@ packages: dev: false optional: true - /@esbuild/linux-ppc64@0.17.19: - resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ppc64@0.18.20: resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} engines: {node: '>=12'} @@ -654,15 +543,6 @@ packages: dev: false optional: true - /@esbuild/linux-riscv64@0.17.19: - resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-riscv64@0.18.20: resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} engines: {node: '>=12'} @@ -681,15 +561,6 @@ packages: dev: false optional: true - /@esbuild/linux-s390x@0.17.19: - resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-s390x@0.18.20: resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} engines: {node: '>=12'} @@ -708,15 +579,6 @@ packages: dev: false optional: true - /@esbuild/linux-x64@0.17.19: - resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-x64@0.18.20: resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} engines: {node: '>=12'} @@ -735,15 +597,6 @@ packages: dev: false optional: true - /@esbuild/netbsd-x64@0.17.19: - resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/netbsd-x64@0.18.20: resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} engines: {node: '>=12'} @@ -762,15 +615,6 @@ packages: dev: false optional: true - /@esbuild/openbsd-x64@0.17.19: - resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/openbsd-x64@0.18.20: resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} engines: {node: '>=12'} @@ -789,15 +633,6 @@ packages: dev: false optional: true - /@esbuild/sunos-x64@0.17.19: - resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: true - optional: true - /@esbuild/sunos-x64@0.18.20: resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} engines: {node: '>=12'} @@ -816,15 +651,6 @@ packages: dev: false optional: true - /@esbuild/win32-arm64@0.17.19: - resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-arm64@0.18.20: resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} engines: {node: '>=12'} @@ -843,15 +669,6 @@ packages: dev: false optional: true - /@esbuild/win32-ia32@0.17.19: - resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-ia32@0.18.20: resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} engines: {node: '>=12'} @@ -870,15 +687,6 @@ packages: dev: false optional: true - /@esbuild/win32-x64@0.17.19: - resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-x64@0.18.20: resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} engines: {node: '>=12'} @@ -888,18 +696,18 @@ packages: dev: true optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.47.0): + /@eslint-community/eslint-utils@4.4.0(eslint@8.48.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.47.0 + eslint: 8.48.0 eslint-visitor-keys: 3.4.3 dev: true - /@eslint-community/regexpp@4.7.0: - resolution: {integrity: sha512-+HencqxU7CFJnQb7IKtuNBqS6Yx3Tz4kOL8BJXo+JyeiBm5MEX6pO8onXDkjrkCRlfYXS1Axro15ZjVFe9YgsA==} + /@eslint-community/regexpp@4.8.0: + resolution: {integrity: sha512-JylOEEzDiOryeUnFbQz+oViCXS0KsvR1mvHkoMiu5+UiBvy+RYX7tzlIIIEstF/gVa2tj9AQXk3dgnxv6KxhFg==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: true @@ -920,8 +728,8 @@ packages: - supports-color dev: true - /@eslint/js@8.47.0: - resolution: {integrity: sha512-P6omY1zv5MItm93kLM8s2vr1HICJH8v0dvddDhysbIuZ+vcjOHg5Zbkf1mTkcmi2JA9oBG2anOkRnW8WJTS8Og==} + /@eslint/js@8.48.0: + resolution: {integrity: sha512-ZSjtmelB7IJfWD2Fvb7+Z+ChTIKWq6kjda95fLcQKNS5aheVHn4IkfgRQE3sIIzTcSLwLcLZUD9UBt+V7+h+Pw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true @@ -1560,7 +1368,7 @@ packages: resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==} dependencies: '@types/connect': 3.4.35 - '@types/node': 20.5.6 + '@types/node': 20.5.7 dev: false /@types/cacheable-request@6.0.3: @@ -1568,14 +1376,14 @@ packages: dependencies: '@types/http-cache-semantics': 4.0.1 '@types/keyv': 3.1.4 - '@types/node': 20.5.6 + '@types/node': 20.5.7 '@types/responselike': 1.0.0 dev: false /@types/connect@3.4.35: resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} dependencies: - '@types/node': 20.5.6 + '@types/node': 20.5.7 dev: false /@types/cookies@0.7.7: @@ -1584,7 +1392,7 @@ packages: '@types/connect': 3.4.35 '@types/express': 4.17.14 '@types/keygrip': 1.0.2 - '@types/node': 20.5.6 + '@types/node': 20.5.7 dev: false /@types/eslint@8.44.2: @@ -1601,7 +1409,7 @@ packages: /@types/express-serve-static-core@4.17.36: resolution: {integrity: sha512-zbivROJ0ZqLAtMzgzIUC4oNqDG9iF0lSsAqpOD9kbs5xcIM3dTiyuHvBc7R8MtWBp3AAWGaovJa+wzWPjLYW7Q==} dependencies: - '@types/node': 20.5.6 + '@types/node': 20.5.7 '@types/qs': 6.9.7 '@types/range-parser': 1.2.4 '@types/send': 0.17.1 @@ -1631,7 +1439,7 @@ packages: /@types/json2csv@5.0.3: resolution: {integrity: sha512-ZJEv6SzhPhgpBpxZU4n/TZekbZqI4EcyXXRwms1lAITG2kIAtj85PfNYafUOY1zy8bWs5ujaub0GU4copaA0sw==} dependencies: - '@types/node': 20.5.6 + '@types/node': 20.5.7 dev: true /@types/json5@0.0.29: @@ -1645,7 +1453,7 @@ packages: /@types/keyv@3.1.4: resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} dependencies: - '@types/node': 20.5.6 + '@types/node': 20.5.7 dev: false /@types/mime@1.3.2: @@ -1659,7 +1467,7 @@ packages: /@types/node-fetch@2.6.2: resolution: {integrity: sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A==} dependencies: - '@types/node': 20.5.6 + '@types/node': 20.5.7 form-data: 3.0.1 dev: false @@ -1671,8 +1479,8 @@ packages: resolution: {integrity: sha512-vmYJF0REqDyyU0gviezF/KHq/fYaUbFhkcNbQCuPGFQj6VTbXuHZoxs/Y7mutWe73C8AC6l9fFu8mSYiBAqkGA==} dev: false - /@types/node@20.5.6: - resolution: {integrity: sha512-Gi5wRGPbbyOTX+4Y2iULQ27oUPrefaB0PxGQJnfyWN3kvEDGM3mIB5M/gQLmitZf7A9FmLeaqxD3L1CXpm3VKQ==} + /@types/node@20.5.7: + resolution: {integrity: sha512-dP7f3LdZIysZnmvP3ANJYTSwg+wLLl8p7RqniVlV7j+oXSXAbt9h0WIBFmJy5inWZoX9wZN6eXx+YXd9Rh3RBA==} /@types/normalize-package-data@2.4.1: resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} @@ -1681,7 +1489,7 @@ packages: /@types/pg@8.6.6: resolution: {integrity: sha512-O2xNmXebtwVekJDD+02udOncjVcMZQuTEQEMpKJ0ZRf5E7/9JJX3izhKUcUifBkyKpljyUM6BTgy2trmviKlpw==} dependencies: - '@types/node': 20.5.6 + '@types/node': 20.5.7 pg-protocol: 1.6.0 pg-types: 2.2.0 dev: false @@ -1709,22 +1517,22 @@ packages: /@types/responselike@1.0.0: resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} dependencies: - '@types/node': 20.5.6 + '@types/node': 20.5.7 dev: false /@types/scheduler@0.16.3: resolution: {integrity: sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==} dev: true - /@types/semver@7.5.0: - resolution: {integrity: sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==} + /@types/semver@7.5.1: + resolution: {integrity: sha512-cJRQXpObxfNKkFAZbJl2yjWtJCqELQIdShsogr1d2MilP8dKD9TE/nEKHkJgUNHdGKCQaf9HbIynuV2csLGVLg==} dev: true /@types/send@0.17.1: resolution: {integrity: sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==} dependencies: '@types/mime': 1.3.2 - '@types/node': 20.5.6 + '@types/node': 20.5.7 dev: false /@types/serve-static@1.15.2: @@ -1732,10 +1540,10 @@ packages: dependencies: '@types/http-errors': 2.0.1 '@types/mime': 3.0.1 - '@types/node': 20.5.6 + '@types/node': 20.5.7 dev: false - /@typescript-eslint/eslint-plugin@6.4.1(@typescript-eslint/parser@6.4.1)(eslint@8.47.0)(typescript@5.2.2): + /@typescript-eslint/eslint-plugin@6.4.1(@typescript-eslint/parser@6.4.1)(eslint@8.48.0)(typescript@5.2.2): resolution: {integrity: sha512-3F5PtBzUW0dYlq77Lcqo13fv+58KDwUib3BddilE8ajPJT+faGgxmI9Sw+I8ZS22BYwoir9ZhNXcLi+S+I2bkw==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -1746,14 +1554,14 @@ packages: typescript: optional: true dependencies: - '@eslint-community/regexpp': 4.7.0 - '@typescript-eslint/parser': 6.4.1(eslint@8.47.0)(typescript@5.2.2) + '@eslint-community/regexpp': 4.8.0 + '@typescript-eslint/parser': 6.4.1(eslint@8.48.0)(typescript@5.2.2) '@typescript-eslint/scope-manager': 6.4.1 - '@typescript-eslint/type-utils': 6.4.1(eslint@8.47.0)(typescript@5.2.2) - '@typescript-eslint/utils': 6.4.1(eslint@8.47.0)(typescript@5.2.2) + '@typescript-eslint/type-utils': 6.4.1(eslint@8.48.0)(typescript@5.2.2) + '@typescript-eslint/utils': 6.4.1(eslint@8.48.0)(typescript@5.2.2) '@typescript-eslint/visitor-keys': 6.4.1 debug: 4.3.4 - eslint: 8.47.0 + eslint: 8.48.0 graphemer: 1.4.0 ignore: 5.2.4 natural-compare: 1.4.0 @@ -1764,7 +1572,7 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@6.4.1(eslint@8.47.0)(typescript@5.2.2): + /@typescript-eslint/parser@6.4.1(eslint@8.48.0)(typescript@5.2.2): resolution: {integrity: sha512-610G6KHymg9V7EqOaNBMtD1GgpAmGROsmfHJPXNLCU9bfIuLrkdOygltK784F6Crboyd5tBFayPB7Sf0McrQwg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -1779,7 +1587,7 @@ packages: '@typescript-eslint/typescript-estree': 6.4.1(typescript@5.2.2) '@typescript-eslint/visitor-keys': 6.4.1 debug: 4.3.4 - eslint: 8.47.0 + eslint: 8.48.0 typescript: 5.2.2 transitivePeerDependencies: - supports-color @@ -1793,7 +1601,7 @@ packages: '@typescript-eslint/visitor-keys': 6.4.1 dev: true - /@typescript-eslint/type-utils@6.4.1(eslint@8.47.0)(typescript@5.2.2): + /@typescript-eslint/type-utils@6.4.1(eslint@8.48.0)(typescript@5.2.2): resolution: {integrity: sha512-7ON8M8NXh73SGZ5XvIqWHjgX2f+vvaOarNliGhjrJnv1vdjG0LVIz+ToYfPirOoBi56jxAKLfsLm40+RvxVVXA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: @@ -1804,9 +1612,9 @@ packages: optional: true dependencies: '@typescript-eslint/typescript-estree': 6.4.1(typescript@5.2.2) - '@typescript-eslint/utils': 6.4.1(eslint@8.47.0)(typescript@5.2.2) + '@typescript-eslint/utils': 6.4.1(eslint@8.48.0)(typescript@5.2.2) debug: 4.3.4 - eslint: 8.47.0 + eslint: 8.48.0 ts-api-utils: 1.0.2(typescript@5.2.2) typescript: 5.2.2 transitivePeerDependencies: @@ -1839,19 +1647,19 @@ packages: - supports-color dev: true - /@typescript-eslint/utils@6.4.1(eslint@8.47.0)(typescript@5.2.2): + /@typescript-eslint/utils@6.4.1(eslint@8.48.0)(typescript@5.2.2): resolution: {integrity: sha512-F/6r2RieNeorU0zhqZNv89s9bDZSovv3bZQpUNOmmQK1L80/cV4KEu95YUJWi75u5PhboFoKUJBnZ4FQcoqhDw==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.47.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.48.0) '@types/json-schema': 7.0.12 - '@types/semver': 7.5.0 + '@types/semver': 7.5.1 '@typescript-eslint/scope-manager': 6.4.1 '@typescript-eslint/types': 6.4.1 '@typescript-eslint/typescript-estree': 6.4.1(typescript@5.2.2) - eslint: 8.47.0 + eslint: 8.48.0 semver: 7.5.4 transitivePeerDependencies: - supports-color @@ -1866,8 +1674,8 @@ packages: eslint-visitor-keys: 3.4.3 dev: true - /@unkey/api@0.6.16: - resolution: {integrity: sha512-NaJDb9t5YwM9K/yaelMlrdIOuPbiUEkIbEoBGp4WidkHhagMpVWg1eAtWpuSHe3QWjd4+LzMLpnNjS4he6jYow==} + /@unkey/api@0.6.19: + resolution: {integrity: sha512-urvBacJxJL4+VOZPOW3jE7wdoAqDzaPwwAOoNWNbWmerVNnr/xZMEYnFWpufqvLTrqnYavBtfYxBKzJ+B6PtVQ==} dev: false /@upstash/core-analytics@0.0.6: @@ -1899,13 +1707,13 @@ packages: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} dev: false - /ably@1.2.43: + /ably@1.2.43(bufferutil@4.0.7)(utf-8-validate@5.0.2): resolution: {integrity: sha512-HZ99Nd98KzYToNUD4+ysHp4+vMp1NmYTi59yqGpejHo/VffTgg0pereoib0nRRAHYUhGUGys5HGwR5yHYESWDA==} engines: {node: '>=5.10.x'} dependencies: '@ably/msgpack-js': 0.4.0 got: 11.8.6 - ws: 5.2.3 + ws: 5.2.3(bufferutil@4.0.7)(utf-8-validate@5.0.2) transitivePeerDependencies: - bufferutil - utf-8-validate @@ -2110,7 +1918,7 @@ packages: postcss: ^8.1.0 dependencies: browserslist: 4.21.10 - caniuse-lite: 1.0.30001522 + caniuse-lite: 1.0.30001524 fraction.js: 4.2.1 normalize-range: 0.1.2 picocolors: 1.0.0 @@ -2211,8 +2019,8 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001522 - electron-to-chromium: 1.4.501 + caniuse-lite: 1.0.30001524 + electron-to-chromium: 1.4.503 node-releases: 2.0.13 update-browserslist-db: 1.0.11(browserslist@4.21.10) dev: false @@ -2242,6 +2050,13 @@ packages: engines: {node: '>=0.2.0'} dev: false + /bufferutil@4.0.7: + resolution: {integrity: sha512-kukuqc39WOHtdxtw4UScxF/WVnMFVSQVKhtx3AjZJzhd0RGZZldcrfSEbVsWWe6KNH253574cq5F+wpv0G9pJw==} + engines: {node: '>=6.14.2'} + requiresBuild: true + dependencies: + node-gyp-build: 4.6.1 + /busboy@1.6.0: resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} engines: {node: '>=10.16.0'} @@ -2302,8 +2117,8 @@ packages: engines: {node: '>=14.16'} dev: true - /caniuse-lite@1.0.30001522: - resolution: {integrity: sha512-TKiyTVZxJGhsTszLuzb+6vUZSjVOAhClszBr2Ta2k9IwtNBT/4dzmL6aywt0HCgEZlmwJzXJd8yNiob6HgwTRg==} + /caniuse-lite@1.0.30001524: + resolution: {integrity: sha512-Jj917pJtYg9HSJBF95HVX3Cdr89JUyLT4IZ8SvM5aDRni95swKgYi3TgYLH5hnGfPE/U1dg6IfZ50UsIlLkwSA==} dev: false /chainsaw@0.1.0: @@ -2542,8 +2357,8 @@ packages: type: 1.2.0 dev: true - /daisyui@3.6.1: - resolution: {integrity: sha512-H330IdmNoQy0i6ImktBIvIVsyYujl1N2R73rDiWFjgIGPzXIFRMFh2PcmErcSzpLJmZ28jPMEwQJEJaNp6uN5g==} + /daisyui@3.6.3: + resolution: {integrity: sha512-VNWogAjx37H8kNYd2E/+r1OXc6dOvJTKlKltqIKAlNMFVfx2BIKPcmnVxaHQLfj2vhv1mYDBjgWj+1enQ+4yZA==} engines: {node: '>=16.9.0'} dependencies: colord: 2.9.3 @@ -2848,8 +2663,8 @@ packages: semver: 7.5.4 dev: false - /electron-to-chromium@1.4.501: - resolution: {integrity: sha512-NCF5hZUg73MEP0guvIM+BjPs9W07UeAuc5XCNqRZZTKJxLjE0ZS/Zo5UsV8bbs2y/jeKRPFPzdWdBfOGEZTXKg==} + /electron-to-chromium@1.4.503: + resolution: {integrity: sha512-LF2IQit4B0VrUHFeQkWhZm97KuJSGF2WJqq1InpY+ECpFRkXd8yTIaTtJxsO0OKDmiBYwWqcrNaXOurn2T2wiA==} dev: false /emoji-regex@9.2.2: @@ -2926,8 +2741,8 @@ packages: which-typed-array: 1.1.11 dev: true - /es-iterator-helpers@1.0.13: - resolution: {integrity: sha512-LK3VGwzvaPWobO8xzXXGRUOGw8Dcjyfk62CsY/wfHN75CwsJPbuypOYJxK6g5RyEL8YDjIWcl6jgd8foO6mmrA==} + /es-iterator-helpers@1.0.14: + resolution: {integrity: sha512-JgtVnwiuoRuzLvqelrvN3Xu7H9bu2ap/kQ2CrM62iidP8SKuD99rWU3CJy++s7IVL2qb/AjXPGR/E7i9ngd/Cw==} dependencies: asynciterator.prototype: 1.0.0 call-bind: 1.0.2 @@ -3044,36 +2859,6 @@ packages: '@esbuild/win32-x64': 0.16.4 dev: false - /esbuild@0.17.19: - resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/android-arm': 0.17.19 - '@esbuild/android-arm64': 0.17.19 - '@esbuild/android-x64': 0.17.19 - '@esbuild/darwin-arm64': 0.17.19 - '@esbuild/darwin-x64': 0.17.19 - '@esbuild/freebsd-arm64': 0.17.19 - '@esbuild/freebsd-x64': 0.17.19 - '@esbuild/linux-arm': 0.17.19 - '@esbuild/linux-arm64': 0.17.19 - '@esbuild/linux-ia32': 0.17.19 - '@esbuild/linux-loong64': 0.17.19 - '@esbuild/linux-mips64el': 0.17.19 - '@esbuild/linux-ppc64': 0.17.19 - '@esbuild/linux-riscv64': 0.17.19 - '@esbuild/linux-s390x': 0.17.19 - '@esbuild/linux-x64': 0.17.19 - '@esbuild/netbsd-x64': 0.17.19 - '@esbuild/openbsd-x64': 0.17.19 - '@esbuild/sunos-x64': 0.17.19 - '@esbuild/win32-arm64': 0.17.19 - '@esbuild/win32-ia32': 0.17.19 - '@esbuild/win32-x64': 0.17.19 - dev: true - /esbuild@0.18.20: resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} engines: {node: '>=12'} @@ -3119,7 +2904,7 @@ packages: engines: {node: '>=10'} dev: true - /eslint-config-next@13.4.19(eslint@8.47.0)(typescript@5.2.2): + /eslint-config-next@13.4.19(eslint@8.48.0)(typescript@5.2.2): resolution: {integrity: sha512-WE8367sqMnjhWHvR5OivmfwENRQ1ixfNE9hZwQqNCsd+iM3KnuMc1V8Pt6ytgjxjf23D+xbesADv9x3xaKfT3g==} peerDependencies: eslint: ^7.23.0 || ^8.0.0 @@ -3130,14 +2915,14 @@ packages: dependencies: '@next/eslint-plugin-next': 13.4.19 '@rushstack/eslint-patch': 1.3.3 - '@typescript-eslint/parser': 6.4.1(eslint@8.47.0)(typescript@5.2.2) - eslint: 8.47.0 + '@typescript-eslint/parser': 6.4.1(eslint@8.48.0)(typescript@5.2.2) + eslint: 8.48.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.0(@typescript-eslint/parser@6.4.1)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.28.1)(eslint@8.47.0) - eslint-plugin-import: 2.28.1(@typescript-eslint/parser@6.4.1)(eslint-import-resolver-typescript@3.6.0)(eslint@8.47.0) - eslint-plugin-jsx-a11y: 6.7.1(eslint@8.47.0) - eslint-plugin-react: 7.33.2(eslint@8.47.0) - eslint-plugin-react-hooks: 4.6.0(eslint@8.47.0) + eslint-import-resolver-typescript: 3.6.0(@typescript-eslint/parser@6.4.1)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.28.1)(eslint@8.48.0) + eslint-plugin-import: 2.28.1(@typescript-eslint/parser@6.4.1)(eslint-import-resolver-typescript@3.6.0)(eslint@8.48.0) + eslint-plugin-jsx-a11y: 6.7.1(eslint@8.48.0) + eslint-plugin-react: 7.33.2(eslint@8.48.0) + eslint-plugin-react-hooks: 4.6.0(eslint@8.48.0) typescript: 5.2.2 transitivePeerDependencies: - eslint-import-resolver-webpack @@ -3154,7 +2939,7 @@ packages: - supports-color dev: true - /eslint-import-resolver-typescript@3.6.0(@typescript-eslint/parser@6.4.1)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.28.1)(eslint@8.47.0): + /eslint-import-resolver-typescript@3.6.0(@typescript-eslint/parser@6.4.1)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.28.1)(eslint@8.48.0): resolution: {integrity: sha512-QTHR9ddNnn35RTxlaEnx2gCxqFlF2SEN0SE2d17SqwyM7YOSI2GHWRYp5BiRkObTUNYPupC/3Fq2a0PpT+EKpg==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -3163,9 +2948,9 @@ packages: dependencies: debug: 4.3.4 enhanced-resolve: 5.15.0 - eslint: 8.47.0 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.4.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.0)(eslint@8.47.0) - eslint-plugin-import: 2.28.1(@typescript-eslint/parser@6.4.1)(eslint-import-resolver-typescript@3.6.0)(eslint@8.47.0) + eslint: 8.48.0 + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.4.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.0)(eslint@8.48.0) + eslint-plugin-import: 2.28.1(@typescript-eslint/parser@6.4.1)(eslint-import-resolver-typescript@3.6.0)(eslint@8.48.0) fast-glob: 3.3.1 get-tsconfig: 4.7.0 is-core-module: 2.13.0 @@ -3177,7 +2962,7 @@ packages: - supports-color dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.4.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.0)(eslint@8.47.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.4.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.0)(eslint@8.48.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -3198,16 +2983,16 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 6.4.1(eslint@8.47.0)(typescript@5.2.2) + '@typescript-eslint/parser': 6.4.1(eslint@8.48.0)(typescript@5.2.2) debug: 3.2.7 - eslint: 8.47.0 + eslint: 8.48.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.0(@typescript-eslint/parser@6.4.1)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.28.1)(eslint@8.47.0) + eslint-import-resolver-typescript: 3.6.0(@typescript-eslint/parser@6.4.1)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.28.1)(eslint@8.48.0) transitivePeerDependencies: - supports-color dev: true - /eslint-plugin-import@2.28.1(@typescript-eslint/parser@6.4.1)(eslint-import-resolver-typescript@3.6.0)(eslint@8.47.0): + /eslint-plugin-import@2.28.1(@typescript-eslint/parser@6.4.1)(eslint-import-resolver-typescript@3.6.0)(eslint@8.48.0): resolution: {integrity: sha512-9I9hFlITvOV55alzoKBI+K9q74kv0iKMeY6av5+umsNwayt59fz692daGyjR+oStBQgx6nwR9rXldDev3Clw+A==} engines: {node: '>=4'} peerDependencies: @@ -3217,23 +3002,23 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 6.4.1(eslint@8.47.0)(typescript@5.2.2) + '@typescript-eslint/parser': 6.4.1(eslint@8.48.0)(typescript@5.2.2) array-includes: 3.1.6 array.prototype.findlastindex: 1.2.2 array.prototype.flat: 1.3.1 array.prototype.flatmap: 1.3.1 debug: 3.2.7 doctrine: 2.1.0 - eslint: 8.47.0 + eslint: 8.48.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.4.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.0)(eslint@8.47.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.4.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.0)(eslint@8.48.0) has: 1.0.3 is-core-module: 2.13.0 is-glob: 4.0.3 minimatch: 3.1.2 object.fromentries: 2.0.6 object.groupby: 1.0.0 - object.values: 1.1.6 + object.values: 1.1.7 semver: 6.3.1 tsconfig-paths: 3.14.2 transitivePeerDependencies: @@ -3242,7 +3027,7 @@ packages: - supports-color dev: true - /eslint-plugin-jsx-a11y@6.7.1(eslint@8.47.0): + /eslint-plugin-jsx-a11y@6.7.1(eslint@8.48.0): resolution: {integrity: sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==} engines: {node: '>=4.0'} peerDependencies: @@ -3257,26 +3042,26 @@ packages: axobject-query: 3.2.1 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 - eslint: 8.47.0 + eslint: 8.48.0 has: 1.0.3 jsx-ast-utils: 3.3.5 language-tags: 1.0.5 minimatch: 3.1.2 - object.entries: 1.1.6 + object.entries: 1.1.7 object.fromentries: 2.0.6 semver: 6.3.1 dev: true - /eslint-plugin-react-hooks@4.6.0(eslint@8.47.0): + /eslint-plugin-react-hooks@4.6.0(eslint@8.48.0): resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} engines: {node: '>=10'} peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 dependencies: - eslint: 8.47.0 + eslint: 8.48.0 dev: true - /eslint-plugin-react@7.33.2(eslint@8.47.0): + /eslint-plugin-react@7.33.2(eslint@8.48.0): resolution: {integrity: sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==} engines: {node: '>=4'} peerDependencies: @@ -3286,15 +3071,15 @@ packages: array.prototype.flatmap: 1.3.1 array.prototype.tosorted: 1.1.1 doctrine: 2.1.0 - es-iterator-helpers: 1.0.13 - eslint: 8.47.0 + es-iterator-helpers: 1.0.14 + eslint: 8.48.0 estraverse: 5.3.0 jsx-ast-utils: 3.3.5 minimatch: 3.1.2 - object.entries: 1.1.6 + object.entries: 1.1.7 object.fromentries: 2.0.6 object.hasown: 1.1.2 - object.values: 1.1.6 + object.values: 1.1.7 prop-types: 15.8.1 resolve: 2.0.0-next.4 semver: 6.3.1 @@ -3314,15 +3099,15 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint@8.47.0: - resolution: {integrity: sha512-spUQWrdPt+pRVP1TTJLmfRNJJHHZryFmptzcafwSvHsceV81djHOdnEeDmkdotZyLNjDhrOasNK8nikkoG1O8Q==} + /eslint@8.48.0: + resolution: {integrity: sha512-sb6DLeIuRXxeM1YljSe1KEx9/YYeZFQWcV8Rq9HfigmdDEugjLEVEa1ozDjL6YDjBpQHPJxJzze+alxi4T3OLg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.47.0) - '@eslint-community/regexpp': 4.7.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.48.0) + '@eslint-community/regexpp': 4.8.0 '@eslint/eslintrc': 2.1.2 - '@eslint/js': 8.47.0 + '@eslint/js': 8.48.0 '@humanwhocodes/config-array': 0.11.10 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 @@ -3490,7 +3275,7 @@ packages: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: - flat-cache: 3.0.4 + flat-cache: 3.1.0 dev: true /fill-range@7.0.1: @@ -3515,11 +3300,12 @@ packages: path-exists: 4.0.0 dev: true - /flat-cache@3.0.4: - resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} - engines: {node: ^10.12.0 || >=12.0.0} + /flat-cache@3.1.0: + resolution: {integrity: sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew==} + engines: {node: '>=12.0.0'} dependencies: flatted: 3.2.7 + keyv: 4.5.3 rimraf: 3.0.2 dev: true @@ -4224,7 +4010,6 @@ packages: /json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} - dev: false /json-diff@0.9.0: resolution: {integrity: sha512-cVnggDrVkAAA3OvFfHpFEhOnmcsUpleEKq4d4O8sQWWSH40MBrWstKigVB1kGrgLWzuom+7rRdaCsnBD6VyObQ==} @@ -4285,14 +4070,13 @@ packages: array-includes: 3.1.6 array.prototype.flat: 1.3.1 object.assign: 4.1.4 - object.values: 1.1.6 + object.values: 1.1.7 dev: true /keyv@4.5.3: resolution: {integrity: sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==} dependencies: json-buffer: 3.0.1 - dev: false /kind-of@3.2.2: resolution: {integrity: sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==} @@ -4547,7 +4331,7 @@ packages: '@next/env': 13.4.19 '@swc/helpers': 0.5.1 busboy: 1.6.0 - caniuse-lite: 1.0.30001522 + caniuse-lite: 1.0.30001524 postcss: 8.4.14 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -4600,18 +4384,6 @@ packages: resolution: {integrity: sha512-VzW+TAk2wE4X9maiKMlT+GsPU4OMmR1U9CrHSmd3DFLn2IcZ9VJ6M6BBugGfYUnPCLSYxXdZy17M0BEJyhUTwg==} dev: false - /node-fetch@2.6.12: - resolution: {integrity: sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - dependencies: - whatwg-url: 5.0.0 - dev: false - /node-fetch@2.7.0: resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} engines: {node: 4.x || >=6.0.0} @@ -4624,6 +4396,14 @@ packages: whatwg-url: 5.0.0 dev: false + /node-gyp-build@3.7.0: + resolution: {integrity: sha512-L/Eg02Epx6Si2NXmedx+Okg+4UHqmaf3TNcxd50SF9NQGcJaON3AtU++kax69XV7YWz4tUspqZSAsVofhFKG2w==} + hasBin: true + + /node-gyp-build@4.6.1: + resolution: {integrity: sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==} + hasBin: true + /node-releases@2.0.13: resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==} dev: false @@ -4693,8 +4473,8 @@ packages: object-keys: 1.1.1 dev: true - /object.entries@1.1.6: - resolution: {integrity: sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==} + /object.entries@1.1.7: + resolution: {integrity: sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 @@ -4727,8 +4507,8 @@ packages: es-abstract: 1.22.1 dev: true - /object.values@1.1.6: - resolution: {integrity: sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==} + /object.values@1.1.7: + resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.2 @@ -5030,7 +4810,7 @@ packages: dependencies: lilconfig: 2.1.0 postcss: 8.4.28 - yaml: 2.3.1 + yaml: 2.3.2 dev: true /postcss-nested@6.0.0(postcss@8.4.21): @@ -5360,17 +5140,6 @@ packages: functions-have-names: 1.2.3 dev: true - /resend@1.0.0: - resolution: {integrity: sha512-8LEE4gncmcm8bsvxvahZFpFk5hxUrKdagqWoX/MRXVU2YZ9coYxqZDeDYXG9pexz1A694bjE1hiQbBAA+bHAow==} - engines: {node: '>=16'} - dependencies: - '@react-email/render': 0.0.7 - node-fetch: 2.6.12 - type-fest: 3.13.0 - transitivePeerDependencies: - - encoding - dev: false - /resolve-alpn@1.2.1: resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} dev: false @@ -5794,12 +5563,13 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - /swr@1.3.0(react@18.2.0): - resolution: {integrity: sha512-dkghQrOl2ORX9HYrMDtPa7LTVHJjCTeZoB1dqTbnnEDlSvN8JEKpYIYurDfvbQFUUS8Cg8PceFVZNkW0KNNYPw==} + /swr@2.2.0(react@18.2.0): + resolution: {integrity: sha512-AjqHOv2lAhkuUdIiBu9xbuettzAzWXmCEcLONNKJRba87WAefz8Ca9d6ds/SzrPc235n1IxWYdhJ2zF3MNUaoQ==} peerDependencies: react: ^16.11.0 || ^17.0.0 || ^18.0.0 dependencies: react: 18.2.0 + use-sync-external-store: 1.2.0(react@18.2.0) dev: false /tailwindcss@3.2.7(postcss@8.4.21): @@ -6044,11 +5814,6 @@ packages: engines: {node: '>=12.20'} dev: false - /type-fest@3.13.0: - resolution: {integrity: sha512-Gur3yQGM9qiLNs0KPP7LPgeRbio2QTt4xXouobMCarR0/wyW3F+F/+OWwshg3NG0Adon7uQfSZBpB46NfhoF1A==} - engines: {node: '>=14.16'} - dev: false - /type@1.2.0: resolution: {integrity: sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==} dev: true @@ -6164,6 +5929,12 @@ packages: react: 18.2.0 dev: false + /utf-8-validate@5.0.2: + resolution: {integrity: sha512-SwV++i2gTD5qh2XqaPzBnNX88N6HdyhQrNNRykvcS0QKvItV9u3vPEJr+X5Hhfb1JC0r0e1alL0iB09rY8+nmw==} + requiresBuild: true + dependencies: + node-gyp-build: 3.7.0 + /util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} @@ -6280,7 +6051,7 @@ packages: /wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - /ws@5.2.3: + /ws@5.2.3(bufferutil@4.0.7)(utf-8-validate@5.0.2): resolution: {integrity: sha512-jZArVERrMsKUatIdnLzqvcfydI85dvd/Fp1u/VOpfdDWQ4c9qWXe+VIeAbQ5FrDwciAkr+lzofXLz3Kuf26AOA==} peerDependencies: bufferutil: ^4.0.1 @@ -6292,8 +6063,26 @@ packages: optional: true dependencies: async-limiter: 1.0.1 + bufferutil: 4.0.7 + utf-8-validate: 5.0.2 dev: false + /ws@8.13.0(bufferutil@4.0.7)(utf-8-validate@5.0.2): + resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + dependencies: + bufferutil: 4.0.7 + utf-8-validate: 5.0.2 + dev: true + /xtend@4.0.2: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} engines: {node: '>=0.4'} @@ -6306,8 +6095,8 @@ packages: engines: {node: '>= 6'} dev: false - /yaml@2.3.1: - resolution: {integrity: sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==} + /yaml@2.3.2: + resolution: {integrity: sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg==} engines: {node: '>= 14'} dev: true diff --git a/public/android-chrome-192x192.png b/public/android-chrome-192x192.png deleted file mode 100644 index 31cf7a0..0000000 Binary files a/public/android-chrome-192x192.png and /dev/null differ diff --git a/public/android-chrome-512x512.png b/public/android-chrome-512x512.png deleted file mode 100644 index 358f7c0..0000000 Binary files a/public/android-chrome-512x512.png and /dev/null differ diff --git a/public/browserconfig.xml b/public/browserconfig.xml deleted file mode 100644 index 0e42c05..0000000 --- a/public/browserconfig.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - #1f2937 - - - diff --git a/public/favicon-16x16.png b/public/favicon-16x16.png deleted file mode 100644 index 0773569..0000000 Binary files a/public/favicon-16x16.png and /dev/null differ diff --git a/public/favicon-32x32.png b/public/favicon-32x32.png deleted file mode 100644 index 938cb8c..0000000 Binary files a/public/favicon-32x32.png and /dev/null differ diff --git a/public/manifest.json b/public/manifest.json deleted file mode 100644 index 0baa3cf..0000000 --- a/public/manifest.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "Sprint Padawan", - "short_name": "Sprint Padawan", - "icons": [ - { - "src": "/android-chrome-192x192.png", - "sizes": "192x192", - "type": "image/png", - "purpose": "any maskable" - }, - { - "src": "/android-chrome-512x512.png", - "sizes": "512x512", - "type": "image/png" - }, - { - "src": "/icons/icon-512x512.png", - "sizes": "512x512", - "type": "image/png" - } - ], - "theme_color": "#1F2937", - "background_color": "#1F2937", - "start_url": "/", - "display": "standalone", - "orientation": "portrait" -} diff --git a/public/mstile-150x150.png b/public/mstile-150x150.png deleted file mode 100644 index c776ccf..0000000 Binary files a/public/mstile-150x150.png and /dev/null differ diff --git a/public/safari-pinned-tab.svg b/public/safari-pinned-tab.svg deleted file mode 100644 index edfe35a..0000000 --- a/public/safari-pinned-tab.svg +++ /dev/null @@ -1,24 +0,0 @@ - - - - -Created by potrace 1.14, written by Peter Selinger 2001-2017 - - - - - diff --git a/public/site.webmanifest b/public/site.webmanifest deleted file mode 100644 index f1455a7..0000000 --- a/public/site.webmanifest +++ /dev/null @@ -1,19 +0,0 @@ -{ - "name": "Sprint Padawan", - "short_name": "Sprint Padawan", - "icons": [ - { - "src": "/android-chrome-192x192.png", - "sizes": "192x192", - "type": "image/png" - }, - { - "src": "/android-chrome-512x512.png", - "sizes": "512x512", - "type": "image/png" - } - ], - "theme_color": "#1f2937", - "background_color": "#1f2937", - "display": "standalone" -} diff --git a/src/components/Footer.tsx b/src/app/_components/Footer.tsx similarity index 93% rename from src/components/Footer.tsx rename to src/app/_components/Footer.tsx index 03d153e..ed59472 100644 --- a/src/components/Footer.tsx +++ b/src/app/_components/Footer.tsx @@ -1,5 +1,7 @@ +"use client"; + import { GiTechnoHeart } from "react-icons/gi"; -import packagejson from "../../package.json"; +import packagejson from "../../../package.json"; const Footer = () => { return ( diff --git a/src/components/Navbar.tsx b/src/app/_components/Navbar.tsx similarity index 91% rename from src/components/Navbar.tsx rename to src/app/_components/Navbar.tsx index 8524ddb..1efac23 100644 --- a/src/components/Navbar.tsx +++ b/src/app/_components/Navbar.tsx @@ -1,7 +1,9 @@ +"use client"; + import { UserButton, useUser } from "@clerk/nextjs"; import Image from "next/image"; import Link from "next/link"; -import { useRouter } from "next/router"; +import { useRouter, usePathname } from "next/navigation"; import { env } from "~/env.mjs"; interface NavbarProps { @@ -11,9 +13,10 @@ interface NavbarProps { const Navbar = ({ title }: NavbarProps) => { const { isLoaded, isSignedIn } = useUser(); const router = useRouter(); + const pathname = usePathname(); const navigationMenu = () => { - if (router.pathname !== "/dashboard" && isSignedIn) { + if (pathname !== "/dashboard" && isSignedIn) { return ( Dashboard diff --git a/src/components/RoomList.tsx b/src/app/_components/RoomList.tsx similarity index 94% rename from src/components/RoomList.tsx rename to src/app/_components/RoomList.tsx index f59bf7a..5763669 100644 --- a/src/components/RoomList.tsx +++ b/src/app/_components/RoomList.tsx @@ -1,10 +1,14 @@ +"use client"; + import Link from "next/link"; import { configureAbly, useChannel } from "@ably-labs/react-hooks"; import { useState } from "react"; import { IoEnterOutline, IoTrashBinOutline } from "react-icons/io5"; import { env } from "~/env.mjs"; -import { api } from "~/utils/api"; import { useUser } from "@clerk/nextjs"; +import { trpc } from "../_trpc/client"; + +export const dynamic = "force-dynamic"; const RoomList = () => { const { isSignedIn, user } = useUser(); @@ -25,11 +29,11 @@ const RoomList = () => { const [roomName, setRoomName] = useState(""); const { data: roomsFromDb, refetch: refetchRoomsFromDb } = - api.room.getAll.useQuery(undefined, { + trpc.room.getAll.useQuery(undefined, { enabled: isSignedIn, }); - const createRoom = api.room.create.useMutation({}); + const createRoom = trpc.room.create.useMutation({}); const createRoomHandler = () => { createRoom.mutate({ name: roomName }); @@ -39,7 +43,7 @@ const RoomList = () => { false; }; - const deleteRoom = api.room.delete.useMutation({}); + const deleteRoom = trpc.room.delete.useMutation({}); const deleteRoomHandler = (roomId: string) => { if (isSignedIn) { diff --git a/src/app/_trpc/Provider.tsx b/src/app/_trpc/Provider.tsx new file mode 100644 index 0000000..4f531ff --- /dev/null +++ b/src/app/_trpc/Provider.tsx @@ -0,0 +1,27 @@ +"use client"; + +import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; +import { httpLink } from "@trpc/client"; +import React, { useState } from "react"; +import superjson from "superjson"; + +import { trpc } from "./client"; + +export default function Provider({ children }: { children: React.ReactNode }) { + const [queryClient] = useState(() => new QueryClient({})); + const [trpcClient] = useState(() => + trpc.createClient({ + links: [ + httpLink({ + url: "/api/trpc", + }), + ], + transformer: superjson, + }) + ); + return ( + + {children} + + ); +} diff --git a/src/app/_trpc/client.ts b/src/app/_trpc/client.ts new file mode 100644 index 0000000..dec3bb5 --- /dev/null +++ b/src/app/_trpc/client.ts @@ -0,0 +1,5 @@ +import { createTRPCReact } from "@trpc/react-query"; + +import { type AppRouter } from "~/server/trpc"; + +export const trpc = createTRPCReact({}); diff --git a/src/pages/api/private/ping.ts b/src/app/api/private/ping/route.ts similarity index 56% rename from src/pages/api/private/ping.ts rename to src/app/api/private/ping/route.ts index ca89e26..bf4b910 100644 --- a/src/pages/api/private/ping.ts +++ b/src/app/api/private/ping/route.ts @@ -1,13 +1,13 @@ import { NextResponse } from "next/server"; -export const config = { - runtime: "edge", - regions: ["pdx1"], -}; +export const runtime = "edge"; +export const preferredRegion = ["pdx1"]; -export default function handler() { +function handler() { return NextResponse.json( { message: "Private Pong!" }, { status: 200, statusText: "SUCCESS" } ); } + +export { handler as GET }; diff --git a/src/pages/api/public/ping.ts b/src/app/api/public/ping/route.ts similarity index 56% rename from src/pages/api/public/ping.ts rename to src/app/api/public/ping/route.ts index e5b6a76..a1e4d0c 100644 --- a/src/pages/api/public/ping.ts +++ b/src/app/api/public/ping/route.ts @@ -1,13 +1,13 @@ import { NextResponse } from "next/server"; -export const config = { - runtime: "edge", - regions: ["pdx1"], -}; +export const runtime = "edge"; +export const preferredRegion = ["pdx1"]; -export default function handler() { +function handler() { return NextResponse.json( { message: "Public Pong!" }, { status: 200, statusText: "SUCCESS" } ); } + +export { handler as GET }; diff --git a/src/app/api/trpc/[trpc]/route.ts b/src/app/api/trpc/[trpc]/route.ts new file mode 100644 index 0000000..d718e85 --- /dev/null +++ b/src/app/api/trpc/[trpc]/route.ts @@ -0,0 +1,20 @@ +import { fetchRequestHandler } from "@trpc/server/adapters/fetch"; + +import { appRouter } from "~/server/trpc"; +import { createTRPCContext } from "~/server/trpc/trpc"; + +export const runtime = "edge"; +export const preferredRegion = ["pdx1"]; + +const handler = (req: Request) => + fetchRequestHandler({ + endpoint: "/api/trpc", + req, + router: appRouter, + createContext: createTRPCContext, + batching: { + enabled: false, + }, + }); + +export { handler as GET, handler as POST }; diff --git a/src/pages/api/webhooks/index.ts b/src/app/api/webhooks/route.ts similarity index 81% rename from src/pages/api/webhooks/index.ts rename to src/app/api/webhooks/route.ts index 3448640..ac5c10f 100644 --- a/src/pages/api/webhooks/index.ts +++ b/src/app/api/webhooks/route.ts @@ -9,12 +9,10 @@ import { WebhookEvents, } from "~/utils/types"; -export const config = { - runtime: "edge", - regions: ["pdx1"], -}; +export const runtime = "edge"; +export const preferredRegion = ["pdx1"]; -export default async function handler(req: NextRequest) { +async function handler(req: NextRequest) { try { const eventBody = (await req.json()) as WebhookEventBody; const { data, type } = WebhookEventBodySchema.parse(eventBody); @@ -22,11 +20,7 @@ export default async function handler(req: NextRequest) { switch (type) { case WebhookEvents.USER_CREATED: - success = await onUserCreatedHandler( - data.id, - data.email_addresses?.map((email) => email.email_address) || [], - `${data.first_name} ${data.last_name}` - ); + success = await onUserCreatedHandler(data.id); if (success) { return NextResponse.json( { result: "USER CREATED" }, @@ -61,3 +55,5 @@ export default async function handler(req: NextRequest) { ); } } + +export { handler as POST }; diff --git a/public/apple-touch-icon.png b/src/app/apple-icon.png similarity index 100% rename from public/apple-touch-icon.png rename to src/app/apple-icon.png diff --git a/src/pages/dashboard/index.tsx b/src/app/dashboard/page.tsx similarity index 96% rename from src/pages/dashboard/index.tsx rename to src/app/dashboard/page.tsx index f6a691d..d77ad3a 100644 --- a/src/pages/dashboard/index.tsx +++ b/src/app/dashboard/page.tsx @@ -1,7 +1,9 @@ +"use client"; + import type { NextPage } from "next"; import Head from "next/head"; -import RoomList from "~/components/RoomList"; +import RoomList from "~/app/_components/RoomList"; import Link from "next/link"; import { useEffect, useState } from "react"; @@ -10,6 +12,8 @@ import { GiStarFormation } from "react-icons/gi"; import { useUser } from "@clerk/nextjs"; import { isAdmin, isVIP } from "~/utils/helpers"; +export const dynamic = "force-dynamic"; + const Home: NextPage = () => { return ( <> diff --git a/public/favicon.ico b/src/app/favicon.ico similarity index 100% rename from public/favicon.ico rename to src/app/favicon.ico diff --git a/src/app/layout.tsx b/src/app/layout.tsx new file mode 100644 index 0000000..2925ff5 --- /dev/null +++ b/src/app/layout.tsx @@ -0,0 +1,30 @@ +import { ClerkProvider } from "@clerk/nextjs"; +import Footer from "~/app/_components/Footer"; +import Navbar from "~/app/_components/Navbar"; +import "~/styles/globals.css"; +import Provider from "./_trpc/Provider"; + +export const metadata = { + title: "Sprint Padawan", + description: "Plan. Sprint. Repeat.", +}; + +export default function RootLayout({ + children, +}: { + children: React.ReactNode; +}) { + return ( + + + + +
+ {children} +
+