mirror of
https://github.com/BradNut/boredgame
synced 2025-09-08 17:40:22 +00:00
Slowly reverting tsyringe to test it that works better.
This commit is contained in:
parent
4dbc93f819
commit
e655c0d319
26 changed files with 358 additions and 406 deletions
|
|
@ -1 +1 @@
|
||||||
22.1.0
|
20.16.0
|
||||||
26
package.json
26
package.json
|
|
@ -22,24 +22,21 @@
|
||||||
"site:update": "pnpm update -i -L",
|
"site:update": "pnpm update -i -L",
|
||||||
"test:unit": "vitest"
|
"test:unit": "vitest"
|
||||||
},
|
},
|
||||||
"engines": {
|
|
||||||
"node": "22.x"
|
|
||||||
},
|
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@melt-ui/pp": "^0.3.2",
|
"@melt-ui/pp": "^0.3.2",
|
||||||
"@melt-ui/svelte": "^0.83.0",
|
"@melt-ui/svelte": "^0.83.0",
|
||||||
"@playwright/test": "^1.45.3",
|
"@playwright/test": "^1.45.3",
|
||||||
"@sveltejs/adapter-auto": "^3.2.2",
|
"@sveltejs/adapter-auto": "^3.2.2",
|
||||||
"@sveltejs/enhanced-img": "^0.3.1",
|
"@sveltejs/enhanced-img": "^0.3.1",
|
||||||
"@sveltejs/kit": "^2.5.18",
|
"@sveltejs/kit": "^2.5.20",
|
||||||
"@sveltejs/vite-plugin-svelte": "^3.1.1",
|
"@sveltejs/vite-plugin-svelte": "^3.1.1",
|
||||||
"@types/cookie": "^0.6.0",
|
"@types/cookie": "^0.6.0",
|
||||||
"@types/node": "^20.14.13",
|
"@types/node": "^20.14.14",
|
||||||
"@types/pg": "^8.11.6",
|
"@types/pg": "^8.11.6",
|
||||||
"@typescript-eslint/eslint-plugin": "^7.17.0",
|
"@typescript-eslint/eslint-plugin": "^7.18.0",
|
||||||
"@typescript-eslint/parser": "^7.17.0",
|
"@typescript-eslint/parser": "^7.18.0",
|
||||||
"autoprefixer": "^10.4.19",
|
"autoprefixer": "^10.4.19",
|
||||||
"drizzle-kit": "^0.23.0",
|
"drizzle-kit": "^0.23.1",
|
||||||
"eslint": "^8.57.0",
|
"eslint": "^8.57.0",
|
||||||
"eslint-config-prettier": "^9.1.0",
|
"eslint-config-prettier": "^9.1.0",
|
||||||
"eslint-plugin-svelte": "^2.43.0",
|
"eslint-plugin-svelte": "^2.43.0",
|
||||||
|
|
@ -58,7 +55,7 @@
|
||||||
"satori": "^0.10.14",
|
"satori": "^0.10.14",
|
||||||
"satori-html": "^0.3.2",
|
"satori-html": "^0.3.2",
|
||||||
"svelte": "5.0.0-next.175",
|
"svelte": "5.0.0-next.175",
|
||||||
"svelte-check": "^3.8.4",
|
"svelte-check": "^3.8.5",
|
||||||
"svelte-headless-table": "^0.18.2",
|
"svelte-headless-table": "^0.18.2",
|
||||||
"svelte-meta-tags": "^3.1.2",
|
"svelte-meta-tags": "^3.1.2",
|
||||||
"svelte-preprocess": "^6.0.2",
|
"svelte-preprocess": "^6.0.2",
|
||||||
|
|
@ -69,7 +66,7 @@
|
||||||
"tailwindcss": "^3.4.7",
|
"tailwindcss": "^3.4.7",
|
||||||
"ts-node": "^10.9.2",
|
"ts-node": "^10.9.2",
|
||||||
"tslib": "^2.6.3",
|
"tslib": "^2.6.3",
|
||||||
"tsx": "^4.16.2",
|
"tsx": "^4.16.5",
|
||||||
"typescript": "^5.5.4",
|
"typescript": "^5.5.4",
|
||||||
"vite": "^5.3.5",
|
"vite": "^5.3.5",
|
||||||
"vitest": "^1.6.0",
|
"vitest": "^1.6.0",
|
||||||
|
|
@ -86,14 +83,15 @@
|
||||||
"@lukeed/uuid": "^2.0.1",
|
"@lukeed/uuid": "^2.0.1",
|
||||||
"@neondatabase/serverless": "^0.9.4",
|
"@neondatabase/serverless": "^0.9.4",
|
||||||
"@paralleldrive/cuid2": "^2.2.2",
|
"@paralleldrive/cuid2": "^2.2.2",
|
||||||
|
"@resvg/resvg-js": "^2.6.2",
|
||||||
"@sveltejs/adapter-node": "^5.2.0",
|
"@sveltejs/adapter-node": "^5.2.0",
|
||||||
"@sveltejs/adapter-vercel": "^5.4.1",
|
"@sveltejs/adapter-vercel": "^5.4.1",
|
||||||
"@types/feather-icons": "^4.29.4",
|
"@types/feather-icons": "^4.29.4",
|
||||||
"@vercel/og": "^0.5.20",
|
"@vercel/og": "^0.5.20",
|
||||||
"arctic": "^1.9.2",
|
"arctic": "^1.9.2",
|
||||||
"bits-ui": "^0.21.12",
|
"bits-ui": "^0.21.13",
|
||||||
"boardgamegeekclient": "^1.9.1",
|
"boardgamegeekclient": "^1.9.1",
|
||||||
"bullmq": "^5.11.0",
|
"bullmq": "^5.12.0",
|
||||||
"class-variance-authority": "^0.7.0",
|
"class-variance-authority": "^0.7.0",
|
||||||
"clsx": "^2.1.1",
|
"clsx": "^2.1.1",
|
||||||
"cookie": "^0.6.0",
|
"cookie": "^0.6.0",
|
||||||
|
|
@ -103,7 +101,7 @@
|
||||||
"feather-icons": "^4.29.2",
|
"feather-icons": "^4.29.2",
|
||||||
"formsnap": "^1.0.1",
|
"formsnap": "^1.0.1",
|
||||||
"handlebars": "^4.7.8",
|
"handlebars": "^4.7.8",
|
||||||
"hono": "^4.5.2",
|
"hono": "^4.5.3",
|
||||||
"hono-rate-limiter": "^0.4.0",
|
"hono-rate-limiter": "^0.4.0",
|
||||||
"html-entities": "^2.5.2",
|
"html-entities": "^2.5.2",
|
||||||
"iconify-icon": "^2.1.0",
|
"iconify-icon": "^2.1.0",
|
||||||
|
|
@ -118,8 +116,6 @@
|
||||||
"qrcode": "^1.5.3",
|
"qrcode": "^1.5.3",
|
||||||
"radix-svelte": "^0.9.0",
|
"radix-svelte": "^0.9.0",
|
||||||
"rate-limit-redis": "^4.2.0",
|
"rate-limit-redis": "^4.2.0",
|
||||||
"reflect-metadata": "^0.2.2",
|
|
||||||
"@resvg/resvg-js": "^2.6.2",
|
|
||||||
"svelte-french-toast": "^1.2.0",
|
"svelte-french-toast": "^1.2.0",
|
||||||
"svelte-lazy-loader": "^1.0.0",
|
"svelte-lazy-loader": "^1.0.0",
|
||||||
"tailwind-merge": "^2.4.0",
|
"tailwind-merge": "^2.4.0",
|
||||||
|
|
|
||||||
357
pnpm-lock.yaml
357
pnpm-lock.yaml
|
|
@ -13,7 +13,7 @@ importers:
|
||||||
version: 5.0.13
|
version: 5.0.13
|
||||||
'@hono/zod-validator':
|
'@hono/zod-validator':
|
||||||
specifier: ^0.2.2
|
specifier: ^0.2.2
|
||||||
version: 0.2.2(hono@4.5.2)(zod@3.23.8)
|
version: 0.2.2(hono@4.5.3)(zod@3.23.8)
|
||||||
'@iconify-icons/line-md':
|
'@iconify-icons/line-md':
|
||||||
specifier: ^1.2.30
|
specifier: ^1.2.30
|
||||||
version: 1.2.30
|
version: 1.2.30
|
||||||
|
|
@ -40,10 +40,10 @@ importers:
|
||||||
version: 2.6.2
|
version: 2.6.2
|
||||||
'@sveltejs/adapter-node':
|
'@sveltejs/adapter-node':
|
||||||
specifier: ^5.2.0
|
specifier: ^5.2.0
|
||||||
version: 5.2.0(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.13)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.13)(sass@1.77.8)))
|
version: 5.2.0(@sveltejs/kit@2.5.20(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.14)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.14)(sass@1.77.8)))
|
||||||
'@sveltejs/adapter-vercel':
|
'@sveltejs/adapter-vercel':
|
||||||
specifier: ^5.4.1
|
specifier: ^5.4.1
|
||||||
version: 5.4.1(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.13)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.13)(sass@1.77.8)))
|
version: 5.4.1(@sveltejs/kit@2.5.20(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.14)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.14)(sass@1.77.8)))
|
||||||
'@types/feather-icons':
|
'@types/feather-icons':
|
||||||
specifier: ^4.29.4
|
specifier: ^4.29.4
|
||||||
version: 4.29.4
|
version: 4.29.4
|
||||||
|
|
@ -54,14 +54,14 @@ importers:
|
||||||
specifier: ^1.9.2
|
specifier: ^1.9.2
|
||||||
version: 1.9.2
|
version: 1.9.2
|
||||||
bits-ui:
|
bits-ui:
|
||||||
specifier: ^0.21.12
|
specifier: ^0.21.13
|
||||||
version: 0.21.12(svelte@5.0.0-next.175)
|
version: 0.21.13(svelte@5.0.0-next.175)
|
||||||
boardgamegeekclient:
|
boardgamegeekclient:
|
||||||
specifier: ^1.9.1
|
specifier: ^1.9.1
|
||||||
version: 1.9.1
|
version: 1.9.1
|
||||||
bullmq:
|
bullmq:
|
||||||
specifier: ^5.11.0
|
specifier: ^5.12.0
|
||||||
version: 5.11.0
|
version: 5.12.0
|
||||||
class-variance-authority:
|
class-variance-authority:
|
||||||
specifier: ^0.7.0
|
specifier: ^0.7.0
|
||||||
version: 0.7.0
|
version: 0.7.0
|
||||||
|
|
@ -85,16 +85,16 @@ importers:
|
||||||
version: 4.29.2
|
version: 4.29.2
|
||||||
formsnap:
|
formsnap:
|
||||||
specifier: ^1.0.1
|
specifier: ^1.0.1
|
||||||
version: 1.0.1(svelte@5.0.0-next.175)(sveltekit-superforms@2.16.1(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.13)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.13)(sass@1.77.8)))(svelte@5.0.0-next.175))
|
version: 1.0.1(svelte@5.0.0-next.175)(sveltekit-superforms@2.16.1(@sveltejs/kit@2.5.20(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.14)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.14)(sass@1.77.8)))(svelte@5.0.0-next.175))
|
||||||
handlebars:
|
handlebars:
|
||||||
specifier: ^4.7.8
|
specifier: ^4.7.8
|
||||||
version: 4.7.8
|
version: 4.7.8
|
||||||
hono:
|
hono:
|
||||||
specifier: ^4.5.2
|
specifier: ^4.5.3
|
||||||
version: 4.5.2
|
version: 4.5.3
|
||||||
hono-rate-limiter:
|
hono-rate-limiter:
|
||||||
specifier: ^0.4.0
|
specifier: ^0.4.0
|
||||||
version: 0.4.0(hono@4.5.2)
|
version: 0.4.0(hono@4.5.3)
|
||||||
html-entities:
|
html-entities:
|
||||||
specifier: ^2.5.2
|
specifier: ^2.5.2
|
||||||
version: 2.5.2
|
version: 2.5.2
|
||||||
|
|
@ -148,10 +148,10 @@ importers:
|
||||||
version: 2.4.0
|
version: 2.4.0
|
||||||
tailwind-variants:
|
tailwind-variants:
|
||||||
specifier: ^0.2.1
|
specifier: ^0.2.1
|
||||||
version: 0.2.1(tailwindcss@3.4.7(ts-node@10.9.2(@types/node@20.14.13)(typescript@5.5.4)))
|
version: 0.2.1(tailwindcss@3.4.7(ts-node@10.9.2(@types/node@20.14.14)(typescript@5.5.4)))
|
||||||
tailwindcss-animate:
|
tailwindcss-animate:
|
||||||
specifier: ^1.0.7
|
specifier: ^1.0.7
|
||||||
version: 1.0.7(tailwindcss@3.4.7(ts-node@10.9.2(@types/node@20.14.13)(typescript@5.5.4)))
|
version: 1.0.7(tailwindcss@3.4.7(ts-node@10.9.2(@types/node@20.14.14)(typescript@5.5.4)))
|
||||||
zod-to-json-schema:
|
zod-to-json-schema:
|
||||||
specifier: ^3.23.2
|
specifier: ^3.23.2
|
||||||
version: 3.23.2(zod@3.23.8)
|
version: 3.23.2(zod@3.23.8)
|
||||||
|
|
@ -167,37 +167,37 @@ importers:
|
||||||
version: 1.45.3
|
version: 1.45.3
|
||||||
'@sveltejs/adapter-auto':
|
'@sveltejs/adapter-auto':
|
||||||
specifier: ^3.2.2
|
specifier: ^3.2.2
|
||||||
version: 3.2.2(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.13)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.13)(sass@1.77.8)))
|
version: 3.2.2(@sveltejs/kit@2.5.20(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.14)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.14)(sass@1.77.8)))
|
||||||
'@sveltejs/enhanced-img':
|
'@sveltejs/enhanced-img':
|
||||||
specifier: ^0.3.1
|
specifier: ^0.3.1
|
||||||
version: 0.3.1(rollup@4.18.1)(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.13)(sass@1.77.8))
|
version: 0.3.1(rollup@4.18.1)(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.14)(sass@1.77.8))
|
||||||
'@sveltejs/kit':
|
'@sveltejs/kit':
|
||||||
specifier: ^2.5.18
|
specifier: ^2.5.20
|
||||||
version: 2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.13)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.13)(sass@1.77.8))
|
version: 2.5.20(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.14)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.14)(sass@1.77.8))
|
||||||
'@sveltejs/vite-plugin-svelte':
|
'@sveltejs/vite-plugin-svelte':
|
||||||
specifier: ^3.1.1
|
specifier: ^3.1.1
|
||||||
version: 3.1.1(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.13)(sass@1.77.8))
|
version: 3.1.1(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.14)(sass@1.77.8))
|
||||||
'@types/cookie':
|
'@types/cookie':
|
||||||
specifier: ^0.6.0
|
specifier: ^0.6.0
|
||||||
version: 0.6.0
|
version: 0.6.0
|
||||||
'@types/node':
|
'@types/node':
|
||||||
specifier: ^20.14.13
|
specifier: ^20.14.14
|
||||||
version: 20.14.13
|
version: 20.14.14
|
||||||
'@types/pg':
|
'@types/pg':
|
||||||
specifier: ^8.11.6
|
specifier: ^8.11.6
|
||||||
version: 8.11.6
|
version: 8.11.6
|
||||||
'@typescript-eslint/eslint-plugin':
|
'@typescript-eslint/eslint-plugin':
|
||||||
specifier: ^7.17.0
|
specifier: ^7.18.0
|
||||||
version: 7.17.0(@typescript-eslint/parser@7.17.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4)
|
version: 7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4)
|
||||||
'@typescript-eslint/parser':
|
'@typescript-eslint/parser':
|
||||||
specifier: ^7.17.0
|
specifier: ^7.18.0
|
||||||
version: 7.17.0(eslint@8.57.0)(typescript@5.5.4)
|
version: 7.18.0(eslint@8.57.0)(typescript@5.5.4)
|
||||||
autoprefixer:
|
autoprefixer:
|
||||||
specifier: ^10.4.19
|
specifier: ^10.4.19
|
||||||
version: 10.4.19(postcss@8.4.40)
|
version: 10.4.19(postcss@8.4.40)
|
||||||
drizzle-kit:
|
drizzle-kit:
|
||||||
specifier: ^0.23.0
|
specifier: ^0.23.1
|
||||||
version: 0.23.0
|
version: 0.23.1
|
||||||
eslint:
|
eslint:
|
||||||
specifier: ^8.57.0
|
specifier: ^8.57.0
|
||||||
version: 8.57.0
|
version: 8.57.0
|
||||||
|
|
@ -206,7 +206,7 @@ importers:
|
||||||
version: 9.1.0(eslint@8.57.0)
|
version: 9.1.0(eslint@8.57.0)
|
||||||
eslint-plugin-svelte:
|
eslint-plugin-svelte:
|
||||||
specifier: ^2.43.0
|
specifier: ^2.43.0
|
||||||
version: 2.43.0(eslint@8.57.0)(svelte@5.0.0-next.175)(ts-node@10.9.2(@types/node@20.14.13)(typescript@5.5.4))
|
version: 2.43.0(eslint@8.57.0)(svelte@5.0.0-next.175)(ts-node@10.9.2(@types/node@20.14.14)(typescript@5.5.4))
|
||||||
just-clone:
|
just-clone:
|
||||||
specifier: ^6.2.0
|
specifier: ^6.2.0
|
||||||
version: 6.2.0
|
version: 6.2.0
|
||||||
|
|
@ -230,7 +230,7 @@ importers:
|
||||||
version: 16.1.0(postcss@8.4.40)
|
version: 16.1.0(postcss@8.4.40)
|
||||||
postcss-load-config:
|
postcss-load-config:
|
||||||
specifier: ^5.1.0
|
specifier: ^5.1.0
|
||||||
version: 5.1.0(jiti@1.21.6)(postcss@8.4.40)(tsx@4.16.2)
|
version: 5.1.0(jiti@1.21.6)(postcss@8.4.40)(tsx@4.16.5)
|
||||||
postcss-preset-env:
|
postcss-preset-env:
|
||||||
specifier: ^9.6.0
|
specifier: ^9.6.0
|
||||||
version: 9.6.0(postcss@8.4.40)
|
version: 9.6.0(postcss@8.4.40)
|
||||||
|
|
@ -253,8 +253,8 @@ importers:
|
||||||
specifier: 5.0.0-next.175
|
specifier: 5.0.0-next.175
|
||||||
version: 5.0.0-next.175
|
version: 5.0.0-next.175
|
||||||
svelte-check:
|
svelte-check:
|
||||||
specifier: ^3.8.4
|
specifier: ^3.8.5
|
||||||
version: 3.8.4(postcss-load-config@5.1.0(jiti@1.21.6)(postcss@8.4.40)(tsx@4.16.2))(postcss@8.4.40)(sass@1.77.8)(svelte@5.0.0-next.175)
|
version: 3.8.5(postcss-load-config@5.1.0(jiti@1.21.6)(postcss@8.4.40)(tsx@4.16.5))(postcss@8.4.40)(sass@1.77.8)(svelte@5.0.0-next.175)
|
||||||
svelte-headless-table:
|
svelte-headless-table:
|
||||||
specifier: ^0.18.2
|
specifier: ^0.18.2
|
||||||
version: 0.18.2(svelte@5.0.0-next.175)
|
version: 0.18.2(svelte@5.0.0-next.175)
|
||||||
|
|
@ -263,40 +263,40 @@ importers:
|
||||||
version: 3.1.2(svelte@5.0.0-next.175)(typescript@5.5.4)
|
version: 3.1.2(svelte@5.0.0-next.175)(typescript@5.5.4)
|
||||||
svelte-preprocess:
|
svelte-preprocess:
|
||||||
specifier: ^6.0.2
|
specifier: ^6.0.2
|
||||||
version: 6.0.2(postcss-load-config@5.1.0(jiti@1.21.6)(postcss@8.4.40)(tsx@4.16.2))(postcss@8.4.40)(sass@1.77.8)(svelte@5.0.0-next.175)(typescript@5.5.4)
|
version: 6.0.2(postcss-load-config@5.1.0(jiti@1.21.6)(postcss@8.4.40)(tsx@4.16.5))(postcss@8.4.40)(sass@1.77.8)(svelte@5.0.0-next.175)(typescript@5.5.4)
|
||||||
svelte-sequential-preprocessor:
|
svelte-sequential-preprocessor:
|
||||||
specifier: ^2.0.1
|
specifier: ^2.0.1
|
||||||
version: 2.0.1
|
version: 2.0.1
|
||||||
sveltekit-flash-message:
|
sveltekit-flash-message:
|
||||||
specifier: ^2.4.4
|
specifier: ^2.4.4
|
||||||
version: 2.4.4(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.13)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.13)(sass@1.77.8)))(svelte@5.0.0-next.175)
|
version: 2.4.4(@sveltejs/kit@2.5.20(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.14)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.14)(sass@1.77.8)))(svelte@5.0.0-next.175)
|
||||||
sveltekit-rate-limiter:
|
sveltekit-rate-limiter:
|
||||||
specifier: ^0.5.2
|
specifier: ^0.5.2
|
||||||
version: 0.5.2(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.13)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.13)(sass@1.77.8)))
|
version: 0.5.2(@sveltejs/kit@2.5.20(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.14)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.14)(sass@1.77.8)))
|
||||||
sveltekit-superforms:
|
sveltekit-superforms:
|
||||||
specifier: ^2.16.1
|
specifier: ^2.16.1
|
||||||
version: 2.16.1(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.13)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.13)(sass@1.77.8)))(svelte@5.0.0-next.175)
|
version: 2.16.1(@sveltejs/kit@2.5.20(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.14)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.14)(sass@1.77.8)))(svelte@5.0.0-next.175)
|
||||||
tailwindcss:
|
tailwindcss:
|
||||||
specifier: ^3.4.7
|
specifier: ^3.4.7
|
||||||
version: 3.4.7(ts-node@10.9.2(@types/node@20.14.13)(typescript@5.5.4))
|
version: 3.4.7(ts-node@10.9.2(@types/node@20.14.14)(typescript@5.5.4))
|
||||||
ts-node:
|
ts-node:
|
||||||
specifier: ^10.9.2
|
specifier: ^10.9.2
|
||||||
version: 10.9.2(@types/node@20.14.13)(typescript@5.5.4)
|
version: 10.9.2(@types/node@20.14.14)(typescript@5.5.4)
|
||||||
tslib:
|
tslib:
|
||||||
specifier: ^2.6.3
|
specifier: ^2.6.3
|
||||||
version: 2.6.3
|
version: 2.6.3
|
||||||
tsx:
|
tsx:
|
||||||
specifier: ^4.16.2
|
specifier: ^4.16.5
|
||||||
version: 4.16.2
|
version: 4.16.5
|
||||||
typescript:
|
typescript:
|
||||||
specifier: ^5.5.4
|
specifier: ^5.5.4
|
||||||
version: 5.5.4
|
version: 5.5.4
|
||||||
vite:
|
vite:
|
||||||
specifier: ^5.3.5
|
specifier: ^5.3.5
|
||||||
version: 5.3.5(@types/node@20.14.13)(sass@1.77.8)
|
version: 5.3.5(@types/node@20.14.14)(sass@1.77.8)
|
||||||
vitest:
|
vitest:
|
||||||
specifier: ^1.6.0
|
specifier: ^1.6.0
|
||||||
version: 1.6.0(@types/node@20.14.13)(sass@1.77.8)
|
version: 1.6.0(@types/node@20.14.14)(sass@1.77.8)
|
||||||
zod:
|
zod:
|
||||||
specifier: ^3.23.8
|
specifier: ^3.23.8
|
||||||
version: 3.23.8
|
version: 3.23.8
|
||||||
|
|
@ -565,6 +565,9 @@ packages:
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
postcss: ^8.4
|
postcss: ^8.4
|
||||||
|
|
||||||
|
'@drizzle-team/brocli@0.8.2':
|
||||||
|
resolution: {integrity: sha512-zTrFENsqGvOkBOuHDC1pXCkDXNd2UhP4lI3gYGhQ1R1SPeAAfqzPsV1dcpMy4uNU6kB5VpU5NGhvwxVNETR02A==}
|
||||||
|
|
||||||
'@emnapi/core@0.45.0':
|
'@emnapi/core@0.45.0':
|
||||||
resolution: {integrity: sha512-DPWjcUDQkCeEM4VnljEOEcXdAD7pp8zSZsgOujk/LGIwCXWbXJngin+MO4zbH429lzeC3WbYLGjE2MaUOwzpyw==}
|
resolution: {integrity: sha512-DPWjcUDQkCeEM4VnljEOEcXdAD7pp8zSZsgOujk/LGIwCXWbXJngin+MO4zbH429lzeC3WbYLGjE2MaUOwzpyw==}
|
||||||
|
|
||||||
|
|
@ -1964,8 +1967,8 @@ packages:
|
||||||
svelte: ^4.0.0 || ^5.0.0-next.0
|
svelte: ^4.0.0 || ^5.0.0-next.0
|
||||||
vite: '>= 5.0.0'
|
vite: '>= 5.0.0'
|
||||||
|
|
||||||
'@sveltejs/kit@2.5.18':
|
'@sveltejs/kit@2.5.20':
|
||||||
resolution: {integrity: sha512-+g06hvpVAnH7b4CDjhnTDgFWBKBiQJpuSmQeGYOuzbO3SC3tdYjRNlDCrafvDtKbGiT2uxY5Dn9qdEUGVZdWOQ==}
|
resolution: {integrity: sha512-47rJ5BoYwURE/Rp7FNMLp3NzdbWC9DQ/PmKd0mebxT2D/PrPxZxcLImcD3zsWdX2iS6oJk8ITJbO/N2lWnnUqA==}
|
||||||
engines: {node: '>=18.13'}
|
engines: {node: '>=18.13'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
|
|
@ -2018,8 +2021,8 @@ packages:
|
||||||
'@types/json-schema@7.0.15':
|
'@types/json-schema@7.0.15':
|
||||||
resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
|
resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
|
||||||
|
|
||||||
'@types/node@20.14.13':
|
'@types/node@20.14.14':
|
||||||
resolution: {integrity: sha512-+bHoGiZb8UiQ0+WEtmph2IWQCjIqg8MDZMAV+ppRRhUZnquF5mQkP/9vpSwJClEiSM/C7fZZExPzfU0vJTyp8w==}
|
resolution: {integrity: sha512-d64f00982fS9YoOgJkAMolK7MN8Iq3TDdVjchbYHdEmjth/DHowx82GnoA+tVUAN+7vxfYUgAzi+JXbKNd2SDQ==}
|
||||||
|
|
||||||
'@types/pg@8.11.6':
|
'@types/pg@8.11.6':
|
||||||
resolution: {integrity: sha512-/2WmmBXHLsfRqzfHW7BNZ8SbYzE8OSk7i3WjFYvfgRHj7S1xj+16Je5fUKv3lVdVzk/zn9TXOqf+avFCFIE0yQ==}
|
resolution: {integrity: sha512-/2WmmBXHLsfRqzfHW7BNZ8SbYzE8OSk7i3WjFYvfgRHj7S1xj+16Je5fUKv3lVdVzk/zn9TXOqf+avFCFIE0yQ==}
|
||||||
|
|
@ -2033,8 +2036,8 @@ packages:
|
||||||
'@types/validator@13.12.0':
|
'@types/validator@13.12.0':
|
||||||
resolution: {integrity: sha512-nH45Lk7oPIJ1RVOF6JgFI6Dy0QpHEzq4QecZhvguxYPDwT8c93prCMqAtiIttm39voZ+DDR+qkNnMpJmMBRqag==}
|
resolution: {integrity: sha512-nH45Lk7oPIJ1RVOF6JgFI6Dy0QpHEzq4QecZhvguxYPDwT8c93prCMqAtiIttm39voZ+DDR+qkNnMpJmMBRqag==}
|
||||||
|
|
||||||
'@typescript-eslint/eslint-plugin@7.17.0':
|
'@typescript-eslint/eslint-plugin@7.18.0':
|
||||||
resolution: {integrity: sha512-pyiDhEuLM3PuANxH7uNYan1AaFs5XE0zw1hq69JBvGvE7gSuEoQl1ydtEe/XQeoC3GQxLXyOVa5kNOATgM638A==}
|
resolution: {integrity: sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==}
|
||||||
engines: {node: ^18.18.0 || >=20.0.0}
|
engines: {node: ^18.18.0 || >=20.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@typescript-eslint/parser': ^7.0.0
|
'@typescript-eslint/parser': ^7.0.0
|
||||||
|
|
@ -2044,8 +2047,8 @@ packages:
|
||||||
typescript:
|
typescript:
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@typescript-eslint/parser@7.17.0':
|
'@typescript-eslint/parser@7.18.0':
|
||||||
resolution: {integrity: sha512-puiYfGeg5Ydop8eusb/Hy1k7QmOU6X3nvsqCgzrB2K4qMavK//21+PzNE8qeECgNOIoertJPUC1SpegHDI515A==}
|
resolution: {integrity: sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==}
|
||||||
engines: {node: ^18.18.0 || >=20.0.0}
|
engines: {node: ^18.18.0 || >=20.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
eslint: ^8.56.0
|
eslint: ^8.56.0
|
||||||
|
|
@ -2054,12 +2057,12 @@ packages:
|
||||||
typescript:
|
typescript:
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@typescript-eslint/scope-manager@7.17.0':
|
'@typescript-eslint/scope-manager@7.18.0':
|
||||||
resolution: {integrity: sha512-0P2jTTqyxWp9HiKLu/Vemr2Rg1Xb5B7uHItdVZ6iAenXmPo4SZ86yOPCJwMqpCyaMiEHTNqizHfsbmCFT1x9SA==}
|
resolution: {integrity: sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==}
|
||||||
engines: {node: ^18.18.0 || >=20.0.0}
|
engines: {node: ^18.18.0 || >=20.0.0}
|
||||||
|
|
||||||
'@typescript-eslint/type-utils@7.17.0':
|
'@typescript-eslint/type-utils@7.18.0':
|
||||||
resolution: {integrity: sha512-XD3aaBt+orgkM/7Cei0XNEm1vwUxQ958AOLALzPlbPqb8C1G8PZK85tND7Jpe69Wualri81PLU+Zc48GVKIMMA==}
|
resolution: {integrity: sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==}
|
||||||
engines: {node: ^18.18.0 || >=20.0.0}
|
engines: {node: ^18.18.0 || >=20.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
eslint: ^8.56.0
|
eslint: ^8.56.0
|
||||||
|
|
@ -2068,12 +2071,12 @@ packages:
|
||||||
typescript:
|
typescript:
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@typescript-eslint/types@7.17.0':
|
'@typescript-eslint/types@7.18.0':
|
||||||
resolution: {integrity: sha512-a29Ir0EbyKTKHnZWbNsrc/gqfIBqYPwj3F2M+jWE/9bqfEHg0AMtXzkbUkOG6QgEScxh2+Pz9OXe11jHDnHR7A==}
|
resolution: {integrity: sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==}
|
||||||
engines: {node: ^18.18.0 || >=20.0.0}
|
engines: {node: ^18.18.0 || >=20.0.0}
|
||||||
|
|
||||||
'@typescript-eslint/typescript-estree@7.17.0':
|
'@typescript-eslint/typescript-estree@7.18.0':
|
||||||
resolution: {integrity: sha512-72I3TGq93t2GoSBWI093wmKo0n6/b7O4j9o8U+f65TVD0FS6bI2180X5eGEr8MA8PhKMvYe9myZJquUT2JkCZw==}
|
resolution: {integrity: sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==}
|
||||||
engines: {node: ^18.18.0 || >=20.0.0}
|
engines: {node: ^18.18.0 || >=20.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
typescript: '*'
|
typescript: '*'
|
||||||
|
|
@ -2081,14 +2084,14 @@ packages:
|
||||||
typescript:
|
typescript:
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@typescript-eslint/utils@7.17.0':
|
'@typescript-eslint/utils@7.18.0':
|
||||||
resolution: {integrity: sha512-r+JFlm5NdB+JXc7aWWZ3fKSm1gn0pkswEwIYsrGPdsT2GjsRATAKXiNtp3vgAAO1xZhX8alIOEQnNMl3kbTgJw==}
|
resolution: {integrity: sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==}
|
||||||
engines: {node: ^18.18.0 || >=20.0.0}
|
engines: {node: ^18.18.0 || >=20.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
eslint: ^8.56.0
|
eslint: ^8.56.0
|
||||||
|
|
||||||
'@typescript-eslint/visitor-keys@7.17.0':
|
'@typescript-eslint/visitor-keys@7.18.0':
|
||||||
resolution: {integrity: sha512-RVGC9UhPOCsfCdI9pU++K4nD7to+jTcMIbXTSOcrLqUEW6gF2pU1UUbYJKc9cvcRSK1UDeMJ7pdMxf4bhMpV/A==}
|
resolution: {integrity: sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==}
|
||||||
engines: {node: ^18.18.0 || >=20.0.0}
|
engines: {node: ^18.18.0 || >=20.0.0}
|
||||||
|
|
||||||
'@ungap/structured-clone@1.2.0':
|
'@ungap/structured-clone@1.2.0':
|
||||||
|
|
@ -2259,8 +2262,8 @@ packages:
|
||||||
bindings@1.5.0:
|
bindings@1.5.0:
|
||||||
resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==}
|
resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==}
|
||||||
|
|
||||||
bits-ui@0.21.12:
|
bits-ui@0.21.13:
|
||||||
resolution: {integrity: sha512-Cf0iB+ZKwA0ZjkpixrhrZK9PC6pGPFleW/65Xc/z0lpGvWaFtdOhiYEntCHHxZ0VihP3aJaG0OBhUBIbmAePaA==}
|
resolution: {integrity: sha512-7nmOh6Ig7ND4DXZHv1FhNsY9yUGrad0+mf3tc4YN//3MgnJT1LnHtk4HZAKgmxCOe7txSX7/39LtYHbkrXokAQ==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
svelte: ^4.0.0 || ^5.0.0-next.118
|
svelte: ^4.0.0 || ^5.0.0-next.118
|
||||||
|
|
||||||
|
|
@ -2306,8 +2309,8 @@ packages:
|
||||||
resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==}
|
resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==}
|
||||||
engines: {node: '>=6'}
|
engines: {node: '>=6'}
|
||||||
|
|
||||||
bullmq@5.11.0:
|
bullmq@5.12.0:
|
||||||
resolution: {integrity: sha512-qVzyWGZqie3VHaYEgRXhId/j8ebfmj6MExEJyUByMsUJA5pVciVle3hKLer5fyMwtQ8lTMP7GwhXV/NZ+HzlRA==}
|
resolution: {integrity: sha512-kOtSQx9ymylslsLNFD0xOMJM9mHqnq3x6KD7+DYkHByWe0HFRdblpYKhZyL4uR3rwaKZwzOrJVl3RwRaDjZxSg==}
|
||||||
|
|
||||||
bytes@3.1.2:
|
bytes@3.1.2:
|
||||||
resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==}
|
resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==}
|
||||||
|
|
@ -2524,6 +2527,15 @@ packages:
|
||||||
supports-color:
|
supports-color:
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
|
debug@4.3.6:
|
||||||
|
resolution: {integrity: sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==}
|
||||||
|
engines: {node: '>=6.0'}
|
||||||
|
peerDependencies:
|
||||||
|
supports-color: '*'
|
||||||
|
peerDependenciesMeta:
|
||||||
|
supports-color:
|
||||||
|
optional: true
|
||||||
|
|
||||||
decamelize@1.2.0:
|
decamelize@1.2.0:
|
||||||
resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==}
|
resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
|
|
@ -2606,8 +2618,8 @@ packages:
|
||||||
resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==}
|
resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
|
|
||||||
drizzle-kit@0.23.0:
|
drizzle-kit@0.23.1:
|
||||||
resolution: {integrity: sha512-w9jE97z193dd4jzAyj4Uv2SOh8Ydue70Ki6W0awy4bGM1aPXan6zD6Yv+nNTA6oGgNTDl2MJFxutjHG4fden5g==}
|
resolution: {integrity: sha512-posGQhj8/K4S4CPhk7BO9+IcpNdIh96t0DvcAr/NvMKhPhe5D0MELzmpq9R2MpmSP3fd+Z3upwidtetrw7xnjg==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
drizzle-orm@0.32.1:
|
drizzle-orm@0.32.1:
|
||||||
|
|
@ -3070,8 +3082,8 @@ packages:
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
hono: ^4.1.1
|
hono: ^4.1.1
|
||||||
|
|
||||||
hono@4.5.2:
|
hono@4.5.3:
|
||||||
resolution: {integrity: sha512-93P8XEALrHAUGRZoqXs8MDL3w9mDgRpbW9Sy5x4LS7srg78bKUw7EGynxze+Ft1e/rLGmDAbxeSTMu6dHUSRDw==}
|
resolution: {integrity: sha512-r26WwwbKD3BAYdfB294knNnegNda7VfV1tVn66D9Kvl9WQTdrR+5eKdoeaQNHQcC3Gr0KBikzAtjd6VsRGVSaw==}
|
||||||
engines: {node: '>=16.0.0'}
|
engines: {node: '>=16.0.0'}
|
||||||
|
|
||||||
html-entities@2.5.2:
|
html-entities@2.5.2:
|
||||||
|
|
@ -4340,8 +4352,8 @@ packages:
|
||||||
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
|
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
|
||||||
engines: {node: '>= 0.4'}
|
engines: {node: '>= 0.4'}
|
||||||
|
|
||||||
svelte-check@3.8.4:
|
svelte-check@3.8.5:
|
||||||
resolution: {integrity: sha512-61aHMkdinWyH8BkkTX9jPLYxYzaAAz/FK/VQqdr2FiCQQ/q04WCwDlpGbHff1GdrMYTmW8chlTFvRWL9k0A8vg==}
|
resolution: {integrity: sha512-3OGGgr9+bJ/+1nbPgsvulkLC48xBsqsgtc8Wam281H4G9F5v3mYGa2bHRsPuwHC5brKl4AxJH95QF73kmfihGQ==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
svelte: ^3.55.0 || ^4.0.0-next.0 || ^4.0.0 || ^5.0.0-next.0
|
svelte: ^3.55.0 || ^4.0.0-next.0 || ^4.0.0 || ^5.0.0-next.0
|
||||||
|
|
@ -4617,8 +4629,8 @@ packages:
|
||||||
tslib@2.6.3:
|
tslib@2.6.3:
|
||||||
resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==}
|
resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==}
|
||||||
|
|
||||||
tsx@4.16.2:
|
tsx@4.16.5:
|
||||||
resolution: {integrity: sha512-C1uWweJDgdtX2x600HjaFaucXTilT7tgUZHbOE4+ypskZ1OP8CRCSDkCxG6Vya9EwaFIVagWwpaVAn5wzypaqQ==}
|
resolution: {integrity: sha512-ArsiAQHEW2iGaqZ8fTA1nX0a+lN5mNTyuGRRO6OW3H/Yno1y9/t1f9YOI1Cfoqz63VAthn++ZYcbDP7jPflc+A==}
|
||||||
engines: {node: '>=18.0.0'}
|
engines: {node: '>=18.0.0'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
|
|
@ -5153,6 +5165,8 @@ snapshots:
|
||||||
dependencies:
|
dependencies:
|
||||||
postcss: 8.4.40
|
postcss: 8.4.40
|
||||||
|
|
||||||
|
'@drizzle-team/brocli@0.8.2': {}
|
||||||
|
|
||||||
'@emnapi/core@0.45.0':
|
'@emnapi/core@0.45.0':
|
||||||
dependencies:
|
dependencies:
|
||||||
tslib: 2.6.3
|
tslib: 2.6.3
|
||||||
|
|
@ -5525,9 +5539,9 @@ snapshots:
|
||||||
'@hapi/hoek': 9.3.0
|
'@hapi/hoek': 9.3.0
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@hono/zod-validator@0.2.2(hono@4.5.2)(zod@3.23.8)':
|
'@hono/zod-validator@0.2.2(hono@4.5.3)(zod@3.23.8)':
|
||||||
dependencies:
|
dependencies:
|
||||||
hono: 4.5.2
|
hono: 4.5.3
|
||||||
zod: 3.23.8
|
zod: 3.23.8
|
||||||
|
|
||||||
'@humanwhocodes/config-array@0.11.14':
|
'@humanwhocodes/config-array@0.11.14':
|
||||||
|
|
@ -6116,41 +6130,41 @@ snapshots:
|
||||||
'@sodaru/yup-to-json-schema@2.0.1':
|
'@sodaru/yup-to-json-schema@2.0.1':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@sveltejs/adapter-auto@3.2.2(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.13)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.13)(sass@1.77.8)))':
|
'@sveltejs/adapter-auto@3.2.2(@sveltejs/kit@2.5.20(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.14)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.14)(sass@1.77.8)))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@sveltejs/kit': 2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.13)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.13)(sass@1.77.8))
|
'@sveltejs/kit': 2.5.20(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.14)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.14)(sass@1.77.8))
|
||||||
import-meta-resolve: 4.1.0
|
import-meta-resolve: 4.1.0
|
||||||
|
|
||||||
'@sveltejs/adapter-node@5.2.0(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.13)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.13)(sass@1.77.8)))':
|
'@sveltejs/adapter-node@5.2.0(@sveltejs/kit@2.5.20(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.14)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.14)(sass@1.77.8)))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@rollup/plugin-commonjs': 26.0.1(rollup@4.18.1)
|
'@rollup/plugin-commonjs': 26.0.1(rollup@4.18.1)
|
||||||
'@rollup/plugin-json': 6.1.0(rollup@4.18.1)
|
'@rollup/plugin-json': 6.1.0(rollup@4.18.1)
|
||||||
'@rollup/plugin-node-resolve': 15.2.3(rollup@4.18.1)
|
'@rollup/plugin-node-resolve': 15.2.3(rollup@4.18.1)
|
||||||
'@sveltejs/kit': 2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.13)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.13)(sass@1.77.8))
|
'@sveltejs/kit': 2.5.20(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.14)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.14)(sass@1.77.8))
|
||||||
rollup: 4.18.1
|
rollup: 4.18.1
|
||||||
|
|
||||||
'@sveltejs/adapter-vercel@5.4.1(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.13)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.13)(sass@1.77.8)))':
|
'@sveltejs/adapter-vercel@5.4.1(@sveltejs/kit@2.5.20(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.14)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.14)(sass@1.77.8)))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@sveltejs/kit': 2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.13)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.13)(sass@1.77.8))
|
'@sveltejs/kit': 2.5.20(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.14)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.14)(sass@1.77.8))
|
||||||
'@vercel/nft': 0.27.2
|
'@vercel/nft': 0.27.2
|
||||||
esbuild: 0.21.5
|
esbuild: 0.21.5
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- encoding
|
- encoding
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
'@sveltejs/enhanced-img@0.3.1(rollup@4.18.1)(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.13)(sass@1.77.8))':
|
'@sveltejs/enhanced-img@0.3.1(rollup@4.18.1)(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.14)(sass@1.77.8))':
|
||||||
dependencies:
|
dependencies:
|
||||||
magic-string: 0.30.10
|
magic-string: 0.30.10
|
||||||
svelte: 5.0.0-next.175
|
svelte: 5.0.0-next.175
|
||||||
svelte-parse-markup: 0.1.5(svelte@5.0.0-next.175)
|
svelte-parse-markup: 0.1.5(svelte@5.0.0-next.175)
|
||||||
vite: 5.3.5(@types/node@20.14.13)(sass@1.77.8)
|
vite: 5.3.5(@types/node@20.14.14)(sass@1.77.8)
|
||||||
vite-imagetools: 7.0.2(rollup@4.18.1)
|
vite-imagetools: 7.0.2(rollup@4.18.1)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- rollup
|
- rollup
|
||||||
|
|
||||||
'@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.13)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.13)(sass@1.77.8))':
|
'@sveltejs/kit@2.5.20(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.14)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.14)(sass@1.77.8))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@sveltejs/vite-plugin-svelte': 3.1.1(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.13)(sass@1.77.8))
|
'@sveltejs/vite-plugin-svelte': 3.1.1(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.14)(sass@1.77.8))
|
||||||
'@types/cookie': 0.6.0
|
'@types/cookie': 0.6.0
|
||||||
cookie: 0.6.0
|
cookie: 0.6.0
|
||||||
devalue: 5.0.0
|
devalue: 5.0.0
|
||||||
|
|
@ -6164,28 +6178,28 @@ snapshots:
|
||||||
sirv: 2.0.4
|
sirv: 2.0.4
|
||||||
svelte: 5.0.0-next.175
|
svelte: 5.0.0-next.175
|
||||||
tiny-glob: 0.2.9
|
tiny-glob: 0.2.9
|
||||||
vite: 5.3.5(@types/node@20.14.13)(sass@1.77.8)
|
vite: 5.3.5(@types/node@20.14.14)(sass@1.77.8)
|
||||||
|
|
||||||
'@sveltejs/vite-plugin-svelte-inspector@2.1.0(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.13)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.13)(sass@1.77.8))':
|
'@sveltejs/vite-plugin-svelte-inspector@2.1.0(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.14)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.14)(sass@1.77.8))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@sveltejs/vite-plugin-svelte': 3.1.1(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.13)(sass@1.77.8))
|
'@sveltejs/vite-plugin-svelte': 3.1.1(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.14)(sass@1.77.8))
|
||||||
debug: 4.3.4
|
debug: 4.3.4
|
||||||
svelte: 5.0.0-next.175
|
svelte: 5.0.0-next.175
|
||||||
vite: 5.3.5(@types/node@20.14.13)(sass@1.77.8)
|
vite: 5.3.5(@types/node@20.14.14)(sass@1.77.8)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
'@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.13)(sass@1.77.8))':
|
'@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.14)(sass@1.77.8))':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@sveltejs/vite-plugin-svelte-inspector': 2.1.0(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.13)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.13)(sass@1.77.8))
|
'@sveltejs/vite-plugin-svelte-inspector': 2.1.0(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.14)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.14)(sass@1.77.8))
|
||||||
debug: 4.3.4
|
debug: 4.3.4
|
||||||
deepmerge: 4.3.1
|
deepmerge: 4.3.1
|
||||||
kleur: 4.1.5
|
kleur: 4.1.5
|
||||||
magic-string: 0.30.10
|
magic-string: 0.30.10
|
||||||
svelte: 5.0.0-next.175
|
svelte: 5.0.0-next.175
|
||||||
svelte-hmr: 0.16.0(svelte@5.0.0-next.175)
|
svelte-hmr: 0.16.0(svelte@5.0.0-next.175)
|
||||||
vite: 5.3.5(@types/node@20.14.13)(sass@1.77.8)
|
vite: 5.3.5(@types/node@20.14.14)(sass@1.77.8)
|
||||||
vitefu: 0.2.5(vite@5.3.5(@types/node@20.14.13)(sass@1.77.8))
|
vitefu: 0.2.5(vite@5.3.5(@types/node@20.14.14)(sass@1.77.8))
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
|
|
@ -6215,13 +6229,13 @@ snapshots:
|
||||||
'@types/json-schema@7.0.15':
|
'@types/json-schema@7.0.15':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@types/node@20.14.13':
|
'@types/node@20.14.14':
|
||||||
dependencies:
|
dependencies:
|
||||||
undici-types: 5.26.5
|
undici-types: 5.26.5
|
||||||
|
|
||||||
'@types/pg@8.11.6':
|
'@types/pg@8.11.6':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/node': 20.14.13
|
'@types/node': 20.14.14
|
||||||
pg-protocol: 1.6.1
|
pg-protocol: 1.6.1
|
||||||
pg-types: 4.0.2
|
pg-types: 4.0.2
|
||||||
|
|
||||||
|
|
@ -6232,14 +6246,14 @@ snapshots:
|
||||||
'@types/validator@13.12.0':
|
'@types/validator@13.12.0':
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
'@typescript-eslint/eslint-plugin@7.17.0(@typescript-eslint/parser@7.17.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4)':
|
'@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@eslint-community/regexpp': 4.10.0
|
'@eslint-community/regexpp': 4.10.0
|
||||||
'@typescript-eslint/parser': 7.17.0(eslint@8.57.0)(typescript@5.5.4)
|
'@typescript-eslint/parser': 7.18.0(eslint@8.57.0)(typescript@5.5.4)
|
||||||
'@typescript-eslint/scope-manager': 7.17.0
|
'@typescript-eslint/scope-manager': 7.18.0
|
||||||
'@typescript-eslint/type-utils': 7.17.0(eslint@8.57.0)(typescript@5.5.4)
|
'@typescript-eslint/type-utils': 7.18.0(eslint@8.57.0)(typescript@5.5.4)
|
||||||
'@typescript-eslint/utils': 7.17.0(eslint@8.57.0)(typescript@5.5.4)
|
'@typescript-eslint/utils': 7.18.0(eslint@8.57.0)(typescript@5.5.4)
|
||||||
'@typescript-eslint/visitor-keys': 7.17.0
|
'@typescript-eslint/visitor-keys': 7.18.0
|
||||||
eslint: 8.57.0
|
eslint: 8.57.0
|
||||||
graphemer: 1.4.0
|
graphemer: 1.4.0
|
||||||
ignore: 5.3.1
|
ignore: 5.3.1
|
||||||
|
|
@ -6250,12 +6264,12 @@ snapshots:
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
'@typescript-eslint/parser@7.17.0(eslint@8.57.0)(typescript@5.5.4)':
|
'@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/scope-manager': 7.17.0
|
'@typescript-eslint/scope-manager': 7.18.0
|
||||||
'@typescript-eslint/types': 7.17.0
|
'@typescript-eslint/types': 7.18.0
|
||||||
'@typescript-eslint/typescript-estree': 7.17.0(typescript@5.5.4)
|
'@typescript-eslint/typescript-estree': 7.18.0(typescript@5.5.4)
|
||||||
'@typescript-eslint/visitor-keys': 7.17.0
|
'@typescript-eslint/visitor-keys': 7.18.0
|
||||||
debug: 4.3.4
|
debug: 4.3.4
|
||||||
eslint: 8.57.0
|
eslint: 8.57.0
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
|
|
@ -6263,16 +6277,16 @@ snapshots:
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
'@typescript-eslint/scope-manager@7.17.0':
|
'@typescript-eslint/scope-manager@7.18.0':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/types': 7.17.0
|
'@typescript-eslint/types': 7.18.0
|
||||||
'@typescript-eslint/visitor-keys': 7.17.0
|
'@typescript-eslint/visitor-keys': 7.18.0
|
||||||
|
|
||||||
'@typescript-eslint/type-utils@7.17.0(eslint@8.57.0)(typescript@5.5.4)':
|
'@typescript-eslint/type-utils@7.18.0(eslint@8.57.0)(typescript@5.5.4)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/typescript-estree': 7.17.0(typescript@5.5.4)
|
'@typescript-eslint/typescript-estree': 7.18.0(typescript@5.5.4)
|
||||||
'@typescript-eslint/utils': 7.17.0(eslint@8.57.0)(typescript@5.5.4)
|
'@typescript-eslint/utils': 7.18.0(eslint@8.57.0)(typescript@5.5.4)
|
||||||
debug: 4.3.5
|
debug: 4.3.6
|
||||||
eslint: 8.57.0
|
eslint: 8.57.0
|
||||||
ts-api-utils: 1.3.0(typescript@5.5.4)
|
ts-api-utils: 1.3.0(typescript@5.5.4)
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
|
|
@ -6280,12 +6294,12 @@ snapshots:
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
'@typescript-eslint/types@7.17.0': {}
|
'@typescript-eslint/types@7.18.0': {}
|
||||||
|
|
||||||
'@typescript-eslint/typescript-estree@7.17.0(typescript@5.5.4)':
|
'@typescript-eslint/typescript-estree@7.18.0(typescript@5.5.4)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/types': 7.17.0
|
'@typescript-eslint/types': 7.18.0
|
||||||
'@typescript-eslint/visitor-keys': 7.17.0
|
'@typescript-eslint/visitor-keys': 7.18.0
|
||||||
debug: 4.3.4
|
debug: 4.3.4
|
||||||
globby: 11.1.0
|
globby: 11.1.0
|
||||||
is-glob: 4.0.3
|
is-glob: 4.0.3
|
||||||
|
|
@ -6297,20 +6311,20 @@ snapshots:
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
'@typescript-eslint/utils@7.17.0(eslint@8.57.0)(typescript@5.5.4)':
|
'@typescript-eslint/utils@7.18.0(eslint@8.57.0)(typescript@5.5.4)':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
|
'@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
|
||||||
'@typescript-eslint/scope-manager': 7.17.0
|
'@typescript-eslint/scope-manager': 7.18.0
|
||||||
'@typescript-eslint/types': 7.17.0
|
'@typescript-eslint/types': 7.18.0
|
||||||
'@typescript-eslint/typescript-estree': 7.17.0(typescript@5.5.4)
|
'@typescript-eslint/typescript-estree': 7.18.0(typescript@5.5.4)
|
||||||
eslint: 8.57.0
|
eslint: 8.57.0
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
- typescript
|
- typescript
|
||||||
|
|
||||||
'@typescript-eslint/visitor-keys@7.17.0':
|
'@typescript-eslint/visitor-keys@7.18.0':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/types': 7.17.0
|
'@typescript-eslint/types': 7.18.0
|
||||||
eslint-visitor-keys: 3.4.3
|
eslint-visitor-keys: 3.4.3
|
||||||
|
|
||||||
'@ungap/structured-clone@1.2.0': {}
|
'@ungap/structured-clone@1.2.0': {}
|
||||||
|
|
@ -6499,7 +6513,7 @@ snapshots:
|
||||||
dependencies:
|
dependencies:
|
||||||
file-uri-to-path: 1.0.0
|
file-uri-to-path: 1.0.0
|
||||||
|
|
||||||
bits-ui@0.21.12(svelte@5.0.0-next.175):
|
bits-ui@0.21.13(svelte@5.0.0-next.175):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@internationalized/date': 3.5.5
|
'@internationalized/date': 3.5.5
|
||||||
'@melt-ui/svelte': 0.76.2(svelte@5.0.0-next.175)
|
'@melt-ui/svelte': 0.76.2(svelte@5.0.0-next.175)
|
||||||
|
|
@ -6568,7 +6582,7 @@ snapshots:
|
||||||
|
|
||||||
builtin-modules@3.3.0: {}
|
builtin-modules@3.3.0: {}
|
||||||
|
|
||||||
bullmq@5.11.0:
|
bullmq@5.12.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
cron-parser: 4.9.0
|
cron-parser: 4.9.0
|
||||||
ioredis: 5.4.1
|
ioredis: 5.4.1
|
||||||
|
|
@ -6770,6 +6784,10 @@ snapshots:
|
||||||
dependencies:
|
dependencies:
|
||||||
ms: 2.1.2
|
ms: 2.1.2
|
||||||
|
|
||||||
|
debug@4.3.6:
|
||||||
|
dependencies:
|
||||||
|
ms: 2.1.2
|
||||||
|
|
||||||
decamelize@1.2.0: {}
|
decamelize@1.2.0: {}
|
||||||
|
|
||||||
deep-eql@4.1.3:
|
deep-eql@4.1.3:
|
||||||
|
|
@ -6826,8 +6844,9 @@ snapshots:
|
||||||
|
|
||||||
dotenv@16.4.5: {}
|
dotenv@16.4.5: {}
|
||||||
|
|
||||||
drizzle-kit@0.23.0:
|
drizzle-kit@0.23.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
|
'@drizzle-team/brocli': 0.8.2
|
||||||
'@esbuild-kit/esm-loader': 2.6.5
|
'@esbuild-kit/esm-loader': 2.6.5
|
||||||
esbuild: 0.19.12
|
esbuild: 0.19.12
|
||||||
esbuild-register: 3.5.0(esbuild@0.19.12)
|
esbuild-register: 3.5.0(esbuild@0.19.12)
|
||||||
|
|
@ -7001,7 +7020,7 @@ snapshots:
|
||||||
dependencies:
|
dependencies:
|
||||||
eslint: 8.57.0
|
eslint: 8.57.0
|
||||||
|
|
||||||
eslint-plugin-svelte@2.43.0(eslint@8.57.0)(svelte@5.0.0-next.175)(ts-node@10.9.2(@types/node@20.14.13)(typescript@5.5.4)):
|
eslint-plugin-svelte@2.43.0(eslint@8.57.0)(svelte@5.0.0-next.175)(ts-node@10.9.2(@types/node@20.14.14)(typescript@5.5.4)):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
|
'@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
|
||||||
'@jridgewell/sourcemap-codec': 1.4.15
|
'@jridgewell/sourcemap-codec': 1.4.15
|
||||||
|
|
@ -7010,7 +7029,7 @@ snapshots:
|
||||||
esutils: 2.0.3
|
esutils: 2.0.3
|
||||||
known-css-properties: 0.34.0
|
known-css-properties: 0.34.0
|
||||||
postcss: 8.4.40
|
postcss: 8.4.40
|
||||||
postcss-load-config: 3.1.4(postcss@8.4.40)(ts-node@10.9.2(@types/node@20.14.13)(typescript@5.5.4))
|
postcss-load-config: 3.1.4(postcss@8.4.40)(ts-node@10.9.2(@types/node@20.14.14)(typescript@5.5.4))
|
||||||
postcss-safe-parser: 6.0.0(postcss@8.4.40)
|
postcss-safe-parser: 6.0.0(postcss@8.4.40)
|
||||||
postcss-selector-parser: 6.1.0
|
postcss-selector-parser: 6.1.0
|
||||||
semver: 7.6.2
|
semver: 7.6.2
|
||||||
|
|
@ -7237,11 +7256,11 @@ snapshots:
|
||||||
cross-spawn: 7.0.3
|
cross-spawn: 7.0.3
|
||||||
signal-exit: 4.1.0
|
signal-exit: 4.1.0
|
||||||
|
|
||||||
formsnap@1.0.1(svelte@5.0.0-next.175)(sveltekit-superforms@2.16.1(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.13)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.13)(sass@1.77.8)))(svelte@5.0.0-next.175)):
|
formsnap@1.0.1(svelte@5.0.0-next.175)(sveltekit-superforms@2.16.1(@sveltejs/kit@2.5.20(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.14)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.14)(sass@1.77.8)))(svelte@5.0.0-next.175)):
|
||||||
dependencies:
|
dependencies:
|
||||||
nanoid: 5.0.7
|
nanoid: 5.0.7
|
||||||
svelte: 5.0.0-next.175
|
svelte: 5.0.0-next.175
|
||||||
sveltekit-superforms: 2.16.1(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.13)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.13)(sass@1.77.8)))(svelte@5.0.0-next.175)
|
sveltekit-superforms: 2.16.1(@sveltejs/kit@2.5.20(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.14)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.14)(sass@1.77.8)))(svelte@5.0.0-next.175)
|
||||||
|
|
||||||
forwarded@0.2.0: {}
|
forwarded@0.2.0: {}
|
||||||
|
|
||||||
|
|
@ -7373,11 +7392,11 @@ snapshots:
|
||||||
|
|
||||||
hex-rgb@4.3.0: {}
|
hex-rgb@4.3.0: {}
|
||||||
|
|
||||||
hono-rate-limiter@0.4.0(hono@4.5.2):
|
hono-rate-limiter@0.4.0(hono@4.5.3):
|
||||||
dependencies:
|
dependencies:
|
||||||
hono: 4.5.2
|
hono: 4.5.3
|
||||||
|
|
||||||
hono@4.5.2: {}
|
hono@4.5.3: {}
|
||||||
|
|
||||||
html-entities@2.5.2: {}
|
html-entities@2.5.2: {}
|
||||||
|
|
||||||
|
|
@ -8090,30 +8109,30 @@ snapshots:
|
||||||
'@csstools/utilities': 1.0.0(postcss@8.4.40)
|
'@csstools/utilities': 1.0.0(postcss@8.4.40)
|
||||||
postcss: 8.4.40
|
postcss: 8.4.40
|
||||||
|
|
||||||
postcss-load-config@3.1.4(postcss@8.4.40)(ts-node@10.9.2(@types/node@20.14.13)(typescript@5.5.4)):
|
postcss-load-config@3.1.4(postcss@8.4.40)(ts-node@10.9.2(@types/node@20.14.14)(typescript@5.5.4)):
|
||||||
dependencies:
|
dependencies:
|
||||||
lilconfig: 2.1.0
|
lilconfig: 2.1.0
|
||||||
yaml: 1.10.2
|
yaml: 1.10.2
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
postcss: 8.4.40
|
postcss: 8.4.40
|
||||||
ts-node: 10.9.2(@types/node@20.14.13)(typescript@5.5.4)
|
ts-node: 10.9.2(@types/node@20.14.14)(typescript@5.5.4)
|
||||||
|
|
||||||
postcss-load-config@4.0.2(postcss@8.4.40)(ts-node@10.9.2(@types/node@20.14.13)(typescript@5.5.4)):
|
postcss-load-config@4.0.2(postcss@8.4.40)(ts-node@10.9.2(@types/node@20.14.14)(typescript@5.5.4)):
|
||||||
dependencies:
|
dependencies:
|
||||||
lilconfig: 3.1.1
|
lilconfig: 3.1.1
|
||||||
yaml: 2.4.3
|
yaml: 2.4.3
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
postcss: 8.4.40
|
postcss: 8.4.40
|
||||||
ts-node: 10.9.2(@types/node@20.14.13)(typescript@5.5.4)
|
ts-node: 10.9.2(@types/node@20.14.14)(typescript@5.5.4)
|
||||||
|
|
||||||
postcss-load-config@5.1.0(jiti@1.21.6)(postcss@8.4.40)(tsx@4.16.2):
|
postcss-load-config@5.1.0(jiti@1.21.6)(postcss@8.4.40)(tsx@4.16.5):
|
||||||
dependencies:
|
dependencies:
|
||||||
lilconfig: 3.1.1
|
lilconfig: 3.1.1
|
||||||
yaml: 2.4.2
|
yaml: 2.4.2
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
jiti: 1.21.6
|
jiti: 1.21.6
|
||||||
postcss: 8.4.40
|
postcss: 8.4.40
|
||||||
tsx: 4.16.2
|
tsx: 4.16.5
|
||||||
|
|
||||||
postcss-logical@7.0.1(postcss@8.4.40):
|
postcss-logical@7.0.1(postcss@8.4.40):
|
||||||
dependencies:
|
dependencies:
|
||||||
|
|
@ -8684,14 +8703,14 @@ snapshots:
|
||||||
|
|
||||||
supports-preserve-symlinks-flag@1.0.0: {}
|
supports-preserve-symlinks-flag@1.0.0: {}
|
||||||
|
|
||||||
svelte-check@3.8.4(postcss-load-config@5.1.0(jiti@1.21.6)(postcss@8.4.40)(tsx@4.16.2))(postcss@8.4.40)(sass@1.77.8)(svelte@5.0.0-next.175):
|
svelte-check@3.8.5(postcss-load-config@5.1.0(jiti@1.21.6)(postcss@8.4.40)(tsx@4.16.5))(postcss@8.4.40)(sass@1.77.8)(svelte@5.0.0-next.175):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@jridgewell/trace-mapping': 0.3.25
|
'@jridgewell/trace-mapping': 0.3.25
|
||||||
chokidar: 3.6.0
|
chokidar: 3.6.0
|
||||||
picocolors: 1.0.0
|
picocolors: 1.0.0
|
||||||
sade: 1.8.1
|
sade: 1.8.1
|
||||||
svelte: 5.0.0-next.175
|
svelte: 5.0.0-next.175
|
||||||
svelte-preprocess: 5.1.4(postcss-load-config@5.1.0(jiti@1.21.6)(postcss@8.4.40)(tsx@4.16.2))(postcss@8.4.40)(sass@1.77.8)(svelte@5.0.0-next.175)(typescript@5.5.4)
|
svelte-preprocess: 5.1.4(postcss-load-config@5.1.0(jiti@1.21.6)(postcss@8.4.40)(tsx@4.16.5))(postcss@8.4.40)(sass@1.77.8)(svelte@5.0.0-next.175)(typescript@5.5.4)
|
||||||
typescript: 5.5.4
|
typescript: 5.5.4
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- '@babel/core'
|
- '@babel/core'
|
||||||
|
|
@ -8747,7 +8766,7 @@ snapshots:
|
||||||
dependencies:
|
dependencies:
|
||||||
svelte: 5.0.0-next.175
|
svelte: 5.0.0-next.175
|
||||||
|
|
||||||
svelte-preprocess@5.1.4(postcss-load-config@5.1.0(jiti@1.21.6)(postcss@8.4.40)(tsx@4.16.2))(postcss@8.4.40)(sass@1.77.8)(svelte@5.0.0-next.175)(typescript@5.5.4):
|
svelte-preprocess@5.1.4(postcss-load-config@5.1.0(jiti@1.21.6)(postcss@8.4.40)(tsx@4.16.5))(postcss@8.4.40)(sass@1.77.8)(svelte@5.0.0-next.175)(typescript@5.5.4):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/pug': 2.0.10
|
'@types/pug': 2.0.10
|
||||||
detect-indent: 6.1.0
|
detect-indent: 6.1.0
|
||||||
|
|
@ -8757,16 +8776,16 @@ snapshots:
|
||||||
svelte: 5.0.0-next.175
|
svelte: 5.0.0-next.175
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
postcss: 8.4.40
|
postcss: 8.4.40
|
||||||
postcss-load-config: 5.1.0(jiti@1.21.6)(postcss@8.4.40)(tsx@4.16.2)
|
postcss-load-config: 5.1.0(jiti@1.21.6)(postcss@8.4.40)(tsx@4.16.5)
|
||||||
sass: 1.77.8
|
sass: 1.77.8
|
||||||
typescript: 5.5.4
|
typescript: 5.5.4
|
||||||
|
|
||||||
svelte-preprocess@6.0.2(postcss-load-config@5.1.0(jiti@1.21.6)(postcss@8.4.40)(tsx@4.16.2))(postcss@8.4.40)(sass@1.77.8)(svelte@5.0.0-next.175)(typescript@5.5.4):
|
svelte-preprocess@6.0.2(postcss-load-config@5.1.0(jiti@1.21.6)(postcss@8.4.40)(tsx@4.16.5))(postcss@8.4.40)(sass@1.77.8)(svelte@5.0.0-next.175)(typescript@5.5.4):
|
||||||
dependencies:
|
dependencies:
|
||||||
svelte: 5.0.0-next.175
|
svelte: 5.0.0-next.175
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
postcss: 8.4.40
|
postcss: 8.4.40
|
||||||
postcss-load-config: 5.1.0(jiti@1.21.6)(postcss@8.4.40)(tsx@4.16.2)
|
postcss-load-config: 5.1.0(jiti@1.21.6)(postcss@8.4.40)(tsx@4.16.5)
|
||||||
sass: 1.77.8
|
sass: 1.77.8
|
||||||
typescript: 5.5.4
|
typescript: 5.5.4
|
||||||
|
|
||||||
|
|
@ -8821,19 +8840,19 @@ snapshots:
|
||||||
magic-string: 0.30.10
|
magic-string: 0.30.10
|
||||||
zimmerframe: 1.1.2
|
zimmerframe: 1.1.2
|
||||||
|
|
||||||
sveltekit-flash-message@2.4.4(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.13)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.13)(sass@1.77.8)))(svelte@5.0.0-next.175):
|
sveltekit-flash-message@2.4.4(@sveltejs/kit@2.5.20(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.14)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.14)(sass@1.77.8)))(svelte@5.0.0-next.175):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@sveltejs/kit': 2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.13)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.13)(sass@1.77.8))
|
'@sveltejs/kit': 2.5.20(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.14)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.14)(sass@1.77.8))
|
||||||
svelte: 5.0.0-next.175
|
svelte: 5.0.0-next.175
|
||||||
|
|
||||||
sveltekit-rate-limiter@0.5.2(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.13)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.13)(sass@1.77.8))):
|
sveltekit-rate-limiter@0.5.2(@sveltejs/kit@2.5.20(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.14)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.14)(sass@1.77.8))):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@isaacs/ttlcache': 1.4.1
|
'@isaacs/ttlcache': 1.4.1
|
||||||
'@sveltejs/kit': 2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.13)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.13)(sass@1.77.8))
|
'@sveltejs/kit': 2.5.20(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.14)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.14)(sass@1.77.8))
|
||||||
|
|
||||||
sveltekit-superforms@2.16.1(@sveltejs/kit@2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.13)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.13)(sass@1.77.8)))(svelte@5.0.0-next.175):
|
sveltekit-superforms@2.16.1(@sveltejs/kit@2.5.20(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.14)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.14)(sass@1.77.8)))(svelte@5.0.0-next.175):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@sveltejs/kit': 2.5.18(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.13)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.13)(sass@1.77.8))
|
'@sveltejs/kit': 2.5.20(@sveltejs/vite-plugin-svelte@3.1.1(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.14)(sass@1.77.8)))(svelte@5.0.0-next.175)(vite@5.3.5(@types/node@20.14.14)(sass@1.77.8))
|
||||||
devalue: 5.0.0
|
devalue: 5.0.0
|
||||||
just-clone: 6.2.0
|
just-clone: 6.2.0
|
||||||
memoize-weak: 1.0.2
|
memoize-weak: 1.0.2
|
||||||
|
|
@ -8858,16 +8877,16 @@ snapshots:
|
||||||
|
|
||||||
tailwind-merge@2.4.0: {}
|
tailwind-merge@2.4.0: {}
|
||||||
|
|
||||||
tailwind-variants@0.2.1(tailwindcss@3.4.7(ts-node@10.9.2(@types/node@20.14.13)(typescript@5.5.4))):
|
tailwind-variants@0.2.1(tailwindcss@3.4.7(ts-node@10.9.2(@types/node@20.14.14)(typescript@5.5.4))):
|
||||||
dependencies:
|
dependencies:
|
||||||
tailwind-merge: 2.4.0
|
tailwind-merge: 2.4.0
|
||||||
tailwindcss: 3.4.7(ts-node@10.9.2(@types/node@20.14.13)(typescript@5.5.4))
|
tailwindcss: 3.4.7(ts-node@10.9.2(@types/node@20.14.14)(typescript@5.5.4))
|
||||||
|
|
||||||
tailwindcss-animate@1.0.7(tailwindcss@3.4.7(ts-node@10.9.2(@types/node@20.14.13)(typescript@5.5.4))):
|
tailwindcss-animate@1.0.7(tailwindcss@3.4.7(ts-node@10.9.2(@types/node@20.14.14)(typescript@5.5.4))):
|
||||||
dependencies:
|
dependencies:
|
||||||
tailwindcss: 3.4.7(ts-node@10.9.2(@types/node@20.14.13)(typescript@5.5.4))
|
tailwindcss: 3.4.7(ts-node@10.9.2(@types/node@20.14.14)(typescript@5.5.4))
|
||||||
|
|
||||||
tailwindcss@3.4.7(ts-node@10.9.2(@types/node@20.14.13)(typescript@5.5.4)):
|
tailwindcss@3.4.7(ts-node@10.9.2(@types/node@20.14.14)(typescript@5.5.4)):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@alloc/quick-lru': 5.2.0
|
'@alloc/quick-lru': 5.2.0
|
||||||
arg: 5.0.2
|
arg: 5.0.2
|
||||||
|
|
@ -8886,7 +8905,7 @@ snapshots:
|
||||||
postcss: 8.4.40
|
postcss: 8.4.40
|
||||||
postcss-import: 15.1.0(postcss@8.4.40)
|
postcss-import: 15.1.0(postcss@8.4.40)
|
||||||
postcss-js: 4.0.1(postcss@8.4.40)
|
postcss-js: 4.0.1(postcss@8.4.40)
|
||||||
postcss-load-config: 4.0.2(postcss@8.4.40)(ts-node@10.9.2(@types/node@20.14.13)(typescript@5.5.4))
|
postcss-load-config: 4.0.2(postcss@8.4.40)(ts-node@10.9.2(@types/node@20.14.14)(typescript@5.5.4))
|
||||||
postcss-nested: 6.0.1(postcss@8.4.40)
|
postcss-nested: 6.0.1(postcss@8.4.40)
|
||||||
postcss-selector-parser: 6.1.0
|
postcss-selector-parser: 6.1.0
|
||||||
resolve: 1.22.8
|
resolve: 1.22.8
|
||||||
|
|
@ -8953,14 +8972,14 @@ snapshots:
|
||||||
|
|
||||||
ts-interface-checker@0.1.13: {}
|
ts-interface-checker@0.1.13: {}
|
||||||
|
|
||||||
ts-node@10.9.2(@types/node@20.14.13)(typescript@5.5.4):
|
ts-node@10.9.2(@types/node@20.14.14)(typescript@5.5.4):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@cspotcode/source-map-support': 0.8.1
|
'@cspotcode/source-map-support': 0.8.1
|
||||||
'@tsconfig/node10': 1.0.11
|
'@tsconfig/node10': 1.0.11
|
||||||
'@tsconfig/node12': 1.0.11
|
'@tsconfig/node12': 1.0.11
|
||||||
'@tsconfig/node14': 1.0.3
|
'@tsconfig/node14': 1.0.3
|
||||||
'@tsconfig/node16': 1.0.4
|
'@tsconfig/node16': 1.0.4
|
||||||
'@types/node': 20.14.13
|
'@types/node': 20.14.14
|
||||||
acorn: 8.11.3
|
acorn: 8.11.3
|
||||||
acorn-walk: 8.3.2
|
acorn-walk: 8.3.2
|
||||||
arg: 4.1.3
|
arg: 4.1.3
|
||||||
|
|
@ -8976,7 +8995,7 @@ snapshots:
|
||||||
|
|
||||||
tslib@2.6.3: {}
|
tslib@2.6.3: {}
|
||||||
|
|
||||||
tsx@4.16.2:
|
tsx@4.16.5:
|
||||||
dependencies:
|
dependencies:
|
||||||
esbuild: 0.21.5
|
esbuild: 0.21.5
|
||||||
get-tsconfig: 4.7.5
|
get-tsconfig: 4.7.5
|
||||||
|
|
@ -9061,13 +9080,13 @@ snapshots:
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- rollup
|
- rollup
|
||||||
|
|
||||||
vite-node@1.6.0(@types/node@20.14.13)(sass@1.77.8):
|
vite-node@1.6.0(@types/node@20.14.14)(sass@1.77.8):
|
||||||
dependencies:
|
dependencies:
|
||||||
cac: 6.7.14
|
cac: 6.7.14
|
||||||
debug: 4.3.4
|
debug: 4.3.4
|
||||||
pathe: 1.1.2
|
pathe: 1.1.2
|
||||||
picocolors: 1.0.0
|
picocolors: 1.0.0
|
||||||
vite: 5.3.5(@types/node@20.14.13)(sass@1.77.8)
|
vite: 5.3.5(@types/node@20.14.14)(sass@1.77.8)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- '@types/node'
|
- '@types/node'
|
||||||
- less
|
- less
|
||||||
|
|
@ -9078,21 +9097,21 @@ snapshots:
|
||||||
- supports-color
|
- supports-color
|
||||||
- terser
|
- terser
|
||||||
|
|
||||||
vite@5.3.5(@types/node@20.14.13)(sass@1.77.8):
|
vite@5.3.5(@types/node@20.14.14)(sass@1.77.8):
|
||||||
dependencies:
|
dependencies:
|
||||||
esbuild: 0.21.5
|
esbuild: 0.21.5
|
||||||
postcss: 8.4.40
|
postcss: 8.4.40
|
||||||
rollup: 4.17.2
|
rollup: 4.17.2
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@types/node': 20.14.13
|
'@types/node': 20.14.14
|
||||||
fsevents: 2.3.3
|
fsevents: 2.3.3
|
||||||
sass: 1.77.8
|
sass: 1.77.8
|
||||||
|
|
||||||
vitefu@0.2.5(vite@5.3.5(@types/node@20.14.13)(sass@1.77.8)):
|
vitefu@0.2.5(vite@5.3.5(@types/node@20.14.14)(sass@1.77.8)):
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
vite: 5.3.5(@types/node@20.14.13)(sass@1.77.8)
|
vite: 5.3.5(@types/node@20.14.14)(sass@1.77.8)
|
||||||
|
|
||||||
vitest@1.6.0(@types/node@20.14.13)(sass@1.77.8):
|
vitest@1.6.0(@types/node@20.14.14)(sass@1.77.8):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@vitest/expect': 1.6.0
|
'@vitest/expect': 1.6.0
|
||||||
'@vitest/runner': 1.6.0
|
'@vitest/runner': 1.6.0
|
||||||
|
|
@ -9111,11 +9130,11 @@ snapshots:
|
||||||
strip-literal: 2.1.0
|
strip-literal: 2.1.0
|
||||||
tinybench: 2.8.0
|
tinybench: 2.8.0
|
||||||
tinypool: 0.8.4
|
tinypool: 0.8.4
|
||||||
vite: 5.3.5(@types/node@20.14.13)(sass@1.77.8)
|
vite: 5.3.5(@types/node@20.14.14)(sass@1.77.8)
|
||||||
vite-node: 1.6.0(@types/node@20.14.13)(sass@1.77.8)
|
vite-node: 1.6.0(@types/node@20.14.14)(sass@1.77.8)
|
||||||
why-is-node-running: 2.2.2
|
why-is-node-running: 2.2.2
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@types/node': 20.14.13
|
'@types/node': 20.14.14
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- less
|
- less
|
||||||
- lightningcss
|
- lightningcss
|
||||||
|
|
|
||||||
|
|
@ -1,22 +1,11 @@
|
||||||
// import * as Sentry from '@sentry/sveltekit';
|
|
||||||
import 'reflect-metadata'
|
|
||||||
import { hc } from 'hono/client';
|
import { hc } from 'hono/client';
|
||||||
import { sequence } from '@sveltejs/kit/hooks';
|
import { sequence } from '@sveltejs/kit/hooks';
|
||||||
import { redirect, type Handle } from '@sveltejs/kit';
|
import { redirect, type Handle } from '@sveltejs/kit';
|
||||||
import { dev } from '$app/environment';
|
import { dev } from '$app/environment';
|
||||||
import { lucia } from '$lib/server/auth';
|
|
||||||
import type { ApiRoutes } from '$lib/server/api';
|
import type { ApiRoutes } from '$lib/server/api';
|
||||||
import { parseApiResponse } from '$lib/utils/api';
|
import { parseApiResponse } from '$lib/utils/api';
|
||||||
import { StatusCodes } from '$lib/constants/status-codes';
|
import { StatusCodes } from '$lib/constants/status-codes';
|
||||||
|
|
||||||
// TODO: Fix Sentry as it is not working on SvelteKit v2
|
|
||||||
// Sentry.init({
|
|
||||||
// dsn: 'https://742e43279df93a3c4a4a78c12eb1f879@o4506057768632320.ingest.sentry.io/4506057770401792',
|
|
||||||
// tracesSampleRate: 1,
|
|
||||||
// environment: dev ? 'development' : 'production',
|
|
||||||
// enabled: !dev
|
|
||||||
// });
|
|
||||||
|
|
||||||
const apiClient: Handle = async ({ event, resolve }) => {
|
const apiClient: Handle = async ({ event, resolve }) => {
|
||||||
/* ------------------------------ Register api ------------------------------ */
|
/* ------------------------------ Register api ------------------------------ */
|
||||||
const { api } = hc<ApiRoutes>('/', {
|
const { api } = hc<ApiRoutes>('/', {
|
||||||
|
|
@ -27,14 +16,18 @@ const apiClient: Handle = async ({ event, resolve }) => {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
/* ----------------------------- Logging Request ---------------------------- */
|
||||||
|
console.log('Request Method:', event.request.method);
|
||||||
|
console.log('Request URL:', event.request.url);
|
||||||
|
|
||||||
/* ----------------------------- Auth functions ----------------------------- */
|
/* ----------------------------- Auth functions ----------------------------- */
|
||||||
async function getAuthedUser() {
|
async function getAuthedUser() {
|
||||||
const { data } = await api.iam.user.$get().then(parseApiResponse)
|
const { data } = await api.user.me.$get().then(parseApiResponse)
|
||||||
return data && data.user;
|
return data && data.user;
|
||||||
}
|
}
|
||||||
|
|
||||||
async function getAuthedUserOrThrow() {
|
async function getAuthedUserOrThrow() {
|
||||||
const { data } = await api.iam.user.$get().then(parseApiResponse);
|
const { data } = await api.user.me.$get().then(parseApiResponse);
|
||||||
if (!data || !data.user) throw redirect(StatusCodes.TEMPORARY_REDIRECT, '/');
|
if (!data || !data.user) throw redirect(StatusCodes.TEMPORARY_REDIRECT, '/');
|
||||||
return data?.user;
|
return data?.user;
|
||||||
}
|
}
|
||||||
|
|
@ -50,49 +43,4 @@ const apiClient: Handle = async ({ event, resolve }) => {
|
||||||
return response;
|
return response;
|
||||||
};
|
};
|
||||||
|
|
||||||
export const authentication: Handle = async function ({ event, resolve }) {
|
export const handle: Handle = sequence(apiClient);
|
||||||
event.locals.startTimer = Date.now();
|
|
||||||
|
|
||||||
const ip = event.request.headers.get('x-forwarded-for') as string;
|
|
||||||
const country = event.request.headers.get('x-vercel-ip-country') as string;
|
|
||||||
event.locals.ip = dev ? '127.0.0.1' : ip; // || event.getClientAddress();
|
|
||||||
event.locals.country = dev ? 'us' : country;
|
|
||||||
|
|
||||||
const sessionId = event.cookies.get(lucia.sessionCookieName);
|
|
||||||
if (!sessionId) {
|
|
||||||
event.locals.user = null;
|
|
||||||
event.locals.session = null;
|
|
||||||
return resolve(event);
|
|
||||||
}
|
|
||||||
|
|
||||||
const { session, user } = await lucia.validateSession(sessionId);
|
|
||||||
if (session && session.fresh) {
|
|
||||||
const sessionCookie = lucia.createSessionCookie(session.id);
|
|
||||||
console.log('sessionCookie', JSON.stringify(sessionCookie, null, 2));
|
|
||||||
// sveltekit types deviates from the de-facto standard, you can use 'as any' too
|
|
||||||
event.cookies.set(sessionCookie.name, sessionCookie.value, {
|
|
||||||
path: '.',
|
|
||||||
...sessionCookie.attributes,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
console.log('session from hooks', JSON.stringify(session, null, 2));
|
|
||||||
if (!session) {
|
|
||||||
const sessionCookie = lucia.createBlankSessionCookie();
|
|
||||||
console.log('blank sessionCookie', JSON.stringify(sessionCookie, null, 2));
|
|
||||||
event.cookies.set(sessionCookie.name, sessionCookie.value, {
|
|
||||||
path: '.',
|
|
||||||
...sessionCookie.attributes,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
event.locals.user = user;
|
|
||||||
event.locals.session = session;
|
|
||||||
|
|
||||||
return resolve(event);
|
|
||||||
};
|
|
||||||
|
|
||||||
export const handle: Handle = sequence(
|
|
||||||
// Sentry.sentryHandle(),
|
|
||||||
authentication,
|
|
||||||
apiClient
|
|
||||||
);
|
|
||||||
// export const handleError = Sentry.handleErrorWithSentry();
|
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
import { Hono } from 'hono';
|
import { Hono } from 'hono';
|
||||||
import { injectable } from 'tsyringe';
|
// import { injectable } from 'tsyringe';
|
||||||
import type { HonoTypes } from '../types';
|
import type { HonoTypes } from '../types';
|
||||||
import { requireAuth } from "../middleware/auth.middleware";
|
import { requireAuth } from "../middleware/auth.middleware";
|
||||||
import type { Controller } from '../interfaces/controller.interface';
|
import type { Controller } from '../interfaces/controller.interface';
|
||||||
|
|
||||||
@injectable()
|
// @injectable()
|
||||||
export class IamController implements Controller {
|
class IamController implements Controller {
|
||||||
controller = new Hono<HonoTypes>();
|
controller = new Hono<HonoTypes>();
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
|
|
@ -19,3 +19,6 @@ export class IamController implements Controller {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const iamControllerInstance = new IamController();
|
||||||
|
export default iamControllerInstance;
|
||||||
|
|
@ -1,27 +1,31 @@
|
||||||
import 'reflect-metadata';
|
// import 'reflect-metadata';
|
||||||
import { Hono } from 'hono';
|
import { Hono } from 'hono';
|
||||||
import { zValidator } from '@hono/zod-validator';
|
import { zValidator } from '@hono/zod-validator';
|
||||||
import { inject, injectable } from 'tsyringe';
|
// import { inject, injectable } from 'tsyringe';
|
||||||
import type { HonoTypes } from '../types';
|
import type { HonoTypes } from '../types';
|
||||||
import { limiter } from '../middleware/rate-limiter.middleware';
|
import { limiter } from '../middleware/rate-limiter.middleware';
|
||||||
import type { Controller } from '../interfaces/controller.interface';
|
import type { Controller } from '../interfaces/controller.interface';
|
||||||
import { signInEmailDto } from '$lib/dtos/signin-email.dto';
|
import { signInEmailDto } from '$lib/dtos/signin-email.dto';
|
||||||
import { LoginRequestsService } from '../services/loginrequest.service';
|
import { loginRequestsService } from '../services/loginrequest.service';
|
||||||
|
// import { LoginRequestsService } from '../services/loginrequest.service';
|
||||||
|
|
||||||
@injectable()
|
// @injectable()
|
||||||
export class LoginController implements Controller {
|
class LoginController implements Controller {
|
||||||
controller = new Hono<HonoTypes>();
|
controller = new Hono<HonoTypes>();
|
||||||
|
|
||||||
constructor(
|
// constructor(
|
||||||
@inject(LoginRequestsService) private readonly loginRequestsService: LoginRequestsService
|
// @inject(LoginRequestsService) private readonly loginRequestsService: LoginRequestsService
|
||||||
) { }
|
// ) { }
|
||||||
|
|
||||||
routes() {
|
routes() {
|
||||||
return this.controller
|
return this.controller
|
||||||
.post('/', zValidator('json', signInEmailDto), limiter({ limit: 10, minutes: 60 }), async (c) => {
|
.post('/', zValidator('json', signInEmailDto), limiter({ limit: 10, minutes: 60 }), async (c) => {
|
||||||
const { username, password } = c.req.valid('json');
|
const { username, password } = c.req.valid('json');
|
||||||
await this.loginRequestsService.verify({ username, password }, c.req);
|
await loginRequestsService.verify({ username, password }, c.req);
|
||||||
return c.json({ message: 'Verification email sent' });
|
return c.json({ message: 'Verification email sent' });
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const loginControllerInstance = new LoginController();
|
||||||
|
export default loginControllerInstance;
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,12 @@
|
||||||
import 'reflect-metadata';
|
// import 'reflect-metadata';
|
||||||
import { Hono } from 'hono';
|
import { Hono } from 'hono';
|
||||||
import { injectable } from 'tsyringe';
|
// import { injectable } from 'tsyringe';
|
||||||
import { requireAuth } from "../middleware/auth.middleware";
|
import { requireAuth } from "../middleware/auth.middleware";
|
||||||
import type { HonoTypes } from '../types';
|
import type { HonoTypes } from '../types';
|
||||||
import type { Controller } from '../interfaces/controller.interface';
|
import type { Controller } from '../interfaces/controller.interface';
|
||||||
|
|
||||||
@injectable()
|
// @injectable()
|
||||||
export class UserController implements Controller {
|
class UserController implements Controller {
|
||||||
controller = new Hono<HonoTypes>();
|
controller = new Hono<HonoTypes>();
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
|
|
@ -24,3 +24,5 @@ export class UserController implements Controller {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const userControllerInstance = new UserController();
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,13 @@
|
||||||
import 'reflect-metadata'
|
// import 'reflect-metadata'
|
||||||
import { Hono } from 'hono';
|
import { Hono } from 'hono';
|
||||||
import { hc } from 'hono/client';
|
import { hc } from 'hono/client';
|
||||||
import { cors } from 'hono/cors';
|
import { cors } from 'hono/cors';
|
||||||
import { logger } from 'hono/logger';
|
import { logger } from 'hono/logger';
|
||||||
import { validateAuthSession, verifyOrigin } from './middleware/auth.middleware';
|
import { validateAuthSession, verifyOrigin } from './middleware/auth.middleware';
|
||||||
import { config } from './common/config';
|
import { config } from './common/config';
|
||||||
import { container } from 'tsyringe';
|
// import { container } from 'tsyringe';
|
||||||
import { IamController } from './controllers/iam.controller';
|
import iamControllerInstance from './controllers/iam.controller';
|
||||||
import { LoginController } from './controllers/login.controller';
|
import loginControllerInstance from './controllers/login.controller';
|
||||||
|
|
||||||
/* ----------------------------------- Api ---------------------------------- */
|
/* ----------------------------------- Api ---------------------------------- */
|
||||||
const app = new Hono().basePath('/api');
|
const app = new Hono().basePath('/api');
|
||||||
|
|
@ -34,8 +34,10 @@ app.use(
|
||||||
|
|
||||||
/* --------------------------------- Routes --------------------------------- */
|
/* --------------------------------- Routes --------------------------------- */
|
||||||
const routes = app
|
const routes = app
|
||||||
.route('/user', container.resolve(IamController).routes())
|
// .route('/user', container.resolve(IamController).routes())
|
||||||
.route('/login', container.resolve(LoginController).routes())
|
// .route('/login', container.resolve(LoginController).routes())
|
||||||
|
.route('/user', iamControllerInstance.routes())
|
||||||
|
.route('/login', loginControllerInstance.routes())
|
||||||
.get('/', (c) => c.json({ message: 'Server is healthy' }));
|
.get('/', (c) => c.json({ message: 'Server is healthy' }));
|
||||||
|
|
||||||
/* -------------------------------------------------------------------------- */
|
/* -------------------------------------------------------------------------- */
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
import { container } from 'tsyringe';
|
// import { container } from 'tsyringe';
|
||||||
import { db } from '../infrastructure/database';
|
// import { db } from '../infrastructure/database';
|
||||||
|
|
||||||
// Symbol
|
// // Symbol
|
||||||
export const DatabaseProvider = Symbol('DATABASE_TOKEN');
|
// export const DatabaseProvider = Symbol('DATABASE_TOKEN');
|
||||||
|
|
||||||
// Type
|
// // Type
|
||||||
export type DatabaseProvider = typeof db;
|
// export type DatabaseProvider = typeof db;
|
||||||
|
|
||||||
// Register
|
// // Register
|
||||||
container.register<DatabaseProvider>(DatabaseProvider, { useValue: db });
|
// container.register<DatabaseProvider>(DatabaseProvider, { useValue: db });
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
export * from './database.provider';
|
// export * from './database.provider';
|
||||||
export * from './lucia.provider';
|
// export * from './lucia.provider';
|
||||||
export * from './redis.provider';
|
// export * from './redis.provider';
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
import { container } from 'tsyringe';
|
// import { container } from 'tsyringe';
|
||||||
import { lucia } from '../infrastructure/auth/lucia';
|
// import { lucia } from '../infrastructure/auth/lucia';
|
||||||
|
|
||||||
// Symbol
|
// // Symbol
|
||||||
export const LuciaProvider = Symbol('LUCIA_PROVIDER');
|
// export const LuciaProvider = Symbol('LUCIA_PROVIDER');
|
||||||
|
|
||||||
// Type
|
// // Type
|
||||||
export type LuciaProvider = typeof lucia;
|
// export type LuciaProvider = typeof lucia;
|
||||||
|
|
||||||
// Register
|
// // Register
|
||||||
container.register<LuciaProvider>(LuciaProvider, { useValue: lucia });
|
// container.register<LuciaProvider>(LuciaProvider, { useValue: lucia });
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,14 @@
|
||||||
import { container } from 'tsyringe';
|
// import { container } from 'tsyringe';
|
||||||
import RedisClient from 'ioredis'
|
// import RedisClient from 'ioredis'
|
||||||
import { config } from '../common/config';
|
// import { config } from '../common/config';
|
||||||
|
|
||||||
// Symbol
|
// // Symbol
|
||||||
export const RedisProvider = Symbol('REDIS_TOKEN');
|
// export const RedisProvider = Symbol('REDIS_TOKEN');
|
||||||
|
|
||||||
// Type
|
// // Type
|
||||||
export type RedisProvider = RedisClient;
|
// export type RedisProvider = RedisClient;
|
||||||
|
|
||||||
// Register
|
// // Register
|
||||||
container.register<RedisProvider>(RedisProvider, {
|
// container.register<RedisProvider>(RedisProvider, {
|
||||||
useValue: new RedisClient(config.REDIS_URL)
|
// useValue: new RedisClient(config.REDIS_URL)
|
||||||
});
|
// });
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ import { takeFirstOrThrow } from "../infrastructure/database/utils";
|
||||||
export type CreateCredentials = InferInsertModel<typeof credentialsTable>;
|
export type CreateCredentials = InferInsertModel<typeof credentialsTable>;
|
||||||
export type UpdateCredentials = Partial<CreateCredentials>;
|
export type UpdateCredentials = Partial<CreateCredentials>;
|
||||||
|
|
||||||
export class CredentialsRepository {
|
class CredentialsRepository {
|
||||||
|
|
||||||
async findOneByUserId(userId: string) {
|
async findOneByUserId(userId: string) {
|
||||||
return db.query.credentialsTable.findFirst({
|
return db.query.credentialsTable.findFirst({
|
||||||
|
|
@ -57,3 +57,5 @@ export class CredentialsRepository {
|
||||||
.then(takeFirstOrThrow);
|
.then(takeFirstOrThrow);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const credentialsRepository = new CredentialsRepository();
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ storing data. They should not contain any business logic, only database queries.
|
||||||
export type CreateUser = InferInsertModel<typeof usersTable>;
|
export type CreateUser = InferInsertModel<typeof usersTable>;
|
||||||
export type UpdateUser = Partial<CreateUser>;
|
export type UpdateUser = Partial<CreateUser>;
|
||||||
|
|
||||||
export class UsersRepository {
|
class UsersRepository {
|
||||||
async findOneById(id: string) {
|
async findOneById(id: string) {
|
||||||
return db.query.usersTable.findFirst({
|
return db.query.usersTable.findFirst({
|
||||||
where: eq(usersTable.id, id)
|
where: eq(usersTable.id, id)
|
||||||
|
|
@ -60,3 +60,5 @@ export class UsersRepository {
|
||||||
.then(takeFirstOrThrow);
|
.then(takeFirstOrThrow);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const usersRepository = new UsersRepository();
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
import { injectable } from "tsyringe";
|
// import { injectable } from "tsyringe";
|
||||||
import { Argon2id } from "oslo/password";
|
import { Argon2id } from "oslo/password";
|
||||||
|
|
||||||
/* ---------------------------------- Note ---------------------------------- */
|
/* ---------------------------------- Note ---------------------------------- */
|
||||||
|
|
@ -20,8 +20,8 @@ node_modules/.pnpm/@node-rs+argon2@1.7.0/node_modules/@node-rs/argon2/index.js:1
|
||||||
/* -------------------------------------------------------------------------- */
|
/* -------------------------------------------------------------------------- */
|
||||||
// If you don't use a hasher from oslo, which are preconfigured with recommended parameters from OWASP,
|
// If you don't use a hasher from oslo, which are preconfigured with recommended parameters from OWASP,
|
||||||
// ensure that you configure them properly.
|
// ensure that you configure them properly.
|
||||||
@injectable()
|
// @injectable()
|
||||||
export class HashingService {
|
class HashingService {
|
||||||
private readonly hasher = new Argon2id();
|
private readonly hasher = new Argon2id();
|
||||||
|
|
||||||
async hash(data: string) {
|
async hash(data: string) {
|
||||||
|
|
@ -32,3 +32,5 @@ export class HashingService {
|
||||||
return this.hasher.verify(hash, data)
|
return this.hasher.verify(hash, data)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const hashingService = new HashingService()
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
import { inject, injectable } from 'tsyringe';
|
// import { inject, injectable } from 'tsyringe';
|
||||||
|
import { lucia } from '../infrastructure/auth/lucia';
|
||||||
import { LuciaProvider } from '../providers/lucia.provider';
|
import { LuciaProvider } from '../providers/lucia.provider';
|
||||||
|
|
||||||
/* -------------------------------------------------------------------------- */
|
/* -------------------------------------------------------------------------- */
|
||||||
|
|
@ -18,13 +19,13 @@ Create private functions to handle complex logic and keep the public methods as
|
||||||
simple as possible. This makes the service easier to read, test and understand.
|
simple as possible. This makes the service easier to read, test and understand.
|
||||||
*/
|
*/
|
||||||
/* -------------------------------------------------------------------------- */
|
/* -------------------------------------------------------------------------- */
|
||||||
@injectable()
|
// @injectable()
|
||||||
export class IamService {
|
export class IamService {
|
||||||
constructor(
|
// constructor(
|
||||||
@inject(LuciaProvider) private readonly lucia: LuciaProvider,
|
// @inject(LuciaProvider) private readonly lucia: LuciaProvider,
|
||||||
) { }
|
// ) { }
|
||||||
|
|
||||||
async logout(sessionId: string) {
|
async logout(sessionId: string) {
|
||||||
return this.lucia.invalidateSession(sessionId);
|
return lucia.invalidateSession(sessionId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,24 +1,28 @@
|
||||||
import { inject, injectable } from 'tsyringe';
|
// import { inject, injectable } from 'tsyringe';
|
||||||
import { BadRequest } from '../common/errors';
|
import { BadRequest } from '../common/errors';
|
||||||
import { DatabaseProvider } from '../providers';
|
// import { DatabaseProvider } from '../providers';
|
||||||
import { MailerService } from './mailer.service';
|
// import { MailerService } from './mailer.service';
|
||||||
import { TokensService } from './tokens.service';
|
// import { TokensService } from './tokens.service';
|
||||||
import { LuciaProvider } from '../providers/lucia.provider';
|
// import { LuciaProvider } from '../providers/lucia.provider';
|
||||||
import { UsersRepository } from '../repositories/users.repository';
|
// import { UsersRepository } from '../repositories/users.repository';
|
||||||
import type { SignInEmailDto } from '../../../dtos/signin-email.dto';
|
import type { SignInEmailDto } from '../../../dtos/signin-email.dto';
|
||||||
import { CredentialsRepository } from '../repositories/credentials.repository';
|
|
||||||
import type { HonoRequest } from 'hono';
|
import type { HonoRequest } from 'hono';
|
||||||
|
import { credentialsRepository } from '../repositories/credentials.repository';
|
||||||
|
import { usersRepository } from '../repositories/users.repository';
|
||||||
|
import { lucia } from '../infrastructure/auth/lucia';
|
||||||
|
import { tokensService } from './tokens.service';
|
||||||
|
import { mailerService } from './mailer.service';
|
||||||
|
|
||||||
@injectable()
|
// @injectable()
|
||||||
export class LoginRequestsService {
|
class LoginRequestsService {
|
||||||
constructor(
|
// constructor(
|
||||||
@inject(LuciaProvider) private readonly lucia: LuciaProvider,
|
// @inject(LuciaProvider) private readonly lucia: LuciaProvider,
|
||||||
@inject(DatabaseProvider) private readonly db: DatabaseProvider,
|
// @inject(DatabaseProvider) private readonly db: DatabaseProvider,
|
||||||
@inject(TokensService) private readonly tokensService: TokensService,
|
// @inject(TokensService) private readonly tokensService: TokensService,
|
||||||
@inject(MailerService) private readonly mailerService: MailerService,
|
// @inject(MailerService) private readonly mailerService: MailerService,
|
||||||
@inject(UsersRepository) private readonly usersRepository: UsersRepository,
|
// @inject(UsersRepository) private readonly usersRepository: UsersRepository,
|
||||||
@inject(CredentialsRepository) private readonly credentialsRepository: CredentialsRepository,
|
// @inject(CredentialsRepository) private readonly credentialsRepository: CredentialsRepository,
|
||||||
) { }
|
// ) { }
|
||||||
|
|
||||||
// async create(data: RegisterEmailDto) {
|
// async create(data: RegisterEmailDto) {
|
||||||
// // generate a token, expiry date, and hash
|
// // generate a token, expiry date, and hash
|
||||||
|
|
@ -35,25 +39,25 @@ export class LoginRequestsService {
|
||||||
async verify(data: SignInEmailDto, req: HonoRequest) {
|
async verify(data: SignInEmailDto, req: HonoRequest) {
|
||||||
const requestIpAddress = req.header('x-real-ip');
|
const requestIpAddress = req.header('x-real-ip');
|
||||||
const requestIpCountry = req.header('x-vercel-ip-country');
|
const requestIpCountry = req.header('x-vercel-ip-country');
|
||||||
const existingUser = await this.usersRepository.findOneByUsername(data.username);
|
const existingUser = await usersRepository.findOneByUsername(data.username);
|
||||||
|
|
||||||
if (!existingUser) {
|
if (!existingUser) {
|
||||||
throw BadRequest('User not found');
|
throw BadRequest('User not found');
|
||||||
}
|
}
|
||||||
|
|
||||||
const credential = await this.credentialsRepository.findPasswordCredentialsByUserId(existingUser.id);
|
const credential = await credentialsRepository.findPasswordCredentialsByUserId(existingUser.id);
|
||||||
|
|
||||||
if (!credential) {
|
if (!credential) {
|
||||||
throw BadRequest('Invalid credentials');
|
throw BadRequest('Invalid credentials');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!await this.tokensService.verifyHashedToken(credential.hashedPassword, data.password)) {
|
if (!await tokensService.verifyHashedToken(credential.hashedPassword, data.password)) {
|
||||||
throw BadRequest('Invalid credentials');
|
throw BadRequest('Invalid credentials');
|
||||||
}
|
}
|
||||||
|
|
||||||
const totpCredentials = await this.credentialsRepository.findTOTPCredentialsByUserId(existingUser.id);
|
const totpCredentials = await credentialsRepository.findTOTPCredentialsByUserId(existingUser.id);
|
||||||
|
|
||||||
return this.lucia.createSession(existingUser.id, {
|
return lucia.createSession(existingUser.id, {
|
||||||
ip_country: requestIpCountry || 'unknown',
|
ip_country: requestIpCountry || 'unknown',
|
||||||
ip_address: requestIpAddress || 'unknown',
|
ip_address: requestIpAddress || 'unknown',
|
||||||
twoFactorAuthEnabled:
|
twoFactorAuthEnabled:
|
||||||
|
|
@ -66,8 +70,8 @@ export class LoginRequestsService {
|
||||||
|
|
||||||
// Create a new user and send a welcome email - or other onboarding process
|
// Create a new user and send a welcome email - or other onboarding process
|
||||||
private async handleNewUserRegistration(email: string) {
|
private async handleNewUserRegistration(email: string) {
|
||||||
const newUser = await this.usersRepository.create({ email, verified: true, avatar: null })
|
const newUser = await usersRepository.create({ email, verified: true, avatar: null })
|
||||||
this.mailerService.sendWelcome({ to: email, props: null });
|
mailerService.sendWelcome({ to: email, props: null });
|
||||||
// TODO: add whatever onboarding process or extra data you need here
|
// TODO: add whatever onboarding process or extra data you need here
|
||||||
return newUser
|
return newUser
|
||||||
}
|
}
|
||||||
|
|
@ -89,3 +93,5 @@ export class LoginRequestsService {
|
||||||
// })
|
// })
|
||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const loginRequestsService = new LoginRequestsService();
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ import path from 'path';
|
||||||
import nodemailer from 'nodemailer';
|
import nodemailer from 'nodemailer';
|
||||||
import handlebars from 'handlebars';
|
import handlebars from 'handlebars';
|
||||||
import { fileURLToPath } from 'url';
|
import { fileURLToPath } from 'url';
|
||||||
import { injectable } from 'tsyringe';
|
// import { injectable } from 'tsyringe';
|
||||||
|
|
||||||
/* -------------------------------------------------------------------------- */
|
/* -------------------------------------------------------------------------- */
|
||||||
/* Service */
|
/* Service */
|
||||||
|
|
@ -34,8 +34,8 @@ type SendTemplate<T> = {
|
||||||
props: T;
|
props: T;
|
||||||
};
|
};
|
||||||
|
|
||||||
@injectable()
|
// @injectable()
|
||||||
export class MailerService {
|
class MailerService {
|
||||||
private nodemailer = nodemailer.createTransport({
|
private nodemailer = nodemailer.createTransport({
|
||||||
host: 'smtp.ethereal.email',
|
host: 'smtp.ethereal.email',
|
||||||
port: 587,
|
port: 587,
|
||||||
|
|
@ -102,3 +102,5 @@ export class MailerService {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const mailerService = new MailerService();
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,13 @@
|
||||||
import { injectable } from "tsyringe";
|
// import { injectable } from "tsyringe";
|
||||||
import RedisClient from 'ioredis'
|
import RedisClient from 'ioredis'
|
||||||
import { config } from "../common/config";
|
import { config } from "../common/config";
|
||||||
import { Queue, Worker, type Processor } from 'bullmq';
|
import { Queue, Worker, type Processor } from 'bullmq';
|
||||||
|
|
||||||
@injectable()
|
// @injectable()
|
||||||
export class QueuesServices {
|
export class QueuesServices {
|
||||||
connection = new RedisClient(config.REDIS_URL);
|
connection = new RedisClient(config.REDIS_URL);
|
||||||
|
|
||||||
constructor() { }
|
// constructor() { }
|
||||||
|
|
||||||
createQueue(name: string) {
|
createQueue(name: string) {
|
||||||
return new Queue(name, { connection: this.connection })
|
return new Queue(name, { connection: this.connection })
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
import { inject, injectable } from "tsyringe";
|
// import { inject, injectable } from "tsyringe";
|
||||||
import { generateRandomString } from "oslo/crypto";
|
import { generateRandomString } from "oslo/crypto";
|
||||||
import { TimeSpan, createDate, type TimeSpanUnit } from 'oslo';
|
import { TimeSpan, createDate, type TimeSpanUnit } from 'oslo';
|
||||||
import { HashingService } from "./hashing.service";
|
import { hashingService } from "./hashing.service";
|
||||||
|
|
||||||
@injectable()
|
// @injectable()
|
||||||
export class TokensService {
|
class TokensService {
|
||||||
constructor(@inject(HashingService) private readonly hashingService: HashingService) { }
|
// constructor(@inject(HashingService) private readonly hashingService: HashingService) { }
|
||||||
|
|
||||||
generateToken() {
|
generateToken() {
|
||||||
const alphabet = '23456789ACDEFGHJKLMNPQRSTUVWXYZ'; // alphabet with removed look-alike characters (0, 1, O, I)
|
const alphabet = '23456789ACDEFGHJKLMNPQRSTUVWXYZ'; // alphabet with removed look-alike characters (0, 1, O, I)
|
||||||
|
|
@ -21,7 +21,7 @@ export class TokensService {
|
||||||
|
|
||||||
async generateTokenWithExpiryAndHash(number: number, lifespan: TimeSpanUnit) {
|
async generateTokenWithExpiryAndHash(number: number, lifespan: TimeSpanUnit) {
|
||||||
const token = this.generateToken()
|
const token = this.generateToken()
|
||||||
const hashedToken = await this.hashingService.hash(token)
|
const hashedToken = await hashingService.hash(token)
|
||||||
return {
|
return {
|
||||||
token,
|
token,
|
||||||
hashedToken,
|
hashedToken,
|
||||||
|
|
@ -30,6 +30,8 @@ export class TokensService {
|
||||||
}
|
}
|
||||||
|
|
||||||
async verifyHashedToken(hashedToken: string, token: string) {
|
async verifyHashedToken(hashedToken: string, token: string) {
|
||||||
return this.hashingService.verify(hashedToken, token)
|
return hashingService.verify(hashedToken, token)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const tokensService = new TokensService()
|
||||||
|
|
@ -1,17 +1,19 @@
|
||||||
import { inject, injectable } from 'tsyringe';
|
// import { inject, injectable } from 'tsyringe';
|
||||||
import type { UsersRepository } from '../repositories/users.repository';
|
// import type { UsersRepository } from '../repositories/users.repository';
|
||||||
|
|
||||||
@injectable()
|
import { usersRepository } from "../repositories/users.repository";
|
||||||
|
|
||||||
|
// @injectable()
|
||||||
export class UsersService {
|
export class UsersService {
|
||||||
constructor(
|
// constructor(
|
||||||
@inject('UsersRepository') private readonly usersRepository: UsersRepository
|
// @inject('UsersRepository') private readonly usersRepository: UsersRepository
|
||||||
) { }
|
// ) { }
|
||||||
|
|
||||||
async findOneByUsername(username: string) {
|
async findOneByUsername(username: string) {
|
||||||
return this.usersRepository.findOneByUsername(username);
|
return usersRepository.findOneByUsername(username);
|
||||||
}
|
}
|
||||||
|
|
||||||
async findOneById(id: string) {
|
async findOneById(id: string) {
|
||||||
return this.usersRepository.findOneById(id);
|
return usersRepository.findOneById(id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
// import { dev } from '$app/environment';
|
import { dev } from '$app/environment';
|
||||||
|
|
||||||
// // we don't need any JS on this page, though we'll load
|
// we don't need any JS on this page, though we'll load
|
||||||
// // it in dev so that we get hot module replacement...
|
// it in dev so that we get hot module replacement...
|
||||||
// export const csr = dev;
|
export const csr = dev;
|
||||||
|
|
||||||
// // since there's no dynamic data here, we can prerender
|
// since there's no dynamic data here, we can prerender
|
||||||
// // it so that it gets served as a static asset in prod
|
// it so that it gets served as a static asset in prod
|
||||||
// export const prerender = true;
|
export const prerender = true;
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
// export const prerender = true;
|
export const prerender = true;
|
||||||
|
|
@ -1 +1 @@
|
||||||
// export const prerender = true;
|
export const prerender = true;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
import 'reflect-metadata'
|
// import 'reflect-metadata'
|
||||||
import adapter from '@sveltejs/adapter-vercel';
|
import adapter from '@sveltejs/adapter-vercel';
|
||||||
import { vitePreprocess } from '@sveltejs/vite-plugin-svelte';
|
import { vitePreprocess } from '@sveltejs/vite-plugin-svelte';
|
||||||
import { preprocessMeltUI } from '@melt-ui/pp';
|
import { preprocessMeltUI } from '@melt-ui/pp';
|
||||||
|
|
|
||||||
|
|
@ -1,41 +0,0 @@
|
||||||
// vite.config.ts
|
|
||||||
import { sveltekit } from "file:///home/bshellnu/projects/websites/boredgame/node_modules/.pnpm/@sveltejs+kit@2.5.18_@sveltejs+vite-plugin-svelte@3.1.1_svelte@5.0.0-next.175_vite@5.3.5_@typ_ps3ubydtq463bedtodypwfb5fu/node_modules/@sveltejs/kit/src/exports/vite/index.js";
|
|
||||||
import { defineConfig } from "file:///home/bshellnu/projects/websites/boredgame/node_modules/.pnpm/vite@5.3.5_@types+node@20.14.13_sass@1.77.8/node_modules/vite/dist/node/index.js";
|
|
||||||
var vite_config_default = defineConfig({
|
|
||||||
plugins: [
|
|
||||||
// sentrySvelteKit({
|
|
||||||
// sourceMapsUploadOptions: {
|
|
||||||
// org: process.env.SENTRY_ORG,
|
|
||||||
// project: process.env.SENTRY_PROJECT,
|
|
||||||
// authToken: process.env.SENTRY_AUTH_TOKEN,
|
|
||||||
// cleanArtifacts: true,
|
|
||||||
// }
|
|
||||||
// }),
|
|
||||||
sveltekit()
|
|
||||||
],
|
|
||||||
test: {
|
|
||||||
include: ["src/**/*.{test,spec}.{js,ts}"]
|
|
||||||
},
|
|
||||||
css: {
|
|
||||||
devSourcemap: true,
|
|
||||||
preprocessorOptions: {
|
|
||||||
postcss: {
|
|
||||||
additionalData: `
|
|
||||||
@custom-media --below_small (width < 400px);
|
|
||||||
@custom-media --below_med (width < 700px);
|
|
||||||
@custom-media --below_large (width < 900px);
|
|
||||||
@custom-media --below_xlarge (width < 1200px);
|
|
||||||
|
|
||||||
@custom-media --above_small (width > 400px);
|
|
||||||
@custom-media --above_med (width > 700px);
|
|
||||||
@custom-media --above_large (width > 900px);
|
|
||||||
@custom-media --above_xlarge (width > 1200px);
|
|
||||||
`
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
export {
|
|
||||||
vite_config_default as default
|
|
||||||
};
|
|
||||||
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCIvaG9tZS9ic2hlbGxudS9wcm9qZWN0cy93ZWJzaXRlcy9ib3JlZGdhbWVcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIi9ob21lL2JzaGVsbG51L3Byb2plY3RzL3dlYnNpdGVzL2JvcmVkZ2FtZS92aXRlLmNvbmZpZy50c1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vaG9tZS9ic2hlbGxudS9wcm9qZWN0cy93ZWJzaXRlcy9ib3JlZGdhbWUvdml0ZS5jb25maWcudHNcIjsvLyBpbXBvcnQgeyBzZW50cnlTdmVsdGVLaXQgfSBmcm9tIFwiQHNlbnRyeS9zdmVsdGVraXRcIjtcbmltcG9ydCB7IHN2ZWx0ZWtpdCB9IGZyb20gJ0BzdmVsdGVqcy9raXQvdml0ZSc7XG5pbXBvcnQgeyBkZWZpbmVDb25maWcgfSBmcm9tICd2aXRlJztcblxuLy8gVE9ETzogRml4IFNlbnRyeVxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lQ29uZmlnKHtcblx0cGx1Z2luczogW1xuXHRcdC8vIHNlbnRyeVN2ZWx0ZUtpdCh7XG5cdFx0Ly8gXHRzb3VyY2VNYXBzVXBsb2FkT3B0aW9uczoge1xuXHRcdC8vIFx0XHRvcmc6IHByb2Nlc3MuZW52LlNFTlRSWV9PUkcsXG5cdFx0Ly8gXHRcdHByb2plY3Q6IHByb2Nlc3MuZW52LlNFTlRSWV9QUk9KRUNULFxuXHRcdC8vIFx0XHRhdXRoVG9rZW46IHByb2Nlc3MuZW52LlNFTlRSWV9BVVRIX1RPS0VOLFxuXHRcdC8vIFx0XHRjbGVhbkFydGlmYWN0czogdHJ1ZSxcblx0XHQvLyBcdH1cblx0XHQvLyB9KSxcblx0XHRzdmVsdGVraXQoKVxuXHRdLFxuXHR0ZXN0OiB7XG5cdFx0aW5jbHVkZTogWydzcmMvKiovKi57dGVzdCxzcGVjfS57anMsdHN9J11cblx0fSxcblx0Y3NzOiB7XG5cdFx0ZGV2U291cmNlbWFwOiB0cnVlLFxuXHRcdHByZXByb2Nlc3Nvck9wdGlvbnM6IHtcblx0XHRcdHBvc3Rjc3M6IHtcblx0XHRcdFx0YWRkaXRpb25hbERhdGE6IGBcblx0XHRcdFx0QGN1c3RvbS1tZWRpYSAtLWJlbG93X3NtYWxsICh3aWR0aCA8IDQwMHB4KTtcblx0XHRcdFx0QGN1c3RvbS1tZWRpYSAtLWJlbG93X21lZCAod2lkdGggPCA3MDBweCk7XG5cdFx0XHRcdEBjdXN0b20tbWVkaWEgLS1iZWxvd19sYXJnZSAod2lkdGggPCA5MDBweCk7XG5cdFx0XHRcdEBjdXN0b20tbWVkaWEgLS1iZWxvd194bGFyZ2UgKHdpZHRoIDwgMTIwMHB4KTtcblxuXHRcdFx0XHRAY3VzdG9tLW1lZGlhIC0tYWJvdmVfc21hbGwgKHdpZHRoID4gNDAwcHgpO1xuXHRcdFx0XHRAY3VzdG9tLW1lZGlhIC0tYWJvdmVfbWVkICh3aWR0aCA+IDcwMHB4KTtcblx0XHRcdFx0QGN1c3RvbS1tZWRpYSAtLWFib3ZlX2xhcmdlICh3aWR0aCA+IDkwMHB4KTtcblx0XHRcdFx0QGN1c3RvbS1tZWRpYSAtLWFib3ZlX3hsYXJnZSAod2lkdGggPiAxMjAwcHgpO1xuXHRcdFx0XHRgXG5cdFx0XHR9XG5cdFx0fVxuXHR9LFxufSk7XG4iXSwKICAibWFwcGluZ3MiOiAiO0FBQ0EsU0FBUyxpQkFBaUI7QUFDMUIsU0FBUyxvQkFBb0I7QUFHN0IsSUFBTyxzQkFBUSxhQUFhO0FBQUEsRUFDM0IsU0FBUztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxJQVNSLFVBQVU7QUFBQSxFQUNYO0FBQUEsRUFDQSxNQUFNO0FBQUEsSUFDTCxTQUFTLENBQUMsOEJBQThCO0FBQUEsRUFDekM7QUFBQSxFQUNBLEtBQUs7QUFBQSxJQUNKLGNBQWM7QUFBQSxJQUNkLHFCQUFxQjtBQUFBLE1BQ3BCLFNBQVM7QUFBQSxRQUNSLGdCQUFnQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsTUFXakI7QUFBQSxJQUNEO0FBQUEsRUFDRDtBQUNELENBQUM7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
||||||
Loading…
Reference in a new issue