From 85050d0ec4c932292e09b14f84922a0cf87bb1c2 Mon Sep 17 00:00:00 2001 From: Bradley Shellnut Date: Sun, 24 Nov 2024 22:41:01 -0800 Subject: [PATCH] Updating hono pino, fixing new format, using nanoid for the request id. --- package.json | 23 +- pnpm-lock.yaml | 363 +++++++++--------- src/lib/server/api/common/create-app.ts | 28 +- src/lib/server/api/common/utils/crypto.ts | 14 + src/lib/server/api/index.ts | 51 ++- .../api/middleware/pino-logger.middleware.ts | 15 +- 6 files changed, 255 insertions(+), 239 deletions(-) create mode 100644 src/lib/server/api/common/utils/crypto.ts diff --git a/package.json b/package.json index 052dada..733cd8a 100644 --- a/package.json +++ b/package.json @@ -30,10 +30,10 @@ "@playwright/test": "^1.49.0", "@sveltejs/adapter-auto": "^3.3.1", "@sveltejs/enhanced-img": "^0.3.10", - "@sveltejs/kit": "^2.8.1", + "@sveltejs/kit": "^2.8.2", "@sveltejs/vite-plugin-svelte": "4.0.0-next.7", "@types/cookie": "^0.6.0", - "@types/node": "^20.17.6", + "@types/node": "^20.17.7", "@types/pg": "^8.11.10", "@types/qrcode": "^1.5.5", "@typescript-eslint/eslint-plugin": "^7.18.0", @@ -54,7 +54,7 @@ "postcss-load-config": "^5.1.0", "postcss-preset-env": "^9.6.0", "prettier": "^3.3.3", - "prettier-plugin-svelte": "^3.3.0", + "prettier-plugin-svelte": "^3.3.2", "svelte": "5.0.0-next.175", "svelte-check": "^3.8.6", "svelte-headless-table": "^0.18.3", @@ -68,7 +68,7 @@ "ts-node": "^10.9.2", "tslib": "^2.8.1", "tsx": "^4.19.2", - "typescript": "^5.6.3", + "typescript": "^5.7.2", "vite": "^5.4.11", "vitest": "^1.6.0", "zod": "^3.23.8" @@ -96,31 +96,32 @@ "@oslojs/otp": "^1.0.0", "@oslojs/webauthn": "^1.0.0", "@paralleldrive/cuid2": "^2.2.2", - "@scalar/hono-api-reference": "^0.5.160", + "@scalar/hono-api-reference": "^0.5.161", "@sveltejs/adapter-node": "^5.2.9", - "@sveltejs/adapter-vercel": "^5.4.7", + "@sveltejs/adapter-vercel": "^5.4.8", "@types/feather-icons": "^4.29.4", "boardgamegeekclient": "^1.9.1", - "bullmq": "^5.28.1", + "bullmq": "^5.29.1", "class-variance-authority": "^0.7.0", "clsx": "^2.1.1", "cookie": "^1.0.2", "dotenv": "^16.4.5", "dotenv-expand": "^11.0.7", - "drizzle-orm": "^0.36.3", + "drizzle-orm": "^0.36.4", "drizzle-zod": "^0.5.1", "feather-icons": "^4.29.2", "handlebars": "^4.7.8", "hono": "^4.6.11", - "hono-pino": "^0.3.0", + "hono-pino": "^0.7.0", "hono-rate-limiter": "^0.4.0", - "hono-zod-openapi": "^0.4.2", + "hono-zod-openapi": "^0.5.0", "html-entities": "^2.5.2", "iconify-icon": "^2.1.0", "ioredis": "^5.4.1", "just-capitalize": "^3.2.0", "just-kebab-case": "^4.2.0", "loader": "^2.1.1", + "nanoid": "^5.0.8", "open-props": "^1.7.7", "oslo": "^1.2.1", "pg": "^8.13.1", @@ -133,7 +134,7 @@ "reflect-metadata": "^0.2.2", "stoker": "^1.3.0", "svelte-lazy-loader": "^1.0.0", - "tailwind-merge": "^2.5.4", + "tailwind-merge": "^2.5.5", "tailwind-variants": "^0.2.1", "tailwindcss-animate": "^1.0.7", "tsyringe": "^4.8.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ab7e2ba..4d20ead 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -28,13 +28,13 @@ importers: version: 1.2.48 '@inlang/paraglide-sveltekit': specifier: ^0.11.1 - version: 0.11.5(@sveltejs/kit@2.8.1(@sveltejs/vite-plugin-svelte@4.0.0-next.7(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.6)))(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.6))) + version: 0.11.5(@sveltejs/kit@2.8.2(@sveltejs/vite-plugin-svelte@4.0.0-next.7(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.7)))(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.7))) '@internationalized/date': specifier: ^3.6.0 version: 3.6.0 '@lucia-auth/adapter-drizzle': specifier: ^1.1.0 - version: 1.1.0(drizzle-orm@0.36.3(@neondatabase/serverless@0.9.5)(@types/pg@8.11.10)(pg@8.13.1)(postgres@3.4.5))(lucia@3.2.0) + version: 1.1.0(drizzle-orm@0.36.4(@neondatabase/serverless@0.9.5)(@types/pg@8.11.10)(pg@8.13.1)(postgres@3.4.5))(lucia@3.2.0) '@lukeed/uuid': specifier: ^2.0.1 version: 2.0.1 @@ -72,14 +72,14 @@ importers: specifier: ^2.2.2 version: 2.2.2 '@scalar/hono-api-reference': - specifier: ^0.5.160 - version: 0.5.160(hono@4.6.11) + specifier: ^0.5.161 + version: 0.5.161(hono@4.6.11) '@sveltejs/adapter-node': specifier: ^5.2.9 - version: 5.2.9(@sveltejs/kit@2.8.1(@sveltejs/vite-plugin-svelte@4.0.0-next.7(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.6)))(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.6))) + version: 5.2.9(@sveltejs/kit@2.8.2(@sveltejs/vite-plugin-svelte@4.0.0-next.7(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.7)))(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.7))) '@sveltejs/adapter-vercel': - specifier: ^5.4.7 - version: 5.4.7(@sveltejs/kit@2.8.1(@sveltejs/vite-plugin-svelte@4.0.0-next.7(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.6)))(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.6))) + specifier: ^5.4.8 + version: 5.4.8(@sveltejs/kit@2.8.2(@sveltejs/vite-plugin-svelte@4.0.0-next.7(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.7)))(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.7))) '@types/feather-icons': specifier: ^4.29.4 version: 4.29.4 @@ -87,8 +87,8 @@ importers: specifier: ^1.9.1 version: 1.9.1 bullmq: - specifier: ^5.28.1 - version: 5.28.1 + specifier: ^5.29.1 + version: 5.29.1 class-variance-authority: specifier: ^0.7.0 version: 0.7.0 @@ -105,11 +105,11 @@ importers: specifier: ^11.0.7 version: 11.0.7 drizzle-orm: - specifier: ^0.36.3 - version: 0.36.3(@neondatabase/serverless@0.9.5)(@types/pg@8.11.10)(pg@8.13.1)(postgres@3.4.5) + specifier: ^0.36.4 + version: 0.36.4(@neondatabase/serverless@0.9.5)(@types/pg@8.11.10)(pg@8.13.1)(postgres@3.4.5) drizzle-zod: specifier: ^0.5.1 - version: 0.5.1(drizzle-orm@0.36.3(@neondatabase/serverless@0.9.5)(@types/pg@8.11.10)(pg@8.13.1)(postgres@3.4.5))(zod@3.23.8) + version: 0.5.1(drizzle-orm@0.36.4(@neondatabase/serverless@0.9.5)(@types/pg@8.11.10)(pg@8.13.1)(postgres@3.4.5))(zod@3.23.8) feather-icons: specifier: ^4.29.2 version: 4.29.2 @@ -120,14 +120,14 @@ importers: specifier: ^4.6.11 version: 4.6.11 hono-pino: - specifier: ^0.3.0 - version: 0.3.0(hono@4.6.11)(pino@9.5.0) + specifier: ^0.7.0 + version: 0.7.0(hono@4.6.11)(pino@9.5.0) hono-rate-limiter: specifier: ^0.4.0 version: 0.4.0(hono@4.6.11) hono-zod-openapi: - specifier: ^0.4.2 - version: 0.4.2(hono@4.6.11)(zod@3.23.8) + specifier: ^0.5.0 + version: 0.5.0(hono@4.6.11)(zod@3.23.8) html-entities: specifier: ^2.5.2 version: 2.5.2 @@ -146,6 +146,9 @@ importers: loader: specifier: ^2.1.1 version: 2.1.1 + nanoid: + specifier: ^5.0.8 + version: 5.0.8 open-props: specifier: ^1.7.7 version: 1.7.7 @@ -183,14 +186,14 @@ importers: specifier: ^1.0.0 version: 1.0.0 tailwind-merge: - specifier: ^2.5.4 - version: 2.5.4 + specifier: ^2.5.5 + version: 2.5.5 tailwind-variants: specifier: ^0.2.1 - version: 0.2.1(tailwindcss@3.4.15(ts-node@10.9.2(@types/node@20.17.6)(typescript@5.6.3))) + version: 0.2.1(tailwindcss@3.4.15(ts-node@10.9.2(@types/node@20.17.7)(typescript@5.7.2))) tailwindcss-animate: specifier: ^1.0.7 - version: 1.0.7(tailwindcss@3.4.15(ts-node@10.9.2(@types/node@20.17.6)(typescript@5.6.3))) + version: 1.0.7(tailwindcss@3.4.15(ts-node@10.9.2(@types/node@20.17.7)(typescript@5.7.2))) tsyringe: specifier: ^4.8.0 version: 4.8.0 @@ -215,22 +218,22 @@ importers: version: 1.49.0 '@sveltejs/adapter-auto': specifier: ^3.3.1 - version: 3.3.1(@sveltejs/kit@2.8.1(@sveltejs/vite-plugin-svelte@4.0.0-next.7(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.6)))(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.6))) + version: 3.3.1(@sveltejs/kit@2.8.2(@sveltejs/vite-plugin-svelte@4.0.0-next.7(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.7)))(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.7))) '@sveltejs/enhanced-img': specifier: ^0.3.10 - version: 0.3.10(rollup@4.24.0)(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.6)) + version: 0.3.10(rollup@4.24.0)(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.7)) '@sveltejs/kit': - specifier: ^2.8.1 - version: 2.8.1(@sveltejs/vite-plugin-svelte@4.0.0-next.7(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.6)))(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.6)) + specifier: ^2.8.2 + version: 2.8.2(@sveltejs/vite-plugin-svelte@4.0.0-next.7(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.7)))(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.7)) '@sveltejs/vite-plugin-svelte': specifier: 4.0.0-next.7 - version: 4.0.0-next.7(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.6)) + version: 4.0.0-next.7(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.7)) '@types/cookie': specifier: ^0.6.0 version: 0.6.0 '@types/node': - specifier: ^20.17.6 - version: 20.17.6 + specifier: ^20.17.7 + version: 20.17.7 '@types/pg': specifier: ^8.11.10 version: 8.11.10 @@ -239,10 +242,10 @@ importers: version: 1.5.5 '@typescript-eslint/eslint-plugin': specifier: ^7.18.0 - version: 7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3) + version: 7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2) '@typescript-eslint/parser': specifier: ^7.18.0 - version: 7.18.0(eslint@8.57.1)(typescript@5.6.3) + version: 7.18.0(eslint@8.57.1)(typescript@5.7.2) arctic: specifier: ^1.9.2 version: 1.9.2 @@ -257,7 +260,7 @@ importers: version: 0.27.2 formsnap: specifier: ^1.0.1 - version: 1.0.1(svelte@5.0.0-next.175)(sveltekit-superforms@2.20.1(@sveltejs/kit@2.8.1(@sveltejs/vite-plugin-svelte@4.0.0-next.7(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.6)))(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.6)))(@types/json-schema@7.0.15)(svelte@5.0.0-next.175)(typescript@5.6.3)) + version: 1.0.1(svelte@5.0.0-next.175)(sveltekit-superforms@2.20.1(@sveltejs/kit@2.8.2(@sveltejs/vite-plugin-svelte@4.0.0-next.7(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.7)))(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.7)))(@types/json-schema@7.0.15)(svelte@5.0.0-next.175)(typescript@5.7.2)) just-clone: specifier: ^6.2.0 version: 6.2.0 @@ -292,8 +295,8 @@ importers: specifier: ^3.3.3 version: 3.3.3 prettier-plugin-svelte: - specifier: ^3.3.0 - version: 3.3.0(prettier@3.3.3)(svelte@5.0.0-next.175) + specifier: ^3.3.2 + version: 3.3.2(prettier@3.3.3)(svelte@5.0.0-next.175) svelte: specifier: 5.0.0-next.175 version: 5.0.0-next.175 @@ -305,10 +308,10 @@ importers: version: 0.18.3(svelte@5.0.0-next.175) svelte-meta-tags: specifier: ^3.1.4 - version: 3.1.4(svelte@5.0.0-next.175)(typescript@5.6.3) + version: 3.1.4(svelte@5.0.0-next.175)(typescript@5.7.2) svelte-preprocess: specifier: ^6.0.3 - version: 6.0.3(postcss-load-config@5.1.0(jiti@1.21.6)(postcss@8.4.49)(tsx@4.19.2))(postcss@8.4.49)(svelte@5.0.0-next.175)(typescript@5.6.3) + version: 6.0.3(postcss-load-config@5.1.0(jiti@1.21.6)(postcss@8.4.49)(tsx@4.19.2))(postcss@8.4.49)(svelte@5.0.0-next.175)(typescript@5.7.2) svelte-sequential-preprocessor: specifier: ^2.0.2 version: 2.0.2 @@ -317,16 +320,16 @@ importers: version: 0.3.28(svelte@5.0.0-next.175) sveltekit-flash-message: specifier: ^2.4.4 - version: 2.4.4(@sveltejs/kit@2.8.1(@sveltejs/vite-plugin-svelte@4.0.0-next.7(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.6)))(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.6)))(svelte@5.0.0-next.175) + version: 2.4.4(@sveltejs/kit@2.8.2(@sveltejs/vite-plugin-svelte@4.0.0-next.7(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.7)))(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.7)))(svelte@5.0.0-next.175) sveltekit-superforms: specifier: ^2.20.1 - version: 2.20.1(@sveltejs/kit@2.8.1(@sveltejs/vite-plugin-svelte@4.0.0-next.7(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.6)))(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.6)))(@types/json-schema@7.0.15)(svelte@5.0.0-next.175)(typescript@5.6.3) + version: 2.20.1(@sveltejs/kit@2.8.2(@sveltejs/vite-plugin-svelte@4.0.0-next.7(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.7)))(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.7)))(@types/json-schema@7.0.15)(svelte@5.0.0-next.175)(typescript@5.7.2) tailwindcss: specifier: ^3.4.15 - version: 3.4.15(ts-node@10.9.2(@types/node@20.17.6)(typescript@5.6.3)) + version: 3.4.15(ts-node@10.9.2(@types/node@20.17.7)(typescript@5.7.2)) ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@20.17.6)(typescript@5.6.3) + version: 10.9.2(@types/node@20.17.7)(typescript@5.7.2) tslib: specifier: ^2.8.1 version: 2.8.1 @@ -334,14 +337,14 @@ importers: specifier: ^4.19.2 version: 4.19.2 typescript: - specifier: ^5.6.3 - version: 5.6.3 + specifier: ^5.7.2 + version: 5.7.2 vite: specifier: ^5.4.11 - version: 5.4.11(@types/node@20.17.6) + version: 5.4.11(@types/node@20.17.7) vitest: specifier: ^1.6.0 - version: 1.6.0(@types/node@20.17.6) + version: 1.6.0(@types/node@20.17.7) zod: specifier: ^3.23.8 version: 3.23.8 @@ -2344,8 +2347,8 @@ packages: cpu: [x64] os: [win32] - '@scalar/hono-api-reference@0.5.160': - resolution: {integrity: sha512-3NXXh4B+5sa9QEchtQNKH0me4pEB8soFfCSqOxsuB0d8agokDO574cP9Qq4l6vwSh6FMiqSdaGTv5459g8hTCg==} + '@scalar/hono-api-reference@0.5.161': + resolution: {integrity: sha512-n30VVZrl9z/IcRbyNZZLGx4RMUUH1Zk12ryR1zPG/tdkzNG7ODP6D+rhasn5cSaCg/0BvdCcHEaANEwVJUEjqw==} engines: {node: '>=18'} peerDependencies: hono: ^4.0.0 @@ -2354,8 +2357,8 @@ packages: resolution: {integrity: sha512-6geH9ehvQ/sG/xUyy3e0lyOw3BaY5s6nn22wHjEJhcobdmWyFER0O6m7AU0ZN4QTjle/gYvFJOjj552l/rsNSw==} engines: {node: '>=18'} - '@scalar/types@0.0.20': - resolution: {integrity: sha512-Sx7tqiuV9ZNp2XpIXKD/srzTjjb4I6aof0Y7+U5MgEuKPwrRnYS/BaocdNgWLnpCZisBIg5qp4YSqozxibabVg==} + '@scalar/types@0.0.21': + resolution: {integrity: sha512-HR8KeV5zjdVDQdfs7ONhpIRbAzrMS1KIu2sbNgVXtFSaj+1/6WN5gM/yY1DKoaC3oyvpqwd/HyL9rLTqrOkrRw==} engines: {node: '>=18'} '@sideway/address@4.1.5': @@ -2386,8 +2389,8 @@ packages: peerDependencies: '@sveltejs/kit': ^2.4.0 - '@sveltejs/adapter-vercel@5.4.7': - resolution: {integrity: sha512-yOKz0fO6G35UbTgEm8VWVeZqnOmMjhxANJt0hlsCo9OKcbLq2cTuh6AvVmcvhg8BzLEspiF4gv8ENtuJgHWvgA==} + '@sveltejs/adapter-vercel@5.4.8': + resolution: {integrity: sha512-JLpjbq6Y5yfm/KbLqlwLZ3bMANpLh5qhrcm9qW/WREQzMVzwiaLpXDlDWdpO+05TWdRKBeGAorTt1KJWU4MshA==} peerDependencies: '@sveltejs/kit': ^2.4.0 @@ -2397,8 +2400,8 @@ packages: svelte: ^4.0.0 || ^5.0.0-next.0 vite: '>= 5.0.0' - '@sveltejs/kit@2.8.1': - resolution: {integrity: sha512-uuOfFwZ4xvnfPsiTB6a4H1ljjTUksGhWnYq5X/Y9z4x5+3uM2Md8q/YVeHL+7w+mygAwoEFdgKZ8YkUuk+VKww==} + '@sveltejs/kit@2.8.2': + resolution: {integrity: sha512-c9My0AnojYtaa96XDAcxcMUdMd3iIhWfrj6BLNtOFz55lMtA/Jima54ZLcYcvfMqei3c86fGRXYa2aIHO+vzFg==} engines: {node: '>=18.13'} hasBin: true peerDependencies: @@ -2463,8 +2466,8 @@ packages: '@types/jsonwebtoken@9.0.7': resolution: {integrity: sha512-ugo316mmTYBl2g81zDFnZ7cfxlut3o+/EQdaP7J8QN2kY6lJ22hmQYCK5EHcJHbrW+dkCGSCPgbG8JtYj6qSrg==} - '@types/node@20.17.6': - resolution: {integrity: sha512-VEI7OdvK2wP7XHnsuXbAJnEpEkF6NjSN45QJlL4VGqZSXsnicpesdTWsg9RISeSdYd3yeRj/y3k5KGjUXYnFwQ==} + '@types/node@20.17.7': + resolution: {integrity: sha512-sZXXnpBFMKbao30dUAvzKbdwA2JM1fwUtVEq/kxKuPI5mMwZiRElCpTXb0Biq/LMEVpXDZL5G5V0RPnxKeyaYg==} '@types/pg@8.11.10': resolution: {integrity: sha512-LczQUW4dbOQzsH2RQ5qoeJ6qJPdrcM/DcMLoqWQkMLMsq83J5lAX3LXjdkWdpscFy67JSOWDnh7Ny/sPFykmkg==} @@ -2801,8 +2804,8 @@ packages: buffer@6.0.3: resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} - bullmq@5.28.1: - resolution: {integrity: sha512-iSoqziPLKH//mmoc4Aj3/opTmk1PgFdITwUrx/wDqrTxfBRjnTGInsu129LCEY6d+SmhZWnA9PYU6ciX+NT64A==} + bullmq@5.29.1: + resolution: {integrity: sha512-TZWiwRlPnpaN+Qwh4D8IQf2cYLpkiDX1LbaaWEabc6y37ojIttWOSynxDewpVHyW233LssSIC4+aLMSvAjtpmg==} bytes@3.1.2: resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} @@ -3150,15 +3153,15 @@ packages: resolution: {integrity: sha512-F6cFZ1wxa9XzFyeeQsp/0/lIzUbDuQjS8/njpYBDWa+wdWmXuY+Z/X2hHFK/9PGHZkv3c9mER+mVWfKlp/B6Vw==} hasBin: true - drizzle-orm@0.36.3: - resolution: {integrity: sha512-ffQB7CcyCTvQBK6xtRLMl/Jsd5xFTBs+UTHrgs1hbk68i5TPkbsoCPbKEwiEsQZfq2I7VH632XJpV1g7LS2H9Q==} + drizzle-orm@0.36.4: + resolution: {integrity: sha512-1OZY3PXD7BR00Gl61UUOFihslDldfH4NFRH2MbP54Yxi0G/PKn4HfO65JYZ7c16DeP3SpM3Aw+VXVG9j6CRSXA==} peerDependencies: '@aws-sdk/client-rds-data': '>=3' '@cloudflare/workers-types': '>=3' '@electric-sql/pglite': '>=0.2.0' '@libsql/client': '>=0.10.0' '@libsql/client-wasm': '>=0.10.0' - '@neondatabase/serverless': '>=0.1' + '@neondatabase/serverless': '>=0.10.0' '@op-engineering/op-sqlite': '>=2' '@opentelemetry/api': ^1.4.1 '@planetscale/database': '>=1' @@ -3641,8 +3644,8 @@ packages: help-me@5.0.0: resolution: {integrity: sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==} - hono-pino@0.3.0: - resolution: {integrity: sha512-9jryKLvU3mTWafqvwcJSmZs91ulcQnMu+wtlaFhvv41fFWtOSmRLA3JZpk5KI96I6gKzigSzrxcuXGjgx131RA==} + hono-pino@0.7.0: + resolution: {integrity: sha512-A3LnJ3HBJ10Pmj/axLz77PnVq4STXW73C+7jWPotOj1mSdpNsdIH5b/QZeCZ+tA7mBU74LKj3zUynnBKOSFnlA==} engines: {node: '>=18'} peerDependencies: hono: '>=4.0.0' @@ -3653,10 +3656,10 @@ packages: peerDependencies: hono: ^4.1.1 - hono-zod-openapi@0.4.2: - resolution: {integrity: sha512-32MRNnm+asXL+YsJbeWTL/SEIdAurIOu3qJDtOhZWj0WqeuhozolFXyuYAXIMmsTup45cv24h3MP5rm6HuqJkQ==} + hono-zod-openapi@0.5.0: + resolution: {integrity: sha512-jXRvuqa2n1DmwRpAFCluiBd7JupM7cE6vAM5CZM9LsLwZqtadwePzbdLe+t7F5fC3p1DXulKOZ2nj09X6+87tg==} peerDependencies: - hono: ^4.6.3 + hono: ^4.6.10 zod: ^3.21.4 hono@4.6.11: @@ -4093,8 +4096,8 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - nanoid@5.0.7: - resolution: {integrity: sha512-oLxFY2gd2IqnjcYyOXD8XGCftpGtZP2AbHbOkthDkvRywH5ayNtPVy9YlOPcHckXzbLTCHpkb7FB+yuxKV13pQ==} + nanoid@5.0.8: + resolution: {integrity: sha512-TcJPw+9RV9dibz1hHUzlLVy8N4X9TnwirAjrU08Juo6BNKggzVfP2ZJ/3ZUSq15Xl5i85i+Z89XBO90pB2PghQ==} engines: {node: ^18 || >=20} hasBin: true @@ -4648,8 +4651,8 @@ packages: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} - prettier-plugin-svelte@3.3.0: - resolution: {integrity: sha512-iNoYiQUx4zwqbQDW/bk0WR75w+QiY4fHJQpGQ5v8Yr7X5m7YoSvs2buUnhoYFXNAL32ULVmrjPSc0vVOHJsO0Q==} + prettier-plugin-svelte@3.3.2: + resolution: {integrity: sha512-kRPjH8wSj2iu+dO+XaUv4vD8qr5mdDmlak3IT/7AOgGIMRG86z/EHOLauFcClKEnOUf4A4nOA7sre5KrJD4Raw==} peerDependencies: prettier: ^3.0.0 svelte: ^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0 @@ -5155,8 +5158,8 @@ packages: tabbable@6.2.0: resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} - tailwind-merge@2.5.4: - resolution: {integrity: sha512-0q8cfZHMu9nuYP/b5Shb7Y7Sh1B7Nnl5GqNr1U+n2p6+mybvRtayrQ+0042Z5byvTA8ihjlP8Odo8/VnHbZu4Q==} + tailwind-merge@2.5.5: + resolution: {integrity: sha512-0LXunzzAZzo0tEPxV3I297ffKZPlKDrjj7NXphC8V5ak9yHC5zRmxnOe2m/Rd/7ivsOMJe3JZ2JVocoDdQTRBA==} tailwind-variants@0.2.1: resolution: {integrity: sha512-2xmhAf4UIc3PijOUcJPA1LP4AbxhpcHuHM2C26xM0k81r0maAO6uoUSHl3APmvHZcY5cZCY/bYuJdfFa4eGoaw==} @@ -5306,8 +5309,8 @@ packages: engines: {node: '>=14.17'} hasBin: true - typescript@5.6.3: - resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==} + typescript@5.7.2: + resolution: {integrity: sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==} engines: {node: '>=14.17'} hasBin: true @@ -5550,8 +5553,8 @@ packages: zimmerframe@1.1.2: resolution: {integrity: sha512-rAbqEGa8ovJy4pyBxZM70hg4pE6gDgaQ0Sl9M3enG3I0d6H4XSAM3GeNGLKnsBpuijUow064sf7ww1nutC5/3w==} - zod-openapi@3.3.0: - resolution: {integrity: sha512-9CouRzPrmKU4Rggb8dPgVrNq6SZTUjdMO+6TvpE2ylkDYlap/Agjce2LZwG4ZwEVEVyZ1s5KnkiL4hn//G3gIA==} + zod-openapi@4.0.0: + resolution: {integrity: sha512-X/YT3VTYMon10rdTGApBIMPpSm17l/sxyVz3cao9M6ynv348ctYi62TDwdnDO+Po1YxA0KiguIW1gIGVRRGqvA==} engines: {node: '>=18'} peerDependencies: zod: ^3.21.4 @@ -6487,12 +6490,12 @@ snapshots: - babel-plugin-macros - debug - '@inlang/paraglide-sveltekit@0.11.5(@sveltejs/kit@2.8.1(@sveltejs/vite-plugin-svelte@4.0.0-next.7(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.6)))(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.6)))': + '@inlang/paraglide-sveltekit@0.11.5(@sveltejs/kit@2.8.2(@sveltejs/vite-plugin-svelte@4.0.0-next.7(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.7)))(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.7)))': dependencies: '@inlang/paraglide-js': 1.11.3 '@inlang/paraglide-vite': 1.2.76 '@lix-js/client': 2.2.1 - '@sveltejs/kit': 2.8.1(@sveltejs/vite-plugin-svelte@4.0.0-next.7(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.6)))(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.6)) + '@sveltejs/kit': 2.8.2(@sveltejs/vite-plugin-svelte@4.0.0-next.7(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.7)))(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.7)) commander: 12.1.0 dedent: 1.5.1 devalue: 4.3.3 @@ -6628,9 +6631,9 @@ snapshots: dependencies: typescript: 5.2.2 - '@lucia-auth/adapter-drizzle@1.1.0(drizzle-orm@0.36.3(@neondatabase/serverless@0.9.5)(@types/pg@8.11.10)(pg@8.13.1)(postgres@3.4.5))(lucia@3.2.0)': + '@lucia-auth/adapter-drizzle@1.1.0(drizzle-orm@0.36.4(@neondatabase/serverless@0.9.5)(@types/pg@8.11.10)(pg@8.13.1)(postgres@3.4.5))(lucia@3.2.0)': dependencies: - drizzle-orm: 0.36.3(@neondatabase/serverless@0.9.5)(@types/pg@8.11.10)(pg@8.13.1)(postgres@3.4.5) + drizzle-orm: 0.36.4(@neondatabase/serverless@0.9.5)(@types/pg@8.11.10)(pg@8.13.1)(postgres@3.4.5) lucia: 3.2.0 '@lukeed/csprng@1.1.0': {} @@ -6668,7 +6671,7 @@ snapshots: '@internationalized/date': 3.6.0 dequal: 2.0.3 focus-trap: 7.6.0 - nanoid: 5.0.7 + nanoid: 5.0.8 svelte: 5.0.0-next.175 '@melt-ui/svelte@0.83.0(svelte@5.0.0-next.175)': @@ -6678,7 +6681,7 @@ snapshots: '@internationalized/date': 3.6.0 dequal: 2.0.3 focus-trap: 7.6.0 - nanoid: 5.0.7 + nanoid: 5.0.8 svelte: 5.0.0-next.175 '@msgpackr-extract/msgpackr-extract-darwin-arm64@3.0.3': @@ -7226,14 +7229,14 @@ snapshots: '@rollup/rollup-win32-x64-msvc@4.24.0': optional: true - '@scalar/hono-api-reference@0.5.160(hono@4.6.11)': + '@scalar/hono-api-reference@0.5.161(hono@4.6.11)': dependencies: - '@scalar/types': 0.0.20 + '@scalar/types': 0.0.21 hono: 4.6.11 '@scalar/openapi-types@0.1.5': {} - '@scalar/types@0.0.20': + '@scalar/types@0.0.21': dependencies: '@scalar/openapi-types': 0.1.5 '@unhead/schema': 1.11.11 @@ -7256,41 +7259,41 @@ snapshots: '@sinclair/typebox@0.32.35': optional: true - '@sveltejs/adapter-auto@3.3.1(@sveltejs/kit@2.8.1(@sveltejs/vite-plugin-svelte@4.0.0-next.7(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.6)))(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.6)))': + '@sveltejs/adapter-auto@3.3.1(@sveltejs/kit@2.8.2(@sveltejs/vite-plugin-svelte@4.0.0-next.7(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.7)))(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.7)))': dependencies: - '@sveltejs/kit': 2.8.1(@sveltejs/vite-plugin-svelte@4.0.0-next.7(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.6)))(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.6)) + '@sveltejs/kit': 2.8.2(@sveltejs/vite-plugin-svelte@4.0.0-next.7(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.7)))(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.7)) import-meta-resolve: 4.1.0 - '@sveltejs/adapter-node@5.2.9(@sveltejs/kit@2.8.1(@sveltejs/vite-plugin-svelte@4.0.0-next.7(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.6)))(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.6)))': + '@sveltejs/adapter-node@5.2.9(@sveltejs/kit@2.8.2(@sveltejs/vite-plugin-svelte@4.0.0-next.7(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.7)))(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.7)))': dependencies: '@rollup/plugin-commonjs': 28.0.1(rollup@4.24.0) '@rollup/plugin-json': 6.1.0(rollup@4.24.0) '@rollup/plugin-node-resolve': 15.3.0(rollup@4.24.0) - '@sveltejs/kit': 2.8.1(@sveltejs/vite-plugin-svelte@4.0.0-next.7(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.6)))(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.6)) + '@sveltejs/kit': 2.8.2(@sveltejs/vite-plugin-svelte@4.0.0-next.7(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.7)))(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.7)) rollup: 4.24.0 - '@sveltejs/adapter-vercel@5.4.7(@sveltejs/kit@2.8.1(@sveltejs/vite-plugin-svelte@4.0.0-next.7(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.6)))(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.6)))': + '@sveltejs/adapter-vercel@5.4.8(@sveltejs/kit@2.8.2(@sveltejs/vite-plugin-svelte@4.0.0-next.7(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.7)))(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.7)))': dependencies: - '@sveltejs/kit': 2.8.1(@sveltejs/vite-plugin-svelte@4.0.0-next.7(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.6)))(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.6)) + '@sveltejs/kit': 2.8.2(@sveltejs/vite-plugin-svelte@4.0.0-next.7(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.7)))(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.7)) '@vercel/nft': 0.27.4 esbuild: 0.21.5 transitivePeerDependencies: - encoding - supports-color - '@sveltejs/enhanced-img@0.3.10(rollup@4.24.0)(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.6))': + '@sveltejs/enhanced-img@0.3.10(rollup@4.24.0)(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.7))': dependencies: magic-string: 0.30.11 svelte: 5.0.0-next.175 svelte-parse-markup: 0.1.5(svelte@5.0.0-next.175) - vite: 5.4.11(@types/node@20.17.6) + vite: 5.4.11(@types/node@20.17.7) vite-imagetools: 7.0.4(rollup@4.24.0) transitivePeerDependencies: - rollup - '@sveltejs/kit@2.8.1(@sveltejs/vite-plugin-svelte@4.0.0-next.7(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.6)))(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.6))': + '@sveltejs/kit@2.8.2(@sveltejs/vite-plugin-svelte@4.0.0-next.7(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.7)))(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.7))': dependencies: - '@sveltejs/vite-plugin-svelte': 4.0.0-next.7(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.6)) + '@sveltejs/vite-plugin-svelte': 4.0.0-next.7(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.7)) '@types/cookie': 0.6.0 cookie: 0.6.0 devalue: 5.1.1 @@ -7304,27 +7307,27 @@ snapshots: sirv: 3.0.0 svelte: 5.0.0-next.175 tiny-glob: 0.2.9 - vite: 5.4.11(@types/node@20.17.6) + vite: 5.4.11(@types/node@20.17.7) - '@sveltejs/vite-plugin-svelte-inspector@3.0.0-next.3(@sveltejs/vite-plugin-svelte@4.0.0-next.7(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.6)))(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.6))': + '@sveltejs/vite-plugin-svelte-inspector@3.0.0-next.3(@sveltejs/vite-plugin-svelte@4.0.0-next.7(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.7)))(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.7))': dependencies: - '@sveltejs/vite-plugin-svelte': 4.0.0-next.7(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.6)) + '@sveltejs/vite-plugin-svelte': 4.0.0-next.7(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.7)) debug: 4.3.7 svelte: 5.0.0-next.175 - vite: 5.4.11(@types/node@20.17.6) + vite: 5.4.11(@types/node@20.17.7) transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte@4.0.0-next.7(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.6))': + '@sveltejs/vite-plugin-svelte@4.0.0-next.7(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.7))': dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 3.0.0-next.3(@sveltejs/vite-plugin-svelte@4.0.0-next.7(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.6)))(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.6)) + '@sveltejs/vite-plugin-svelte-inspector': 3.0.0-next.3(@sveltejs/vite-plugin-svelte@4.0.0-next.7(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.7)))(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.7)) debug: 4.3.7 deepmerge: 4.3.1 kleur: 4.1.5 magic-string: 0.30.11 svelte: 5.0.0-next.175 - vite: 5.4.11(@types/node@20.17.6) - vitefu: 1.0.2(vite@5.4.11(@types/node@20.17.6)) + vite: 5.4.11(@types/node@20.17.7) + vitefu: 1.0.2(vite@5.4.11(@types/node@20.17.7)) transitivePeerDependencies: - supports-color @@ -7365,21 +7368,21 @@ snapshots: '@types/jsonwebtoken@9.0.7': dependencies: - '@types/node': 20.17.6 + '@types/node': 20.17.7 - '@types/node@20.17.6': + '@types/node@20.17.7': dependencies: undici-types: 6.19.8 '@types/pg@8.11.10': dependencies: - '@types/node': 20.17.6 + '@types/node': 20.17.7 pg-protocol: 1.7.0 pg-types: 4.0.2 '@types/pg@8.11.6': dependencies: - '@types/node': 20.17.6 + '@types/node': 20.17.7 pg-protocol: 1.7.0 pg-types: 4.0.2 @@ -7387,7 +7390,7 @@ snapshots: '@types/qrcode@1.5.5': dependencies: - '@types/node': 20.17.6 + '@types/node': 20.17.7 '@types/resolve@1.20.2': {} @@ -7408,34 +7411,34 @@ snapshots: '@types/json-schema': 7.0.15 optional: true - '@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3)': + '@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2)': dependencies: '@eslint-community/regexpp': 4.11.1 - '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.7.2) '@typescript-eslint/scope-manager': 7.18.0 - '@typescript-eslint/type-utils': 7.18.0(eslint@8.57.1)(typescript@5.6.3) - '@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/type-utils': 7.18.0(eslint@8.57.1)(typescript@5.7.2) + '@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@5.7.2) '@typescript-eslint/visitor-keys': 7.18.0 eslint: 8.57.1 graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 - ts-api-utils: 1.3.0(typescript@5.6.3) + ts-api-utils: 1.3.0(typescript@5.7.2) optionalDependencies: - typescript: 5.6.3 + typescript: 5.7.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.6.3)': + '@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.7.2)': dependencies: '@typescript-eslint/scope-manager': 7.18.0 '@typescript-eslint/types': 7.18.0 - '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.6.3) + '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.7.2) '@typescript-eslint/visitor-keys': 7.18.0 debug: 4.3.7 eslint: 8.57.1 optionalDependencies: - typescript: 5.6.3 + typescript: 5.7.2 transitivePeerDependencies: - supports-color @@ -7444,21 +7447,21 @@ snapshots: '@typescript-eslint/types': 7.18.0 '@typescript-eslint/visitor-keys': 7.18.0 - '@typescript-eslint/type-utils@7.18.0(eslint@8.57.1)(typescript@5.6.3)': + '@typescript-eslint/type-utils@7.18.0(eslint@8.57.1)(typescript@5.7.2)': dependencies: - '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.6.3) - '@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.7.2) + '@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@5.7.2) debug: 4.3.7 eslint: 8.57.1 - ts-api-utils: 1.3.0(typescript@5.6.3) + ts-api-utils: 1.3.0(typescript@5.7.2) optionalDependencies: - typescript: 5.6.3 + typescript: 5.7.2 transitivePeerDependencies: - supports-color '@typescript-eslint/types@7.18.0': {} - '@typescript-eslint/typescript-estree@7.18.0(typescript@5.6.3)': + '@typescript-eslint/typescript-estree@7.18.0(typescript@5.7.2)': dependencies: '@typescript-eslint/types': 7.18.0 '@typescript-eslint/visitor-keys': 7.18.0 @@ -7467,18 +7470,18 @@ snapshots: is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.6.3 - ts-api-utils: 1.3.0(typescript@5.6.3) + ts-api-utils: 1.3.0(typescript@5.7.2) optionalDependencies: - typescript: 5.6.3 + typescript: 5.7.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@7.18.0(eslint@8.57.1)(typescript@5.6.3)': + '@typescript-eslint/utils@7.18.0(eslint@8.57.1)(typescript@5.7.2)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) '@typescript-eslint/scope-manager': 7.18.0 '@typescript-eslint/types': 7.18.0 - '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.6.3) + '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.7.2) eslint: 8.57.1 transitivePeerDependencies: - supports-color @@ -7703,7 +7706,7 @@ snapshots: dependencies: '@internationalized/date': 3.6.0 '@melt-ui/svelte': 0.76.2(svelte@5.0.0-next.175) - nanoid: 5.0.7 + nanoid: 5.0.8 svelte: 5.0.0-next.175 boardgamegeekclient@1.9.1: @@ -7766,7 +7769,7 @@ snapshots: base64-js: 1.5.1 ieee754: 1.2.1 - bullmq@5.28.1: + bullmq@5.29.1: dependencies: cron-parser: 4.9.0 ioredis: 5.4.1 @@ -8062,16 +8065,16 @@ snapshots: transitivePeerDependencies: - supports-color - drizzle-orm@0.36.3(@neondatabase/serverless@0.9.5)(@types/pg@8.11.10)(pg@8.13.1)(postgres@3.4.5): + drizzle-orm@0.36.4(@neondatabase/serverless@0.9.5)(@types/pg@8.11.10)(pg@8.13.1)(postgres@3.4.5): optionalDependencies: '@neondatabase/serverless': 0.9.5 '@types/pg': 8.11.10 pg: 8.13.1 postgres: 3.4.5 - drizzle-zod@0.5.1(drizzle-orm@0.36.3(@neondatabase/serverless@0.9.5)(@types/pg@8.11.10)(pg@8.13.1)(postgres@3.4.5))(zod@3.23.8): + drizzle-zod@0.5.1(drizzle-orm@0.36.4(@neondatabase/serverless@0.9.5)(@types/pg@8.11.10)(pg@8.13.1)(postgres@3.4.5))(zod@3.23.8): dependencies: - drizzle-orm: 0.36.3(@neondatabase/serverless@0.9.5)(@types/pg@8.11.10)(pg@8.13.1)(postgres@3.4.5) + drizzle-orm: 0.36.4(@neondatabase/serverless@0.9.5)(@types/pg@8.11.10)(pg@8.13.1)(postgres@3.4.5) zod: 3.23.8 eastasianwidth@0.2.0: {} @@ -8497,11 +8500,11 @@ snapshots: combined-stream: 1.0.8 mime-types: 2.1.35 - formsnap@1.0.1(svelte@5.0.0-next.175)(sveltekit-superforms@2.20.1(@sveltejs/kit@2.8.1(@sveltejs/vite-plugin-svelte@4.0.0-next.7(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.6)))(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.6)))(@types/json-schema@7.0.15)(svelte@5.0.0-next.175)(typescript@5.6.3)): + formsnap@1.0.1(svelte@5.0.0-next.175)(sveltekit-superforms@2.20.1(@sveltejs/kit@2.8.2(@sveltejs/vite-plugin-svelte@4.0.0-next.7(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.7)))(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.7)))(@types/json-schema@7.0.15)(svelte@5.0.0-next.175)(typescript@5.7.2)): dependencies: - nanoid: 5.0.7 + nanoid: 5.0.8 svelte: 5.0.0-next.175 - sveltekit-superforms: 2.20.1(@sveltejs/kit@2.8.1(@sveltejs/vite-plugin-svelte@4.0.0-next.7(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.6)))(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.6)))(@types/json-schema@7.0.15)(svelte@5.0.0-next.175)(typescript@5.6.3) + sveltekit-superforms: 2.20.1(@sveltejs/kit@2.8.2(@sveltejs/vite-plugin-svelte@4.0.0-next.7(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.7)))(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.7)))(@types/json-schema@7.0.15)(svelte@5.0.0-next.175)(typescript@5.7.2) forwarded@0.2.0: {} @@ -8636,7 +8639,7 @@ snapshots: help-me@5.0.0: {} - hono-pino@0.3.0(hono@4.6.11)(pino@9.5.0): + hono-pino@0.7.0(hono@4.6.11)(pino@9.5.0): dependencies: defu: 6.1.4 hono: 4.6.11 @@ -8646,12 +8649,12 @@ snapshots: dependencies: hono: 4.6.11 - hono-zod-openapi@0.4.2(hono@4.6.11)(zod@3.23.8): + hono-zod-openapi@0.5.0(hono@4.6.11)(zod@3.23.8): dependencies: '@hono/zod-validator': 0.4.1(hono@4.6.11)(zod@3.23.8) hono: 4.6.11 zod: 3.23.8 - zod-openapi: 3.3.0(zod@3.23.8) + zod-openapi: 4.0.0(zod@3.23.8) hono@4.6.11: {} @@ -9055,7 +9058,7 @@ snapshots: nanoid@3.3.7: {} - nanoid@5.0.7: {} + nanoid@5.0.8: {} natural-compare@1.4.0: {} @@ -9457,13 +9460,13 @@ snapshots: '@csstools/utilities': 1.0.0(postcss@8.4.49) postcss: 8.4.49 - postcss-load-config@4.0.2(postcss@8.4.49)(ts-node@10.9.2(@types/node@20.17.6)(typescript@5.6.3)): + postcss-load-config@4.0.2(postcss@8.4.49)(ts-node@10.9.2(@types/node@20.17.7)(typescript@5.7.2)): dependencies: lilconfig: 3.1.2 yaml: 2.5.1 optionalDependencies: postcss: 8.4.49 - ts-node: 10.9.2(@types/node@20.17.6)(typescript@5.6.3) + ts-node: 10.9.2(@types/node@20.17.7)(typescript@5.7.2) postcss-load-config@5.1.0(jiti@1.21.6)(postcss@8.4.49)(tsx@4.19.2): dependencies: @@ -9634,7 +9637,7 @@ snapshots: prelude-ls@1.2.1: {} - prettier-plugin-svelte@3.3.0(prettier@3.3.3)(svelte@5.0.0-next.175): + prettier-plugin-svelte@3.3.2(prettier@3.3.3)(svelte@5.0.0-next.175): dependencies: prettier: 3.3.3 svelte: 5.0.0-next.175 @@ -9814,9 +9817,9 @@ snapshots: mkdirp: 0.5.6 rimraf: 2.7.1 - schema-dts@1.1.2(typescript@5.6.3): + schema-dts@1.1.2(typescript@5.7.2): dependencies: - typescript: 5.6.3 + typescript: 5.7.2 secure-json-parse@2.7.0: {} @@ -10034,8 +10037,8 @@ snapshots: picocolors: 1.1.0 sade: 1.8.1 svelte: 5.0.0-next.175 - svelte-preprocess: 5.1.4(postcss-load-config@5.1.0(jiti@1.21.6)(postcss@8.4.49)(tsx@4.19.2))(postcss@8.4.49)(svelte@5.0.0-next.175)(typescript@5.6.3) - typescript: 5.6.3 + svelte-preprocess: 5.1.4(postcss-load-config@5.1.0(jiti@1.21.6)(postcss@8.4.49)(tsx@4.19.2))(postcss@8.4.49)(svelte@5.0.0-next.175)(typescript@5.7.2) + typescript: 5.7.2 transitivePeerDependencies: - '@babel/core' - coffeescript @@ -10060,9 +10063,9 @@ snapshots: svelte-lazy-loader@1.0.0: {} - svelte-meta-tags@3.1.4(svelte@5.0.0-next.175)(typescript@5.6.3): + svelte-meta-tags@3.1.4(svelte@5.0.0-next.175)(typescript@5.7.2): dependencies: - schema-dts: 1.1.2(typescript@5.6.3) + schema-dts: 1.1.2(typescript@5.7.2) svelte: 5.0.0-next.175 transitivePeerDependencies: - typescript @@ -10071,7 +10074,7 @@ snapshots: dependencies: svelte: 5.0.0-next.175 - svelte-preprocess@5.1.4(postcss-load-config@5.1.0(jiti@1.21.6)(postcss@8.4.49)(tsx@4.19.2))(postcss@8.4.49)(svelte@5.0.0-next.175)(typescript@5.6.3): + svelte-preprocess@5.1.4(postcss-load-config@5.1.0(jiti@1.21.6)(postcss@8.4.49)(tsx@4.19.2))(postcss@8.4.49)(svelte@5.0.0-next.175)(typescript@5.7.2): dependencies: '@types/pug': 2.0.10 detect-indent: 6.1.0 @@ -10082,15 +10085,15 @@ snapshots: optionalDependencies: postcss: 8.4.49 postcss-load-config: 5.1.0(jiti@1.21.6)(postcss@8.4.49)(tsx@4.19.2) - typescript: 5.6.3 + typescript: 5.7.2 - svelte-preprocess@6.0.3(postcss-load-config@5.1.0(jiti@1.21.6)(postcss@8.4.49)(tsx@4.19.2))(postcss@8.4.49)(svelte@5.0.0-next.175)(typescript@5.6.3): + svelte-preprocess@6.0.3(postcss-load-config@5.1.0(jiti@1.21.6)(postcss@8.4.49)(tsx@4.19.2))(postcss@8.4.49)(svelte@5.0.0-next.175)(typescript@5.7.2): dependencies: svelte: 5.0.0-next.175 optionalDependencies: postcss: 8.4.49 postcss-load-config: 5.1.0(jiti@1.21.6)(postcss@8.4.49)(tsx@4.19.2) - typescript: 5.6.3 + typescript: 5.7.2 svelte-render@2.0.1(svelte@5.0.0-next.175): dependencies: @@ -10143,14 +10146,14 @@ snapshots: magic-string: 0.30.11 zimmerframe: 1.1.2 - sveltekit-flash-message@2.4.4(@sveltejs/kit@2.8.1(@sveltejs/vite-plugin-svelte@4.0.0-next.7(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.6)))(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.6)))(svelte@5.0.0-next.175): + sveltekit-flash-message@2.4.4(@sveltejs/kit@2.8.2(@sveltejs/vite-plugin-svelte@4.0.0-next.7(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.7)))(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.7)))(svelte@5.0.0-next.175): dependencies: - '@sveltejs/kit': 2.8.1(@sveltejs/vite-plugin-svelte@4.0.0-next.7(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.6)))(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.6)) + '@sveltejs/kit': 2.8.2(@sveltejs/vite-plugin-svelte@4.0.0-next.7(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.7)))(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.7)) svelte: 5.0.0-next.175 - sveltekit-superforms@2.20.1(@sveltejs/kit@2.8.1(@sveltejs/vite-plugin-svelte@4.0.0-next.7(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.6)))(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.6)))(@types/json-schema@7.0.15)(svelte@5.0.0-next.175)(typescript@5.6.3): + sveltekit-superforms@2.20.1(@sveltejs/kit@2.8.2(@sveltejs/vite-plugin-svelte@4.0.0-next.7(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.7)))(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.7)))(@types/json-schema@7.0.15)(svelte@5.0.0-next.175)(typescript@5.7.2): dependencies: - '@sveltejs/kit': 2.8.1(@sveltejs/vite-plugin-svelte@4.0.0-next.7(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.6)))(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.6)) + '@sveltejs/kit': 2.8.2(@sveltejs/vite-plugin-svelte@4.0.0-next.7(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.7)))(svelte@5.0.0-next.175)(vite@5.4.11(@types/node@20.17.7)) devalue: 5.1.1 just-clone: 6.2.0 memoize-weak: 1.0.2 @@ -10169,7 +10172,7 @@ snapshots: joi: 17.13.3 json-schema-to-ts: 3.1.1 superstruct: 2.0.2 - valibot: 1.0.0-beta.6(typescript@5.6.3) + valibot: 1.0.0-beta.6(typescript@5.7.2) yup: 1.4.0 zod: 3.23.8 zod-to-json-schema: 3.23.5(zod@3.23.8) @@ -10179,18 +10182,18 @@ snapshots: tabbable@6.2.0: {} - tailwind-merge@2.5.4: {} + tailwind-merge@2.5.5: {} - tailwind-variants@0.2.1(tailwindcss@3.4.15(ts-node@10.9.2(@types/node@20.17.6)(typescript@5.6.3))): + tailwind-variants@0.2.1(tailwindcss@3.4.15(ts-node@10.9.2(@types/node@20.17.7)(typescript@5.7.2))): dependencies: - tailwind-merge: 2.5.4 - tailwindcss: 3.4.15(ts-node@10.9.2(@types/node@20.17.6)(typescript@5.6.3)) + tailwind-merge: 2.5.5 + tailwindcss: 3.4.15(ts-node@10.9.2(@types/node@20.17.7)(typescript@5.7.2)) - tailwindcss-animate@1.0.7(tailwindcss@3.4.15(ts-node@10.9.2(@types/node@20.17.6)(typescript@5.6.3))): + tailwindcss-animate@1.0.7(tailwindcss@3.4.15(ts-node@10.9.2(@types/node@20.17.7)(typescript@5.7.2))): dependencies: - tailwindcss: 3.4.15(ts-node@10.9.2(@types/node@20.17.6)(typescript@5.6.3)) + tailwindcss: 3.4.15(ts-node@10.9.2(@types/node@20.17.7)(typescript@5.7.2)) - tailwindcss@3.4.15(ts-node@10.9.2(@types/node@20.17.6)(typescript@5.6.3)): + tailwindcss@3.4.15(ts-node@10.9.2(@types/node@20.17.7)(typescript@5.7.2)): dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -10209,7 +10212,7 @@ snapshots: postcss: 8.4.49 postcss-import: 15.1.0(postcss@8.4.49) postcss-js: 4.0.1(postcss@8.4.49) - postcss-load-config: 4.0.2(postcss@8.4.49)(ts-node@10.9.2(@types/node@20.17.6)(typescript@5.6.3)) + postcss-load-config: 4.0.2(postcss@8.4.49)(ts-node@10.9.2(@types/node@20.17.7)(typescript@5.7.2)) postcss-nested: 6.2.0(postcss@8.4.49) postcss-selector-parser: 6.1.2 resolve: 1.22.8 @@ -10272,29 +10275,29 @@ snapshots: ts-algebra@2.0.0: optional: true - ts-api-utils@1.3.0(typescript@5.6.3): + ts-api-utils@1.3.0(typescript@5.7.2): dependencies: - typescript: 5.6.3 + typescript: 5.7.2 ts-deepmerge@7.0.1: {} ts-interface-checker@0.1.13: {} - ts-node@10.9.2(@types/node@20.17.6)(typescript@5.6.3): + ts-node@10.9.2(@types/node@20.17.7)(typescript@5.7.2): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.17.6 + '@types/node': 20.17.7 acorn: 8.12.1 acorn-walk: 8.3.4 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 5.6.3 + typescript: 5.7.2 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 @@ -10336,7 +10339,7 @@ snapshots: typescript@5.2.2: {} - typescript@5.6.3: {} + typescript@5.7.2: {} ufo@1.5.4: {} @@ -10382,9 +10385,9 @@ snapshots: valibot@0.31.1: optional: true - valibot@1.0.0-beta.6(typescript@5.6.3): + valibot@1.0.0-beta.6(typescript@5.7.2): optionalDependencies: - typescript: 5.6.3 + typescript: 5.7.2 optional: true validator@13.12.0: @@ -10400,13 +10403,13 @@ snapshots: transitivePeerDependencies: - rollup - vite-node@1.6.0(@types/node@20.17.6): + vite-node@1.6.0(@types/node@20.17.7): dependencies: cac: 6.7.14 debug: 4.3.7 pathe: 1.1.2 picocolors: 1.1.0 - vite: 5.4.11(@types/node@20.17.6) + vite: 5.4.11(@types/node@20.17.7) transitivePeerDependencies: - '@types/node' - less @@ -10418,20 +10421,20 @@ snapshots: - supports-color - terser - vite@5.4.11(@types/node@20.17.6): + vite@5.4.11(@types/node@20.17.7): dependencies: esbuild: 0.21.5 postcss: 8.4.49 rollup: 4.24.0 optionalDependencies: - '@types/node': 20.17.6 + '@types/node': 20.17.7 fsevents: 2.3.3 - vitefu@1.0.2(vite@5.4.11(@types/node@20.17.6)): + vitefu@1.0.2(vite@5.4.11(@types/node@20.17.7)): optionalDependencies: - vite: 5.4.11(@types/node@20.17.6) + vite: 5.4.11(@types/node@20.17.7) - vitest@1.6.0(@types/node@20.17.6): + vitest@1.6.0(@types/node@20.17.7): dependencies: '@vitest/expect': 1.6.0 '@vitest/runner': 1.6.0 @@ -10450,11 +10453,11 @@ snapshots: strip-literal: 2.1.0 tinybench: 2.9.0 tinypool: 0.8.4 - vite: 5.4.11(@types/node@20.17.6) - vite-node: 1.6.0(@types/node@20.17.6) + vite: 5.4.11(@types/node@20.17.7) + vite-node: 1.6.0(@types/node@20.17.7) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 20.17.6 + '@types/node': 20.17.7 transitivePeerDependencies: - less - lightningcss @@ -10558,7 +10561,7 @@ snapshots: zimmerframe@1.1.2: {} - zod-openapi@3.3.0(zod@3.23.8): + zod-openapi@4.0.0(zod@3.23.8): dependencies: zod: 3.23.8 diff --git a/src/lib/server/api/common/create-app.ts b/src/lib/server/api/common/create-app.ts index deb3a8c..e6bf29f 100644 --- a/src/lib/server/api/common/create-app.ts +++ b/src/lib/server/api/common/create-app.ts @@ -1,34 +1,36 @@ -import env from '$lib/server/api/common/env'; -import type {AppBindings} from '$lib/server/api/common/types/hono'; -import {validateAuthSession, verifyOrigin} from '$lib/server/api/middleware/auth.middleware'; -import {pinoLogger} from '$lib/server/api/middleware/pino-logger.middleware'; -import {Hono} from 'hono'; -import {cors} from 'hono/cors'; -import {notFound, onError, serveEmojiFavicon} from 'stoker/middlewares'; +import env from "$lib/server/api/common/env"; +import type { AppBindings } from "$lib/server/api/common/types/hono"; +import { validateAuthSession, verifyOrigin } from "$lib/server/api/middleware/auth.middleware"; +import { pinoLogger } from "$lib/server/api/middleware/pino-logger.middleware"; +import { Hono } from "hono"; +import { cors } from "hono/cors"; +import { requestId } from "hono/request-id"; +import { notFound, onError, serveEmojiFavicon } from "stoker/middlewares"; +import { generateId } from "./utils/crypto"; export function createRouter() { return new Hono({ strict: false, - }).basePath('/api'); + }).basePath("/api"); } export default function createApp() { const app = createRouter(); app.use(verifyOrigin).use(validateAuthSession); - app.use(serveEmojiFavicon('📝')); - app.use(pinoLogger()); + app.use(serveEmojiFavicon("📝")); + app.use(requestId({ generator: () => generateId() })).use(pinoLogger()); app.notFound(notFound); app.onError(onError); app.use( - '/*', + "/*", cors({ origin: [env.ORIGIN], - allowMethods: ['POST'], - allowHeaders: ['Content-Type'], + allowMethods: ["POST"], + allowHeaders: ["Content-Type"], // credentials: true, // If you need to send cookies or HTTP authentication }), ); diff --git a/src/lib/server/api/common/utils/crypto.ts b/src/lib/server/api/common/utils/crypto.ts new file mode 100644 index 0000000..62d2cbf --- /dev/null +++ b/src/lib/server/api/common/utils/crypto.ts @@ -0,0 +1,14 @@ +import { customAlphabet } from "nanoid"; + +// generateId is a function that returns a new unique identifier. +// ~4 million years or 30 trillion IDs needed, in order to have a 1% probability of at least one collision. + +// So, TLDR; by the time a collision happens, you and your next 100 generations will be long gone, +// the lizard people will have taken over, the robots will have enslaved them, and the roomba uprising will be in full swing. +// All hail king roomba, the first of his name, the unclean, king of the dust bunnies and the first allergens, lord of the seven corners, and protector of the realm. + +// https://zelark.github.io/nano-id-cc/ +export function generateId(length = 16, alphabet = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz") { + const nanoId = customAlphabet(alphabet, length); + return nanoId(); +} diff --git a/src/lib/server/api/index.ts b/src/lib/server/api/index.ts index ba66f83..4ecf447 100644 --- a/src/lib/server/api/index.ts +++ b/src/lib/server/api/index.ts @@ -1,20 +1,19 @@ -import createApp from '$lib/server/api/common/create-app'; -import configureOpenAPI from '$lib/server/api/configure-open-api'; -import {CollectionController} from '$lib/server/api/controllers/collection.controller'; -import {MfaController} from '$lib/server/api/controllers/mfa.controller'; -import {OAuthController} from '$lib/server/api/controllers/oauth.controller'; -import {SignupController} from '$lib/server/api/controllers/signup.controller'; -import {UserController} from '$lib/server/api/controllers/user.controller'; -import {WishlistController} from '$lib/server/api/controllers/wishlist.controller'; -import {AuthCleanupJobs} from '$lib/server/api/jobs/auth-cleanup.job'; -import {extendZodWithOpenApi} from 'hono-zod-openapi'; -import {hc} from 'hono/client'; -// import {container} from 'tsyringe'; -import { Container } from '@needle-di/core'; -import {z} from 'zod'; -import {config} from './common/config'; -import {IamController} from './controllers/iam.controller'; -import {LoginController} from './controllers/login.controller'; +import createApp from "$lib/server/api/common/create-app"; +import configureOpenAPI from "$lib/server/api/configure-open-api"; +import { CollectionController } from "$lib/server/api/controllers/collection.controller"; +import { MfaController } from "$lib/server/api/controllers/mfa.controller"; +import { OAuthController } from "$lib/server/api/controllers/oauth.controller"; +import { SignupController } from "$lib/server/api/controllers/signup.controller"; +import { UserController } from "$lib/server/api/controllers/user.controller"; +import { WishlistController } from "$lib/server/api/controllers/wishlist.controller"; +import { AuthCleanupJobs } from "$lib/server/api/jobs/auth-cleanup.job"; +import { Container } from "@needle-di/core"; +import { extendZodWithOpenApi } from "hono-zod-openapi"; +import { hc } from "hono/client"; +import { z } from "zod"; +import { config } from "./common/config"; +import { IamController } from "./controllers/iam.controller"; +import { LoginController } from "./controllers/login.controller"; extendZodWithOpenApi(z); @@ -26,15 +25,15 @@ export const app = createApp(); /* Routes */ /* -------------------------------------------------------------------------- */ const routes = app - .route('/me', container.get(IamController).routes()) - .route('/user', container.get(UserController).routes()) - .route('/login', container.get(LoginController).routes()) - .route('/oauth', container.get(OAuthController).routes()) - .route('/signup', container.get(SignupController).routes()) - .route('/wishlists', container.get(WishlistController).routes()) - .route('/collections', container.get(CollectionController).routes()) - .route('/mfa', container.get(MfaController).routes()) - .get('/', (c) => c.json({ message: 'Server is healthy' })); + .route("/me", container.get(IamController).routes()) + .route("/user", container.get(UserController).routes()) + .route("/login", container.get(LoginController).routes()) + .route("/oauth", container.get(OAuthController).routes()) + .route("/signup", container.get(SignupController).routes()) + .route("/wishlists", container.get(WishlistController).routes()) + .route("/collections", container.get(CollectionController).routes()) + .route("/mfa", container.get(MfaController).routes()) + .get("/", (c) => c.json({ message: "Server is healthy" })); configureOpenAPI(app); diff --git a/src/lib/server/api/middleware/pino-logger.middleware.ts b/src/lib/server/api/middleware/pino-logger.middleware.ts index f5658d9..43b12a4 100644 --- a/src/lib/server/api/middleware/pino-logger.middleware.ts +++ b/src/lib/server/api/middleware/pino-logger.middleware.ts @@ -1,18 +1,15 @@ -import env from '$lib/server/api/common/env'; -import {logger} from 'hono-pino'; -import pino from 'pino'; -import pretty from 'pino-pretty'; +import env from "$lib/server/api/common/env"; +import { pinoLogger as logger } from "hono-pino"; +import pino from "pino"; +import pretty from "pino-pretty"; export function pinoLogger() { return logger({ pino: pino( { - level: env.LOG_LEVEL || 'info', + level: env.LOG_LEVEL || "info", }, - env.NODE_ENV === 'production' ? undefined : pretty(), + env.NODE_ENV === "production" ? undefined : pretty(), ), - http: { - reqId: () => crypto.randomUUID(), - }, }); }