diff --git a/package.json b/package.json index 75b0b97..3b9ccd7 100644 --- a/package.json +++ b/package.json @@ -13,8 +13,8 @@ }, "dependencies": { "@ably-labs/react-hooks": "^2.1.1", - "@auth/prisma-adapter": "^1.0.0", - "@prisma/client": "4.16.2", + "@auth/prisma-adapter": "^1.0.1", + "@prisma/client": "5.0.0", "@react-email/components": "^0.0.7", "@tanstack/react-query": "^4.29.19", "@trpc/client": "10.34.0", @@ -34,7 +34,7 @@ "react-email": "^1.9.4", "react-icons": "^4.10.1", "resend": "^0.16.0", - "sharp": "^0.32.1", + "sharp": "^0.32.2", "superjson": "1.12.4", "zod": "^3.21.4" }, @@ -43,12 +43,12 @@ "@types/json2csv": "^5.0.3", "@types/node": "^20.4.1", "@types/react": "^18.2.14", - "@typescript-eslint/eslint-plugin": "^5.61.0", - "@typescript-eslint/parser": "^5.61.0", + "@typescript-eslint/eslint-plugin": "^6.0.0", + "@typescript-eslint/parser": "^6.0.0", "daisyui": "^3.2.1", "eslint": "^8.44.0", "eslint-config-next": "^13.4.9", - "prisma": "4.16.2", + "prisma": "5.0.0", "tailwindcss": "^3.3.2", "typescript": "^5.1.6" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a77bb98..2c29d14 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,11 +9,11 @@ dependencies: specifier: ^2.1.1 version: 2.1.1(react-dom@18.2.0)(react@18.2.0) '@auth/prisma-adapter': - specifier: ^1.0.0 - version: 1.0.0(@prisma/client@4.16.2) + specifier: ^1.0.1 + version: 1.0.1(@prisma/client@5.0.0) '@prisma/client': - specifier: 4.16.2 - version: 4.16.2(prisma@4.16.2) + specifier: 5.0.0 + version: 5.0.0(prisma@5.0.0) '@react-email/components': specifier: ^0.0.7 version: 0.0.7 @@ -72,8 +72,8 @@ dependencies: specifier: ^0.16.0 version: 0.16.0 sharp: - specifier: ^0.32.1 - version: 0.32.1 + specifier: ^0.32.2 + version: 0.32.2 superjson: specifier: 1.12.4 version: 1.12.4 @@ -95,11 +95,11 @@ devDependencies: specifier: ^18.2.14 version: 18.2.14 '@typescript-eslint/eslint-plugin': - specifier: ^5.61.0 - version: 5.61.0(@typescript-eslint/parser@5.61.0)(eslint@8.44.0)(typescript@5.1.6) + specifier: ^6.0.0 + version: 6.0.0(@typescript-eslint/parser@6.0.0)(eslint@8.44.0)(typescript@5.1.6) '@typescript-eslint/parser': - specifier: ^5.61.0 - version: 5.61.0(eslint@8.44.0)(typescript@5.1.6) + specifier: ^6.0.0 + version: 6.0.0(eslint@8.44.0)(typescript@5.1.6) daisyui: specifier: ^3.2.1 version: 3.2.1 @@ -110,8 +110,8 @@ devDependencies: specifier: ^13.4.9 version: 13.4.9(eslint@8.44.0)(typescript@5.1.6) prisma: - specifier: 4.16.2 - version: 4.16.2 + specifier: 5.0.0 + version: 5.0.0 tailwindcss: specifier: ^3.3.2 version: 3.3.2 @@ -151,8 +151,8 @@ packages: engines: {node: '>=10'} dev: true - /@auth/core@0.8.1: - resolution: {integrity: sha512-WudBmZudZ/cvykxHV5hIwrYsd7AlETQ535O7w3sSiiumT28+U9GvBb8oSRtfzxpW9rym3lAdfeTJqGA8U4FecQ==} + /@auth/core@0.9.0: + resolution: {integrity: sha512-W2WO0WCBg1T3P8+yjQPzurTQhPv6ecBYfJ2oE3uvXPAX5ZLWAMSjKFAIa9oLZy5pwrB+YehJZPnlIxVilhrVcg==} peerDependencies: nodemailer: ^6.8.0 peerDependenciesMeta: @@ -167,13 +167,13 @@ packages: preact-render-to-string: 5.2.3(preact@10.11.3) dev: false - /@auth/prisma-adapter@1.0.0(@prisma/client@4.16.2): - resolution: {integrity: sha512-+x+s5dgpNmqrcQC2ZRAXZIM6yhkWP/EXjIUgqUyMepLiX1OHi2AXIUAAbXsW4oG9OpYr/rvPIzPBpuGt6sPFwQ==} + /@auth/prisma-adapter@1.0.1(@prisma/client@5.0.0): + resolution: {integrity: sha512-sBp9l/jVr7l9y7rp2Pv6eoP7i8X2CgRNE3jDWJ0B/u+HnKRofXflD1cldPqRSAkJhqH3UxhVtMTEijT9FoofmQ==} peerDependencies: '@prisma/client': '>=2.26.0 || >=3 || >=4' dependencies: - '@auth/core': 0.8.1 - '@prisma/client': 4.16.2(prisma@4.16.2) + '@auth/core': 0.9.0 + '@prisma/client': 5.0.0(prisma@5.0.0) transitivePeerDependencies: - nodemailer dev: false @@ -771,9 +771,9 @@ packages: tslib: 2.6.0 dev: true - /@prisma/client@4.16.2(prisma@4.16.2): - resolution: {integrity: sha512-qCoEyxv1ZrQ4bKy39GnylE8Zq31IRmm8bNhNbZx7bF2cU5aiCCnSa93J2imF88MBjn7J9eUQneNxUQVJdl/rPQ==} - engines: {node: '>=14.17'} + /@prisma/client@5.0.0(prisma@5.0.0): + resolution: {integrity: sha512-XlO5ELNAQ7rV4cXIDJUNBEgdLwX3pjtt9Q/RHqDpGf43szpNJx2hJnggfFs7TKNx0cOFsl6KJCSfqr5duEU/bQ==} + engines: {node: '>=16.13'} requiresBuild: true peerDependencies: prisma: '*' @@ -781,16 +781,16 @@ packages: prisma: optional: true dependencies: - '@prisma/engines-version': 4.16.1-1.4bc8b6e1b66cb932731fb1bdbbc550d1e010de81 - prisma: 4.16.2 + '@prisma/engines-version': 4.17.0-26.6b0aef69b7cdfc787f822ecd7cdc76d5f1991584 + prisma: 5.0.0 dev: false - /@prisma/engines-version@4.16.1-1.4bc8b6e1b66cb932731fb1bdbbc550d1e010de81: - resolution: {integrity: sha512-q617EUWfRIDTriWADZ4YiWRZXCa/WuhNgLTVd+HqWLffjMSPzyM5uOWoauX91wvQClSKZU4pzI4JJLQ9Kl62Qg==} + /@prisma/engines-version@4.17.0-26.6b0aef69b7cdfc787f822ecd7cdc76d5f1991584: + resolution: {integrity: sha512-HHiUF6NixsldsP3JROq07TYBLEjXFKr6PdH8H4gK/XAoTmIplOJBCgrIUMrsRAnEuGyRoRLXKXWUb943+PFoKQ==} dev: false - /@prisma/engines@4.16.2: - resolution: {integrity: sha512-vx1nxVvN4QeT/cepQce68deh/Turxy5Mr+4L4zClFuK1GlxN3+ivxfuv+ej/gvidWn1cE1uAhW7ALLNlYbRUAw==} + /@prisma/engines@5.0.0: + resolution: {integrity: sha512-kyT/8fd0OpWmhAU5YnY7eP31brW1q1YrTGoblWrhQJDiN/1K+Z8S1kylcmtjqx5wsUGcP1HBWutayA/jtyt+sg==} requiresBuild: true /@radix-ui/react-compose-refs@1.0.0(react@18.2.0): @@ -1155,36 +1155,39 @@ packages: resolution: {integrity: sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==} dev: true - /@typescript-eslint/eslint-plugin@5.61.0(@typescript-eslint/parser@5.61.0)(eslint@8.44.0)(typescript@5.1.6): - resolution: {integrity: sha512-A5l/eUAug103qtkwccSCxn8ZRwT+7RXWkFECdA4Cvl1dOlDUgTpAOfSEElZn2uSUxhdDpnCdetrf0jvU4qrL+g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/eslint-plugin@6.0.0(@typescript-eslint/parser@6.0.0)(eslint@8.44.0)(typescript@5.1.6): + resolution: {integrity: sha512-xuv6ghKGoiq856Bww/yVYnXGsKa588kY3M0XK7uUW/3fJNNULKRfZfSBkMTSpqGG/8ZCXCadfh8G/z/B4aqS/A==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - '@typescript-eslint/parser': ^5.0.0 - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha + eslint: ^7.0.0 || ^8.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: '@eslint-community/regexpp': 4.5.1 - '@typescript-eslint/parser': 5.61.0(eslint@8.44.0)(typescript@5.1.6) - '@typescript-eslint/scope-manager': 5.61.0 - '@typescript-eslint/type-utils': 5.61.0(eslint@8.44.0)(typescript@5.1.6) - '@typescript-eslint/utils': 5.61.0(eslint@8.44.0)(typescript@5.1.6) + '@typescript-eslint/parser': 6.0.0(eslint@8.44.0)(typescript@5.1.6) + '@typescript-eslint/scope-manager': 6.0.0 + '@typescript-eslint/type-utils': 6.0.0(eslint@8.44.0)(typescript@5.1.6) + '@typescript-eslint/utils': 6.0.0(eslint@8.44.0)(typescript@5.1.6) + '@typescript-eslint/visitor-keys': 6.0.0 debug: 4.3.4 eslint: 8.44.0 + grapheme-splitter: 1.0.4 graphemer: 1.4.0 ignore: 5.2.4 + natural-compare: 1.4.0 natural-compare-lite: 1.4.0 semver: 7.5.4 - tsutils: 3.21.0(typescript@5.1.6) + ts-api-utils: 1.0.1(typescript@5.1.6) typescript: 5.1.6 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@5.61.0(eslint@8.44.0)(typescript@5.1.6): - resolution: {integrity: sha512-yGr4Sgyh8uO6fSi9hw3jAFXNBHbCtKKFMdX2IkT3ZqpKmtAq3lHS4ixB/COFuAIJpwl9/AqF7j72ZDWYKmIfvg==} + /@typescript-eslint/parser@5.62.0(eslint@8.44.0)(typescript@5.1.6): + resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -1193,9 +1196,9 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 5.61.0 - '@typescript-eslint/types': 5.61.0 - '@typescript-eslint/typescript-estree': 5.61.0(typescript@5.1.6) + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.1.6) debug: 4.3.4 eslint: 8.44.0 typescript: 5.1.6 @@ -1203,41 +1206,75 @@ packages: - supports-color dev: true - /@typescript-eslint/scope-manager@5.61.0: - resolution: {integrity: sha512-W8VoMjoSg7f7nqAROEmTt6LoBpn81AegP7uKhhW5KzYlehs8VV0ZW0fIDVbcZRcaP3aPSW+JZFua+ysQN+m/Nw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - '@typescript-eslint/types': 5.61.0 - '@typescript-eslint/visitor-keys': 5.61.0 - dev: true - - /@typescript-eslint/type-utils@5.61.0(eslint@8.44.0)(typescript@5.1.6): - resolution: {integrity: sha512-kk8u//r+oVK2Aj3ph/26XdH0pbAkC2RiSjUYhKD+PExemG4XSjpGFeyZ/QM8lBOa7O8aGOU+/yEbMJgQv/DnCg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/parser@6.0.0(eslint@8.44.0)(typescript@5.1.6): + resolution: {integrity: sha512-TNaufYSPrr1U8n+3xN+Yp9g31vQDJqhXzzPSHfQDLcaO4tU+mCfODPxCwf4H530zo7aUBE3QIdxCXamEnG04Tg==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: '*' + eslint: ^7.0.0 || ^8.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.61.0(typescript@5.1.6) - '@typescript-eslint/utils': 5.61.0(eslint@8.44.0)(typescript@5.1.6) + '@typescript-eslint/scope-manager': 6.0.0 + '@typescript-eslint/types': 6.0.0 + '@typescript-eslint/typescript-estree': 6.0.0(typescript@5.1.6) + '@typescript-eslint/visitor-keys': 6.0.0 debug: 4.3.4 eslint: 8.44.0 - tsutils: 3.21.0(typescript@5.1.6) typescript: 5.1.6 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/types@5.61.0: - resolution: {integrity: sha512-ldyueo58KjngXpzloHUog/h9REmHl59G1b3a5Sng1GfBo14BkS3ZbMEb3693gnP1k//97lh7bKsp6/V/0v1veQ==} + /@typescript-eslint/scope-manager@5.62.0: + resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/visitor-keys': 5.62.0 + dev: true + + /@typescript-eslint/scope-manager@6.0.0: + resolution: {integrity: sha512-o4q0KHlgCZTqjuaZ25nw5W57NeykZT9LiMEG4do/ovwvOcPnDO1BI5BQdCsUkjxFyrCL0cSzLjvIMfR9uo7cWg==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 6.0.0 + '@typescript-eslint/visitor-keys': 6.0.0 + dev: true + + /@typescript-eslint/type-utils@6.0.0(eslint@8.44.0)(typescript@5.1.6): + resolution: {integrity: sha512-ah6LJvLgkoZ/pyJ9GAdFkzeuMZ8goV6BH7eC9FPmojrnX9yNCIsfjB+zYcnex28YO3RFvBkV6rMV6WpIqkPvoQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/typescript-estree': 6.0.0(typescript@5.1.6) + '@typescript-eslint/utils': 6.0.0(eslint@8.44.0)(typescript@5.1.6) + debug: 4.3.4 + eslint: 8.44.0 + ts-api-utils: 1.0.1(typescript@5.1.6) + typescript: 5.1.6 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/types@5.62.0: + resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/typescript-estree@5.61.0(typescript@5.1.6): - resolution: {integrity: sha512-Fud90PxONnnLZ36oR5ClJBLTLfU4pIWBmnvGwTbEa2cXIqj70AEDEmOmpkFComjBZ/037ueKrOdHuYmSFVD7Rw==} + /@typescript-eslint/types@6.0.0: + resolution: {integrity: sha512-Zk9KDggyZM6tj0AJWYYKgF0yQyrcnievdhG0g5FqyU3Y2DRxJn4yWY21sJC0QKBckbsdKKjYDV2yVrrEvuTgxg==} + engines: {node: ^16.0.0 || >=18.0.0} + dev: true + + /@typescript-eslint/typescript-estree@5.62.0(typescript@5.1.6): + resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: typescript: '*' @@ -1245,8 +1282,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 5.61.0 - '@typescript-eslint/visitor-keys': 5.61.0 + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/visitor-keys': 5.62.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 @@ -1257,18 +1294,39 @@ packages: - supports-color dev: true - /@typescript-eslint/utils@5.61.0(eslint@8.44.0)(typescript@5.1.6): - resolution: {integrity: sha512-mV6O+6VgQmVE6+xzlA91xifndPW9ElFW8vbSF0xCT/czPXVhwDewKila1jOyRwa9AE19zKnrr7Cg5S3pJVrTWQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@typescript-eslint/typescript-estree@6.0.0(typescript@5.1.6): + resolution: {integrity: sha512-2zq4O7P6YCQADfmJ5OTDQTP3ktajnXIRrYAtHM9ofto/CJZV3QfJ89GEaM2BNGeSr1KgmBuLhEkz5FBkS2RQhQ==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 6.0.0 + '@typescript-eslint/visitor-keys': 6.0.0 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.5.4 + ts-api-utils: 1.0.1(typescript@5.1.6) + typescript: 5.1.6 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/utils@6.0.0(eslint@8.44.0)(typescript@5.1.6): + resolution: {integrity: sha512-SOr6l4NB6HE4H/ktz0JVVWNXqCJTOo/mHnvIte1ZhBQ0Cvd04x5uKZa3zT6tiodL06zf5xxdK8COiDvPnQ27JQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.44.0) '@types/json-schema': 7.0.12 '@types/semver': 7.5.0 - '@typescript-eslint/scope-manager': 5.61.0 - '@typescript-eslint/types': 5.61.0 - '@typescript-eslint/typescript-estree': 5.61.0(typescript@5.1.6) + '@typescript-eslint/scope-manager': 6.0.0 + '@typescript-eslint/types': 6.0.0 + '@typescript-eslint/typescript-estree': 6.0.0(typescript@5.1.6) eslint: 8.44.0 eslint-scope: 5.1.1 semver: 7.5.4 @@ -1277,11 +1335,19 @@ packages: - typescript dev: true - /@typescript-eslint/visitor-keys@5.61.0: - resolution: {integrity: sha512-50XQ5VdbWrX06mQXhy93WywSFZZGsv3EOjq+lqp6WC2t+j3mb6A9xYVdrRxafvK88vg9k9u+CT4l6D8PEatjKg==} + /@typescript-eslint/visitor-keys@5.62.0: + resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - '@typescript-eslint/types': 5.61.0 + '@typescript-eslint/types': 5.62.0 + eslint-visitor-keys: 3.4.1 + dev: true + + /@typescript-eslint/visitor-keys@6.0.0: + resolution: {integrity: sha512-cvJ63l8c0yXdeT5POHpL0Q1cZoRcmRKFCtSjNGJxPkcP571EfZMcNbzWAc7oK3D1dRzm/V5EwtkANTZxqvuuUA==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 6.0.0 eslint-visitor-keys: 3.4.1 dev: true @@ -1487,7 +1553,7 @@ packages: postcss: ^8.1.0 dependencies: browserslist: 4.21.9 - caniuse-lite: 1.0.30001514 + caniuse-lite: 1.0.30001515 fraction.js: 4.2.0 normalize-range: 0.1.2 picocolors: 1.0.0 @@ -1521,6 +1587,10 @@ packages: dequal: 2.0.3 dev: true + /b4a@1.6.4: + resolution: {integrity: sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw==} + dev: false + /balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} @@ -1601,8 +1671,8 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001514 - electron-to-chromium: 1.4.454 + caniuse-lite: 1.0.30001515 + electron-to-chromium: 1.4.456 node-releases: 2.0.13 update-browserslist-db: 1.0.11(browserslist@4.21.9) dev: false @@ -1672,8 +1742,8 @@ packages: resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} engines: {node: '>= 6'} - /caniuse-lite@1.0.30001514: - resolution: {integrity: sha512-ENcIpYBmwAAOm/V2cXgM7rZUrKKaqisZl4ZAI520FIkqGXUxJjmaIssbRW5HVVR5tyV6ygTLIm15aU8LUmQSaQ==} + /caniuse-lite@1.0.30001515: + resolution: {integrity: sha512-eEFDwUOZbE24sb+Ecsx3+OvNETqjWIdabMy52oOkIgcUtAsQifjUG9q4U9dgTHJM2mfk4uEPxc0+xuFdJ629QA==} dev: false /chainsaw@0.1.0: @@ -2079,12 +2149,12 @@ packages: dependencies: commander: 2.20.3 lru-cache: 4.1.5 - semver: 5.7.1 + semver: 5.7.2 sigmund: 1.0.1 dev: false - /electron-to-chromium@1.4.454: - resolution: {integrity: sha512-pmf1rbAStw8UEQ0sr2cdJtWl48ZMuPD9Sto8HVQOq9vx9j2WgDEN6lYoaqFvqEHYOmGA9oRGn7LqWI9ta0YugQ==} + /electron-to-chromium@1.4.456: + resolution: {integrity: sha512-d+eSL4mT9m72cnDT/kfQj6Pv6Cid4pUVlLOl8esm2SZuXBgtXtUyvCfc9F++GHLWLoY4gMNqg+0IVAoQ3sosKA==} dev: false /emoji-regex@9.2.2: @@ -2153,7 +2223,7 @@ packages: string.prototype.trimstart: 1.0.6 typed-array-length: 1.0.4 unbox-primitive: 1.0.2 - which-typed-array: 1.1.9 + which-typed-array: 1.1.10 dev: true /es-set-tostringtag@2.0.1: @@ -2236,11 +2306,11 @@ packages: dependencies: '@next/eslint-plugin-next': 13.4.9 '@rushstack/eslint-patch': 1.3.2 - '@typescript-eslint/parser': 5.61.0(eslint@8.44.0)(typescript@5.1.6) + '@typescript-eslint/parser': 5.62.0(eslint@8.44.0)(typescript@5.1.6) eslint: 8.44.0 eslint-import-resolver-node: 0.3.7 - eslint-import-resolver-typescript: 3.5.5(@typescript-eslint/parser@5.61.0)(eslint-import-resolver-node@0.3.7)(eslint-plugin-import@2.27.5)(eslint@8.44.0) - eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.61.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.44.0) + eslint-import-resolver-typescript: 3.5.5(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.7)(eslint-plugin-import@2.27.5)(eslint@8.44.0) + eslint-plugin-import: 2.27.5(@typescript-eslint/parser@6.0.0)(eslint@8.44.0) eslint-plugin-jsx-a11y: 6.7.1(eslint@8.44.0) eslint-plugin-react: 7.32.2(eslint@8.44.0) eslint-plugin-react-hooks: 5.0.0-canary-7118f5dd7-20230705(eslint@8.44.0) @@ -2260,7 +2330,7 @@ packages: - supports-color dev: true - /eslint-import-resolver-typescript@3.5.5(@typescript-eslint/parser@5.61.0)(eslint-import-resolver-node@0.3.7)(eslint-plugin-import@2.27.5)(eslint@8.44.0): + /eslint-import-resolver-typescript@3.5.5(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.7)(eslint-plugin-import@2.27.5)(eslint@8.44.0): resolution: {integrity: sha512-TdJqPHs2lW5J9Zpe17DZNQuDnox4xo2o+0tE7Pggain9Rbc19ik8kFtXdxZ250FVx2kF4vlt2RSf4qlUpG7bhw==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -2270,8 +2340,8 @@ packages: debug: 4.3.4 enhanced-resolve: 5.15.0 eslint: 8.44.0 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.61.0)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.5)(eslint@8.44.0) - eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.61.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.44.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.5)(eslint@8.44.0) + eslint-plugin-import: 2.27.5(@typescript-eslint/parser@6.0.0)(eslint@8.44.0) get-tsconfig: 4.6.2 globby: 13.2.2 is-core-module: 2.12.1 @@ -2284,7 +2354,7 @@ packages: - supports-color dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@5.61.0)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.5)(eslint@8.44.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.5)(eslint@8.44.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -2305,16 +2375,45 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 5.61.0(eslint@8.44.0)(typescript@5.1.6) + '@typescript-eslint/parser': 5.62.0(eslint@8.44.0)(typescript@5.1.6) debug: 3.2.7 eslint: 8.44.0 eslint-import-resolver-node: 0.3.7 - eslint-import-resolver-typescript: 3.5.5(@typescript-eslint/parser@5.61.0)(eslint-import-resolver-node@0.3.7)(eslint-plugin-import@2.27.5)(eslint@8.44.0) + eslint-import-resolver-typescript: 3.5.5(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.7)(eslint-plugin-import@2.27.5)(eslint@8.44.0) transitivePeerDependencies: - supports-color dev: true - /eslint-plugin-import@2.27.5(@typescript-eslint/parser@5.61.0)(eslint-import-resolver-typescript@3.5.5)(eslint@8.44.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.0.0)(eslint-import-resolver-node@0.3.7)(eslint@8.44.0): + resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: '*' + eslint-import-resolver-node: '*' + eslint-import-resolver-typescript: '*' + eslint-import-resolver-webpack: '*' + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + eslint: + optional: true + eslint-import-resolver-node: + optional: true + eslint-import-resolver-typescript: + optional: true + eslint-import-resolver-webpack: + optional: true + dependencies: + '@typescript-eslint/parser': 6.0.0(eslint@8.44.0)(typescript@5.1.6) + debug: 3.2.7 + eslint: 8.44.0 + eslint-import-resolver-node: 0.3.7 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-plugin-import@2.27.5(@typescript-eslint/parser@6.0.0)(eslint@8.44.0): resolution: {integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==} engines: {node: '>=4'} peerDependencies: @@ -2324,7 +2423,7 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 5.61.0(eslint@8.44.0)(typescript@5.1.6) + '@typescript-eslint/parser': 6.0.0(eslint@8.44.0)(typescript@5.1.6) array-includes: 3.1.6 array.prototype.flat: 1.3.1 array.prototype.flatmap: 1.3.1 @@ -2332,14 +2431,14 @@ packages: doctrine: 2.1.0 eslint: 8.44.0 eslint-import-resolver-node: 0.3.7 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.61.0)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.5)(eslint@8.44.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.0.0)(eslint-import-resolver-node@0.3.7)(eslint@8.44.0) has: 1.0.3 is-core-module: 2.12.1 is-glob: 4.0.3 minimatch: 3.1.2 object.values: 1.1.6 resolve: 1.22.2 - semver: 6.3.0 + semver: 6.3.1 tsconfig-paths: 3.14.2 transitivePeerDependencies: - eslint-import-resolver-typescript @@ -2369,7 +2468,7 @@ packages: minimatch: 3.1.2 object.entries: 1.1.6 object.fromentries: 2.0.6 - semver: 6.3.0 + semver: 6.3.1 dev: true /eslint-plugin-react-hooks@5.0.0-canary-7118f5dd7-20230705(eslint@8.44.0): @@ -2401,7 +2500,7 @@ packages: object.values: 1.1.6 prop-types: 15.8.1 resolve: 2.0.0-next.4 - semver: 6.3.0 + semver: 6.3.1 string.prototype.matchall: 4.0.8 dev: true @@ -2567,6 +2666,10 @@ packages: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} dev: true + /fast-fifo@1.3.0: + resolution: {integrity: sha512-IgfweLvEpwyA4WgiQe9Nx6VV2QkML2NkvZnk1oKnIzXgXdWxuhF7zw4DvLTPZJn6PIUneiAXPF24QmoEqHTjyw==} + dev: false + /fast-folder-size@1.6.1: resolution: {integrity: sha512-F3tRpfkAzb7TT2JNKaJUglyuRjRa+jelQD94s9OSqkfEeytLmupCqQiD+H2KoIXGtp4pB5m4zNmv5m2Ktcr+LA==} hasBin: true @@ -2901,6 +3004,10 @@ packages: /graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + /grapheme-splitter@1.0.4: + resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} + dev: true + /graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} dev: true @@ -3636,7 +3743,7 @@ packages: '@next/env': 13.4.9 '@swc/helpers': 0.5.1 busboy: 1.6.0 - caniuse-lite: 1.0.30001514 + caniuse-lite: 1.0.30001515 postcss: 8.4.14 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -3698,7 +3805,7 @@ packages: dependencies: hosted-git-info: 2.8.9 resolve: 1.22.2 - semver: 5.7.1 + semver: 5.7.2 validate-npm-package-license: 3.0.4 dev: false @@ -4197,13 +4304,13 @@ packages: js-beautify: 1.14.8 dev: false - /prisma@4.16.2: - resolution: {integrity: sha512-SYCsBvDf0/7XSJyf2cHTLjLeTLVXYfqp7pG5eEVafFLeT0u/hLFz/9W196nDRGUOo1JfPatAEb+uEnTQImQC1g==} - engines: {node: '>=14.17'} + /prisma@5.0.0: + resolution: {integrity: sha512-KYWk83Fhi1FH59jSpavAYTt2eoMVW9YKgu8ci0kuUnt6Dup5Qy47pcB4/TLmiPAbhGrxxSz7gsSnJcCmkyPANA==} + engines: {node: '>=16.13'} hasBin: true requiresBuild: true dependencies: - '@prisma/engines': 4.16.2 + '@prisma/engines': 5.0.0 /process-nextick-args@2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} @@ -4244,6 +4351,10 @@ packages: /queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + /queue-tick@1.0.1: + resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==} + dev: false + /quick-lru@5.1.1: resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} engines: {node: '>=10'} @@ -4507,13 +4618,13 @@ packages: parseley: 0.11.0 dev: false - /semver@5.7.1: - resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} + /semver@5.7.2: + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} hasBin: true dev: false - /semver@6.3.0: - resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} + /semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true dev: true @@ -4528,8 +4639,8 @@ packages: resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} dev: false - /sharp@0.32.1: - resolution: {integrity: sha512-kQTFtj7ldpUqSe8kDxoGLZc1rnMFU0AO2pqbX6pLy3b7Oj8ivJIdoKNwxHVQG2HN6XpHPJqCSM2nsma2gOXvOg==} + /sharp@0.32.2: + resolution: {integrity: sha512-e4hyWKtU7ks/rLmoPys476zhpQnLqPJopz4+5b6OPeyJfvCTInAp0pe5tGhstjsNdUvDLrUVGEwevewYdZM8Eg==} engines: {node: '>=14.15.0'} requiresBuild: true dependencies: @@ -4539,7 +4650,7 @@ packages: prebuild-install: 7.1.1 semver: 7.5.4 simple-get: 4.0.1 - tar-fs: 2.1.1 + tar-fs: 3.0.4 tunnel-agent: 0.6.0 dev: false @@ -4640,6 +4751,13 @@ packages: engines: {node: '>=10.0.0'} dev: false + /streamx@2.15.0: + resolution: {integrity: sha512-HcxY6ncGjjklGs1xsP1aR71INYcsXFJet5CU1CHqihQ2J5nOsbd4OjgjHO42w/4QNv9gZb3BueV+Vxok5pLEXg==} + dependencies: + fast-fifo: 1.3.0 + queue-tick: 1.0.1 + dev: false + /string.prototype.matchall@4.0.8: resolution: {integrity: sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==} dependencies: @@ -4874,6 +4992,14 @@ packages: tar-stream: 2.2.0 dev: false + /tar-fs@3.0.4: + resolution: {integrity: sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==} + dependencies: + mkdirp-classic: 0.5.3 + pump: 3.0.0 + tar-stream: 3.1.6 + dev: false + /tar-stream@2.2.0: resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} engines: {node: '>=6'} @@ -4885,6 +5011,14 @@ packages: readable-stream: 3.6.2 dev: false + /tar-stream@3.1.6: + resolution: {integrity: sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==} + dependencies: + b4a: 1.6.4 + fast-fifo: 1.3.0 + streamx: 2.15.0 + dev: false + /text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} dev: true @@ -4934,6 +5068,15 @@ packages: pretty-bytes: 5.6.0 dev: false + /ts-api-utils@1.0.1(typescript@5.1.6): + resolution: {integrity: sha512-lC/RGlPmwdrIBFTX59wwNzqh7aR2otPNPR/5brHZm/XKFYKsfqxihXUe9pU3JI+3vGkl+vyCoNNnPhJn3aLK1A==} + engines: {node: '>=16.13.0'} + peerDependencies: + typescript: '>=4.2.0' + dependencies: + typescript: 5.1.6 + dev: true + /ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} dev: true @@ -5134,8 +5277,8 @@ packages: is-symbol: 1.0.4 dev: true - /which-typed-array@1.1.9: - resolution: {integrity: sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==} + /which-typed-array@1.1.10: + resolution: {integrity: sha512-uxoA5vLUfRPdjCuJ1h5LlYdmTLbYfums398v3WLkM+i/Wltl2/XyZpQWKbN++ck5L64SR/grOHqtXCUKmlZPNA==} engines: {node: '>= 0.4'} dependencies: available-typed-arrays: 1.0.5 diff --git a/prisma/schema.prisma b/prisma/schema.prisma index f145b63..336ce3f 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -5,7 +5,6 @@ enum RoleValue { generator client { provider = "prisma-client-js" - previewFeatures = ["jsonProtocol"] } datasource db { diff --git a/src/components/Navbar.tsx b/src/components/Navbar.tsx index 69500a3..61c0beb 100644 --- a/src/components/Navbar.tsx +++ b/src/components/Navbar.tsx @@ -1,8 +1,8 @@ -import { useSession, signOut, signIn } from "next-auth/react"; -import Link from "next/link"; +import { signIn, signOut, useSession } from "next-auth/react"; import Image from "next/image"; -import { env } from "~/env.mjs"; +import Link from "next/link"; import { useRouter } from "next/router"; +import { env } from "~/env.mjs"; interface NavbarProps { title: string; diff --git a/src/components/RoomList.tsx b/src/components/RoomList.tsx index 4ba969a..7472c4f 100644 --- a/src/components/RoomList.tsx +++ b/src/components/RoomList.tsx @@ -1,11 +1,11 @@ import { useSession } from "next-auth/react"; import Link from "next/link"; -import { api } from "~/utils/api"; -import { IoEnterOutline, IoTrashBinOutline } from "react-icons/io5"; import { configureAbly, useChannel } from "@ably-labs/react-hooks"; -import { env } from "~/env.mjs"; import { useState } from "react"; +import { IoEnterOutline, IoTrashBinOutline } from "react-icons/io5"; +import { env } from "~/env.mjs"; +import { api } from "~/utils/api"; const RoomList: React.FC = () => { const { data: sessionData } = useSession(); diff --git a/src/components/templates/Goodbye.tsx b/src/components/templates/Goodbye.tsx index 099db4e..b64a57d 100644 --- a/src/components/templates/Goodbye.tsx +++ b/src/components/templates/Goodbye.tsx @@ -12,7 +12,6 @@ import { Section, Img, } from "@react-email/components"; -import { env } from "~/env.mjs"; interface GoodbyeTemplateProps { name: string; diff --git a/src/components/templates/Welcome.tsx b/src/components/templates/Welcome.tsx index 4726496..eb5b1f2 100644 --- a/src/components/templates/Welcome.tsx +++ b/src/components/templates/Welcome.tsx @@ -1,17 +1,17 @@ -import * as React from "react"; import { - Body, - Container, - Head, - Heading, - Html, - Preview, - Text, - Hr, - Tailwind, - Section, - Img, + Body, + Container, + Head, + Heading, + Hr, + Html, + Img, + Preview, + Section, + Tailwind, + Text, } from "@react-email/components"; +import * as React from "react"; interface WelcomeTemplateProps { name: string; diff --git a/src/pages/_app.tsx b/src/pages/_app.tsx index f2fe2be..12af01a 100644 --- a/src/pages/_app.tsx +++ b/src/pages/_app.tsx @@ -1,14 +1,14 @@ -import { type AppType } from "next/app"; import { type Session } from "next-auth"; import { SessionProvider } from "next-auth/react"; +import { type AppType } from "next/app"; import { api } from "~/utils/api"; -import "~/styles/globals.css"; -import Navbar from "~/components/Navbar"; import { useRouter } from "next/router"; import { useEffect, useState } from "react"; import Footer from "~/components/Footer"; +import Navbar from "~/components/Navbar"; +import "~/styles/globals.css"; const MyApp: AppType<{ session: Session | null }> = ({ Component, diff --git a/src/pages/_document.tsx b/src/pages/_document.tsx index 0d16989..1073f40 100644 --- a/src/pages/_document.tsx +++ b/src/pages/_document.tsx @@ -1,4 +1,4 @@ -import { Html, Head, Main, NextScript } from "next/document"; +import { Head, Html, Main, NextScript } from "next/document"; export default function Document() { return ( diff --git a/src/pages/admin/index.tsx b/src/pages/admin/index.tsx index 7a4cd38..97b8e35 100644 --- a/src/pages/admin/index.tsx +++ b/src/pages/admin/index.tsx @@ -1,14 +1,13 @@ -import { type NextPage } from "next"; +import { type GetServerSideProps, type NextPage } from "next"; import Head from "next/head"; -import { type GetServerSideProps } from "next"; -import { getServerAuthSession } from "../../server/auth"; -import { api } from "~/utils/api"; -import { IoTrashBinOutline } from "react-icons/io5"; import { AiOutlineClear } from "react-icons/ai"; import { FaShieldAlt } from "react-icons/fa"; -import { SiGoogle, SiGithub } from "react-icons/si"; +import { IoTrashBinOutline } from "react-icons/io5"; +import { SiGithub, SiGoogle } from "react-icons/si"; +import { api } from "~/utils/api"; import type { Role } from "~/utils/types"; +import { getServerAuthSession } from "../../server/auth"; export const getServerSideProps: GetServerSideProps = async (ctx) => { const session = await getServerAuthSession(ctx); diff --git a/src/pages/api/ping.ts b/src/pages/api/ping.ts index ec197dd..cce0aeb 100644 --- a/src/pages/api/ping.ts +++ b/src/pages/api/ping.ts @@ -1,5 +1,6 @@ -import { NextApiRequest, NextApiResponse } from "next"; +import type { NextApiRequest, NextApiResponse } from "next"; + export default function handler(req: NextApiRequest, res: NextApiResponse) { - res.status(200).json({ result: "Pong!" }); + res.status(200).json({ result: "Pong!" }); } diff --git a/src/pages/api/trpc/[trpc].ts b/src/pages/api/trpc/[trpc].ts index 3c744a0..634df1d 100644 --- a/src/pages/api/trpc/[trpc].ts +++ b/src/pages/api/trpc/[trpc].ts @@ -1,8 +1,8 @@ import { createNextApiHandler } from "@trpc/server/adapters/next"; import { env } from "~/env.mjs"; -import { createTRPCContext } from "~/server/api/trpc"; import { appRouter } from "~/server/api/root"; +import { createTRPCContext } from "~/server/api/trpc"; // export API handler export default createNextApiHandler({ diff --git a/src/pages/dashboard/index.tsx b/src/pages/dashboard/index.tsx index 8f0b0e3..534483f 100644 --- a/src/pages/dashboard/index.tsx +++ b/src/pages/dashboard/index.tsx @@ -1,11 +1,11 @@ import type { GetServerSideProps, NextPage } from "next"; -import Head from "next/head"; import { useSession } from "next-auth/react"; +import Head from "next/head"; import RoomList from "~/components/RoomList"; -import { useEffect, useState } from "react"; import Link from "next/link"; +import { useEffect, useState } from "react"; import { FaShieldAlt } from "react-icons/fa"; import { getServerAuthSession } from "~/server/auth"; diff --git a/src/pages/room/[id].tsx b/src/pages/room/[id].tsx index 49d53e5..028f8df 100644 --- a/src/pages/room/[id].tsx +++ b/src/pages/room/[id].tsx @@ -1,32 +1,31 @@ -import { type NextPage } from "next"; -import Image from "next/image"; +import { type GetServerSideProps, type NextPage } from "next"; import Head from "next/head"; -import { type GetServerSideProps } from "next"; +import Image from "next/image"; import { useEffect, useState } from "react"; -import { getServerAuthSession } from "../../server/auth"; -import { useRouter } from "next/router"; -import { api } from "~/utils/api"; -import { z } from "zod"; import { useSession } from "next-auth/react"; +import { useRouter } from "next/router"; import { - IoCopyOutline, - IoHourglassOutline, - IoCheckmarkCircleOutline, - IoEyeOutline, - IoEyeOffOutline, - IoSaveOutline, - IoReloadOutline, - IoDownloadOutline, + IoCheckmarkCircleOutline, + IoCopyOutline, + IoDownloadOutline, + IoEyeOffOutline, + IoEyeOutline, + IoHourglassOutline, + IoReloadOutline, + IoSaveOutline, } from "react-icons/io5"; +import { z } from "zod"; +import { api } from "~/utils/api"; +import { getServerAuthSession } from "../../server/auth"; import { configureAbly, useChannel, usePresence } from "@ably-labs/react-hooks"; -import type { PresenceItem } from "~/utils/types"; -import { env } from "~/env.mjs"; +import Link from "next/link"; import { FaShieldAlt } from "react-icons/fa"; import { RiVipCrownFill } from "react-icons/ri"; -import Link from "next/link"; +import { env } from "~/env.mjs"; import { downloadCSV } from "~/utils/helpers"; +import type { PresenceItem } from "~/utils/types"; export const getServerSideProps: GetServerSideProps = async (ctx) => { const session = await getServerAuthSession(ctx); diff --git a/src/server/ably.ts b/src/server/ably.ts index a493d72..5e2c299 100644 --- a/src/server/ably.ts +++ b/src/server/ably.ts @@ -1,6 +1,6 @@ import Ably from "ably"; -import type { EventType } from "../utils/types"; import { env } from "~/env.mjs"; +import type { EventType } from "../utils/types"; const ably = new Ably.Realtime.Promise(env.ABLY_PRIVATE_KEY); diff --git a/src/server/api/root.ts b/src/server/api/root.ts index d380833..93561db 100644 --- a/src/server/api/root.ts +++ b/src/server/api/root.ts @@ -1,8 +1,8 @@ -import { createTRPCRouter } from "~/server/api/trpc"; import { roomRouter } from "~/server/api/routers/room"; -import { voteRouter } from "./routers/vote"; -import { userRouter } from "./routers/user"; +import { createTRPCRouter } from "~/server/api/trpc"; import { sessionRouter } from "./routers/session"; +import { userRouter } from "./routers/user"; +import { voteRouter } from "./routers/vote"; /** * This is the primary router for your server. diff --git a/src/server/api/routers/room.ts b/src/server/api/routers/room.ts index 0efdfbc..f4778b3 100644 --- a/src/server/api/routers/room.ts +++ b/src/server/api/routers/room.ts @@ -3,7 +3,6 @@ import { publishToChannel } from "~/server/ably"; import { createTRPCRouter, protectedProcedure } from "~/server/api/trpc"; -import { env } from "~/env.mjs"; import { fetchCache, invalidateCache, setCache } from "~/server/redis"; export const roomRouter = createTRPCRouter({ diff --git a/src/server/api/routers/session.ts b/src/server/api/routers/session.ts index cb637a5..4b302a3 100644 --- a/src/server/api/routers/session.ts +++ b/src/server/api/routers/session.ts @@ -1,6 +1,5 @@ import { z } from "zod"; import { createTRPCRouter, protectedProcedure } from "~/server/api/trpc"; -import { env } from "~/env.mjs"; import { invalidateCache } from "~/server/redis"; export const sessionRouter = createTRPCRouter({ @@ -23,7 +22,7 @@ export const sessionRouter = createTRPCRouter({ return !!sessions; }), - deleteAll: protectedProcedure.mutation(async ({ ctx, input }) => { + deleteAll: protectedProcedure.mutation(async ({ ctx }) => { const sessions = await ctx.prisma.session.deleteMany(); if (!!sessions) { diff --git a/src/server/api/routers/user.ts b/src/server/api/routers/user.ts index 69e7164..7a55e2a 100644 --- a/src/server/api/routers/user.ts +++ b/src/server/api/routers/user.ts @@ -1,12 +1,12 @@ import type { User } from "@prisma/client"; +import { Resend } from "resend"; import { z } from "zod"; +import { Goodbye } from "~/components/templates/Goodbye"; import { env } from "~/env.mjs"; import { createTRPCRouter, protectedProcedure } from "~/server/api/trpc"; import type { Role } from "~/utils/types"; -import { Resend } from "resend"; -import { Goodbye } from "~/components/templates/Goodbye"; -import { setCache, fetchCache, invalidateCache } from "~/server/redis"; +import { fetchCache, invalidateCache, setCache } from "~/server/redis"; const resend = new Resend(process.env.RESEND_API_KEY); diff --git a/src/server/api/routers/vote.ts b/src/server/api/routers/vote.ts index 5b0b2fa..388d1f9 100644 --- a/src/server/api/routers/vote.ts +++ b/src/server/api/routers/vote.ts @@ -1,9 +1,8 @@ import { z } from "zod"; import { publishToChannel } from "~/server/ably"; -import { createTRPCRouter, protectedProcedure } from "~/server/api/trpc"; -import { env } from "~/env.mjs"; import type { Room } from "@prisma/client"; +import { createTRPCRouter, protectedProcedure } from "~/server/api/trpc"; import { fetchCache, invalidateCache, setCache } from "~/server/redis"; export const voteRouter = createTRPCRouter({ diff --git a/src/server/api/trpc.ts b/src/server/api/trpc.ts index c4fcc9e..03be699 100644 --- a/src/server/api/trpc.ts +++ b/src/server/api/trpc.ts @@ -17,9 +17,9 @@ import { type CreateNextContextOptions } from "@trpc/server/adapters/next"; import { type Session } from "next-auth"; +import { Redis } from "@upstash/redis"; import { getServerAuthSession } from "~/server/auth"; import { prisma } from "~/server/db"; -import { Redis } from "@upstash/redis"; type CreateContextOptions = { session: Session | null; @@ -65,8 +65,8 @@ export const createTRPCContext = async (opts: CreateNextContextOptions) => { * This is where the tRPC API is initialized, connecting the context and transformer. */ import { initTRPC, TRPCError } from "@trpc/server"; -import superjson from "superjson"; import { Ratelimit } from "@upstash/ratelimit"; +import superjson from "superjson"; import { env } from "~/env.mjs"; const t = initTRPC.context().create({ diff --git a/src/server/auth.ts b/src/server/auth.ts index c2c3b7d..c61543c 100644 --- a/src/server/auth.ts +++ b/src/server/auth.ts @@ -1,16 +1,16 @@ +import { PrismaAdapter } from "@auth/prisma-adapter"; import { type GetServerSidePropsContext } from "next"; import { - getServerSession, - type NextAuthOptions, - type DefaultSession, + getServerSession, + type DefaultSession, + type NextAuthOptions, } from "next-auth"; import GithubProvider from "next-auth/providers/github"; import GoogleProvider from "next-auth/providers/google"; -import { PrismaAdapter } from "@auth/prisma-adapter"; +import { Resend } from "resend"; import { env } from "~/env.mjs"; import { prisma } from "~/server/db"; import type { Role } from "~/utils/types"; -import { Resend } from "resend"; import { Welcome } from "../components/templates/Welcome"; import { invalidateCache } from "./redis";