This commit is contained in:
Atridad Lahiji 2023-08-12 19:28:31 -06:00
parent 27c7300b44
commit 355366a640
No known key found for this signature in database
GPG key ID: 7CB8245F56BC3880
4 changed files with 124 additions and 117 deletions

View file

@ -21,7 +21,7 @@
"@trpc/next": "10.37.1", "@trpc/next": "10.37.1",
"@trpc/react-query": "10.37.1", "@trpc/react-query": "10.37.1",
"@trpc/server": "10.37.1", "@trpc/server": "10.37.1",
"@unkey/api": "^0.6.1", "@unkey/api": "^0.6.9",
"@upstash/ratelimit": "^0.4.3", "@upstash/ratelimit": "^0.4.3",
"@upstash/redis": "^1.22.0", "@upstash/redis": "^1.22.0",
"ably": "^1.2.43", "ably": "^1.2.43",
@ -45,13 +45,13 @@
"devDependencies": { "devDependencies": {
"@types/eslint": "^8.44.2", "@types/eslint": "^8.44.2",
"@types/json2csv": "^5.0.3", "@types/json2csv": "^5.0.3",
"@types/node": "^20.4.9", "@types/node": "^20.4.10",
"@types/react": "^18.2.20", "@types/react": "^18.2.20",
"@typescript-eslint/eslint-plugin": "^6.3.0", "@typescript-eslint/eslint-plugin": "^6.3.0",
"@typescript-eslint/parser": "^6.3.0", "@typescript-eslint/parser": "^6.3.0",
"daisyui": "^3.5.1", "daisyui": "^3.5.1",
"drizzle-kit": "^0.19.12", "drizzle-kit": "^0.19.12",
"eslint": "^8.46.0", "eslint": "^8.47.0",
"eslint-config-next": "^13.4.13", "eslint-config-next": "^13.4.13",
"tailwindcss": "^3.3.3", "tailwindcss": "^3.3.3",
"typescript": "^5.1.6" "typescript": "^5.1.6"

204
pnpm-lock.yaml generated
View file

@ -36,8 +36,8 @@ dependencies:
specifier: 10.37.1 specifier: 10.37.1
version: 10.37.1 version: 10.37.1
'@unkey/api': '@unkey/api':
specifier: ^0.6.1 specifier: ^0.6.9
version: 0.6.1 version: 0.6.9
'@upstash/ratelimit': '@upstash/ratelimit':
specifier: ^0.4.3 specifier: ^0.4.3
version: 0.4.3 version: 0.4.3
@ -104,17 +104,17 @@ devDependencies:
specifier: ^5.0.3 specifier: ^5.0.3
version: 5.0.3 version: 5.0.3
'@types/node': '@types/node':
specifier: ^20.4.9 specifier: ^20.4.10
version: 20.4.9 version: 20.4.10
'@types/react': '@types/react':
specifier: ^18.2.20 specifier: ^18.2.20
version: 18.2.20 version: 18.2.20
'@typescript-eslint/eslint-plugin': '@typescript-eslint/eslint-plugin':
specifier: ^6.3.0 specifier: ^6.3.0
version: 6.3.0(@typescript-eslint/parser@6.3.0)(eslint@8.46.0)(typescript@5.1.6) version: 6.3.0(@typescript-eslint/parser@6.3.0)(eslint@8.47.0)(typescript@5.1.6)
'@typescript-eslint/parser': '@typescript-eslint/parser':
specifier: ^6.3.0 specifier: ^6.3.0
version: 6.3.0(eslint@8.46.0)(typescript@5.1.6) version: 6.3.0(eslint@8.47.0)(typescript@5.1.6)
daisyui: daisyui:
specifier: ^3.5.1 specifier: ^3.5.1
version: 3.5.1 version: 3.5.1
@ -122,11 +122,11 @@ devDependencies:
specifier: ^0.19.12 specifier: ^0.19.12
version: 0.19.12 version: 0.19.12
eslint: eslint:
specifier: ^8.46.0 specifier: ^8.47.0
version: 8.46.0 version: 8.47.0
eslint-config-next: eslint-config-next:
specifier: ^13.4.13 specifier: ^13.4.13
version: 13.4.13(eslint@8.46.0)(typescript@5.1.6) version: 13.4.13(eslint@8.47.0)(typescript@5.1.6)
tailwindcss: tailwindcss:
specifier: ^3.3.3 specifier: ^3.3.3
version: 3.3.3 version: 3.3.3
@ -891,14 +891,14 @@ packages:
dev: true dev: true
optional: true optional: true
/@eslint-community/eslint-utils@4.4.0(eslint@8.46.0): /@eslint-community/eslint-utils@4.4.0(eslint@8.47.0):
resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies: peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
dependencies: dependencies:
eslint: 8.46.0 eslint: 8.47.0
eslint-visitor-keys: 3.4.2 eslint-visitor-keys: 3.4.3
dev: true dev: true
/@eslint-community/regexpp@4.6.2: /@eslint-community/regexpp@4.6.2:
@ -906,14 +906,14 @@ packages:
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
dev: true dev: true
/@eslint/eslintrc@2.1.1: /@eslint/eslintrc@2.1.2:
resolution: {integrity: sha512-9t7ZA7NGGK8ckelF0PQCfcxIUzs1Md5rrO6U/c+FIQNanea5UZC0wqKXH4vHBccmu4ZJgZ2idtPeW7+Q2npOEA==} resolution: {integrity: sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies: dependencies:
ajv: 6.12.6 ajv: 6.12.6
debug: 4.3.4 debug: 4.3.4
espree: 9.6.1 espree: 9.6.1
globals: 13.20.0 globals: 13.21.0
ignore: 5.2.4 ignore: 5.2.4
import-fresh: 3.3.0 import-fresh: 3.3.0
js-yaml: 4.1.0 js-yaml: 4.1.0
@ -923,8 +923,8 @@ packages:
- supports-color - supports-color
dev: true dev: true
/@eslint/js@8.46.0: /@eslint/js@8.47.0:
resolution: {integrity: sha512-a8TLtmPi8xzPkCbp/OGFUo5yhRkHM2Ko9kOWP4znJr0WAhWyThaw3PnwX4vOTWOAMsV2uRt32PPDcEz63esSaA==} resolution: {integrity: sha512-P6omY1zv5MItm93kLM8s2vr1HICJH8v0dvddDhysbIuZ+vcjOHg5Zbkf1mTkcmi2JA9oBG2anOkRnW8WJTS8Og==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true dev: true
@ -1251,14 +1251,14 @@ packages:
dependencies: dependencies:
asn1js: 3.0.5 asn1js: 3.0.5
pvtsutils: 1.3.3 pvtsutils: 1.3.3
tslib: 2.6.1 tslib: 2.4.1
dev: false dev: false
/@peculiar/json-schema@1.1.12: /@peculiar/json-schema@1.1.12:
resolution: {integrity: sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w==} resolution: {integrity: sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w==}
engines: {node: '>=8.0.0'} engines: {node: '>=8.0.0'}
dependencies: dependencies:
tslib: 2.6.1 tslib: 2.4.1
dev: false dev: false
/@peculiar/webcrypto@1.4.1: /@peculiar/webcrypto@1.4.1:
@ -1268,7 +1268,7 @@ packages:
'@peculiar/asn1-schema': 2.3.6 '@peculiar/asn1-schema': 2.3.6
'@peculiar/json-schema': 1.1.12 '@peculiar/json-schema': 1.1.12
pvtsutils: 1.3.3 pvtsutils: 1.3.3
tslib: 2.6.1 tslib: 2.4.1
webcrypto-core: 1.7.7 webcrypto-core: 1.7.7
dev: false dev: false
@ -1562,7 +1562,7 @@ packages:
resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==} resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==}
dependencies: dependencies:
'@types/connect': 3.4.35 '@types/connect': 3.4.35
'@types/node': 20.4.9 '@types/node': 20.4.10
dev: false dev: false
/@types/cacheable-request@6.0.3: /@types/cacheable-request@6.0.3:
@ -1570,14 +1570,14 @@ packages:
dependencies: dependencies:
'@types/http-cache-semantics': 4.0.1 '@types/http-cache-semantics': 4.0.1
'@types/keyv': 3.1.4 '@types/keyv': 3.1.4
'@types/node': 20.4.9 '@types/node': 20.4.10
'@types/responselike': 1.0.0 '@types/responselike': 1.0.0
dev: false dev: false
/@types/connect@3.4.35: /@types/connect@3.4.35:
resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==}
dependencies: dependencies:
'@types/node': 20.4.9 '@types/node': 20.4.10
dev: false dev: false
/@types/cookies@0.7.7: /@types/cookies@0.7.7:
@ -1586,7 +1586,7 @@ packages:
'@types/connect': 3.4.35 '@types/connect': 3.4.35
'@types/express': 4.17.14 '@types/express': 4.17.14
'@types/keygrip': 1.0.2 '@types/keygrip': 1.0.2
'@types/node': 20.4.9 '@types/node': 20.4.10
dev: false dev: false
/@types/eslint@8.44.2: /@types/eslint@8.44.2:
@ -1603,7 +1603,7 @@ packages:
/@types/express-serve-static-core@4.17.35: /@types/express-serve-static-core@4.17.35:
resolution: {integrity: sha512-wALWQwrgiB2AWTT91CB62b6Yt0sNHpznUXeZEcnPU3DRdlDIz74x8Qg1UUYKSVFi+va5vKOLYRBI1bRKiLLKIg==} resolution: {integrity: sha512-wALWQwrgiB2AWTT91CB62b6Yt0sNHpznUXeZEcnPU3DRdlDIz74x8Qg1UUYKSVFi+va5vKOLYRBI1bRKiLLKIg==}
dependencies: dependencies:
'@types/node': 20.4.9 '@types/node': 20.4.10
'@types/qs': 6.9.7 '@types/qs': 6.9.7
'@types/range-parser': 1.2.4 '@types/range-parser': 1.2.4
'@types/send': 0.17.1 '@types/send': 0.17.1
@ -1633,7 +1633,7 @@ packages:
/@types/json2csv@5.0.3: /@types/json2csv@5.0.3:
resolution: {integrity: sha512-ZJEv6SzhPhgpBpxZU4n/TZekbZqI4EcyXXRwms1lAITG2kIAtj85PfNYafUOY1zy8bWs5ujaub0GU4copaA0sw==} resolution: {integrity: sha512-ZJEv6SzhPhgpBpxZU4n/TZekbZqI4EcyXXRwms1lAITG2kIAtj85PfNYafUOY1zy8bWs5ujaub0GU4copaA0sw==}
dependencies: dependencies:
'@types/node': 20.4.9 '@types/node': 20.4.10
dev: true dev: true
/@types/json5@0.0.29: /@types/json5@0.0.29:
@ -1647,7 +1647,7 @@ packages:
/@types/keyv@3.1.4: /@types/keyv@3.1.4:
resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==}
dependencies: dependencies:
'@types/node': 20.4.9 '@types/node': 20.4.10
dev: false dev: false
/@types/mime@1.3.2: /@types/mime@1.3.2:
@ -1661,7 +1661,7 @@ packages:
/@types/node-fetch@2.6.2: /@types/node-fetch@2.6.2:
resolution: {integrity: sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A==} resolution: {integrity: sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A==}
dependencies: dependencies:
'@types/node': 20.4.9 '@types/node': 20.4.10
form-data: 3.0.1 form-data: 3.0.1
dev: false dev: false
@ -1673,8 +1673,8 @@ packages:
resolution: {integrity: sha512-vmYJF0REqDyyU0gviezF/KHq/fYaUbFhkcNbQCuPGFQj6VTbXuHZoxs/Y7mutWe73C8AC6l9fFu8mSYiBAqkGA==} resolution: {integrity: sha512-vmYJF0REqDyyU0gviezF/KHq/fYaUbFhkcNbQCuPGFQj6VTbXuHZoxs/Y7mutWe73C8AC6l9fFu8mSYiBAqkGA==}
dev: false dev: false
/@types/node@20.4.9: /@types/node@20.4.10:
resolution: {integrity: sha512-8e2HYcg7ohnTUbHk8focoklEQYvemQmu9M/f43DZVx43kHn0tE3BY/6gSDxS7k0SprtS0NHvj+L80cGLnoOUcQ==} resolution: {integrity: sha512-vwzFiiy8Rn6E0MtA13/Cxxgpan/N6UeNYR9oUu6kuJWxu6zCk98trcDp8CBhbtaeuq9SykCmXkFr2lWLoPcvLg==}
/@types/normalize-package-data@2.4.1: /@types/normalize-package-data@2.4.1:
resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==}
@ -1703,7 +1703,7 @@ packages:
/@types/responselike@1.0.0: /@types/responselike@1.0.0:
resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==}
dependencies: dependencies:
'@types/node': 20.4.9 '@types/node': 20.4.10
dev: false dev: false
/@types/scheduler@0.16.3: /@types/scheduler@0.16.3:
@ -1718,7 +1718,7 @@ packages:
resolution: {integrity: sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==} resolution: {integrity: sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==}
dependencies: dependencies:
'@types/mime': 1.3.2 '@types/mime': 1.3.2
'@types/node': 20.4.9 '@types/node': 20.4.10
dev: false dev: false
/@types/serve-static@1.15.2: /@types/serve-static@1.15.2:
@ -1726,10 +1726,10 @@ packages:
dependencies: dependencies:
'@types/http-errors': 2.0.1 '@types/http-errors': 2.0.1
'@types/mime': 3.0.1 '@types/mime': 3.0.1
'@types/node': 20.4.9 '@types/node': 20.4.10
dev: false dev: false
/@typescript-eslint/eslint-plugin@6.3.0(@typescript-eslint/parser@6.3.0)(eslint@8.46.0)(typescript@5.1.6): /@typescript-eslint/eslint-plugin@6.3.0(@typescript-eslint/parser@6.3.0)(eslint@8.47.0)(typescript@5.1.6):
resolution: {integrity: sha512-IZYjYZ0ifGSLZbwMqIip/nOamFiWJ9AH+T/GYNZBWkVcyNQOFGtSMoWV7RvY4poYCMZ/4lHzNl796WOSNxmk8A==} resolution: {integrity: sha512-IZYjYZ0ifGSLZbwMqIip/nOamFiWJ9AH+T/GYNZBWkVcyNQOFGtSMoWV7RvY4poYCMZ/4lHzNl796WOSNxmk8A==}
engines: {node: ^16.0.0 || >=18.0.0} engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies: peerDependencies:
@ -1741,13 +1741,13 @@ packages:
optional: true optional: true
dependencies: dependencies:
'@eslint-community/regexpp': 4.6.2 '@eslint-community/regexpp': 4.6.2
'@typescript-eslint/parser': 6.3.0(eslint@8.46.0)(typescript@5.1.6) '@typescript-eslint/parser': 6.3.0(eslint@8.47.0)(typescript@5.1.6)
'@typescript-eslint/scope-manager': 6.3.0 '@typescript-eslint/scope-manager': 6.3.0
'@typescript-eslint/type-utils': 6.3.0(eslint@8.46.0)(typescript@5.1.6) '@typescript-eslint/type-utils': 6.3.0(eslint@8.47.0)(typescript@5.1.6)
'@typescript-eslint/utils': 6.3.0(eslint@8.46.0)(typescript@5.1.6) '@typescript-eslint/utils': 6.3.0(eslint@8.47.0)(typescript@5.1.6)
'@typescript-eslint/visitor-keys': 6.3.0 '@typescript-eslint/visitor-keys': 6.3.0
debug: 4.3.4 debug: 4.3.4
eslint: 8.46.0 eslint: 8.47.0
graphemer: 1.4.0 graphemer: 1.4.0
ignore: 5.2.4 ignore: 5.2.4
natural-compare: 1.4.0 natural-compare: 1.4.0
@ -1759,7 +1759,7 @@ packages:
- supports-color - supports-color
dev: true dev: true
/@typescript-eslint/parser@6.3.0(eslint@8.46.0)(typescript@5.1.6): /@typescript-eslint/parser@6.3.0(eslint@8.47.0)(typescript@5.1.6):
resolution: {integrity: sha512-ibP+y2Gr6p0qsUkhs7InMdXrwldjxZw66wpcQq9/PzAroM45wdwyu81T+7RibNCh8oc0AgrsyCwJByncY0Ongg==} resolution: {integrity: sha512-ibP+y2Gr6p0qsUkhs7InMdXrwldjxZw66wpcQq9/PzAroM45wdwyu81T+7RibNCh8oc0AgrsyCwJByncY0Ongg==}
engines: {node: ^16.0.0 || >=18.0.0} engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies: peerDependencies:
@ -1774,7 +1774,7 @@ packages:
'@typescript-eslint/typescript-estree': 6.3.0(typescript@5.1.6) '@typescript-eslint/typescript-estree': 6.3.0(typescript@5.1.6)
'@typescript-eslint/visitor-keys': 6.3.0 '@typescript-eslint/visitor-keys': 6.3.0
debug: 4.3.4 debug: 4.3.4
eslint: 8.46.0 eslint: 8.47.0
typescript: 5.1.6 typescript: 5.1.6
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -1788,7 +1788,7 @@ packages:
'@typescript-eslint/visitor-keys': 6.3.0 '@typescript-eslint/visitor-keys': 6.3.0
dev: true dev: true
/@typescript-eslint/type-utils@6.3.0(eslint@8.46.0)(typescript@5.1.6): /@typescript-eslint/type-utils@6.3.0(eslint@8.47.0)(typescript@5.1.6):
resolution: {integrity: sha512-7Oj+1ox1T2Yc8PKpBvOKWhoI/4rWFd1j7FA/rPE0lbBPXTKjdbtC+7Ev0SeBjEKkIhKWVeZSP+mR7y1Db1CdfQ==} resolution: {integrity: sha512-7Oj+1ox1T2Yc8PKpBvOKWhoI/4rWFd1j7FA/rPE0lbBPXTKjdbtC+7Ev0SeBjEKkIhKWVeZSP+mR7y1Db1CdfQ==}
engines: {node: ^16.0.0 || >=18.0.0} engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies: peerDependencies:
@ -1799,9 +1799,9 @@ packages:
optional: true optional: true
dependencies: dependencies:
'@typescript-eslint/typescript-estree': 6.3.0(typescript@5.1.6) '@typescript-eslint/typescript-estree': 6.3.0(typescript@5.1.6)
'@typescript-eslint/utils': 6.3.0(eslint@8.46.0)(typescript@5.1.6) '@typescript-eslint/utils': 6.3.0(eslint@8.47.0)(typescript@5.1.6)
debug: 4.3.4 debug: 4.3.4
eslint: 8.46.0 eslint: 8.47.0
ts-api-utils: 1.0.1(typescript@5.1.6) ts-api-utils: 1.0.1(typescript@5.1.6)
typescript: 5.1.6 typescript: 5.1.6
transitivePeerDependencies: transitivePeerDependencies:
@ -1834,19 +1834,19 @@ packages:
- supports-color - supports-color
dev: true dev: true
/@typescript-eslint/utils@6.3.0(eslint@8.46.0)(typescript@5.1.6): /@typescript-eslint/utils@6.3.0(eslint@8.47.0)(typescript@5.1.6):
resolution: {integrity: sha512-hLLg3BZE07XHnpzglNBG8P/IXq/ZVXraEbgY7FM0Cnc1ehM8RMdn9mat3LubJ3KBeYXXPxV1nugWbQPjGeJk6Q==} resolution: {integrity: sha512-hLLg3BZE07XHnpzglNBG8P/IXq/ZVXraEbgY7FM0Cnc1ehM8RMdn9mat3LubJ3KBeYXXPxV1nugWbQPjGeJk6Q==}
engines: {node: ^16.0.0 || >=18.0.0} engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies: peerDependencies:
eslint: ^7.0.0 || ^8.0.0 eslint: ^7.0.0 || ^8.0.0
dependencies: dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@8.46.0) '@eslint-community/eslint-utils': 4.4.0(eslint@8.47.0)
'@types/json-schema': 7.0.12 '@types/json-schema': 7.0.12
'@types/semver': 7.5.0 '@types/semver': 7.5.0
'@typescript-eslint/scope-manager': 6.3.0 '@typescript-eslint/scope-manager': 6.3.0
'@typescript-eslint/types': 6.3.0 '@typescript-eslint/types': 6.3.0
'@typescript-eslint/typescript-estree': 6.3.0(typescript@5.1.6) '@typescript-eslint/typescript-estree': 6.3.0(typescript@5.1.6)
eslint: 8.46.0 eslint: 8.47.0
semver: 7.5.4 semver: 7.5.4
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
@ -1858,11 +1858,11 @@ packages:
engines: {node: ^16.0.0 || >=18.0.0} engines: {node: ^16.0.0 || >=18.0.0}
dependencies: dependencies:
'@typescript-eslint/types': 6.3.0 '@typescript-eslint/types': 6.3.0
eslint-visitor-keys: 3.4.2 eslint-visitor-keys: 3.4.3
dev: true dev: true
/@unkey/api@0.6.1: /@unkey/api@0.6.9:
resolution: {integrity: sha512-zTn6FcvJMjLQrGPonKVvZD2FJkdBiN9mgeOUxCS7W/QKzDEXGTii/WTFKD04wdVXIssptO+fgHiGqJ2UkEC+iQ==} resolution: {integrity: sha512-MdTvj89tL9o0qXdtv8Vs9LcoEhh0dEWfOHoGHelLKu1N1Dt1rPaiRMR5vat9LYJUZuFjeYAXHYATxFvmU+fJBQ==}
dev: false dev: false
/@upstash/core-analytics@0.0.6: /@upstash/core-analytics@0.0.6:
@ -2084,7 +2084,7 @@ packages:
dependencies: dependencies:
pvtsutils: 1.3.3 pvtsutils: 1.3.3
pvutils: 1.1.3 pvutils: 1.1.3
tslib: 2.6.1 tslib: 2.4.1
dev: false dev: false
/ast-types-flow@0.0.7: /ast-types-flow@0.0.7:
@ -2107,7 +2107,7 @@ packages:
postcss: ^8.1.0 postcss: ^8.1.0
dependencies: dependencies:
browserslist: 4.21.10 browserslist: 4.21.10
caniuse-lite: 1.0.30001519 caniuse-lite: 1.0.30001520
fraction.js: 4.2.0 fraction.js: 4.2.0
normalize-range: 0.1.2 normalize-range: 0.1.2
picocolors: 1.0.0 picocolors: 1.0.0
@ -2218,7 +2218,7 @@ packages:
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
hasBin: true hasBin: true
dependencies: dependencies:
caniuse-lite: 1.0.30001519 caniuse-lite: 1.0.30001520
electron-to-chromium: 1.4.490 electron-to-chromium: 1.4.490
node-releases: 2.0.13 node-releases: 2.0.13
update-browserslist-db: 1.0.11(browserslist@4.21.10) update-browserslist-db: 1.0.11(browserslist@4.21.10)
@ -2309,8 +2309,8 @@ packages:
engines: {node: '>=14.16'} engines: {node: '>=14.16'}
dev: true dev: true
/caniuse-lite@1.0.30001519: /caniuse-lite@1.0.30001520:
resolution: {integrity: sha512-0QHgqR+Jv4bxHMp8kZ1Kn8CH55OikjKJ6JmKkZYP1F3D7w+lnFXF70nG5eNfsZS89jadi5Ywy5UCSKLAglIRkg==} resolution: {integrity: sha512-tahF5O9EiiTzwTUqAeFjIZbn4Dnqxzz7ktrgGlMYNLH43Ul26IgTMH/zvL3DG0lZxBYnlT04axvInszUsZULdA==}
dev: false dev: false
/chainsaw@0.1.0: /chainsaw@0.1.0:
@ -2473,6 +2473,12 @@ packages:
/commander@9.4.1: /commander@9.4.1:
resolution: {integrity: sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==} resolution: {integrity: sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==}
engines: {node: ^12.20.0 || >=14} engines: {node: ^12.20.0 || >=14}
dev: false
/commander@9.5.0:
resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==}
engines: {node: ^12.20.0 || >=14}
dev: true
/concat-map@0.0.1: /concat-map@0.0.1:
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
@ -2769,7 +2775,7 @@ packages:
resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==}
dependencies: dependencies:
no-case: 3.0.4 no-case: 3.0.4
tslib: 2.6.1 tslib: 2.4.1
dev: false dev: false
/dotenv@16.3.1: /dotenv@16.3.1:
@ -2792,7 +2798,7 @@ packages:
'@esbuild-kit/esm-loader': 2.5.5 '@esbuild-kit/esm-loader': 2.5.5
camelcase: 7.0.1 camelcase: 7.0.1
chalk: 5.3.0 chalk: 5.3.0
commander: 9.4.1 commander: 9.5.0
esbuild: 0.18.20 esbuild: 0.18.20
esbuild-register: 3.4.2(esbuild@0.18.20) esbuild-register: 3.4.2(esbuild@0.18.20)
glob: 8.1.0 glob: 8.1.0
@ -3138,7 +3144,7 @@ packages:
engines: {node: '>=10'} engines: {node: '>=10'}
dev: true dev: true
/eslint-config-next@13.4.13(eslint@8.46.0)(typescript@5.1.6): /eslint-config-next@13.4.13(eslint@8.47.0)(typescript@5.1.6):
resolution: {integrity: sha512-EXAh5h1yG/YTNa5YdskzaSZncBjKjvFe2zclMCi2KXyTsXha22wB6MPs/U7idB6a2qjpBdbZcruQY1TWjfNMZw==} resolution: {integrity: sha512-EXAh5h1yG/YTNa5YdskzaSZncBjKjvFe2zclMCi2KXyTsXha22wB6MPs/U7idB6a2qjpBdbZcruQY1TWjfNMZw==}
peerDependencies: peerDependencies:
eslint: ^7.23.0 || ^8.0.0 eslint: ^7.23.0 || ^8.0.0
@ -3149,14 +3155,14 @@ packages:
dependencies: dependencies:
'@next/eslint-plugin-next': 13.4.13 '@next/eslint-plugin-next': 13.4.13
'@rushstack/eslint-patch': 1.3.3 '@rushstack/eslint-patch': 1.3.3
'@typescript-eslint/parser': 6.3.0(eslint@8.46.0)(typescript@5.1.6) '@typescript-eslint/parser': 6.3.0(eslint@8.47.0)(typescript@5.1.6)
eslint: 8.46.0 eslint: 8.47.0
eslint-import-resolver-node: 0.3.9 eslint-import-resolver-node: 0.3.9
eslint-import-resolver-typescript: 3.6.0(@typescript-eslint/parser@6.3.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.28.0)(eslint@8.46.0) eslint-import-resolver-typescript: 3.6.0(@typescript-eslint/parser@6.3.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.28.0)(eslint@8.47.0)
eslint-plugin-import: 2.28.0(@typescript-eslint/parser@6.3.0)(eslint-import-resolver-typescript@3.6.0)(eslint@8.46.0) eslint-plugin-import: 2.28.0(@typescript-eslint/parser@6.3.0)(eslint-import-resolver-typescript@3.6.0)(eslint@8.47.0)
eslint-plugin-jsx-a11y: 6.7.1(eslint@8.46.0) eslint-plugin-jsx-a11y: 6.7.1(eslint@8.47.0)
eslint-plugin-react: 7.33.1(eslint@8.46.0) eslint-plugin-react: 7.33.1(eslint@8.47.0)
eslint-plugin-react-hooks: 5.0.0-canary-7118f5dd7-20230705(eslint@8.46.0) eslint-plugin-react-hooks: 5.0.0-canary-7118f5dd7-20230705(eslint@8.47.0)
typescript: 5.1.6 typescript: 5.1.6
transitivePeerDependencies: transitivePeerDependencies:
- eslint-import-resolver-webpack - eslint-import-resolver-webpack
@ -3173,7 +3179,7 @@ packages:
- supports-color - supports-color
dev: true dev: true
/eslint-import-resolver-typescript@3.6.0(@typescript-eslint/parser@6.3.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.28.0)(eslint@8.46.0): /eslint-import-resolver-typescript@3.6.0(@typescript-eslint/parser@6.3.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.28.0)(eslint@8.47.0):
resolution: {integrity: sha512-QTHR9ddNnn35RTxlaEnx2gCxqFlF2SEN0SE2d17SqwyM7YOSI2GHWRYp5BiRkObTUNYPupC/3Fq2a0PpT+EKpg==} resolution: {integrity: sha512-QTHR9ddNnn35RTxlaEnx2gCxqFlF2SEN0SE2d17SqwyM7YOSI2GHWRYp5BiRkObTUNYPupC/3Fq2a0PpT+EKpg==}
engines: {node: ^14.18.0 || >=16.0.0} engines: {node: ^14.18.0 || >=16.0.0}
peerDependencies: peerDependencies:
@ -3182,9 +3188,9 @@ packages:
dependencies: dependencies:
debug: 4.3.4 debug: 4.3.4
enhanced-resolve: 5.15.0 enhanced-resolve: 5.15.0
eslint: 8.46.0 eslint: 8.47.0
eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.3.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.0)(eslint@8.46.0) eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.3.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.0)(eslint@8.47.0)
eslint-plugin-import: 2.28.0(@typescript-eslint/parser@6.3.0)(eslint-import-resolver-typescript@3.6.0)(eslint@8.46.0) eslint-plugin-import: 2.28.0(@typescript-eslint/parser@6.3.0)(eslint-import-resolver-typescript@3.6.0)(eslint@8.47.0)
fast-glob: 3.3.1 fast-glob: 3.3.1
get-tsconfig: 4.7.0 get-tsconfig: 4.7.0
is-core-module: 2.13.0 is-core-module: 2.13.0
@ -3196,7 +3202,7 @@ packages:
- supports-color - supports-color
dev: true dev: true
/eslint-module-utils@2.8.0(@typescript-eslint/parser@6.3.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.0)(eslint@8.46.0): /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.3.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.0)(eslint@8.47.0):
resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==}
engines: {node: '>=4'} engines: {node: '>=4'}
peerDependencies: peerDependencies:
@ -3217,16 +3223,16 @@ packages:
eslint-import-resolver-webpack: eslint-import-resolver-webpack:
optional: true optional: true
dependencies: dependencies:
'@typescript-eslint/parser': 6.3.0(eslint@8.46.0)(typescript@5.1.6) '@typescript-eslint/parser': 6.3.0(eslint@8.47.0)(typescript@5.1.6)
debug: 3.2.7 debug: 3.2.7
eslint: 8.46.0 eslint: 8.47.0
eslint-import-resolver-node: 0.3.9 eslint-import-resolver-node: 0.3.9
eslint-import-resolver-typescript: 3.6.0(@typescript-eslint/parser@6.3.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.28.0)(eslint@8.46.0) eslint-import-resolver-typescript: 3.6.0(@typescript-eslint/parser@6.3.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.28.0)(eslint@8.47.0)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
dev: true dev: true
/eslint-plugin-import@2.28.0(@typescript-eslint/parser@6.3.0)(eslint-import-resolver-typescript@3.6.0)(eslint@8.46.0): /eslint-plugin-import@2.28.0(@typescript-eslint/parser@6.3.0)(eslint-import-resolver-typescript@3.6.0)(eslint@8.47.0):
resolution: {integrity: sha512-B8s/n+ZluN7sxj9eUf7/pRFERX0r5bnFA2dCaLHy2ZeaQEAz0k+ZZkFWRFHJAqxfxQDx6KLv9LeIki7cFdwW+Q==} resolution: {integrity: sha512-B8s/n+ZluN7sxj9eUf7/pRFERX0r5bnFA2dCaLHy2ZeaQEAz0k+ZZkFWRFHJAqxfxQDx6KLv9LeIki7cFdwW+Q==}
engines: {node: '>=4'} engines: {node: '>=4'}
peerDependencies: peerDependencies:
@ -3236,16 +3242,16 @@ packages:
'@typescript-eslint/parser': '@typescript-eslint/parser':
optional: true optional: true
dependencies: dependencies:
'@typescript-eslint/parser': 6.3.0(eslint@8.46.0)(typescript@5.1.6) '@typescript-eslint/parser': 6.3.0(eslint@8.47.0)(typescript@5.1.6)
array-includes: 3.1.6 array-includes: 3.1.6
array.prototype.findlastindex: 1.2.2 array.prototype.findlastindex: 1.2.2
array.prototype.flat: 1.3.1 array.prototype.flat: 1.3.1
array.prototype.flatmap: 1.3.1 array.prototype.flatmap: 1.3.1
debug: 3.2.7 debug: 3.2.7
doctrine: 2.1.0 doctrine: 2.1.0
eslint: 8.46.0 eslint: 8.47.0
eslint-import-resolver-node: 0.3.9 eslint-import-resolver-node: 0.3.9
eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.3.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.0)(eslint@8.46.0) eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.3.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.0)(eslint@8.47.0)
has: 1.0.3 has: 1.0.3
is-core-module: 2.13.0 is-core-module: 2.13.0
is-glob: 4.0.3 is-glob: 4.0.3
@ -3262,7 +3268,7 @@ packages:
- supports-color - supports-color
dev: true dev: true
/eslint-plugin-jsx-a11y@6.7.1(eslint@8.46.0): /eslint-plugin-jsx-a11y@6.7.1(eslint@8.47.0):
resolution: {integrity: sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==} resolution: {integrity: sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==}
engines: {node: '>=4.0'} engines: {node: '>=4.0'}
peerDependencies: peerDependencies:
@ -3277,7 +3283,7 @@ packages:
axobject-query: 3.2.1 axobject-query: 3.2.1
damerau-levenshtein: 1.0.8 damerau-levenshtein: 1.0.8
emoji-regex: 9.2.2 emoji-regex: 9.2.2
eslint: 8.46.0 eslint: 8.47.0
has: 1.0.3 has: 1.0.3
jsx-ast-utils: 3.3.5 jsx-ast-utils: 3.3.5
language-tags: 1.0.5 language-tags: 1.0.5
@ -3287,16 +3293,16 @@ packages:
semver: 6.3.1 semver: 6.3.1
dev: true dev: true
/eslint-plugin-react-hooks@5.0.0-canary-7118f5dd7-20230705(eslint@8.46.0): /eslint-plugin-react-hooks@5.0.0-canary-7118f5dd7-20230705(eslint@8.47.0):
resolution: {integrity: sha512-AZYbMo/NW9chdL7vk6HQzQhT+PvTAEVqWk9ziruUoW2kAOcN5qNyelv70e0F1VNQAbvutOC9oc+xfWycI9FxDw==} resolution: {integrity: sha512-AZYbMo/NW9chdL7vk6HQzQhT+PvTAEVqWk9ziruUoW2kAOcN5qNyelv70e0F1VNQAbvutOC9oc+xfWycI9FxDw==}
engines: {node: '>=10'} engines: {node: '>=10'}
peerDependencies: peerDependencies:
eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0
dependencies: dependencies:
eslint: 8.46.0 eslint: 8.47.0
dev: true dev: true
/eslint-plugin-react@7.33.1(eslint@8.46.0): /eslint-plugin-react@7.33.1(eslint@8.47.0):
resolution: {integrity: sha512-L093k0WAMvr6VhNwReB8VgOq5s2LesZmrpPdKz/kZElQDzqS7G7+DnKoqT+w4JwuiGeAhAvHO0fvy0Eyk4ejDA==} resolution: {integrity: sha512-L093k0WAMvr6VhNwReB8VgOq5s2LesZmrpPdKz/kZElQDzqS7G7+DnKoqT+w4JwuiGeAhAvHO0fvy0Eyk4ejDA==}
engines: {node: '>=4'} engines: {node: '>=4'}
peerDependencies: peerDependencies:
@ -3306,7 +3312,7 @@ packages:
array.prototype.flatmap: 1.3.1 array.prototype.flatmap: 1.3.1
array.prototype.tosorted: 1.1.1 array.prototype.tosorted: 1.1.1
doctrine: 2.1.0 doctrine: 2.1.0
eslint: 8.46.0 eslint: 8.47.0
estraverse: 5.3.0 estraverse: 5.3.0
jsx-ast-utils: 3.3.5 jsx-ast-utils: 3.3.5
minimatch: 3.1.2 minimatch: 3.1.2
@ -3328,20 +3334,20 @@ packages:
estraverse: 5.3.0 estraverse: 5.3.0
dev: true dev: true
/eslint-visitor-keys@3.4.2: /eslint-visitor-keys@3.4.3:
resolution: {integrity: sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw==} resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true dev: true
/eslint@8.46.0: /eslint@8.47.0:
resolution: {integrity: sha512-cIO74PvbW0qU8e0mIvk5IV3ToWdCq5FYG6gWPHHkx6gNdjlbAYvtfHmlCMXxjcoVaIdwy/IAt3+mDkZkfvb2Dg==} resolution: {integrity: sha512-spUQWrdPt+pRVP1TTJLmfRNJJHHZryFmptzcafwSvHsceV81djHOdnEeDmkdotZyLNjDhrOasNK8nikkoG1O8Q==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
hasBin: true hasBin: true
dependencies: dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@8.46.0) '@eslint-community/eslint-utils': 4.4.0(eslint@8.47.0)
'@eslint-community/regexpp': 4.6.2 '@eslint-community/regexpp': 4.6.2
'@eslint/eslintrc': 2.1.1 '@eslint/eslintrc': 2.1.2
'@eslint/js': 8.46.0 '@eslint/js': 8.47.0
'@humanwhocodes/config-array': 0.11.10 '@humanwhocodes/config-array': 0.11.10
'@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/module-importer': 1.0.1
'@nodelib/fs.walk': 1.2.8 '@nodelib/fs.walk': 1.2.8
@ -3352,7 +3358,7 @@ packages:
doctrine: 3.0.0 doctrine: 3.0.0
escape-string-regexp: 4.0.0 escape-string-regexp: 4.0.0
eslint-scope: 7.2.2 eslint-scope: 7.2.2
eslint-visitor-keys: 3.4.2 eslint-visitor-keys: 3.4.3
espree: 9.6.1 espree: 9.6.1
esquery: 1.5.0 esquery: 1.5.0
esutils: 2.0.3 esutils: 2.0.3
@ -3360,7 +3366,7 @@ packages:
file-entry-cache: 6.0.1 file-entry-cache: 6.0.1
find-up: 5.0.0 find-up: 5.0.0
glob-parent: 6.0.2 glob-parent: 6.0.2
globals: 13.20.0 globals: 13.21.0
graphemer: 1.4.0 graphemer: 1.4.0
ignore: 5.2.4 ignore: 5.2.4
imurmurhash: 0.1.4 imurmurhash: 0.1.4
@ -3385,7 +3391,7 @@ packages:
dependencies: dependencies:
acorn: 8.10.0 acorn: 8.10.0
acorn-jsx: 5.3.2(acorn@8.10.0) acorn-jsx: 5.3.2(acorn@8.10.0)
eslint-visitor-keys: 3.4.2 eslint-visitor-keys: 3.4.3
dev: true dev: true
/esprima@4.0.1: /esprima@4.0.1:
@ -3755,8 +3761,8 @@ packages:
minimatch: 5.1.6 minimatch: 5.1.6
once: 1.4.0 once: 1.4.0
/globals@13.20.0: /globals@13.21.0:
resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} resolution: {integrity: sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==}
engines: {node: '>=8'} engines: {node: '>=8'}
dependencies: dependencies:
type-fest: 0.20.2 type-fest: 0.20.2
@ -4411,7 +4417,7 @@ packages:
/lower-case@2.0.2: /lower-case@2.0.2:
resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==}
dependencies: dependencies:
tslib: 2.6.1 tslib: 2.4.1
dev: false dev: false
/lowercase-keys@2.0.0: /lowercase-keys@2.0.0:
@ -4610,7 +4616,7 @@ packages:
'@next/env': 13.4.13 '@next/env': 13.4.13
'@swc/helpers': 0.5.1 '@swc/helpers': 0.5.1
busboy: 1.6.0 busboy: 1.6.0
caniuse-lite: 1.0.30001519 caniuse-lite: 1.0.30001520
postcss: 8.4.14 postcss: 8.4.14
react: 18.2.0 react: 18.2.0
react-dom: 18.2.0(react@18.2.0) react-dom: 18.2.0(react@18.2.0)
@ -4645,7 +4651,7 @@ packages:
resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==}
dependencies: dependencies:
lower-case: 2.0.2 lower-case: 2.0.2
tslib: 2.6.1 tslib: 2.4.1
dev: false dev: false
/node-abi@3.45.0: /node-abi@3.45.0:
@ -5596,7 +5602,7 @@ packages:
resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==}
dependencies: dependencies:
dot-case: 3.0.4 dot-case: 3.0.4
tslib: 2.6.1 tslib: 2.4.1
dev: false dev: false
/snakecase-keys@3.2.1: /snakecase-keys@3.2.1:
@ -6265,7 +6271,7 @@ packages:
'@peculiar/json-schema': 1.1.12 '@peculiar/json-schema': 1.1.12
asn1js: 3.0.5 asn1js: 3.0.5
pvtsutils: 1.3.3 pvtsutils: 1.3.3
tslib: 2.6.1 tslib: 2.4.1
dev: false dev: false
/webidl-conversions@3.0.1: /webidl-conversions@3.0.1:

