diff --git a/package.json b/package.json index 1d92e63..fc3ab18 100644 --- a/package.json +++ b/package.json @@ -74,7 +74,7 @@ "devDependencies": { "@next/eslint-plugin-next": "^14.0.3", "@types/eslint": "^8.44.7", - "@types/node": "^18.17.0", + "@types/node": "^18.19.34", "@types/react": "^18.2.37", "@types/react-dom": "^18.2.15", "@typescript-eslint/eslint-plugin": "^6.11.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b9ea5c8..a691375 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -13,7 +13,7 @@ importers: version: 2.0.4(react-dom@19.0.0-rc-6230622a1a-20240610(react@19.0.0-rc-6230622a1a-20240610))(react@19.0.0-rc-6230622a1a-20240610) '@headlessui/tailwindcss': specifier: ^0.2.1 - version: 0.2.1(tailwindcss@3.4.0) + version: 0.2.1(tailwindcss@3.4.4) '@planetscale/database': specifier: ^1.11.0 version: 1.13.0 @@ -40,13 +40,13 @@ importers: version: 4.2.0(react@19.0.0-rc-6230622a1a-20240610) '@t3-oss/env-nextjs': specifier: ^0.7.1 - version: 0.7.1(typescript@5.3.3)(zod@3.22.4) + version: 0.7.3(typescript@5.4.5)(zod@3.23.8) '@tailwindcss/forms': specifier: ^0.5.7 - version: 0.5.7(tailwindcss@3.4.0) + version: 0.5.7(tailwindcss@3.4.4) '@tailwindcss/line-clamp': specifier: ^0.4.4 - version: 0.4.4(tailwindcss@3.4.0) + version: 0.4.4(tailwindcss@3.4.4) '@tanstack/react-query': specifier: ^4.36.1 version: 4.36.1(react-dom@19.0.0-rc-6230622a1a-20240610(react@19.0.0-rc-6230622a1a-20240610))(react@19.0.0-rc-6230622a1a-20240610) @@ -55,7 +55,7 @@ importers: version: 3.17.2(react-dom@19.0.0-rc-6230622a1a-20240610(react@19.0.0-rc-6230622a1a-20240610))(react@19.0.0-rc-6230622a1a-20240610)(tailwindcss@3.4.0) '@trpc/client': specifier: ^10.43.6 - version: 10.45.0(@trpc/server@10.45.0) + version: 10.45.2(@trpc/server@10.45.2) '@trpc/next': specifier: ^10.43.6 version: 10.45.0(@tanstack/react-query@4.36.1(react-dom@19.0.0-rc-6230622a1a-20240610(react@19.0.0-rc-6230622a1a-20240610))(react@19.0.0-rc-6230622a1a-20240610))(@trpc/client@10.45.0(@trpc/server@10.45.0))(@trpc/react-query@10.45.0(@tanstack/react-query@4.36.1(react-dom@19.0.0-rc-6230622a1a-20240610(react@19.0.0-rc-6230622a1a-20240610))(react@19.0.0-rc-6230622a1a-20240610))(@trpc/client@10.45.0(@trpc/server@10.45.0))(@trpc/server@10.45.0)(react-dom@19.0.0-rc-6230622a1a-20240610(react@19.0.0-rc-6230622a1a-20240610))(react@19.0.0-rc-6230622a1a-20240610))(@trpc/server@10.45.0)(next@15.0.0-rc.0(react-dom@19.0.0-rc-6230622a1a-20240610(react@19.0.0-rc-6230622a1a-20240610))(react@19.0.0-rc-6230622a1a-20240610))(react-dom@19.0.0-rc-6230622a1a-20240610(react@19.0.0-rc-6230622a1a-20240610))(react@19.0.0-rc-6230622a1a-20240610) @@ -64,7 +64,7 @@ importers: version: 10.45.0(@tanstack/react-query@4.36.1(react-dom@19.0.0-rc-6230622a1a-20240610(react@19.0.0-rc-6230622a1a-20240610))(react@19.0.0-rc-6230622a1a-20240610))(@trpc/client@10.45.0(@trpc/server@10.45.0))(@trpc/server@10.45.0)(react-dom@19.0.0-rc-6230622a1a-20240610(react@19.0.0-rc-6230622a1a-20240610))(react@19.0.0-rc-6230622a1a-20240610) '@trpc/server': specifier: ^10.43.6 - version: 10.45.0 + version: 10.45.2 '@types/d3': specifier: ^7.4.3 version: 7.4.3 @@ -82,7 +82,7 @@ importers: version: 8.5.10 '@upstash/ratelimit': specifier: ^1.1.3 - version: 1.1.3 + version: 1.2.0 '@visx/group': specifier: ^3.3.0 version: 3.3.0(react@19.0.0-rc-6230622a1a-20240610) @@ -103,7 +103,7 @@ importers: version: 0.7.0 clsx: specifier: ^2.0.0 - version: 2.0.0 + version: 2.1.1 d3: specifier: ^7.9.0 version: 7.9.0 @@ -112,10 +112,10 @@ importers: version: 2.2.2 drizzle-orm: specifier: ^0.28.5 - version: 0.28.6(@planetscale/database@1.13.0)(mysql2@3.6.5) + version: 0.28.6(@planetscale/database@1.18.0)(mysql2@3.10.0) express-rate-limit: specifier: ^7.3.0 - version: 7.3.0(express@4.19.2) + version: 7.3.1(express@4.19.2) lucide-react: specifier: ^0.302.0 version: 0.302.0(react@19.0.0-rc-6230622a1a-20240610) @@ -124,19 +124,19 @@ importers: version: 15.0.0-rc.0(react-dom@19.0.0-rc-6230622a1a-20240610(react@19.0.0-rc-6230622a1a-20240610))(react@19.0.0-rc-6230622a1a-20240610) node-html-parser: specifier: ^6.1.12 - version: 6.1.12 + version: 6.1.13 npm-run-all: specifier: ^4.1.5 version: 4.1.5 posthog-js: specifier: ^1.136.7 - version: 1.136.7 + version: 1.138.1 rate-limit-redis: specifier: ^4.2.0 - version: 4.2.0(express-rate-limit@7.3.0(express@4.19.2)) + version: 4.2.0(express-rate-limit@7.3.1(express@4.19.2)) rate-limiter-flexible: specifier: ^2.4.1 - version: 2.4.1 + version: 2.4.2 react: specifier: 19.0.0-rc-6230622a1a-20240610 version: 19.0.0-rc-6230622a1a-20240610 @@ -157,87 +157,83 @@ importers: version: 1.13.3 tailwind-merge: specifier: ^2.2.0 - version: 2.2.0 + version: 2.3.0 tailwindcss-animate: specifier: ^1.0.7 - version: 1.0.7(tailwindcss@3.4.0) + version: 1.0.7(tailwindcss@3.4.4) tsx: specifier: ^4.11.0 - version: 4.11.0 + version: 4.14.1 ws: specifier: ^8.17.0 version: 8.17.0 zod: specifier: ^3.22.4 - version: 3.22.4 + version: 3.23.8 devDependencies: '@next/eslint-plugin-next': specifier: ^14.0.3 - version: 14.0.4 + version: 14.2.3 '@types/eslint': specifier: ^8.44.7 - version: 8.56.0 + version: 8.56.10 '@types/node': - specifier: ^18.17.0 - version: 18.19.3 + specifier: ^18.19.34 + version: 18.19.34 '@types/react': specifier: ^18.2.37 - version: 18.2.45 + version: 18.3.3 '@types/react-dom': specifier: ^18.2.15 - version: 18.2.18 + version: 18.3.0 '@typescript-eslint/eslint-plugin': specifier: ^6.11.0 - version: 6.16.0(@typescript-eslint/parser@6.16.0(eslint@8.56.0)(typescript@5.3.3))(eslint@8.56.0)(typescript@5.3.3) + version: 6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5) '@typescript-eslint/parser': specifier: ^6.11.0 - version: 6.16.0(eslint@8.56.0)(typescript@5.3.3) + version: 6.21.0(eslint@8.57.0)(typescript@5.4.5) autoprefixer: specifier: ^10.4.14 - version: 10.4.16(postcss@8.4.32) + version: 10.4.19(postcss@8.4.38) cross-env: specifier: ^7.0.3 version: 7.0.3 dotenv-cli: specifier: ^7.3.0 - version: 7.3.0 + version: 7.4.2 drizzle-kit: specifier: 0.19.3 version: 0.19.3 eslint: specifier: ^8.54.0 - version: 8.56.0 + version: 8.57.0 mysql2: specifier: ^3.6.5 - version: 3.6.5 + version: 3.10.0 postcss: specifier: ^8.4.31 - version: 8.4.32 + version: 8.4.38 prettier: specifier: ^3.1.0 - version: 3.1.1 + version: 3.3.1 prettier-plugin-tailwindcss: specifier: ^0.5.7 - version: 0.5.9(prettier@3.1.1) + version: 0.5.14(prettier@3.3.1) tailwindcss: specifier: ^3.3.5 - version: 3.4.0 + version: 3.4.4 typescript: specifier: ^5.1.6 - version: 5.3.3 + version: 5.4.5 packages: - '@aashutoshrathi/word-wrap@1.2.6': - resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} - engines: {node: '>=0.10.0'} - '@alloc/quick-lru@5.2.0': resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} engines: {node: '>=10'} - '@babel/runtime@7.23.6': - resolution: {integrity: sha512-zHd0eUrf5GZoOWVCXp6koAKQTfZV07eit6bGPmJgnZdnSAvvZee6zniW2XMF7Cmc4ISOOnPy3QaSiIJGJkVEDQ==} + '@babel/runtime@7.24.7': + resolution: {integrity: sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==} engines: {node: '>=6.9.0'} '@drizzle-team/studio@0.0.1': @@ -528,16 +524,16 @@ packages: peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - '@eslint-community/regexpp@4.10.0': - resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + '@eslint-community/regexpp@4.10.1': + resolution: {integrity: sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} '@eslint/eslintrc@2.1.4': resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - '@eslint/js@8.56.0': - resolution: {integrity: sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==} + '@eslint/js@8.57.0': + resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} '@floating-ui/core@1.6.2': @@ -593,8 +589,8 @@ packages: peerDependencies: tailwindcss: ^3.0 - '@humanwhocodes/config-array@0.11.13': - resolution: {integrity: sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==} + '@humanwhocodes/config-array@0.11.14': + resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} engines: {node: '>=10.10.0'} '@humanwhocodes/module-importer@1.0.1': @@ -721,29 +717,29 @@ packages: resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} - '@jridgewell/gen-mapping@0.3.3': - resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} + '@jridgewell/gen-mapping@0.3.5': + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} engines: {node: '>=6.0.0'} - '@jridgewell/resolve-uri@3.1.1': - resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} - '@jridgewell/set-array@1.1.2': - resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} + '@jridgewell/set-array@1.2.1': + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} engines: {node: '>=6.0.0'} '@jridgewell/sourcemap-codec@1.4.15': resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - '@jridgewell/trace-mapping@0.3.20': - resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==} + '@jridgewell/trace-mapping@0.3.25': + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} '@next/env@15.0.0-rc.0': resolution: {integrity: sha512-6W0ndQvHR9sXcqcKeR/inD2UTRCs9+VkSK3lfaGmEuZs7EjwwXMO2BPYjz9oBrtfPL3xuTjtXsHKSsalYQ5l1Q==} - '@next/eslint-plugin-next@14.0.4': - resolution: {integrity: sha512-U3qMNHmEZoVmHA0j/57nRfi3AscXNvkOnxDmle/69Jz/G0o/gWjXTDdlgILZdrxQ0Lw/jv2mPW8PGy0EGIHXhQ==} + '@next/eslint-plugin-next@14.2.3': + resolution: {integrity: sha512-L3oDricIIjgj1AVnRdRor21gI7mShlSwU/1ZGHmqM3LzHhXXhdkrfeNY5zif25Bi5Dd7fiJHsbhoZCHfXYvlAw==} '@next/swc-darwin-arm64@15.0.0-rc.0': resolution: {integrity: sha512-4OpTXvAWcSabXA5d688zdUwa3sfT9QrLnHMdpv4q2UDnnuqmOI0xLb6lrOxwpi+vHJNkneuNLqyc5HGBhkqL6A==} @@ -815,8 +811,8 @@ packages: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} - '@planetscale/database@1.13.0': - resolution: {integrity: sha512-sb9tUoF+Po55o+3PRHZVeH8XzUIABKBKcnq6oBUa+p/2uau/E2EXhnUPXmkC/x7oB6ILBqmqTL6dPP5Dn6d6iA==} + '@planetscale/database@1.18.0': + resolution: {integrity: sha512-t2XdOfrVgcF7AW791FtdPS27NyNqcE1SpoXgk3HpziousvUMsJi4Q6NL3JyOBpsMOrvk94749o8yyonvX5quPw==} engines: {node: '>=16'} '@radix-ui/number@1.0.1': @@ -1179,8 +1175,8 @@ packages: '@swc/helpers@0.5.5': resolution: {integrity: sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==} - '@t3-oss/env-core@0.7.1': - resolution: {integrity: sha512-3+SQt39OlmSaRLqYVFv8uRm1BpFepM5TIiMytRqO9cjH+wB77o6BIJdeyM5h5U4qLBMEzOJWCY4MBaU/rLwbYw==} + '@t3-oss/env-core@0.7.3': + resolution: {integrity: sha512-hhtj59TKC6TKVdwJ0CcbKsvkr9R8Pc/SNKd4IgGUIC9T9X6moB8EZZ3FTJdABA/h9UABCK4J+KsF8gzmvMvHPg==} peerDependencies: typescript: '>=4.7.2' zod: ^3.0.0 @@ -1188,8 +1184,8 @@ packages: typescript: optional: true - '@t3-oss/env-nextjs@0.7.1': - resolution: {integrity: sha512-tQDbNLGCOvKGi+JoGuJ/CJInJI7/kLWJqtgGppAKS7ZFLdVOqZYR/uRjxlXOWPnxmUKF8VswOAsq7fXUpNZDhA==} + '@t3-oss/env-nextjs@0.7.3': + resolution: {integrity: sha512-90TNffS17vjkQwfYyMUb4Zw9yqHwFV40f78qFug4JiQa5+N6DydTdlLOpzOcj8Cna/qpAVDwMSypofF/TVQDuA==} peerDependencies: typescript: '>=4.7.2' zod: ^3.0.0 @@ -1228,46 +1224,58 @@ packages: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + '@tanstack/react-virtual@3.5.1': + resolution: {integrity: sha512-jIsuhfgy8GqA67PdWqg73ZB2LFE+HD9hjWL1L6ifEIZVyZVAKpYmgUG4WsKQ005aEyImJmbuimPiEvc57IY0Aw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + '@tanstack/virtual-core@3.5.0': resolution: {integrity: sha512-KnPRCkQTyqhanNC0K63GBG3wA8I+D1fQuVnAvcBF8f13akOKeQp1gSbu6f77zCxhEk727iV5oQnbHLYzHrECLg==} + '@tanstack/virtual-core@3.5.1': + resolution: {integrity: sha512-046+AUSiDru/V9pajE1du8WayvBKeCvJ2NmKPy/mR8/SbKKrqmSbj7LJBfXE+nSq4f5TBXvnCzu0kcYebI9WdQ==} + '@tremor/react@3.17.2': resolution: {integrity: sha512-zQovHBTonoeJbVk23VAqDeu9yL8N9N2884WYtLr0QvEo4kfC/YUYHkwyg5R7i8ahiJcYbR5zbCG8r9Y4Oqg9qQ==} peerDependencies: react: ^18.0.0 react-dom: '>=16.6.0' - '@trpc/client@10.45.0': - resolution: {integrity: sha512-m091R1qte9rvkvL8N1e/mzrbb8S4gb+Q4ZNJnEGDgd7kic/6a8DFgSciBTiCoSp0YwOTVhyQzSrrA/sZI6PhBg==} + '@trpc/client@10.45.2': + resolution: {integrity: sha512-ykALM5kYWTLn1zYuUOZ2cPWlVfrXhc18HzBDyRhoPYN0jey4iQHEFSEowfnhg1RvYnrAVjNBgHNeSAXjrDbGwg==} peerDependencies: - '@trpc/server': 10.45.0 + '@trpc/server': 10.45.2 - '@trpc/next@10.45.0': - resolution: {integrity: sha512-saXajAb5GBpos9BNEtq/BeTOxmM4oCP3kyuGlMopNtHoacr71xHCItFnLsPWffM4DVW88uOXCFWaOtpOs5ThBw==} + '@trpc/next@10.45.2': + resolution: {integrity: sha512-RSORmfC+/nXdmRY1pQ0AalsVgSzwNAFbZLYHiTvPM5QQ8wmMEHilseCYMXpu0se/TbPt9zVR6Ka2d7O6zxKkXg==} peerDependencies: '@tanstack/react-query': ^4.18.0 - '@trpc/client': 10.45.0 - '@trpc/react-query': 10.45.0 - '@trpc/server': 10.45.0 + '@trpc/client': 10.45.2 + '@trpc/react-query': 10.45.2 + '@trpc/server': 10.45.2 next: '*' react: '>=16.8.0' react-dom: '>=16.8.0' - '@trpc/react-query@10.45.0': - resolution: {integrity: sha512-MMc2pLwoaLZVwvLQyzJv3uEmdG3lORhifhVzR/drtavwDYwt+OEvH0w3s1zC7RaDdFpc6Nj2kkpHmdoU7BlAAw==} + '@trpc/react-query@10.45.2': + resolution: {integrity: sha512-BAqb9bGZIscroradlNx+Cc9522R+idY3BOSf5z0jHUtkxdMbjeGKxSSMxxu7JzoLqSIEC+LVzL3VvF8sdDWaZQ==} peerDependencies: '@tanstack/react-query': ^4.18.0 - '@trpc/client': 10.45.0 - '@trpc/server': 10.45.0 + '@trpc/client': 10.45.2 + '@trpc/server': 10.45.2 react: '>=16.8.0' react-dom: '>=16.8.0' - '@trpc/server@10.45.0': - resolution: {integrity: sha512-2Fwzv6nqpE0Ie/G7PeS0EVR89zLm+c1Mw7T+RAGtU807j4oaUx0zGkBXTu5u9AI+j+BYNN2GZxJcuDTAecbr1A==} + '@trpc/server@10.45.2': + resolution: {integrity: sha512-wOrSThNNE4HUnuhJG6PfDRp4L2009KDVxsd+2VYH8ro6o/7/jwYZ8Uu5j+VaW+mOmc8EHerHzGcdbGNQSAUPgg==} '@types/d3-array@3.0.3': resolution: {integrity: sha512-Reoy+pKnvsksN0lQUlcH6dOGjRZ/3WRwXR//m+/8lt1BXeI4xyaUZoqULNjyXXRuh0Mj4LNpkCvhUpQlY3X5xQ==} + '@types/d3-array@3.2.1': + resolution: {integrity: sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg==} + '@types/d3-axis@3.0.6': resolution: {integrity: sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==} @@ -1280,12 +1288,18 @@ packages: '@types/d3-color@3.1.0': resolution: {integrity: sha512-HKuicPHJuvPgCD+np6Se9MQvS6OCbJmOjGvylzMJRlDwUXjKTTXs6Pwgk79O09Vj/ho3u1ofXnhFOaEWWPrlwA==} + '@types/d3-color@3.1.3': + resolution: {integrity: sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==} + '@types/d3-contour@3.0.6': resolution: {integrity: sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==} '@types/d3-delaunay@6.0.1': resolution: {integrity: sha512-tLxQ2sfT0p6sxdG75c6f/ekqxjyYR0+LwPrsO1mbC9YDBzPJhs2HbJJRrn8Ez1DBoHRo2yx7YEATI+8V1nGMnQ==} + '@types/d3-delaunay@6.0.4': + resolution: {integrity: sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==} + '@types/d3-dispatch@3.0.6': resolution: {integrity: sha512-4fvZhzMeeuBJYZXRXrRIQnvUYfyXwYmLsdiN7XXmVNQKKw1cM8a5WdID0g1hVFZDqT9ZqZEY5pD44p24VS7iZQ==} @@ -1307,17 +1321,23 @@ packages: '@types/d3-format@3.0.1': resolution: {integrity: sha512-5KY70ifCCzorkLuIkDe0Z9YTf9RR2CjBX1iaJG+rgM/cPP+sO+q9YdQ9WdhQcgPj1EQiJ2/0+yUkkziTG6Lubg==} + '@types/d3-format@3.0.4': + resolution: {integrity: sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==} + '@types/d3-geo@3.1.0': resolution: {integrity: sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==} - '@types/d3-hierarchy@1.1.11': - resolution: {integrity: sha512-lnQiU7jV+Gyk9oQYk0GGYccuexmQPTp08E0+4BidgFdiJivjEvf+esPSdZqCZ2C7UwTWejWpqetVaU8A+eX3FA==} + '@types/d3-hierarchy@3.1.7': + resolution: {integrity: sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==} '@types/d3-interpolate@3.0.1': resolution: {integrity: sha512-jx5leotSeac3jr0RePOH1KdR9rISG91QIE4Q2PYTu4OymLTZfA3SrnURSLzKH48HmXVUru50b8nje4E79oQSQw==} - '@types/d3-path@2.0.4': - resolution: {integrity: sha512-jjZVLBjEX4q6xneKMmv62UocaFJFOTQSb/1aTzs3m3ICTOFoVaqGBHpNLm/4dVi0/FTltfBKgmOK1ECj3/gGjA==} + '@types/d3-interpolate@3.0.4': + resolution: {integrity: sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==} + + '@types/d3-path@3.1.0': + resolution: {integrity: sha512-P2dlU/q51fkOc/Gfl3Ul9kicV7l+ra934qBFXCFhrZMOL6du1TM0pm1ThYvENukyOn5h9v+yMJ9Fn5JK4QozrQ==} '@types/d3-polygon@3.0.2': resolution: {integrity: sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==} @@ -1328,6 +1348,9 @@ packages: '@types/d3-random@2.2.3': resolution: {integrity: sha512-Ghs4R3CcgJ3o6svszRzIH4b8PPYex/COo+rhhZjDAs+bVducXwjmVSi27WcDOaLLCBV2t3tfVH9bYXAL76IvQA==} + '@types/d3-random@3.0.3': + resolution: {integrity: sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==} + '@types/d3-scale-chromatic@3.0.3': resolution: {integrity: sha512-laXM4+1o5ImZv3RpFAsTRn3TEkzqkytiOY0Dz0sq5cnd1dtNlk6sHLon4OvqaiJb28T0S/TdsBI3Sjsy+keJrw==} @@ -1337,6 +1360,9 @@ packages: '@types/d3-scale@4.0.2': resolution: {integrity: sha512-Yk4htunhPAwN0XGlIwArRomOjdoBFXC3+kCxK2Ubg7I9shQlVSJy/pG/Ht5ASN+gdMIalpk8TJ5xV74jFsetLA==} + '@types/d3-scale@4.0.8': + resolution: {integrity: sha512-gkK1VVTr5iNiYJ7vWDI+yUFFlszhNMtVeneJ6lUTKPjprsvLLI9/tgEGiXJOnlINJA8FyA88gfnQsHbybVZrYQ==} + '@types/d3-selection@3.0.10': resolution: {integrity: sha512-cuHoUgS/V3hLdjJOLTT691+G2QoqAjCVLmr4kJXR4ha56w1Zdu8UUQ5TxLRqudgNjwXeQxKMq4j+lyf9sWuslg==} @@ -1358,6 +1384,9 @@ packages: '@types/d3-time@3.0.0': resolution: {integrity: sha512-sZLCdHvBUcNby1cB6Fd3ZBrABbjz3v1Vm90nysCQ6Vt7vd6e/h9Lt7SiJUoEX0l4Dzc7P5llKyhqSi1ycSf1Hg==} + '@types/d3-time@3.0.3': + resolution: {integrity: sha512-2p6olUZ4w3s+07q3Tm2dbiMZy5pCDfYwtLXXHUnVzXgQlZ/OyPtUz6OL382BkOuGlLXqfT+wqv8Fw2v8/0geBw==} + '@types/d3-timer@3.0.2': resolution: {integrity: sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==} @@ -1370,8 +1399,8 @@ packages: '@types/d3@7.4.3': resolution: {integrity: sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==} - '@types/eslint@8.56.0': - resolution: {integrity: sha512-FlsN0p4FhuYRjIxpbdXovvHQhtlG05O1GG/RNWvdAxTboR438IOTwmrY/vLA+Xfgg06BTkP045M3vpFwTMv1dg==} + '@types/eslint@8.56.10': + resolution: {integrity: sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==} '@types/estree@1.0.5': resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} @@ -1382,32 +1411,29 @@ packages: '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - '@types/lodash@4.17.4': - resolution: {integrity: sha512-wYCP26ZLxaT3R39kiN2+HcJ4kTd3U1waI/cY7ivWYqFP6pW3ZNpvi6Wd6PHZx7T/t8z0vlkXMg3QYLa7DZ/IJQ==} + '@types/lodash@4.17.5': + resolution: {integrity: sha512-MBIOHVZqVqgfro1euRDWX7OO0fBVUUMrN6Pwm8LQsz8cWhEpihlvR70ENj3f40j58TNxZaWv2ndSkInykNBBJw==} - '@types/node@18.19.3': - resolution: {integrity: sha512-k5fggr14DwAytoA/t8rPrIz++lXK7/DqckthCmoZOKNsEbJkId4Z//BqgApXBUGrGddrigYa1oqheo/7YmW4rg==} + '@types/node@18.19.34': + resolution: {integrity: sha512-eXF4pfBNV5DAMKGbI02NnDtWrQ40hAN558/2vvS4gMpMIxaf6JmD7YjnZbq0Q9TDSSkKBamime8ewRoomHdt4g==} - '@types/prop-types@15.7.11': - resolution: {integrity: sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==} + '@types/prop-types@15.7.12': + resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==} - '@types/react-dom@18.2.18': - resolution: {integrity: sha512-TJxDm6OfAX2KJWJdMEVTwWke5Sc/E/RlnPGvGfS0W7+6ocy2xhDVQVh/KvC2Uf7kACs+gDytdusDSdWfWkaNzw==} + '@types/react-dom@18.3.0': + resolution: {integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==} - '@types/react@18.2.45': - resolution: {integrity: sha512-TtAxCNrlrBp8GoeEp1npd5g+d/OejJHFxS3OWmrPBMFaVQMSN0OFySozJio5BHxTuTeug00AVXVAjfDSfk+lUg==} + '@types/react@18.3.3': + resolution: {integrity: sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==} - '@types/scheduler@0.16.8': - resolution: {integrity: sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==} - - '@types/semver@7.5.6': - resolution: {integrity: sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==} + '@types/semver@7.5.8': + resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} '@types/ws@8.5.10': resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} - '@typescript-eslint/eslint-plugin@6.16.0': - resolution: {integrity: sha512-O5f7Kv5o4dLWQtPX4ywPPa+v9G+1q1x8mz0Kr0pXUtKsevo+gIJHLkGc8RxaZWtP8RrhwhSNIWThnW42K9/0rQ==} + '@typescript-eslint/eslint-plugin@6.21.0': + resolution: {integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha @@ -1417,8 +1443,8 @@ packages: typescript: optional: true - '@typescript-eslint/parser@6.16.0': - resolution: {integrity: sha512-H2GM3eUo12HpKZU9njig3DF5zJ58ja6ahj1GoHEHOgQvYxzoFJJEvC1MQ7T2l9Ha+69ZSOn7RTxOdpC/y3ikMw==} + '@typescript-eslint/parser@6.21.0': + resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -1427,12 +1453,12 @@ packages: typescript: optional: true - '@typescript-eslint/scope-manager@6.16.0': - resolution: {integrity: sha512-0N7Y9DSPdaBQ3sqSCwlrm9zJwkpOuc6HYm7LpzLAPqBL7dmzAUimr4M29dMkOP/tEwvOCC/Cxo//yOfJD3HUiw==} + '@typescript-eslint/scope-manager@6.21.0': + resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} engines: {node: ^16.0.0 || >=18.0.0} - '@typescript-eslint/type-utils@6.16.0': - resolution: {integrity: sha512-ThmrEOcARmOnoyQfYkHw/DX2SEYBalVECmoldVuH6qagKROp/jMnfXpAU/pAIWub9c4YTxga+XwgAkoA0pxfmg==} + '@typescript-eslint/type-utils@6.21.0': + resolution: {integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -1441,12 +1467,12 @@ packages: typescript: optional: true - '@typescript-eslint/types@6.16.0': - resolution: {integrity: sha512-hvDFpLEvTJoHutVl87+MG/c5C8I6LOgEx05zExTSJDEVU7hhR3jhV8M5zuggbdFCw98+HhZWPHZeKS97kS3JoQ==} + '@typescript-eslint/types@6.21.0': + resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} engines: {node: ^16.0.0 || >=18.0.0} - '@typescript-eslint/typescript-estree@6.16.0': - resolution: {integrity: sha512-VTWZuixh/vr7nih6CfrdpmFNLEnoVBF1skfjdyGnNwXOH1SLeHItGdZDHhhAIzd3ACazyY2Fg76zuzOVTaknGA==} + '@typescript-eslint/typescript-estree@6.21.0': + resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' @@ -1454,25 +1480,25 @@ packages: typescript: optional: true - '@typescript-eslint/utils@6.16.0': - resolution: {integrity: sha512-T83QPKrBm6n//q9mv7oiSvy/Xq/7Hyw9SzSEhMHJwznEmQayfBM87+oAlkNAMEO7/MjIwKyOHgBJbxB0s7gx2A==} + '@typescript-eslint/utils@6.21.0': + resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 - '@typescript-eslint/visitor-keys@6.16.0': - resolution: {integrity: sha512-QSFQLruk7fhs91a/Ep/LqRdbJCZ1Rq03rqBdKT5Ky17Sz8zRLUksqIe9DW0pKtg/Z35/ztbLQ6qpOCN6rOC11A==} + '@typescript-eslint/visitor-keys@6.21.0': + resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} engines: {node: ^16.0.0 || >=18.0.0} '@ungap/structured-clone@1.2.0': resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - '@upstash/core-analytics@0.0.8': - resolution: {integrity: sha512-MCJoF+Y8fkzq4NRLG7kEHjtGyMsZ2DICBdmEdwoK9umoSrfkzgBlYdZiHTIaewyt9PGaMZCHOasz0LAuMpxwxQ==} + '@upstash/core-analytics@0.0.9': + resolution: {integrity: sha512-9NXXxZ5y1/A/zqKLlVT7NsAWSggJfOjB0hG6Ffx29b4jbzHOiQVWB55h5+j2clT9Ib+mNPXn0iB5zN3aWLkICw==} engines: {node: '>=16.0.0'} - '@upstash/ratelimit@1.1.3': - resolution: {integrity: sha512-rl+GMvPdZJ9xPDIvIrqRl/g0nzAEaH75hwR5lXAKW8zPPplD/AeliDCHwuwcFCPIjg49FKyA1oc5H473WkVFrQ==} + '@upstash/ratelimit@1.2.0': + resolution: {integrity: sha512-03mNBUNz9EvIJCxhU0OtFWO3OSQE4gShFBlGph+hDPm9k7O75We1NYS/tCXSdmLVXtOvUGSmi5fyKQLBTEGWxw==} '@upstash/redis@1.31.3': resolution: {integrity: sha512-KtVgWBUEx/LGbR8oRwYexwzHh3s5DNqYW0bjkD+gjFZVOnREJITvK+hC4PjSSD+8D4qJ+Xbkfmy8ANADZ9EUFg==} @@ -1510,8 +1536,8 @@ packages: peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - acorn@8.11.2: - resolution: {integrity: sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==} + acorn@8.11.3: + resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} engines: {node: '>=0.4.0'} hasBin: true @@ -1570,8 +1596,8 @@ packages: resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} engines: {node: '>= 0.4'} - autoprefixer@10.4.16: - resolution: {integrity: sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==} + autoprefixer@10.4.19: + resolution: {integrity: sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==} engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: @@ -1584,8 +1610,8 @@ packages: balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - binary-extensions@2.2.0: - resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} body-parser@1.20.2: @@ -1601,12 +1627,12 @@ packages: brace-expansion@2.0.1: resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} - braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - browserslist@4.22.2: - resolution: {integrity: sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==} + browserslist@4.23.1: + resolution: {integrity: sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true @@ -1637,11 +1663,8 @@ packages: resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} engines: {node: '>=14.16'} - caniuse-lite@1.0.30001572: - resolution: {integrity: sha512-1Pbh5FLmn5y4+QhNyJE9j3/7dK44dGB83/ZMjv/qJk86TvDbjk0LosiZo0i0WB0Vx607qMX9jYrn1VLHCkN4rw==} - - caniuse-lite@1.0.30001625: - resolution: {integrity: sha512-4KE9N2gcRH+HQhpeiRZXd+1niLB/XNLAhSy4z7fI8EzcbcPoAqjNInxVHTiTwWfTIV4w096XG8OtCOCQQKPv3w==} + caniuse-lite@1.0.30001629: + resolution: {integrity: sha512-c3dl911slnQhmxUIT4HhYzT7wnBK/XYpGnYLOj4nJBaRiw52Ibe7YxlDaAeRECvA786zCuExhxIUJ2K7nHMrBw==} chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} @@ -1655,8 +1678,8 @@ packages: resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - chokidar@3.5.3: - resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} class-variance-authority@0.7.0: @@ -1665,8 +1688,8 @@ packages: classnames@2.5.1: resolution: {integrity: sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==} - cli-color@2.0.3: - resolution: {integrity: sha512-OkoZnxyC4ERN3zLzZaY9Emb7f/MhBOIpePv0Ycok0fJYT+Ouo00UBEIwsVsr0yoow++n5YWlSUgST9GKhNHiRQ==} + cli-color@2.0.4: + resolution: {integrity: sha512-zlnpg0jNcibNrO7GG9IeHH7maWFeCz+Ja1wx/7tZNU5ASSSSZ+/qZciM0/LHCYxSdqv5h2sdbQ/PXYdOuetXvA==} engines: {node: '>=0.10'} client-only@0.0.1: @@ -1676,6 +1699,10 @@ packages: resolution: {integrity: sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==} engines: {node: '>=6'} + clsx@2.1.1: + resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} + engines: {node: '>=6'} + cluster-key-slot@1.1.2: resolution: {integrity: sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==} engines: {node: '>=0.10.0'} @@ -1769,6 +1796,10 @@ packages: resolution: {integrity: sha512-gUY/qeHq/yNqqoCKNq4vtpFLdoCdvyNpWoC/KNjhGbhDuQpAM9sIQQKkXSNpXa9h5KySs/gzm7R88WkUutgwWQ==} engines: {node: '>=12'} + d3-array@3.2.4: + resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==} + engines: {node: '>=12'} + d3-axis@3.0.0: resolution: {integrity: sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==} engines: {node: '>=12'} @@ -1793,6 +1824,10 @@ packages: resolution: {integrity: sha512-IMLNldruDQScrcfT+MWnazhHbDJhcRJyOEBAJfwQnHle1RPh6WDuLvxNArUju2VSMSUuKlY5BGHRJ2cYyoFLQQ==} engines: {node: '>=12'} + d3-delaunay@6.0.4: + resolution: {integrity: sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==} + engines: {node: '>=12'} + d3-dispatch@3.0.1: resolution: {integrity: sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==} engines: {node: '>=12'} @@ -1826,6 +1861,10 @@ packages: resolution: {integrity: sha512-JEo5HxXDdDYXCaWdwLRt79y7giK8SbhZJbFWXqbRTolCHFI5jRqteLzCsq51NKbUoX0PjBVSohxrx+NoOUujYA==} engines: {node: '>=12'} + d3-geo@3.1.1: + resolution: {integrity: sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==} + engines: {node: '>=12'} + d3-hierarchy@3.1.2: resolution: {integrity: sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==} engines: {node: '>=12'} @@ -1869,16 +1908,10 @@ packages: resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==} engines: {node: '>=12'} - d3-time-format@3.0.0: - resolution: {integrity: sha512-UXJh6EKsHBTjopVqZBhFysQcoXSv/5yLONZvkQ5Kk3qbwiUYkdX17Xa1PT6U1ZWXGGfB1ey5L8dKMlFq2DO0Ag==} - d3-time-format@4.1.0: resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==} engines: {node: '>=12'} - d3-time@1.1.0: - resolution: {integrity: sha512-Xh0isrZ5rPYYdqhAVk8VLnMEidhz5aP7htAADH6MfzgmmicPkTo8LhkLxci61/lCB7n7UmE3bN0leRt+qvkLxA==} - d3-time@3.1.0: resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==} engines: {node: '>=12'} @@ -1901,8 +1934,9 @@ packages: resolution: {integrity: sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==} engines: {node: '>=12'} - d@1.0.1: - resolution: {integrity: sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==} + d@1.0.2: + resolution: {integrity: sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==} + engines: {node: '>=0.12'} data-view-buffer@1.0.1: resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} @@ -1930,8 +1964,8 @@ packages: supports-color: optional: true - debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + debug@4.3.5: + resolution: {integrity: sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -2005,16 +2039,16 @@ packages: domutils@3.1.0: resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} - dotenv-cli@7.3.0: - resolution: {integrity: sha512-314CA4TyK34YEJ6ntBf80eUY+t1XaFLyem1k9P0sX1gn30qThZ5qZr/ZwE318gEnzyYP9yj9HJk6SqwE0upkfw==} + dotenv-cli@7.4.2: + resolution: {integrity: sha512-SbUj8l61zIbzyhIbg0FwPJq6+wjbzdn9oEtozQpZ6kW2ihCcapKVZj49oCT3oPM+mgQm+itgvUQcG5szxVrZTA==} hasBin: true dotenv-expand@10.0.0: resolution: {integrity: sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==} engines: {node: '>=12'} - dotenv@16.3.1: - resolution: {integrity: sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==} + dotenv@16.4.5: + resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} engines: {node: '>=12'} dreamopt@0.8.0: @@ -2093,8 +2127,8 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.4.616: - resolution: {integrity: sha512-1n7zWYh8eS0L9Uy+GskE0lkBUNK83cXTVJI0pU3mGprFsbfSdAc15VTFbo+A+Bq4pwstmL30AVcEU3Fo463lNg==} + electron-to-chromium@1.4.796: + resolution: {integrity: sha512-NglN/xprcM+SHD2XCli4oC6bWe6kHoytcyLKCWXmRL854F0qhPhaYgUswUsglnPxYaNQIg2uMY4BvaomIf3kLA==} emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -2137,15 +2171,16 @@ packages: resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} engines: {node: '>= 0.4'} - es5-ext@0.10.62: - resolution: {integrity: sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==} + es5-ext@0.10.64: + resolution: {integrity: sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==} engines: {node: '>=0.10'} es6-iterator@2.0.3: resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==} - es6-symbol@3.1.3: - resolution: {integrity: sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==} + es6-symbol@3.1.4: + resolution: {integrity: sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==} + engines: {node: '>=0.12'} es6-weak-map@2.0.3: resolution: {integrity: sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==} @@ -2165,8 +2200,8 @@ packages: engines: {node: '>=12'} hasBin: true - escalade@3.1.1: - resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + escalade@3.1.2: + resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} engines: {node: '>=6'} escape-html@1.0.3: @@ -2188,11 +2223,15 @@ packages: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint@8.56.0: - resolution: {integrity: sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==} + eslint@8.57.0: + resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true + esniff@2.0.1: + resolution: {integrity: sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==} + engines: {node: '>=0.10'} + espree@9.6.1: resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -2223,8 +2262,8 @@ packages: eventemitter3@4.0.7: resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} - express-rate-limit@7.3.0: - resolution: {integrity: sha512-ZPfWlcQQ1PsZonB/vqksOsBQV74z5osi/QcdoBCyKJXl/wOVjS1yRDmvkpMM52KJeLbiF2+djwVEnEgVCDdvtw==} + express-rate-limit@7.3.1: + resolution: {integrity: sha512-BbaryvkY4wEgDqLgD18/NSy2lDO2jTuT9Y8c1Mpx0X63Yz0sYd5zN6KPe7UvpuSVvV33T6RaE1o1IVZQjHMYgw==} engines: {node: '>= 16'} peerDependencies: express: 4 || 5 || ^5.0.0-beta.1 @@ -2253,8 +2292,8 @@ packages: fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - fastq@1.16.0: - resolution: {integrity: sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==} + fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} fflate@0.4.8: resolution: {integrity: sha512-FJqqoDBR00Mdj9ppamLa/Y7vxm+PRmNWA67N846RvsoYVMKB4q3y/de5PA7gUmRMYK/8CMz2GDZQmCRN1wBcWA==} @@ -2263,8 +2302,8 @@ packages: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} - fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} finalhandler@1.2.0: @@ -2279,8 +2318,8 @@ packages: resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} engines: {node: ^10.12.0 || >=12.0.0} - flatted@3.2.9: - resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} + flatted@3.3.1: + resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} @@ -2333,9 +2372,6 @@ packages: resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} engines: {node: '>= 0.4'} - get-tsconfig@4.7.2: - resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==} - get-tsconfig@4.7.5: resolution: {integrity: sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==} @@ -2352,15 +2388,19 @@ packages: engines: {node: '>=16 || 14 >=14.17'} hasBin: true - glob@7.1.7: - resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==} + glob@10.4.1: + resolution: {integrity: sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==} + engines: {node: '>=16 || 14 >=14.18'} + hasBin: true glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported glob@8.1.0: resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} engines: {node: '>=12'} + deprecated: Glob versions prior to v9 are no longer supported globals@13.24.0: resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} @@ -2412,10 +2452,6 @@ packages: resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} engines: {node: '>= 0.4'} - hasown@2.0.0: - resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} - engines: {node: '>= 0.4'} - hasown@2.0.2: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} @@ -2442,8 +2478,8 @@ packages: resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} engines: {node: '>=0.10.0'} - ignore@5.3.0: - resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==} + ignore@5.3.1: + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} engines: {node: '>= 4'} import-fresh@3.3.0: @@ -2456,6 +2492,7 @@ packages: inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} @@ -2579,8 +2616,12 @@ packages: resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} engines: {node: '>=14'} - jiti@1.21.0: - resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} + jackspeak@3.4.0: + resolution: {integrity: sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==} + engines: {node: '>=14'} + + jiti@1.21.3: + resolution: {integrity: sha512-uy2bNX5zQ+tESe+TiC7ilGRz8AtRGmnJH55NC5S0nSUjvvvM2hJHmefHErugGXN4pNv4Qx7vLsnNw9qJ9mtIsw==} hasBin: true js-tokens@4.0.0: @@ -2617,8 +2658,8 @@ packages: resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} engines: {node: '>=10'} - lilconfig@3.0.0: - resolution: {integrity: sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==} + lilconfig@3.1.1: + resolution: {integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==} engines: {node: '>=14'} lines-and-columns@1.2.4: @@ -2648,14 +2689,10 @@ packages: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true - lru-cache@10.1.0: - resolution: {integrity: sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==} + lru-cache@10.2.2: + resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==} engines: {node: 14 || >=16.14} - lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} - lru-cache@7.18.3: resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} engines: {node: '>=12'} @@ -2676,8 +2713,9 @@ packages: resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} engines: {node: '>= 0.6'} - memoizee@0.4.15: - resolution: {integrity: sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==} + memoizee@0.4.17: + resolution: {integrity: sha512-DGqD7Hjpi/1or4F/aYAspXKNm5Yili0QDAFAY4QYvpqpgiY6+1jOfqpmByzjxbWd/T9mChbCArXAbDAsTm5oXA==} + engines: {node: '>=0.12'} memorystream@0.3.1: resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==} @@ -2694,8 +2732,8 @@ packages: resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} engines: {node: '>= 0.6'} - micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + micromatch@4.0.7: + resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==} engines: {node: '>=8.6'} mime-db@1.52.0: @@ -2730,11 +2768,15 @@ packages: resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} engines: {node: '>=16 || 14 >=14.17'} + minimatch@9.0.4: + resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} + engines: {node: '>=16 || 14 >=14.17'} + minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - minipass@7.0.4: - resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} + minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} ms@2.0.0: @@ -2746,8 +2788,8 @@ packages: ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - mysql2@3.6.5: - resolution: {integrity: sha512-pS/KqIb0xlXmtmqEuTvBXTmLoQ5LmAz5NW/r8UyQ1ldvnprNEj3P9GbmuQQ2J0A4LO+ynotGi6TbscPa8OUb+w==} + mysql2@3.10.0: + resolution: {integrity: sha512-qx0mfWYt1DpTPkw8mAcHW/OwqqyNqBLBHvY5IjN8+icIYTjt6znrgYJ+gxqNNRpVknb5Wc/gcCM4XjbCR0j5tw==} engines: {node: '>= 8.0'} mz@2.7.0: @@ -2796,8 +2838,8 @@ packages: nice-try@1.0.5: resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} - node-html-parser@6.1.12: - resolution: {integrity: sha512-/bT/Ncmv+fbMGX96XG9g05vFt43m/+SYKIs9oAemQVYyVcZmDAI2Xq/SbNcpOA35eF0Zk2av3Ksf+Xk8Vt8abA==} + node-html-parser@6.1.13: + resolution: {integrity: sha512-qIsTMOY4C/dAa5Q5vsobRpOOvPfC4pB61UVW2uSwZNUp0QU/jCekTal1vMmbO0DgdHeLUJpv/ARmDqErVxA3Sg==} node-releases@2.0.14: resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} @@ -2847,8 +2889,8 @@ packages: once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - optionator@0.9.3: - resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} p-limit@3.1.0: @@ -2890,9 +2932,9 @@ packages: path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - path-scurry@1.10.1: - resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} - engines: {node: '>=16 || 14 >=14.17'} + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} path-to-regexp@0.1.7: resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} @@ -2905,8 +2947,8 @@ packages: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} - picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + picocolors@1.0.1: + resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} @@ -2963,8 +3005,8 @@ packages: peerDependencies: postcss: ^8.2.14 - postcss-selector-parser@6.0.14: - resolution: {integrity: sha512-65xXYsT40i9GyWzlHQ5ShZoK7JZdySeOozi/tz2EezDo6c04q6+ckYMeoY7idaie1qp2dT5KoYQ2yky6JuoHnA==} + postcss-selector-parser@6.1.0: + resolution: {integrity: sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==} engines: {node: '>=4'} postcss-value-parser@4.2.0: @@ -2974,12 +3016,12 @@ packages: resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} engines: {node: ^10 || ^12 || >=14} - postcss@8.4.32: - resolution: {integrity: sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==} + postcss@8.4.38: + resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} engines: {node: ^10 || ^12 || >=14} - posthog-js@1.136.7: - resolution: {integrity: sha512-vu/oZ9JlISinghw416Gm7KnrsH8KKVGqWCCpGsxwgvrBnYofJ4VbmlKnz/0gPy5/QOo/z/H4PzobDX79dyyU7A==} + posthog-js@1.138.1: + resolution: {integrity: sha512-hLahTznM0/iSM3vl6QGcmdG/zgCcW2DaQqPf7OtXCoqxNdYCWTNp6/sqepd6CxtDmJfm1S5Cbu1tD9TSksOYcA==} preact@10.22.0: resolution: {integrity: sha512-RRurnSjJPj4rp5K6XoP45Ui33ncb7e4H7WiOHVpjbkvqvA3U+N8Z6Qbo0AE6leGYBV66n8EhEaFixvIu3SkxFw==} @@ -2988,14 +3030,15 @@ packages: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} - prettier-plugin-tailwindcss@0.5.9: - resolution: {integrity: sha512-9x3t1s2Cjbut2QiP+O0mDqV3gLXTe2CgRlQDgucopVkUdw26sQi53p/q4qvGxMLBDfk/dcTV57Aa/zYwz9l8Ew==} + prettier-plugin-tailwindcss@0.5.14: + resolution: {integrity: sha512-Puaz+wPUAhFp8Lo9HuciYKM2Y2XExESjeT+9NQoVFXZsPPnc9VYss2SpxdQ6vbatmt8/4+SN0oe0I1cPDABg9Q==} engines: {node: '>=14.21.3'} peerDependencies: '@ianvs/prettier-plugin-sort-imports': '*' '@prettier/plugin-pug': '*' '@shopify/prettier-plugin-liquid': '*' '@trivago/prettier-plugin-sort-imports': '*' + '@zackad/prettier-plugin-twig-melody': '*' prettier: ^3.0 prettier-plugin-astro: '*' prettier-plugin-css-order: '*' @@ -3004,9 +3047,9 @@ packages: prettier-plugin-marko: '*' prettier-plugin-organize-attributes: '*' prettier-plugin-organize-imports: '*' + prettier-plugin-sort-imports: '*' prettier-plugin-style-order: '*' prettier-plugin-svelte: '*' - prettier-plugin-twig-melody: '*' peerDependenciesMeta: '@ianvs/prettier-plugin-sort-imports': optional: true @@ -3016,6 +3059,8 @@ packages: optional: true '@trivago/prettier-plugin-sort-imports': optional: true + '@zackad/prettier-plugin-twig-melody': + optional: true prettier-plugin-astro: optional: true prettier-plugin-css-order: @@ -3030,15 +3075,15 @@ packages: optional: true prettier-plugin-organize-imports: optional: true + prettier-plugin-sort-imports: + optional: true prettier-plugin-style-order: optional: true prettier-plugin-svelte: optional: true - prettier-plugin-twig-melody: - optional: true - prettier@3.1.1: - resolution: {integrity: sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==} + prettier@3.3.1: + resolution: {integrity: sha512-7CAwy5dRsxs8PHXT3twixW9/OEll8MLE0VRPCJyl7CkS6VHGPSlsVaWTiASPTyGyYRyApxlaWTzwUxVNrhcwDg==} engines: {node: '>=14'} hasBin: true @@ -3070,8 +3115,8 @@ packages: peerDependencies: express-rate-limit: '>= 6' - rate-limiter-flexible@2.4.1: - resolution: {integrity: sha512-dgH4T44TzKVO9CLArNto62hJOwlWJMLUjVVr/ii0uUzZXEXthDNr7/yefW5z/1vvHAfycc1tnuiYyNJ8CTRB3g==} + rate-limiter-flexible@2.4.2: + resolution: {integrity: sha512-rMATGGOdO1suFyf/mI5LYhts71g1sbdhmd6YvdiXO2gJnd42Tt6QS4JUKJKSWVVkMtBacm6l40FR7Trjo6Iruw==} raw-body@2.5.2: resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} @@ -3167,6 +3212,7 @@ packages: rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true robust-predicates@3.0.2: @@ -3275,8 +3321,8 @@ packages: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} - source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + source-map-js@1.2.0: + resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} engines: {node: '>=0.10.0'} source-map-support@0.5.21: @@ -3394,16 +3440,16 @@ packages: tailwind-merge@1.14.0: resolution: {integrity: sha512-3mFKyCo/MBcgyOTlrY8T7odzZFx+w+qKSMAmdFzRvqBfLlSigU6TZnlFHK0lkMwj9Bj8OYU+9yW9lmGuS0QEnQ==} - tailwind-merge@2.2.0: - resolution: {integrity: sha512-SqqhhaL0T06SW59+JVNfAqKdqLs0497esifRrZ7jOaefP3o64fdFNDMrAQWZFMxTLJPiHVjRLUywT8uFz1xNWQ==} + tailwind-merge@2.3.0: + resolution: {integrity: sha512-vkYrLpIP+lgR0tQCG6AP7zZXCTLc1Lnv/CCRT3BqJ9CZ3ui2++GPaGb1x/ILsINIMSYqqvrpqjUFsMNLlW99EA==} tailwindcss-animate@1.0.7: resolution: {integrity: sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==} peerDependencies: tailwindcss: '>=3.0.0 || insiders' - tailwindcss@3.4.0: - resolution: {integrity: sha512-VigzymniH77knD1dryXbyxR+ePHihHociZbXnLZHUyzf2MMs2ZVqlUrZ3FvpXP8pno9JzmILt1sZPD19M3IxtA==} + tailwindcss@3.4.4: + resolution: {integrity: sha512-ZoyXOdJjISB7/BcLTR6SEsLgKtDStYyYZVLsUtWChO4Ps20CBad7lfJKVDiejocV4ME1hLmyY0WJE3hSDcmQ2A==} engines: {node: '>=14.0.0'} hasBin: true @@ -3417,8 +3463,9 @@ packages: thenify@3.3.1: resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} - timers-ext@0.1.7: - resolution: {integrity: sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==} + timers-ext@0.1.8: + resolution: {integrity: sha512-wFH7+SEAcKfJpfLPkrgMPvvwnEtj8W4IurvEyrKsDleXnKLCDw71w8jltvfLa8Rm4qQxxT4jmDBYbJG/z7qoww==} + engines: {node: '>=0.12'} tiny-invariant@1.3.3: resolution: {integrity: sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==} @@ -3431,20 +3478,20 @@ packages: resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} engines: {node: '>=0.6'} - ts-api-utils@1.0.3: - resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==} - engines: {node: '>=16.13.0'} + ts-api-utils@1.3.0: + resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} + engines: {node: '>=16'} peerDependencies: typescript: '>=4.2.0' ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - tslib@2.6.2: - resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + tslib@2.6.3: + resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==} - tsx@4.11.0: - resolution: {integrity: sha512-vzGGELOgAupsNVssAmZjbUDfdm/pWP4R+Kg8TVdsonxbXk0bEpE1qh0yV6/QxUVXaVlNemgcPajGdJJ82n3stg==} + tsx@4.14.1: + resolution: {integrity: sha512-GU8pPJq8DdxcJDSK6Bc64c2jW8zBK2hb0jzwHZDfjapbwu6AqvFnAElnzZ17Xb9TH5a/j6/sicTCVYF+eO/cmA==} engines: {node: '>=18.0.0'} hasBin: true @@ -3460,11 +3507,8 @@ packages: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} - type@1.2.0: - resolution: {integrity: sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==} - - type@2.7.2: - resolution: {integrity: sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==} + type@2.7.3: + resolution: {integrity: sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==} typed-array-buffer@1.0.2: resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} @@ -3482,8 +3526,8 @@ packages: resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} engines: {node: '>= 0.4'} - typescript@5.3.3: - resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} + typescript@5.4.5: + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} engines: {node: '>=14.17'} hasBin: true @@ -3497,8 +3541,8 @@ packages: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} - update-browserslist-db@1.0.13: - resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} + update-browserslist-db@1.0.16: + resolution: {integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' @@ -3506,8 +3550,8 @@ packages: uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - use-sync-external-store@1.2.0: - resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==} + use-sync-external-store@1.2.2: + resolution: {integrity: sha512-PElTlVMwpblvbNqQ82d2n6RjStvdSoNe9FG28kNfz3WiXilJm4DdNkEzRhCZuIDwY8U08WVihhGR5iRqAwfDiw==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -3544,6 +3588,10 @@ packages: engines: {node: '>= 8'} hasBin: true + word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + wordwrap@1.0.0: resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} @@ -3573,24 +3621,23 @@ packages: yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - yaml@2.3.4: - resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==} + yaml@2.4.5: + resolution: {integrity: sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==} engines: {node: '>= 14'} + hasBin: true yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} - zod@3.22.4: - resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} + zod@3.23.8: + resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} snapshots: - '@aashutoshrathi/word-wrap@1.2.6': {} - '@alloc/quick-lru@5.2.0': {} - '@babel/runtime@7.23.6': + '@babel/runtime@7.24.7': dependencies: regenerator-runtime: 0.14.1 @@ -3609,7 +3656,7 @@ snapshots: '@esbuild-kit/esm-loader@2.6.5': dependencies: '@esbuild-kit/core-utils': 3.3.2 - get-tsconfig: 4.7.2 + get-tsconfig: 4.7.5 '@esbuild/aix-ppc64@0.20.2': optional: true @@ -3746,20 +3793,20 @@ snapshots: '@esbuild/win32-x64@0.20.2': optional: true - '@eslint-community/eslint-utils@4.4.0(eslint@8.56.0)': + '@eslint-community/eslint-utils@4.4.0(eslint@8.57.0)': dependencies: - eslint: 8.56.0 + eslint: 8.57.0 eslint-visitor-keys: 3.4.3 - '@eslint-community/regexpp@4.10.0': {} + '@eslint-community/regexpp@4.10.1': {} '@eslint/eslintrc@2.1.4': dependencies: ajv: 6.12.6 - debug: 4.3.4 + debug: 4.3.5 espree: 9.6.1 globals: 13.24.0 - ignore: 5.3.0 + ignore: 5.3.1 import-fresh: 3.3.0 js-yaml: 4.1.0 minimatch: 3.1.2 @@ -3767,7 +3814,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@8.56.0': {} + '@eslint/js@8.57.0': {} '@floating-ui/core@1.6.2': dependencies: @@ -3824,14 +3871,14 @@ snapshots: react: 19.0.0-rc-6230622a1a-20240610 react-dom: 19.0.0-rc-6230622a1a-20240610(react@19.0.0-rc-6230622a1a-20240610) - '@headlessui/tailwindcss@0.2.1(tailwindcss@3.4.0)': + '@headlessui/tailwindcss@0.2.1(tailwindcss@3.4.4)': dependencies: - tailwindcss: 3.4.0 + tailwindcss: 3.4.4 - '@humanwhocodes/config-array@0.11.13': + '@humanwhocodes/config-array@0.11.14': dependencies: - '@humanwhocodes/object-schema': 2.0.1 - debug: 4.3.4 + '@humanwhocodes/object-schema': 2.0.3 + debug: 4.3.5 minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -3924,28 +3971,28 @@ snapshots: wrap-ansi: 8.1.0 wrap-ansi-cjs: wrap-ansi@7.0.0 - '@jridgewell/gen-mapping@0.3.3': + '@jridgewell/gen-mapping@0.3.5': dependencies: - '@jridgewell/set-array': 1.1.2 + '@jridgewell/set-array': 1.2.1 '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.20 + '@jridgewell/trace-mapping': 0.3.25 - '@jridgewell/resolve-uri@3.1.1': {} + '@jridgewell/resolve-uri@3.1.2': {} - '@jridgewell/set-array@1.1.2': {} + '@jridgewell/set-array@1.2.1': {} '@jridgewell/sourcemap-codec@1.4.15': {} - '@jridgewell/trace-mapping@0.3.20': + '@jridgewell/trace-mapping@0.3.25': dependencies: - '@jridgewell/resolve-uri': 3.1.1 + '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.4.15 '@next/env@15.0.0-rc.0': {} - '@next/eslint-plugin-next@14.0.4': + '@next/eslint-plugin-next@14.2.3': dependencies: - glob: 7.1.7 + glob: 10.3.10 '@next/swc-darwin-arm64@15.0.0-rc.0': optional: true @@ -3984,20 +4031,20 @@ snapshots: '@nodelib/fs.walk@1.2.8': dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.16.0 + fastq: 1.17.1 '@pkgjs/parseargs@0.11.0': optional: true - '@planetscale/database@1.13.0': {} + '@planetscale/database@1.18.0': {} '@radix-ui/number@1.0.1': dependencies: - '@babel/runtime': 7.23.6 + '@babel/runtime': 7.24.7 '@radix-ui/primitive@1.0.1': dependencies: - '@babel/runtime': 7.23.6 + '@babel/runtime': 7.24.7 '@radix-ui/react-arrow@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@19.0.0-rc-6230622a1a-20240610(react@19.0.0-rc-6230622a1a-20240610))(react@19.0.0-rc-6230622a1a-20240610)': dependencies: @@ -4006,8 +4053,8 @@ snapshots: react: 19.0.0-rc-6230622a1a-20240610 react-dom: 19.0.0-rc-6230622a1a-20240610(react@19.0.0-rc-6230622a1a-20240610) optionalDependencies: - '@types/react': 18.2.45 - '@types/react-dom': 18.2.18 + '@types/react': 18.3.3 + '@types/react-dom': 18.3.0 '@radix-ui/react-collection@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@19.0.0-rc-6230622a1a-20240610(react@19.0.0-rc-6230622a1a-20240610))(react@19.0.0-rc-6230622a1a-20240610)': dependencies: @@ -4027,25 +4074,25 @@ snapshots: '@babel/runtime': 7.23.6 react: 19.0.0-rc-6230622a1a-20240610 optionalDependencies: - '@types/react': 18.2.45 + '@types/react': 18.3.3 '@radix-ui/react-context@1.0.1(@types/react@18.2.45)(react@19.0.0-rc-6230622a1a-20240610)': dependencies: '@babel/runtime': 7.23.6 react: 19.0.0-rc-6230622a1a-20240610 optionalDependencies: - '@types/react': 18.2.45 + '@types/react': 18.3.3 '@radix-ui/react-direction@1.0.1(@types/react@18.2.45)(react@19.0.0-rc-6230622a1a-20240610)': dependencies: '@babel/runtime': 7.23.6 react: 19.0.0-rc-6230622a1a-20240610 optionalDependencies: - '@types/react': 18.2.45 + '@types/react': 18.3.3 '@radix-ui/react-dismissable-layer@1.0.5(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@19.0.0-rc-6230622a1a-20240610(react@19.0.0-rc-6230622a1a-20240610))(react@19.0.0-rc-6230622a1a-20240610)': dependencies: - '@babel/runtime': 7.23.6 + '@babel/runtime': 7.24.7 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@19.0.0-rc-6230622a1a-20240610) '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@19.0.0-rc-6230622a1a-20240610(react@19.0.0-rc-6230622a1a-20240610))(react@19.0.0-rc-6230622a1a-20240610) @@ -4054,8 +4101,8 @@ snapshots: react: 19.0.0-rc-6230622a1a-20240610 react-dom: 19.0.0-rc-6230622a1a-20240610(react@19.0.0-rc-6230622a1a-20240610) optionalDependencies: - '@types/react': 18.2.45 - '@types/react-dom': 18.2.18 + '@types/react': 18.3.3 + '@types/react-dom': 18.3.0 '@radix-ui/react-id@1.0.1(@types/react@18.2.45)(react@19.0.0-rc-6230622a1a-20240610)': dependencies: @@ -4063,7 +4110,7 @@ snapshots: '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.45)(react@19.0.0-rc-6230622a1a-20240610) react: 19.0.0-rc-6230622a1a-20240610 optionalDependencies: - '@types/react': 18.2.45 + '@types/react': 18.3.3 '@radix-ui/react-label@2.0.2(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@19.0.0-rc-6230622a1a-20240610(react@19.0.0-rc-6230622a1a-20240610))(react@19.0.0-rc-6230622a1a-20240610)': dependencies: @@ -4091,8 +4138,8 @@ snapshots: react: 19.0.0-rc-6230622a1a-20240610 react-dom: 19.0.0-rc-6230622a1a-20240610(react@19.0.0-rc-6230622a1a-20240610) optionalDependencies: - '@types/react': 18.2.45 - '@types/react-dom': 18.2.18 + '@types/react': 18.3.3 + '@types/react-dom': 18.3.0 '@radix-ui/react-portal@1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@19.0.0-rc-6230622a1a-20240610(react@19.0.0-rc-6230622a1a-20240610))(react@19.0.0-rc-6230622a1a-20240610)': dependencies: @@ -4101,8 +4148,8 @@ snapshots: react: 19.0.0-rc-6230622a1a-20240610 react-dom: 19.0.0-rc-6230622a1a-20240610(react@19.0.0-rc-6230622a1a-20240610) optionalDependencies: - '@types/react': 18.2.45 - '@types/react-dom': 18.2.18 + '@types/react': 18.3.3 + '@types/react-dom': 18.3.0 '@radix-ui/react-presence@1.0.1(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@19.0.0-rc-6230622a1a-20240610(react@19.0.0-rc-6230622a1a-20240610))(react@19.0.0-rc-6230622a1a-20240610)': dependencies: @@ -4112,8 +4159,8 @@ snapshots: react: 19.0.0-rc-6230622a1a-20240610 react-dom: 19.0.0-rc-6230622a1a-20240610(react@19.0.0-rc-6230622a1a-20240610) optionalDependencies: - '@types/react': 18.2.45 - '@types/react-dom': 18.2.18 + '@types/react': 18.3.3 + '@types/react-dom': 18.3.0 '@radix-ui/react-primitive@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@19.0.0-rc-6230622a1a-20240610(react@19.0.0-rc-6230622a1a-20240610))(react@19.0.0-rc-6230622a1a-20240610)': dependencies: @@ -4122,12 +4169,12 @@ snapshots: react: 19.0.0-rc-6230622a1a-20240610 react-dom: 19.0.0-rc-6230622a1a-20240610(react@19.0.0-rc-6230622a1a-20240610) optionalDependencies: - '@types/react': 18.2.45 - '@types/react-dom': 18.2.18 + '@types/react': 18.3.3 + '@types/react-dom': 18.3.0 '@radix-ui/react-scroll-area@1.0.5(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@19.0.0-rc-6230622a1a-20240610(react@19.0.0-rc-6230622a1a-20240610))(react@19.0.0-rc-6230622a1a-20240610)': dependencies: - '@babel/runtime': 7.23.6 + '@babel/runtime': 7.24.7 '@radix-ui/number': 1.0.1 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@19.0.0-rc-6230622a1a-20240610) @@ -4140,8 +4187,8 @@ snapshots: react: 19.0.0-rc-6230622a1a-20240610 react-dom: 19.0.0-rc-6230622a1a-20240610(react@19.0.0-rc-6230622a1a-20240610) optionalDependencies: - '@types/react': 18.2.45 - '@types/react-dom': 18.2.18 + '@types/react': 18.3.3 + '@types/react-dom': 18.3.0 '@radix-ui/react-slider@1.1.2(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@19.0.0-rc-6230622a1a-20240610(react@19.0.0-rc-6230622a1a-20240610))(react@19.0.0-rc-6230622a1a-20240610)': dependencies: @@ -4169,7 +4216,7 @@ snapshots: '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@19.0.0-rc-6230622a1a-20240610) react: 19.0.0-rc-6230622a1a-20240610 optionalDependencies: - '@types/react': 18.2.45 + '@types/react': 18.3.3 '@radix-ui/react-switch@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@19.0.0-rc-6230622a1a-20240610(react@19.0.0-rc-6230622a1a-20240610))(react@19.0.0-rc-6230622a1a-20240610)': dependencies: @@ -4189,7 +4236,7 @@ snapshots: '@radix-ui/react-tooltip@1.0.7(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@19.0.0-rc-6230622a1a-20240610(react@19.0.0-rc-6230622a1a-20240610))(react@19.0.0-rc-6230622a1a-20240610)': dependencies: - '@babel/runtime': 7.23.6 + '@babel/runtime': 7.24.7 '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.45)(react@19.0.0-rc-6230622a1a-20240610) '@radix-ui/react-context': 1.0.1(@types/react@18.2.45)(react@19.0.0-rc-6230622a1a-20240610) @@ -4205,15 +4252,15 @@ snapshots: react: 19.0.0-rc-6230622a1a-20240610 react-dom: 19.0.0-rc-6230622a1a-20240610(react@19.0.0-rc-6230622a1a-20240610) optionalDependencies: - '@types/react': 18.2.45 - '@types/react-dom': 18.2.18 + '@types/react': 18.3.3 + '@types/react-dom': 18.3.0 '@radix-ui/react-use-callback-ref@1.0.1(@types/react@18.2.45)(react@19.0.0-rc-6230622a1a-20240610)': dependencies: '@babel/runtime': 7.23.6 react: 19.0.0-rc-6230622a1a-20240610 optionalDependencies: - '@types/react': 18.2.45 + '@types/react': 18.3.3 '@radix-ui/react-use-controllable-state@1.0.1(@types/react@18.2.45)(react@19.0.0-rc-6230622a1a-20240610)': dependencies: @@ -4221,7 +4268,7 @@ snapshots: '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.45)(react@19.0.0-rc-6230622a1a-20240610) react: 19.0.0-rc-6230622a1a-20240610 optionalDependencies: - '@types/react': 18.2.45 + '@types/react': 18.3.3 '@radix-ui/react-use-escape-keydown@1.0.3(@types/react@18.2.45)(react@19.0.0-rc-6230622a1a-20240610)': dependencies: @@ -4229,14 +4276,14 @@ snapshots: '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.45)(react@19.0.0-rc-6230622a1a-20240610) react: 19.0.0-rc-6230622a1a-20240610 optionalDependencies: - '@types/react': 18.2.45 + '@types/react': 18.3.3 '@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.2.45)(react@19.0.0-rc-6230622a1a-20240610)': dependencies: '@babel/runtime': 7.23.6 react: 19.0.0-rc-6230622a1a-20240610 optionalDependencies: - '@types/react': 18.2.45 + '@types/react': 18.3.3 '@radix-ui/react-use-previous@1.0.1(@types/react@18.2.45)(react@19.0.0-rc-6230622a1a-20240610)': dependencies: @@ -4247,11 +4294,11 @@ snapshots: '@radix-ui/react-use-rect@1.0.1(@types/react@18.2.45)(react@19.0.0-rc-6230622a1a-20240610)': dependencies: - '@babel/runtime': 7.23.6 + '@babel/runtime': 7.24.7 '@radix-ui/rect': 1.0.1 react: 19.0.0-rc-6230622a1a-20240610 optionalDependencies: - '@types/react': 18.2.45 + '@types/react': 18.3.3 '@radix-ui/react-use-size@1.0.1(@types/react@18.2.45)(react@19.0.0-rc-6230622a1a-20240610)': dependencies: @@ -4259,7 +4306,7 @@ snapshots: '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.45)(react@19.0.0-rc-6230622a1a-20240610) react: 19.0.0-rc-6230622a1a-20240610 optionalDependencies: - '@types/react': 18.2.45 + '@types/react': 18.3.3 '@radix-ui/react-visually-hidden@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.45)(react-dom@19.0.0-rc-6230622a1a-20240610(react@19.0.0-rc-6230622a1a-20240610))(react@19.0.0-rc-6230622a1a-20240610)': dependencies: @@ -4268,12 +4315,12 @@ snapshots: react: 19.0.0-rc-6230622a1a-20240610 react-dom: 19.0.0-rc-6230622a1a-20240610(react@19.0.0-rc-6230622a1a-20240610) optionalDependencies: - '@types/react': 18.2.45 - '@types/react-dom': 18.2.18 + '@types/react': 18.3.3 + '@types/react-dom': 18.3.0 '@radix-ui/rect@1.0.1': dependencies: - '@babel/runtime': 7.23.6 + '@babel/runtime': 7.24.7 '@react-aria/focus@3.17.1(react@19.0.0-rc-6230622a1a-20240610)': dependencies: @@ -4354,29 +4401,29 @@ snapshots: '@swc/helpers@0.5.5': dependencies: '@swc/counter': 0.1.3 - tslib: 2.6.2 + tslib: 2.6.3 - '@t3-oss/env-core@0.7.1(typescript@5.3.3)(zod@3.22.4)': + '@t3-oss/env-core@0.7.3(typescript@5.4.5)(zod@3.23.8)': dependencies: - zod: 3.22.4 + zod: 3.23.8 optionalDependencies: - typescript: 5.3.3 + typescript: 5.4.5 - '@t3-oss/env-nextjs@0.7.1(typescript@5.3.3)(zod@3.22.4)': + '@t3-oss/env-nextjs@0.7.3(typescript@5.4.5)(zod@3.23.8)': dependencies: - '@t3-oss/env-core': 0.7.1(typescript@5.3.3)(zod@3.22.4) - zod: 3.22.4 + '@t3-oss/env-core': 0.7.3(typescript@5.4.5)(zod@3.23.8) + zod: 3.23.8 optionalDependencies: - typescript: 5.3.3 + typescript: 5.4.5 - '@tailwindcss/forms@0.5.7(tailwindcss@3.4.0)': + '@tailwindcss/forms@0.5.7(tailwindcss@3.4.4)': dependencies: mini-svg-data-uri: 1.4.4 - tailwindcss: 3.4.0 + tailwindcss: 3.4.4 - '@tailwindcss/line-clamp@0.4.4(tailwindcss@3.4.0)': + '@tailwindcss/line-clamp@0.4.4(tailwindcss@3.4.4)': dependencies: - tailwindcss: 3.4.0 + tailwindcss: 3.4.4 '@tanstack/query-core@4.36.1': {} @@ -4411,9 +4458,9 @@ snapshots: transitivePeerDependencies: - tailwindcss - '@trpc/client@10.45.0(@trpc/server@10.45.0)': + '@trpc/client@10.45.2(@trpc/server@10.45.2)': dependencies: - '@trpc/server': 10.45.0 + '@trpc/server': 10.45.2 '@trpc/next@10.45.0(@tanstack/react-query@4.36.1(react-dom@19.0.0-rc-6230622a1a-20240610(react@19.0.0-rc-6230622a1a-20240610))(react@19.0.0-rc-6230622a1a-20240610))(@trpc/client@10.45.0(@trpc/server@10.45.0))(@trpc/react-query@10.45.0(@tanstack/react-query@4.36.1(react-dom@19.0.0-rc-6230622a1a-20240610(react@19.0.0-rc-6230622a1a-20240610))(react@19.0.0-rc-6230622a1a-20240610))(@trpc/client@10.45.0(@trpc/server@10.45.0))(@trpc/server@10.45.0)(react-dom@19.0.0-rc-6230622a1a-20240610(react@19.0.0-rc-6230622a1a-20240610))(react@19.0.0-rc-6230622a1a-20240610))(@trpc/server@10.45.0)(next@15.0.0-rc.0(react-dom@19.0.0-rc-6230622a1a-20240610(react@19.0.0-rc-6230622a1a-20240610))(react@19.0.0-rc-6230622a1a-20240610))(react-dom@19.0.0-rc-6230622a1a-20240610(react@19.0.0-rc-6230622a1a-20240610))(react@19.0.0-rc-6230622a1a-20240610)': dependencies: @@ -4433,10 +4480,12 @@ snapshots: react: 19.0.0-rc-6230622a1a-20240610 react-dom: 19.0.0-rc-6230622a1a-20240610(react@19.0.0-rc-6230622a1a-20240610) - '@trpc/server@10.45.0': {} + '@trpc/server@10.45.2': {} '@types/d3-array@3.0.3': {} + '@types/d3-array@3.2.1': {} + '@types/d3-axis@3.0.6': dependencies: '@types/d3-selection': 3.0.10 @@ -4449,13 +4498,17 @@ snapshots: '@types/d3-color@3.1.0': {} + '@types/d3-color@3.1.3': {} + '@types/d3-contour@3.0.6': dependencies: - '@types/d3-array': 3.0.3 + '@types/d3-array': 3.2.1 '@types/geojson': 7946.0.14 '@types/d3-delaunay@6.0.1': {} + '@types/d3-delaunay@6.0.4': {} + '@types/d3-dispatch@3.0.6': {} '@types/d3-drag@3.0.7': @@ -4474,17 +4527,23 @@ snapshots: '@types/d3-format@3.0.1': {} + '@types/d3-format@3.0.4': {} + '@types/d3-geo@3.1.0': dependencies: '@types/geojson': 7946.0.14 - '@types/d3-hierarchy@1.1.11': {} + '@types/d3-hierarchy@3.1.7': {} '@types/d3-interpolate@3.0.1': dependencies: '@types/d3-color': 3.1.0 - '@types/d3-path@2.0.4': {} + '@types/d3-interpolate@3.0.4': + dependencies: + '@types/d3-color': 3.1.3 + + '@types/d3-path@3.1.0': {} '@types/d3-polygon@3.0.2': {} @@ -4492,6 +4551,8 @@ snapshots: '@types/d3-random@2.2.3': {} + '@types/d3-random@3.0.3': {} + '@types/d3-scale-chromatic@3.0.3': {} '@types/d3-scale@3.3.5': @@ -4502,11 +4563,15 @@ snapshots: dependencies: '@types/d3-time': 1.1.4 + '@types/d3-scale@4.0.8': + dependencies: + '@types/d3-time': 1.1.4 + '@types/d3-selection@3.0.10': {} '@types/d3-shape@3.1.6': dependencies: - '@types/d3-path': 2.0.4 + '@types/d3-path': 3.1.0 '@types/d3-time-format@2.1.0': {} @@ -4518,6 +4583,8 @@ snapshots: '@types/d3-time@3.0.0': {} + '@types/d3-time@3.0.3': {} + '@types/d3-timer@3.0.2': {} '@types/d3-transition@3.0.8': @@ -4526,32 +4593,32 @@ snapshots: '@types/d3-zoom@3.0.8': dependencies: - '@types/d3-interpolate': 3.0.1 + '@types/d3-interpolate': 3.0.4 '@types/d3-selection': 3.0.10 '@types/d3@7.4.3': dependencies: - '@types/d3-array': 3.0.3 + '@types/d3-array': 3.2.1 '@types/d3-axis': 3.0.6 '@types/d3-brush': 3.0.6 '@types/d3-chord': 3.0.6 - '@types/d3-color': 3.1.0 + '@types/d3-color': 3.1.3 '@types/d3-contour': 3.0.6 - '@types/d3-delaunay': 6.0.1 + '@types/d3-delaunay': 6.0.4 '@types/d3-dispatch': 3.0.6 '@types/d3-drag': 3.0.7 '@types/d3-dsv': 3.0.7 '@types/d3-ease': 3.0.2 '@types/d3-fetch': 3.0.7 '@types/d3-force': 3.0.9 - '@types/d3-format': 3.0.1 + '@types/d3-format': 3.0.4 '@types/d3-geo': 3.1.0 - '@types/d3-hierarchy': 1.1.11 - '@types/d3-interpolate': 3.0.1 - '@types/d3-path': 2.0.4 + '@types/d3-hierarchy': 3.1.7 + '@types/d3-interpolate': 3.0.4 + '@types/d3-path': 3.1.0 '@types/d3-polygon': 3.0.2 '@types/d3-quadtree': 3.0.6 - '@types/d3-random': 2.2.3 + '@types/d3-random': 3.0.3 '@types/d3-scale': 3.3.5 '@types/d3-scale-chromatic': 3.0.3 '@types/d3-selection': 3.0.10 @@ -4562,7 +4629,7 @@ snapshots: '@types/d3-transition': 3.0.8 '@types/d3-zoom': 3.0.8 - '@types/eslint@8.56.0': + '@types/eslint@8.56.10': dependencies: '@types/estree': 1.0.5 '@types/json-schema': 7.0.15 @@ -4573,127 +4640,124 @@ snapshots: '@types/json-schema@7.0.15': {} - '@types/lodash@4.17.4': {} + '@types/lodash@4.17.5': {} - '@types/node@18.19.3': + '@types/node@18.19.34': dependencies: undici-types: 5.26.5 - '@types/prop-types@15.7.11': {} + '@types/prop-types@15.7.12': {} - '@types/react-dom@18.2.18': + '@types/react-dom@18.3.0': dependencies: - '@types/react': 18.2.45 + '@types/react': 18.3.3 - '@types/react@18.2.45': + '@types/react@18.3.3': dependencies: - '@types/prop-types': 15.7.11 - '@types/scheduler': 0.16.8 + '@types/prop-types': 15.7.12 csstype: 3.1.3 - '@types/scheduler@0.16.8': {} - - '@types/semver@7.5.6': {} + '@types/semver@7.5.8': {} '@types/ws@8.5.10': dependencies: - '@types/node': 18.19.3 + '@types/node': 18.19.34 - '@typescript-eslint/eslint-plugin@6.16.0(@typescript-eslint/parser@6.16.0(eslint@8.56.0)(typescript@5.3.3))(eslint@8.56.0)(typescript@5.3.3)': + '@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5)': dependencies: - '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 6.16.0(eslint@8.56.0)(typescript@5.3.3) - '@typescript-eslint/scope-manager': 6.16.0 - '@typescript-eslint/type-utils': 6.16.0(eslint@8.56.0)(typescript@5.3.3) - '@typescript-eslint/utils': 6.16.0(eslint@8.56.0)(typescript@5.3.3) - '@typescript-eslint/visitor-keys': 6.16.0 - debug: 4.3.4 - eslint: 8.56.0 + '@eslint-community/regexpp': 4.10.1 + '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/type-utils': 6.21.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/visitor-keys': 6.21.0 + debug: 4.3.5 + eslint: 8.57.0 graphemer: 1.4.0 - ignore: 5.3.0 + ignore: 5.3.1 natural-compare: 1.4.0 - semver: 7.5.4 - ts-api-utils: 1.0.3(typescript@5.3.3) + semver: 7.6.2 + ts-api-utils: 1.3.0(typescript@5.4.5) optionalDependencies: - typescript: 5.3.3 + typescript: 5.4.5 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@6.16.0(eslint@8.56.0)(typescript@5.3.3)': + '@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5)': dependencies: - '@typescript-eslint/scope-manager': 6.16.0 - '@typescript-eslint/types': 6.16.0 - '@typescript-eslint/typescript-estree': 6.16.0(typescript@5.3.3) - '@typescript-eslint/visitor-keys': 6.16.0 - debug: 4.3.4 - eslint: 8.56.0 + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.5) + '@typescript-eslint/visitor-keys': 6.21.0 + debug: 4.3.5 + eslint: 8.57.0 optionalDependencies: - typescript: 5.3.3 + typescript: 5.4.5 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@6.16.0': + '@typescript-eslint/scope-manager@6.21.0': dependencies: - '@typescript-eslint/types': 6.16.0 - '@typescript-eslint/visitor-keys': 6.16.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/visitor-keys': 6.21.0 - '@typescript-eslint/type-utils@6.16.0(eslint@8.56.0)(typescript@5.3.3)': + '@typescript-eslint/type-utils@6.21.0(eslint@8.57.0)(typescript@5.4.5)': dependencies: - '@typescript-eslint/typescript-estree': 6.16.0(typescript@5.3.3) - '@typescript-eslint/utils': 6.16.0(eslint@8.56.0)(typescript@5.3.3) - debug: 4.3.4 - eslint: 8.56.0 - ts-api-utils: 1.0.3(typescript@5.3.3) + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.5) + '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.4.5) + debug: 4.3.5 + eslint: 8.57.0 + ts-api-utils: 1.3.0(typescript@5.4.5) optionalDependencies: - typescript: 5.3.3 + typescript: 5.4.5 transitivePeerDependencies: - supports-color - '@typescript-eslint/types@6.16.0': {} + '@typescript-eslint/types@6.21.0': {} - '@typescript-eslint/typescript-estree@6.16.0(typescript@5.3.3)': + '@typescript-eslint/typescript-estree@6.21.0(typescript@5.4.5)': dependencies: - '@typescript-eslint/types': 6.16.0 - '@typescript-eslint/visitor-keys': 6.16.0 - debug: 4.3.4 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/visitor-keys': 6.21.0 + debug: 4.3.5 globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.3 - semver: 7.5.4 - ts-api-utils: 1.0.3(typescript@5.3.3) + semver: 7.6.2 + ts-api-utils: 1.3.0(typescript@5.4.5) optionalDependencies: - typescript: 5.3.3 + typescript: 5.4.5 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@6.16.0(eslint@8.56.0)(typescript@5.3.3)': + '@typescript-eslint/utils@6.21.0(eslint@8.57.0)(typescript@5.4.5)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@types/json-schema': 7.0.15 - '@types/semver': 7.5.6 - '@typescript-eslint/scope-manager': 6.16.0 - '@typescript-eslint/types': 6.16.0 - '@typescript-eslint/typescript-estree': 6.16.0(typescript@5.3.3) - eslint: 8.56.0 - semver: 7.5.4 + '@types/semver': 7.5.8 + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.5) + eslint: 8.57.0 + semver: 7.6.2 transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/visitor-keys@6.16.0': + '@typescript-eslint/visitor-keys@6.21.0': dependencies: - '@typescript-eslint/types': 6.16.0 + '@typescript-eslint/types': 6.21.0 eslint-visitor-keys: 3.4.3 '@ungap/structured-clone@1.2.0': {} - '@upstash/core-analytics@0.0.8': + '@upstash/core-analytics@0.0.9': dependencies: '@upstash/redis': 1.31.3 - '@upstash/ratelimit@1.1.3': + '@upstash/ratelimit@1.2.0': dependencies: - '@upstash/core-analytics': 0.0.8 + '@upstash/core-analytics': 0.0.9 '@upstash/redis@1.31.3': dependencies: @@ -4701,7 +4765,7 @@ snapshots: '@visx/group@3.3.0(react@19.0.0-rc-6230622a1a-20240610)': dependencies: - '@types/react': 18.2.45 + '@types/react': 18.3.3 classnames: 2.5.1 prop-types: 15.8.1 react: 19.0.0-rc-6230622a1a-20240610 @@ -4721,8 +4785,8 @@ snapshots: '@visx/responsive@3.10.2(react@19.0.0-rc-6230622a1a-20240610)': dependencies: - '@types/lodash': 4.17.4 - '@types/react': 18.2.45 + '@types/lodash': 4.17.5 + '@types/react': 18.3.3 lodash: 4.17.21 prop-types: 15.8.1 react: 19.0.0-rc-6230622a1a-20240610 @@ -4758,11 +4822,11 @@ snapshots: mime-types: 2.1.35 negotiator: 0.6.3 - acorn-jsx@5.3.2(acorn@8.11.2): + acorn-jsx@5.3.2(acorn@8.11.3): dependencies: - acorn: 8.11.2 + acorn: 8.11.3 - acorn@8.11.2: {} + acorn@8.11.3: {} ajv@6.12.6: dependencies: @@ -4798,7 +4862,7 @@ snapshots: aria-hidden@1.2.4: dependencies: - tslib: 2.6.2 + tslib: 2.6.3 array-buffer-byte-length@1.0.1: dependencies: @@ -4820,14 +4884,14 @@ snapshots: is-array-buffer: 3.0.4 is-shared-array-buffer: 1.0.3 - autoprefixer@10.4.16(postcss@8.4.32): + autoprefixer@10.4.19(postcss@8.4.38): dependencies: - browserslist: 4.22.2 - caniuse-lite: 1.0.30001572 + browserslist: 4.23.1 + caniuse-lite: 1.0.30001629 fraction.js: 4.3.7 normalize-range: 0.1.2 - picocolors: 1.0.0 - postcss: 8.4.32 + picocolors: 1.0.1 + postcss: 8.4.38 postcss-value-parser: 4.2.0 available-typed-arrays@1.0.7: @@ -4836,7 +4900,7 @@ snapshots: balanced-match@1.0.2: {} - binary-extensions@2.2.0: {} + binary-extensions@2.3.0: {} body-parser@1.20.2: dependencies: @@ -4866,16 +4930,16 @@ snapshots: dependencies: balanced-match: 1.0.2 - braces@3.0.2: + braces@3.0.3: dependencies: - fill-range: 7.0.1 + fill-range: 7.1.1 - browserslist@4.22.2: + browserslist@4.23.1: dependencies: - caniuse-lite: 1.0.30001572 - electron-to-chromium: 1.4.616 + caniuse-lite: 1.0.30001629 + electron-to-chromium: 1.4.796 node-releases: 2.0.14 - update-browserslist-db: 1.0.13(browserslist@4.22.2) + update-browserslist-db: 1.0.16(browserslist@4.23.1) buffer-from@1.1.2: {} @@ -4899,9 +4963,7 @@ snapshots: camelcase@7.0.1: {} - caniuse-lite@1.0.30001572: {} - - caniuse-lite@1.0.30001625: {} + caniuse-lite@1.0.30001629: {} chalk@2.4.2: dependencies: @@ -4916,10 +4978,10 @@ snapshots: chalk@5.3.0: {} - chokidar@3.5.3: + chokidar@3.6.0: dependencies: anymatch: 3.1.3 - braces: 3.0.2 + braces: 3.0.3 glob-parent: 5.1.2 is-binary-path: 2.1.0 is-glob: 4.0.3 @@ -4934,18 +4996,20 @@ snapshots: classnames@2.5.1: {} - cli-color@2.0.3: + cli-color@2.0.4: dependencies: - d: 1.0.1 - es5-ext: 0.10.62 + d: 1.0.2 + es5-ext: 0.10.64 es6-iterator: 2.0.3 - memoizee: 0.4.15 - timers-ext: 0.1.7 + memoizee: 0.4.17 + timers-ext: 0.1.8 client-only@0.0.1: {} clsx@2.0.0: {} + clsx@2.1.1: {} + cluster-key-slot@1.1.2: {} color-convert@1.9.3: @@ -5032,6 +5096,10 @@ snapshots: dependencies: internmap: 2.0.3 + d3-array@3.2.4: + dependencies: + internmap: 2.0.3 + d3-axis@3.0.0: {} d3-brush@3.0.0: @@ -5050,12 +5118,16 @@ snapshots: d3-contour@4.0.2: dependencies: - d3-array: 3.2.1 + d3-array: 3.2.4 d3-delaunay@6.0.2: dependencies: delaunator: 5.0.1 + d3-delaunay@6.0.4: + dependencies: + delaunator: 5.0.1 + d3-dispatch@3.0.1: {} d3-drag@3.0.0: @@ -5087,6 +5159,10 @@ snapshots: dependencies: d3-array: 3.2.1 + d3-geo@3.1.1: + dependencies: + d3-array: 3.2.4 + d3-hierarchy@3.1.2: {} d3-interpolate@3.0.1: @@ -5110,11 +5186,11 @@ snapshots: d3-scale@4.0.2: dependencies: - d3-array: 3.2.1 + d3-array: 3.2.4 d3-format: 3.1.0 d3-interpolate: 3.0.1 d3-time: 3.1.0 - d3-time-format: 3.0.0 + d3-time-format: 4.1.0 d3-selection@3.0.0: {} @@ -5122,19 +5198,13 @@ snapshots: dependencies: d3-path: 3.1.0 - d3-time-format@3.0.0: - dependencies: - d3-time: 1.1.0 - d3-time-format@4.1.0: dependencies: - d3-time: 1.1.0 - - d3-time@1.1.0: {} + d3-time: 3.1.0 d3-time@3.1.0: dependencies: - d3-array: 3.2.1 + d3-array: 3.2.4 d3-timer@3.0.1: {} @@ -5157,13 +5227,13 @@ snapshots: d3@7.9.0: dependencies: - d3-array: 3.2.1 + d3-array: 3.2.4 d3-axis: 3.0.0 d3-brush: 3.0.0 d3-chord: 3.0.1 d3-color: 3.1.0 d3-contour: 4.0.2 - d3-delaunay: 6.0.2 + d3-delaunay: 6.0.4 d3-dispatch: 3.0.1 d3-drag: 3.0.0 d3-dsv: 3.0.1 @@ -5171,7 +5241,7 @@ snapshots: d3-fetch: 3.0.1 d3-force: 3.0.0 d3-format: 3.1.0 - d3-geo: 3.1.0 + d3-geo: 3.1.1 d3-hierarchy: 3.1.2 d3-interpolate: 3.0.1 d3-path: 3.1.0 @@ -5188,10 +5258,10 @@ snapshots: d3-transition: 3.0.1(d3-selection@3.0.0) d3-zoom: 3.0.0 - d@1.0.1: + d@1.0.2: dependencies: - es5-ext: 0.10.62 - type: 1.2.0 + es5-ext: 0.10.64 + type: 2.7.3 data-view-buffer@1.0.1: dependencies: @@ -5219,7 +5289,7 @@ snapshots: dependencies: ms: 2.0.0 - debug@4.3.4: + debug@4.3.5: dependencies: ms: 2.1.2 @@ -5270,7 +5340,7 @@ snapshots: dom-helpers@5.2.1: dependencies: - '@babel/runtime': 7.23.6 + '@babel/runtime': 7.24.7 csstype: 3.1.3 dom-serializer@2.0.0: @@ -5291,16 +5361,16 @@ snapshots: domelementtype: 2.3.0 domhandler: 5.0.3 - dotenv-cli@7.3.0: + dotenv-cli@7.4.2: dependencies: cross-spawn: 7.0.3 - dotenv: 16.3.1 + dotenv: 16.4.5 dotenv-expand: 10.0.0 minimist: 1.2.8 dotenv-expand@10.0.0: {} - dotenv@16.3.1: {} + dotenv@16.4.5: {} dreamopt@0.8.0: dependencies: @@ -5319,20 +5389,20 @@ snapshots: hanji: 0.0.5 json-diff: 0.9.0 minimatch: 7.4.6 - zod: 3.22.4 + zod: 3.23.8 transitivePeerDependencies: - supports-color - drizzle-orm@0.28.6(@planetscale/database@1.13.0)(mysql2@3.6.5): + drizzle-orm@0.28.6(@planetscale/database@1.18.0)(mysql2@3.10.0): optionalDependencies: - '@planetscale/database': 1.13.0 - mysql2: 3.6.5 + '@planetscale/database': 1.18.0 + mysql2: 3.10.0 eastasianwidth@0.2.0: {} ee-first@1.1.1: {} - electron-to-chromium@1.4.616: {} + electron-to-chromium@1.4.796: {} emoji-regex@8.0.0: {} @@ -5417,33 +5487,34 @@ snapshots: is-date-object: 1.0.5 is-symbol: 1.0.4 - es5-ext@0.10.62: + es5-ext@0.10.64: dependencies: es6-iterator: 2.0.3 - es6-symbol: 3.1.3 + es6-symbol: 3.1.4 + esniff: 2.0.1 next-tick: 1.1.0 es6-iterator@2.0.3: dependencies: - d: 1.0.1 - es5-ext: 0.10.62 - es6-symbol: 3.1.3 + d: 1.0.2 + es5-ext: 0.10.64 + es6-symbol: 3.1.4 - es6-symbol@3.1.3: + es6-symbol@3.1.4: dependencies: - d: 1.0.1 + d: 1.0.2 ext: 1.7.0 es6-weak-map@2.0.3: dependencies: - d: 1.0.1 - es5-ext: 0.10.62 + d: 1.0.2 + es5-ext: 0.10.64 es6-iterator: 2.0.3 - es6-symbol: 3.1.3 + es6-symbol: 3.1.4 esbuild-register@3.5.0(esbuild@0.18.20): dependencies: - debug: 4.3.4 + debug: 4.3.5 esbuild: 0.18.20 transitivePeerDependencies: - supports-color @@ -5499,7 +5570,7 @@ snapshots: '@esbuild/win32-ia32': 0.20.2 '@esbuild/win32-x64': 0.20.2 - escalade@3.1.1: {} + escalade@3.1.2: {} escape-html@1.0.3: {} @@ -5514,20 +5585,20 @@ snapshots: eslint-visitor-keys@3.4.3: {} - eslint@8.56.0: + eslint@8.57.0: dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) - '@eslint-community/regexpp': 4.10.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/regexpp': 4.10.1 '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.56.0 - '@humanwhocodes/config-array': 0.11.13 + '@eslint/js': 8.57.0 + '@humanwhocodes/config-array': 0.11.14 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 '@ungap/structured-clone': 1.2.0 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.4 + debug: 4.3.5 doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.2.2 @@ -5541,7 +5612,7 @@ snapshots: glob-parent: 6.0.2 globals: 13.24.0 graphemer: 1.4.0 - ignore: 5.3.0 + ignore: 5.3.1 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 @@ -5551,16 +5622,23 @@ snapshots: lodash.merge: 4.6.2 minimatch: 3.1.2 natural-compare: 1.4.0 - optionator: 0.9.3 + optionator: 0.9.4 strip-ansi: 6.0.1 text-table: 0.2.0 transitivePeerDependencies: - supports-color + esniff@2.0.1: + dependencies: + d: 1.0.2 + es5-ext: 0.10.64 + event-emitter: 0.3.5 + type: 2.7.3 + espree@9.6.1: dependencies: - acorn: 8.11.2 - acorn-jsx: 5.3.2(acorn@8.11.2) + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) eslint-visitor-keys: 3.4.3 esquery@1.5.0: @@ -5579,12 +5657,12 @@ snapshots: event-emitter@0.3.5: dependencies: - d: 1.0.1 - es5-ext: 0.10.62 + d: 1.0.2 + es5-ext: 0.10.64 eventemitter3@4.0.7: {} - express-rate-limit@7.3.0(express@4.19.2): + express-rate-limit@7.3.1(express@4.19.2): dependencies: express: 4.19.2 @@ -5626,7 +5704,7 @@ snapshots: ext@1.7.0: dependencies: - type: 2.7.2 + type: 2.7.3 fast-deep-equal@3.1.3: {} @@ -5638,13 +5716,13 @@ snapshots: '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.5 + micromatch: 4.0.7 fast-json-stable-stringify@2.1.0: {} fast-levenshtein@2.0.6: {} - fastq@1.16.0: + fastq@1.17.1: dependencies: reusify: 1.0.4 @@ -5654,7 +5732,7 @@ snapshots: dependencies: flat-cache: 3.2.0 - fill-range@7.0.1: + fill-range@7.1.1: dependencies: to-regex-range: 5.0.1 @@ -5677,11 +5755,11 @@ snapshots: flat-cache@3.2.0: dependencies: - flatted: 3.2.9 + flatted: 3.3.1 keyv: 4.5.4 rimraf: 3.0.2 - flatted@3.2.9: {} + flatted@3.3.1: {} for-each@0.3.3: dependencies: @@ -5726,7 +5804,7 @@ snapshots: function-bind: 1.1.2 has-proto: 1.0.3 has-symbols: 1.0.3 - hasown: 2.0.0 + hasown: 2.0.2 get-symbol-description@1.0.2: dependencies: @@ -5734,10 +5812,6 @@ snapshots: es-errors: 1.3.0 get-intrinsic: 1.2.4 - get-tsconfig@4.7.2: - dependencies: - resolve-pkg-maps: 1.0.0 - get-tsconfig@4.7.5: dependencies: resolve-pkg-maps: 1.0.0 @@ -5754,18 +5828,17 @@ snapshots: dependencies: foreground-child: 3.1.1 jackspeak: 2.3.6 - minimatch: 9.0.3 - minipass: 7.0.4 - path-scurry: 1.10.1 + minimatch: 9.0.4 + minipass: 7.1.2 + path-scurry: 1.11.1 - glob@7.1.7: + glob@10.4.1: dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 + foreground-child: 3.1.1 + jackspeak: 3.4.0 + minimatch: 9.0.4 + minipass: 7.1.2 + path-scurry: 1.11.1 glob@7.2.3: dependencies: @@ -5798,7 +5871,7 @@ snapshots: array-union: 2.1.0 dir-glob: 3.0.1 fast-glob: 3.3.2 - ignore: 5.3.0 + ignore: 5.3.1 merge2: 1.4.1 slash: 3.0.0 @@ -5833,10 +5906,6 @@ snapshots: dependencies: has-symbols: 1.0.3 - hasown@2.0.0: - dependencies: - function-bind: 1.1.2 - hasown@2.0.2: dependencies: function-bind: 1.1.2 @@ -5863,7 +5932,7 @@ snapshots: dependencies: safer-buffer: 2.1.2 - ignore@5.3.0: {} + ignore@5.3.1: {} import-fresh@3.3.0: dependencies: @@ -5905,7 +5974,7 @@ snapshots: is-binary-path@2.1.0: dependencies: - binary-extensions: 2.2.0 + binary-extensions: 2.3.0 is-boolean-object@1.1.2: dependencies: @@ -5916,7 +5985,7 @@ snapshots: is-core-module@2.13.1: dependencies: - hasown: 2.0.0 + hasown: 2.0.2 is-data-view@1.0.1: dependencies: @@ -5985,7 +6054,13 @@ snapshots: optionalDependencies: '@pkgjs/parseargs': 0.11.0 - jiti@1.21.0: {} + jackspeak@3.4.0: + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + + jiti@1.21.3: {} js-tokens@4.0.0: {} @@ -5997,7 +6072,7 @@ snapshots: json-diff@0.9.0: dependencies: - cli-color: 2.0.3 + cli-color: 2.0.4 difflib: 0.2.4 dreamopt: 0.8.0 @@ -6018,7 +6093,7 @@ snapshots: lilconfig@2.1.0: {} - lilconfig@3.0.0: {} + lilconfig@3.1.1: {} lines-and-columns@1.2.4: {} @@ -6045,11 +6120,7 @@ snapshots: dependencies: js-tokens: 4.0.0 - lru-cache@10.1.0: {} - - lru-cache@6.0.0: - dependencies: - yallist: 4.0.0 + lru-cache@10.2.2: {} lru-cache@7.18.3: {} @@ -6057,7 +6128,7 @@ snapshots: lru-queue@0.1.0: dependencies: - es5-ext: 0.10.62 + es5-ext: 0.10.64 lucide-react@0.302.0(react@19.0.0-rc-6230622a1a-20240610): dependencies: @@ -6065,16 +6136,16 @@ snapshots: media-typer@0.3.0: {} - memoizee@0.4.15: + memoizee@0.4.17: dependencies: - d: 1.0.1 - es5-ext: 0.10.62 + d: 1.0.2 + es5-ext: 0.10.64 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 + timers-ext: 0.1.8 memorystream@0.3.1: {} @@ -6084,9 +6155,9 @@ snapshots: methods@1.1.2: {} - micromatch@4.0.5: + micromatch@4.0.7: dependencies: - braces: 3.0.2 + braces: 3.0.3 picomatch: 2.3.1 mime-db@1.52.0: {} @@ -6115,9 +6186,13 @@ snapshots: dependencies: brace-expansion: 2.0.1 + minimatch@9.0.4: + dependencies: + brace-expansion: 2.0.1 + minimist@1.2.8: {} - minipass@7.0.4: {} + minipass@7.1.2: {} ms@2.0.0: {} @@ -6125,7 +6200,7 @@ snapshots: ms@2.1.3: {} - mysql2@3.6.5: + mysql2@3.10.0: dependencies: denque: 2.1.0 generate-function: 2.3.1 @@ -6159,7 +6234,7 @@ snapshots: '@next/env': 15.0.0-rc.0 '@swc/helpers': 0.5.11 busboy: 1.6.0 - caniuse-lite: 1.0.30001625 + caniuse-lite: 1.0.30001629 graceful-fs: 4.2.11 postcss: 8.4.31 react: 19.0.0-rc-6230622a1a-20240610 @@ -6182,7 +6257,7 @@ snapshots: nice-try@1.0.5: {} - node-html-parser@6.1.12: + node-html-parser@6.1.13: dependencies: css-select: 5.1.0 he: 1.2.0 @@ -6239,14 +6314,14 @@ snapshots: dependencies: wrappy: 1.0.2 - optionator@0.9.3: + optionator@0.9.4: dependencies: - '@aashutoshrathi/word-wrap': 1.2.6 deep-is: 0.1.4 fast-levenshtein: 2.0.6 levn: 0.4.1 prelude-ls: 1.2.1 type-check: 0.4.0 + word-wrap: 1.2.5 p-limit@3.1.0: dependencies: @@ -6277,10 +6352,10 @@ snapshots: path-parse@1.0.7: {} - path-scurry@1.10.1: + path-scurry@1.11.1: dependencies: - lru-cache: 10.1.0 - minipass: 7.0.4 + lru-cache: 10.2.2 + minipass: 7.1.2 path-to-regexp@0.1.7: {} @@ -6290,7 +6365,7 @@ snapshots: path-type@4.0.0: {} - picocolors@1.0.0: {} + picocolors@1.0.1: {} picomatch@2.3.1: {} @@ -6304,31 +6379,31 @@ snapshots: possible-typed-array-names@1.0.0: {} - postcss-import@15.1.0(postcss@8.4.32): + postcss-import@15.1.0(postcss@8.4.38): dependencies: - postcss: 8.4.32 + postcss: 8.4.38 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.8 - postcss-js@4.0.1(postcss@8.4.32): + postcss-js@4.0.1(postcss@8.4.38): dependencies: camelcase-css: 2.0.1 - postcss: 8.4.32 + postcss: 8.4.38 - postcss-load-config@4.0.2(postcss@8.4.32): + postcss-load-config@4.0.2(postcss@8.4.38): dependencies: - lilconfig: 3.0.0 - yaml: 2.3.4 + lilconfig: 3.1.1 + yaml: 2.4.5 optionalDependencies: - postcss: 8.4.32 + postcss: 8.4.38 - postcss-nested@6.0.1(postcss@8.4.32): + postcss-nested@6.0.1(postcss@8.4.38): dependencies: - postcss: 8.4.32 - postcss-selector-parser: 6.0.14 + postcss: 8.4.38 + postcss-selector-parser: 6.1.0 - postcss-selector-parser@6.0.14: + postcss-selector-parser@6.1.0: dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 @@ -6338,16 +6413,16 @@ snapshots: postcss@8.4.31: dependencies: nanoid: 3.3.7 - picocolors: 1.0.0 - source-map-js: 1.0.2 + picocolors: 1.0.1 + source-map-js: 1.2.0 - postcss@8.4.32: + postcss@8.4.38: dependencies: nanoid: 3.3.7 - picocolors: 1.0.0 - source-map-js: 1.0.2 + picocolors: 1.0.1 + source-map-js: 1.2.0 - posthog-js@1.136.7: + posthog-js@1.138.1: dependencies: fflate: 0.4.8 preact: 10.22.0 @@ -6356,11 +6431,11 @@ snapshots: prelude-ls@1.2.1: {} - prettier-plugin-tailwindcss@0.5.9(prettier@3.1.1): + prettier-plugin-tailwindcss@0.5.14(prettier@3.3.1): dependencies: - prettier: 3.1.1 + prettier: 3.3.1 - prettier@3.1.1: {} + prettier@3.3.1: {} prop-types@15.8.1: dependencies: @@ -6383,11 +6458,11 @@ snapshots: range-parser@1.2.1: {} - rate-limit-redis@4.2.0(express-rate-limit@7.3.0(express@4.19.2)): + rate-limit-redis@4.2.0(express-rate-limit@7.3.1(express@4.19.2)): dependencies: - express-rate-limit: 7.3.0(express@4.19.2) + express-rate-limit: 7.3.1(express@4.19.2) - rate-limiter-flexible@2.4.1: {} + rate-limiter-flexible@2.4.2: {} raw-body@2.5.2: dependencies: @@ -6418,7 +6493,7 @@ snapshots: react-transition-group@4.4.5(react-dom@19.0.0-rc-6230622a1a-20240610(react@19.0.0-rc-6230622a1a-20240610))(react@19.0.0-rc-6230622a1a-20240610): dependencies: - '@babel/runtime': 7.23.6 + '@babel/runtime': 7.24.7 dom-helpers: 5.2.1 loose-envify: 1.4.0 prop-types: 15.8.1 @@ -6460,7 +6535,7 @@ snapshots: recharts@2.12.7(react-dom@19.0.0-rc-6230622a1a-20240610(react@19.0.0-rc-6230622a1a-20240610))(react@19.0.0-rc-6230622a1a-20240610): dependencies: - clsx: 2.0.0 + clsx: 2.1.1 eventemitter3: 4.0.7 lodash: 4.17.21 react: 19.0.0-rc-6230622a1a-20240610 @@ -6649,7 +6724,7 @@ snapshots: slash@3.0.0: {} - source-map-js@1.0.2: {} + source-map-js@1.2.0: {} source-map-support@0.5.21: dependencies: @@ -6735,9 +6810,9 @@ snapshots: sucrase@3.35.0: dependencies: - '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/gen-mapping': 0.3.5 commander: 4.1.1 - glob: 10.3.10 + glob: 10.4.1 lines-and-columns: 1.2.4 mz: 2.7.0 pirates: 4.0.6 @@ -6767,36 +6842,36 @@ snapshots: tailwind-merge@1.14.0: {} - tailwind-merge@2.2.0: + tailwind-merge@2.3.0: dependencies: - '@babel/runtime': 7.23.6 + '@babel/runtime': 7.24.7 - tailwindcss-animate@1.0.7(tailwindcss@3.4.0): + tailwindcss-animate@1.0.7(tailwindcss@3.4.4): dependencies: - tailwindcss: 3.4.0 + tailwindcss: 3.4.4 - tailwindcss@3.4.0: + tailwindcss@3.4.4: dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 - chokidar: 3.5.3 + chokidar: 3.6.0 didyoumean: 1.2.2 dlv: 1.1.3 fast-glob: 3.3.2 glob-parent: 6.0.2 is-glob: 4.0.3 - jiti: 1.21.0 + jiti: 1.21.3 lilconfig: 2.1.0 - micromatch: 4.0.5 + micromatch: 4.0.7 normalize-path: 3.0.0 object-hash: 3.0.0 - picocolors: 1.0.0 - postcss: 8.4.32 - postcss-import: 15.1.0(postcss@8.4.32) - postcss-js: 4.0.1(postcss@8.4.32) - postcss-load-config: 4.0.2(postcss@8.4.32) - postcss-nested: 6.0.1(postcss@8.4.32) - postcss-selector-parser: 6.0.14 + picocolors: 1.0.1 + postcss: 8.4.38 + postcss-import: 15.1.0(postcss@8.4.38) + postcss-js: 4.0.1(postcss@8.4.38) + postcss-load-config: 4.0.2(postcss@8.4.38) + postcss-nested: 6.0.1(postcss@8.4.38) + postcss-selector-parser: 6.1.0 resolve: 1.22.8 sucrase: 3.35.0 transitivePeerDependencies: @@ -6812,9 +6887,9 @@ snapshots: dependencies: any-promise: 1.3.0 - timers-ext@0.1.7: + timers-ext@0.1.8: dependencies: - es5-ext: 0.10.62 + es5-ext: 0.10.64 next-tick: 1.1.0 tiny-invariant@1.3.3: {} @@ -6825,15 +6900,15 @@ snapshots: toidentifier@1.0.1: {} - ts-api-utils@1.0.3(typescript@5.3.3): + ts-api-utils@1.3.0(typescript@5.4.5): dependencies: - typescript: 5.3.3 + typescript: 5.4.5 ts-interface-checker@0.1.13: {} - tslib@2.6.2: {} + tslib@2.6.3: {} - tsx@4.11.0: + tsx@4.14.1: dependencies: esbuild: 0.20.2 get-tsconfig: 4.7.5 @@ -6851,9 +6926,7 @@ snapshots: media-typer: 0.3.0 mime-types: 2.1.35 - type@1.2.0: {} - - type@2.7.2: {} + type@2.7.3: {} typed-array-buffer@1.0.2: dependencies: @@ -6887,7 +6960,7 @@ snapshots: is-typed-array: 1.1.13 possible-typed-array-names: 1.0.0 - typescript@5.3.3: {} + typescript@5.4.5: {} unbox-primitive@1.0.2: dependencies: @@ -6900,11 +6973,11 @@ snapshots: unpipe@1.0.0: {} - update-browserslist-db@1.0.13(browserslist@4.22.2): + update-browserslist-db@1.0.16(browserslist@4.23.1): dependencies: - browserslist: 4.22.2 - escalade: 3.1.1 - picocolors: 1.0.0 + browserslist: 4.23.1 + escalade: 3.1.2 + picocolors: 1.0.1 uri-js@4.4.1: dependencies: @@ -6927,14 +7000,14 @@ snapshots: victory-vendor@36.9.2: dependencies: - '@types/d3-array': 3.0.3 + '@types/d3-array': 3.2.1 '@types/d3-ease': 3.0.2 - '@types/d3-interpolate': 3.0.1 - '@types/d3-scale': 4.0.2 + '@types/d3-interpolate': 3.0.4 + '@types/d3-scale': 4.0.8 '@types/d3-shape': 3.1.6 - '@types/d3-time': 3.0.0 + '@types/d3-time': 3.0.3 '@types/d3-timer': 3.0.2 - d3-array: 3.2.1 + d3-array: 3.2.4 d3-ease: 3.0.1 d3-interpolate: 3.0.1 d3-scale: 4.0.2 @@ -6966,6 +7039,8 @@ snapshots: dependencies: isexe: 2.0.0 + word-wrap@1.2.5: {} + wordwrap@1.0.0: {} wrap-ansi@7.0.0: @@ -6986,8 +7061,8 @@ snapshots: yallist@4.0.0: {} - yaml@2.3.4: {} + yaml@2.4.5: {} yocto-queue@0.1.0: {} - zod@3.22.4: {} + zod@3.23.8: {} diff --git a/src/app/api/og/compare/route.tsx b/src/app/api/og/compare/route.tsx index af10080..bc53b0b 100644 --- a/src/app/api/og/compare/route.tsx +++ b/src/app/api/og/compare/route.tsx @@ -1,7 +1,7 @@ /* eslint-disable @next/next/no-img-element */ import { ImageResponse } from "next/og"; import { GitTweetBars } from "../../../../components/ui/git-tweet-bars"; -import { getPageUrl, getRatioText } from "../../../../lib/utils"; +import { getUserTagline, getPageUrl, getRatioText } from "../../../../lib/utils"; export const runtime = "edge"; export async function GET(req: Request) { @@ -11,15 +11,28 @@ export async function GET(req: Request) { const twitter = parsed.get("twitter"); const commitsS = parsed.get("commits"); const tweetsS = parsed.get("tweets"); + const followers = parsed.get("followers"); const twitterAvatarUrl = parsed.get("avatar"); const displayName = parsed.get("displayName"); - if (!github || !twitter || !commitsS || !tweetsS || !displayName) { + if ( + !github || + !twitter || + !commitsS || + !tweetsS || + !displayName || + !followers + ) { return new Response("Missing parameters", { status: 400 }); } const commits = Number(commitsS); const tweets = Number(tweetsS); const txt = getRatioText({ tweets, commits, displayName }); - + const tagLine = getUserTagline({ + tweets, + commits, + displayName, + twitterFollowerCount: Number(followers), + }); const UserMetadata = () => (
-

{displayName}

+
+

{displayName}

+ +
); + const UserTag = () => { + return ( +
+ {tagLine} +
+ ); + }; const url = `shiptalkers.dev${getPageUrl({ github, diff --git a/src/app/compare/page.tsx b/src/app/compare/page.tsx index 396c0aa..b7a3b22 100644 --- a/src/app/compare/page.tsx +++ b/src/app/compare/page.tsx @@ -12,7 +12,7 @@ import { db } from "../../server/db"; import { users } from "../../server/db/schema"; export const revalidate = 3600; // revalidate at most every hour -async function getPageDataInternal(props: Props) { +export async function getPageDataInternal(props: Props) { const { github, twitter } = parse(props); const user = await getCachedUserData({ githubName: github, @@ -93,6 +93,7 @@ export async function generateMetadata(props: Props): Promise { twitter: user.twitterName, commits: user.commitsMade.toString(), tweets: user.tweetsSent.toString(), + followers:Math.max(user.twitterFollowerCount, user.githubFollowerCount).toString() }); if (user.twitterAvatarUrl) { ogUrl.set("avatar", user.twitterAvatarUrl); diff --git a/src/app/compare/profile-no-heatmap.tsx b/src/app/compare/profile-no-heatmap.tsx index 1b52130..b05f745 100644 --- a/src/app/compare/profile-no-heatmap.tsx +++ b/src/app/compare/profile-no-heatmap.tsx @@ -8,6 +8,7 @@ import { import { RatioPie } from "./pie"; import type { PageData } from "../../server/api/routers/get-data"; import { + getUserTagline, getMatchPageUrl, getPageUrl, getRatioText, @@ -25,6 +26,7 @@ import { import Link from "next/link"; import { LinkButton } from "../../components/ui/link-button"; import ShimmerButton from "../../components/ui/shimmer-button"; +import Tag from "../../components/custom/Tag"; function StreamingCTAs() { return ( @@ -92,13 +94,13 @@ export function Profile(props: { const totalCommits = commitsMade; const totalTweets = tweetsSent; - const ogUrl = new URLSearchParams({ github: githubName, displayName: twitterDisplayName, twitter: twitterName, commits: totalCommits.toString(), tweets: totalTweets.toString(), + followers:Math.max(twitterFollowerCount, githubFollowerCount).toString() }); if (pageData.user.twitterAvatarUrl) { ogUrl.set("avatar", pageData.user.twitterAvatarUrl); @@ -111,6 +113,12 @@ export function Profile(props: { github: githubName, twitter: twitterName, })}`; + const tagline = getUserTagline({ + tweets: totalTweets, + commits: totalCommits, + displayName: twitterDisplayName, + twitterFollowerCount: twitterFollowerCount, + }); return (
@@ -119,6 +127,16 @@ export function Profile(props: {
+ + + + + + + {tagline} 😃 + + +
-

+

{user.twitterDisplayName}

+
@{user.twitterName} @@ -196,6 +205,12 @@ export function ViewAnotherMatchCardSuggestion(props: { relative: boolean; }) { const { suggestedUser, rootUser } = props; + const tagline = getUserTagline({ + tweets: suggestedUser.tweetsSent, + commits: suggestedUser.commitsMade, + displayName: suggestedUser.twitterDisplayName, + twitterFollowerCount: suggestedUser.twitterFollowerCount, + }); return (
-

+

{suggestedUser.twitterDisplayName} +

diff --git a/src/app/match/hero.tsx b/src/app/match/hero.tsx index 2b84dc2..3998ce1 100644 --- a/src/app/match/hero.tsx +++ b/src/app/match/hero.tsx @@ -1,17 +1,24 @@ -import { GithubIcon, TwitterIcon } from "lucide-react"; +import {GithubIcon, TwitterIcon } from "lucide-react"; import { TwitterAvatar } from "../../components/ui/twitter-avatar"; import type { HeatmaplessUser } from "../../server/db/schema"; import type { MatchedUser } from "./utils"; import Link from "next/link"; -import { cn, getPageUrl } from "../../lib/utils"; +import { cn, getUserTagline, getPageUrl } from "../../lib/utils"; import { GitTweetBars } from "../../components/ui/git-tweet-bars"; import { getMatchPercentRelative, getMatchPercentTotal } from "../utils"; import { Switch } from "../../components/ui/switch"; import { Label } from "../../components/ui/label"; import { ToggleRelative } from "./toggle-relative"; +import Tag from "../../components/custom/Tag"; function Stats(props: { user: HeatmaplessUser; className?: string }) { const { user } = props; + const tagline = getUserTagline({ + tweets: user.tweetsSent, + commits: user.commitsMade, + displayName: user.twitterDisplayName, + twitterFollowerCount: user.twitterFollowerCount, + }); return (
{user.twitterDisplayName} +
{ + return ( +
+ {tagline} +
+
+ ); +}; + +export default Tag; diff --git a/src/lib/utils.ts b/src/lib/utils.ts index 3552a5f..c972e01 100644 --- a/src/lib/utils.ts +++ b/src/lib/utils.ts @@ -31,7 +31,6 @@ export function getRatioText(input: { if (tweets === commits) { return `${displayName}'s life is perfectly balanced, as all things should be`; } - const percentageTweets = Math.abs((tweets / commits) * 100 - 100).toFixed(); const percentageCommits = Math.abs((commits / tweets) * 100 - 100).toFixed(); const txt = @@ -116,3 +115,31 @@ export function getMatchPageOgImageUrl(args: { export function isVerifiedUser(user: Pick): boolean { return user.twitterInGithubBio || user.twitterName === user.githubName; } +export function getUserTagline(input: { + tweets: number, + commits: number, + displayName: string, + twitterFollowerCount?: number, +}): string { + const { tweets, commits, twitterFollowerCount } = input; + const ratio = (commits / tweets); + if (twitterFollowerCount && twitterFollowerCount > 100000) return "Popular"; + switch (true) { + case (ratio >= 5): + return "No life"; + case (ratio >= 3 && ratio < 5): + return "Nerd"; + case (ratio >= 2 && ratio < 3): + return "Builder"; + case (ratio >= 1 && ratio < 2): + return "Load Balancer"; + case (ratio >= 0.5 && ratio < 1): + return "Shiposter"; + case (ratio >= 0.333 && ratio < 0.5): + return "Indie Hacker"; + case (ratio >= 0.25 && ratio < 0.333): + return "Reply Guy"; + default: + return "Influencer"; + } +} diff --git a/tsconfig.json b/tsconfig.json index 328beec..adbcffe 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -36,7 +36,7 @@ "**/*.ts", "**/*.tsx", ".next/types/**/*.ts" - ], +, "src/env.js" ], "exclude": [ "node_modules" ]