View file

@ -37,23 +37,27 @@ export const voteRouter = createTRPCRouter({
set: protectedProcedure set: protectedProcedure
.input(z.object({ value: z.string(), roomId: z.string() })) .input(z.object({ value: z.string(), roomId: z.string() }))
.mutation(async ({ ctx, input }) => { .mutation(async ({ ctx, input }) => {
const vote = await ctx.db const updateResult = await ctx.db
.insert(votes) .update(votes)
.values({ .set({
id: createId(),
value: input.value, value: input.value,
userId: ctx.auth.userId, userId: ctx.auth.userId,
roomId: input.roomId, roomId: input.roomId,
}) })
.onDuplicateKeyUpdate({ .where(eq(votes.userId, ctx.auth.userId));
set: {
let success = updateResult.rowsAffected > 0;
if (!success) {
const vote = await ctx.db.insert(votes).ignore().values({
id: createId(),
value: input.value, value: input.value,
userId: ctx.auth.userId, userId: ctx.auth.userId,
roomId: input.roomId, roomId: input.roomId,
},
}); });
const success = vote.rowsAffected > 0; success = vote.rowsAffected > 0;
}
if (success) { if (success) {
await invalidateCache(`kv_votecount`); await invalidateCache(`kv_votecount`);

View file

@ -1,10 +1,7 @@
import { Redis } from "@upstash/redis"; import { Redis } from "@upstash/redis";
import { env } from "~/env.mjs"; import { env } from "~/env.mjs";
import https from "https";
export const redis = Redis.fromEnv({ export const redis = Redis.fromEnv();
agent: new https.Agent({ keepAlive: true }),
});
export const setCache = async <T>(key: string, value: T) => { export const setCache = async <T>(key: string, value: T) => {
try { try {