mirror of
https://github.com/BradNut/boredgame
synced 2025-09-08 17:40:22 +00:00
Adding not null to games columns, fixing TOTP form, and fixing TOTP verifying.
This commit is contained in:
parent
2609c28619
commit
36aa0636a3
13 changed files with 4814 additions and 223 deletions
12
package.json
12
package.json
|
|
@ -32,11 +32,11 @@
|
|||
"@types/cookie": "^0.6.0",
|
||||
"@types/node": "^20.14.2",
|
||||
"@types/pg": "^8.11.6",
|
||||
"@typescript-eslint/eslint-plugin": "^7.8.0",
|
||||
"@typescript-eslint/parser": "^7.8.0",
|
||||
"@typescript-eslint/eslint-plugin": "^7.12.0",
|
||||
"@typescript-eslint/parser": "^7.12.0",
|
||||
"autoprefixer": "^10.4.19",
|
||||
"dotenv": "^16.4.5",
|
||||
"drizzle-kit": "^0.22.4",
|
||||
"drizzle-kit": "^0.22.6",
|
||||
"eslint": "^8.57.0",
|
||||
"eslint-config-prettier": "^9.1.0",
|
||||
"eslint-plugin-svelte": "^2.39.0",
|
||||
|
|
@ -63,9 +63,9 @@
|
|||
"tailwindcss": "^3.4.4",
|
||||
"ts-node": "^10.9.2",
|
||||
"tslib": "^2.6.3",
|
||||
"tsx": "^4.12.0",
|
||||
"tsx": "^4.14.1",
|
||||
"typescript": "^5.4.5",
|
||||
"vite": "^5.2.12",
|
||||
"vite": "^5.2.13",
|
||||
"vitest": "^1.6.0",
|
||||
"zod": "^3.23.8"
|
||||
},
|
||||
|
|
@ -90,7 +90,7 @@
|
|||
"class-variance-authority": "^0.7.0",
|
||||
"clsx": "^2.1.1",
|
||||
"cookie": "^0.6.0",
|
||||
"drizzle-orm": "^0.31.1",
|
||||
"drizzle-orm": "^0.31.2",
|
||||
"feather-icons": "^4.29.2",
|
||||
"formsnap": "^1.0.0",
|
||||
"html-entities": "^2.5.2",
|
||||
|
|
|
|||
240
pnpm-lock.yaml
240
pnpm-lock.yaml
|
|
@ -31,7 +31,7 @@ importers:
|
|||
version: 2.2.2
|
||||
'@sveltejs/adapter-vercel':
|
||||
specifier: ^5.3.1
|
||||
version: 5.3.1(@sveltejs/kit@2.5.10(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.2.12(@types/node@20.14.2)(sass@1.77.4)))(svelte@4.2.18)(vite@5.2.12(@types/node@20.14.2)(sass@1.77.4)))
|
||||
version: 5.3.1(@sveltejs/kit@2.5.10(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.2.13(@types/node@20.14.2)(sass@1.77.4)))(svelte@4.2.18)(vite@5.2.13(@types/node@20.14.2)(sass@1.77.4)))
|
||||
'@types/feather-icons':
|
||||
specifier: ^4.29.4
|
||||
version: 4.29.4
|
||||
|
|
@ -54,14 +54,14 @@ importers:
|
|||
specifier: ^0.6.0
|
||||
version: 0.6.0
|
||||
drizzle-orm:
|
||||
specifier: ^0.31.1
|
||||
version: 0.31.1(@neondatabase/serverless@0.9.3)(@types/pg@8.11.6)(pg@8.12.0)(postgres@3.4.4)
|
||||
specifier: ^0.31.2
|
||||
version: 0.31.2(@neondatabase/serverless@0.9.3)(@types/pg@8.11.6)(pg@8.12.0)(postgres@3.4.4)
|
||||
feather-icons:
|
||||
specifier: ^4.29.2
|
||||
version: 4.29.2
|
||||
formsnap:
|
||||
specifier: ^1.0.0
|
||||
version: 1.0.0(svelte@4.2.18)(sveltekit-superforms@2.14.0(@sveltejs/kit@2.5.10(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.2.12(@types/node@20.14.2)(sass@1.77.4)))(svelte@4.2.18)(vite@5.2.12(@types/node@20.14.2)(sass@1.77.4)))(@types/json-schema@7.0.15)(esbuild-runner@2.2.2(esbuild@0.19.12))(esbuild@0.19.12)(svelte@4.2.18))
|
||||
version: 1.0.0(svelte@4.2.18)(sveltekit-superforms@2.14.0(@sveltejs/kit@2.5.10(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.2.13(@types/node@20.14.2)(sass@1.77.4)))(svelte@4.2.18)(vite@5.2.13(@types/node@20.14.2)(sass@1.77.4)))(@types/json-schema@7.0.15)(esbuild-runner@2.2.2(esbuild@0.19.12))(esbuild@0.19.12)(svelte@4.2.18))
|
||||
html-entities:
|
||||
specifier: ^2.5.2
|
||||
version: 2.5.2
|
||||
|
|
@ -134,16 +134,16 @@ importers:
|
|||
version: 2.6.2
|
||||
'@sveltejs/adapter-auto':
|
||||
specifier: ^3.2.1
|
||||
version: 3.2.1(@sveltejs/kit@2.5.10(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.2.12(@types/node@20.14.2)(sass@1.77.4)))(svelte@4.2.18)(vite@5.2.12(@types/node@20.14.2)(sass@1.77.4)))
|
||||
version: 3.2.1(@sveltejs/kit@2.5.10(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.2.13(@types/node@20.14.2)(sass@1.77.4)))(svelte@4.2.18)(vite@5.2.13(@types/node@20.14.2)(sass@1.77.4)))
|
||||
'@sveltejs/enhanced-img':
|
||||
specifier: ^0.2.1
|
||||
version: 0.2.1(rollup@4.18.0)(svelte@4.2.18)
|
||||
'@sveltejs/kit':
|
||||
specifier: ^2.5.10
|
||||
version: 2.5.10(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.2.12(@types/node@20.14.2)(sass@1.77.4)))(svelte@4.2.18)(vite@5.2.12(@types/node@20.14.2)(sass@1.77.4))
|
||||
version: 2.5.10(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.2.13(@types/node@20.14.2)(sass@1.77.4)))(svelte@4.2.18)(vite@5.2.13(@types/node@20.14.2)(sass@1.77.4))
|
||||
'@sveltejs/vite-plugin-svelte':
|
||||
specifier: ^3.1.1
|
||||
version: 3.1.1(svelte@4.2.18)(vite@5.2.12(@types/node@20.14.2)(sass@1.77.4))
|
||||
version: 3.1.1(svelte@4.2.18)(vite@5.2.13(@types/node@20.14.2)(sass@1.77.4))
|
||||
'@types/cookie':
|
||||
specifier: ^0.6.0
|
||||
version: 0.6.0
|
||||
|
|
@ -154,11 +154,11 @@ importers:
|
|||
specifier: ^8.11.6
|
||||
version: 8.11.6
|
||||
'@typescript-eslint/eslint-plugin':
|
||||
specifier: ^7.8.0
|
||||
version: 7.8.0(@typescript-eslint/parser@7.8.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5)
|
||||
specifier: ^7.12.0
|
||||
version: 7.12.0(@typescript-eslint/parser@7.12.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5)
|
||||
'@typescript-eslint/parser':
|
||||
specifier: ^7.8.0
|
||||
version: 7.8.0(eslint@8.57.0)(typescript@5.4.5)
|
||||
specifier: ^7.12.0
|
||||
version: 7.12.0(eslint@8.57.0)(typescript@5.4.5)
|
||||
autoprefixer:
|
||||
specifier: ^10.4.19
|
||||
version: 10.4.19(postcss@8.4.38)
|
||||
|
|
@ -166,8 +166,8 @@ importers:
|
|||
specifier: ^16.4.5
|
||||
version: 16.4.5
|
||||
drizzle-kit:
|
||||
specifier: ^0.22.4
|
||||
version: 0.22.4
|
||||
specifier: ^0.22.6
|
||||
version: 0.22.6
|
||||
eslint:
|
||||
specifier: ^8.57.0
|
||||
version: 8.57.0
|
||||
|
|
@ -191,7 +191,7 @@ importers:
|
|||
version: 16.1.0(postcss@8.4.38)
|
||||
postcss-load-config:
|
||||
specifier: ^5.1.0
|
||||
version: 5.1.0(jiti@1.21.3)(postcss@8.4.38)(tsx@4.12.0)
|
||||
version: 5.1.0(jiti@1.21.3)(postcss@8.4.38)(tsx@4.14.1)
|
||||
postcss-preset-env:
|
||||
specifier: ^9.5.14
|
||||
version: 9.5.14(postcss@8.4.38)
|
||||
|
|
@ -215,7 +215,7 @@ importers:
|
|||
version: 4.2.18
|
||||
svelte-check:
|
||||
specifier: ^3.8.0
|
||||
version: 3.8.0(postcss-load-config@5.1.0(jiti@1.21.3)(postcss@8.4.38)(tsx@4.12.0))(postcss@8.4.38)(sass@1.77.4)(svelte@4.2.18)
|
||||
version: 3.8.0(postcss-load-config@5.1.0(jiti@1.21.3)(postcss@8.4.38)(tsx@4.14.1))(postcss@8.4.38)(sass@1.77.4)(svelte@4.2.18)
|
||||
svelte-headless-table:
|
||||
specifier: ^0.18.2
|
||||
version: 0.18.2(svelte@4.2.18)
|
||||
|
|
@ -224,19 +224,19 @@ importers:
|
|||
version: 3.1.2(svelte@4.2.18)(typescript@5.4.5)
|
||||
svelte-preprocess:
|
||||
specifier: ^5.1.4
|
||||
version: 5.1.4(postcss-load-config@5.1.0(jiti@1.21.3)(postcss@8.4.38)(tsx@4.12.0))(postcss@8.4.38)(sass@1.77.4)(svelte@4.2.18)(typescript@5.4.5)
|
||||
version: 5.1.4(postcss-load-config@5.1.0(jiti@1.21.3)(postcss@8.4.38)(tsx@4.14.1))(postcss@8.4.38)(sass@1.77.4)(svelte@4.2.18)(typescript@5.4.5)
|
||||
svelte-sequential-preprocessor:
|
||||
specifier: ^2.0.1
|
||||
version: 2.0.1
|
||||
sveltekit-flash-message:
|
||||
specifier: ^2.4.4
|
||||
version: 2.4.4(@sveltejs/kit@2.5.10(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.2.12(@types/node@20.14.2)(sass@1.77.4)))(svelte@4.2.18)(vite@5.2.12(@types/node@20.14.2)(sass@1.77.4)))(svelte@4.2.18)
|
||||
version: 2.4.4(@sveltejs/kit@2.5.10(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.2.13(@types/node@20.14.2)(sass@1.77.4)))(svelte@4.2.18)(vite@5.2.13(@types/node@20.14.2)(sass@1.77.4)))(svelte@4.2.18)
|
||||
sveltekit-rate-limiter:
|
||||
specifier: ^0.5.1
|
||||
version: 0.5.1(@sveltejs/kit@2.5.10(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.2.12(@types/node@20.14.2)(sass@1.77.4)))(svelte@4.2.18)(vite@5.2.12(@types/node@20.14.2)(sass@1.77.4)))
|
||||
version: 0.5.1(@sveltejs/kit@2.5.10(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.2.13(@types/node@20.14.2)(sass@1.77.4)))(svelte@4.2.18)(vite@5.2.13(@types/node@20.14.2)(sass@1.77.4)))
|
||||
sveltekit-superforms:
|
||||
specifier: ^2.14.0
|
||||
version: 2.14.0(@sveltejs/kit@2.5.10(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.2.12(@types/node@20.14.2)(sass@1.77.4)))(svelte@4.2.18)(vite@5.2.12(@types/node@20.14.2)(sass@1.77.4)))(@types/json-schema@7.0.15)(esbuild-runner@2.2.2(esbuild@0.19.12))(esbuild@0.19.12)(svelte@4.2.18)
|
||||
version: 2.14.0(@sveltejs/kit@2.5.10(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.2.13(@types/node@20.14.2)(sass@1.77.4)))(svelte@4.2.18)(vite@5.2.13(@types/node@20.14.2)(sass@1.77.4)))(@types/json-schema@7.0.15)(esbuild-runner@2.2.2(esbuild@0.19.12))(esbuild@0.19.12)(svelte@4.2.18)
|
||||
tailwindcss:
|
||||
specifier: ^3.4.4
|
||||
version: 3.4.4(ts-node@10.9.2(@types/node@20.14.2)(typescript@5.4.5))
|
||||
|
|
@ -247,14 +247,14 @@ importers:
|
|||
specifier: ^2.6.3
|
||||
version: 2.6.3
|
||||
tsx:
|
||||
specifier: ^4.12.0
|
||||
version: 4.12.0
|
||||
specifier: ^4.14.1
|
||||
version: 4.14.1
|
||||
typescript:
|
||||
specifier: ^5.4.5
|
||||
version: 5.4.5
|
||||
vite:
|
||||
specifier: ^5.2.12
|
||||
version: 5.2.12(@types/node@20.14.2)(sass@1.77.4)
|
||||
specifier: ^5.2.13
|
||||
version: 5.2.13(@types/node@20.14.2)(sass@1.77.4)
|
||||
vitest:
|
||||
specifier: ^1.6.0
|
||||
version: 1.6.0(@types/node@20.14.2)(sass@1.77.4)
|
||||
|
|
@ -1763,14 +1763,11 @@ packages:
|
|||
'@types/pug@2.0.10':
|
||||
resolution: {integrity: sha512-Sk/uYFOBAB7mb74XcpizmH0KOR2Pv3D2Hmrh1Dmy5BmK3MpdSa5kqZcg6EKBdklU0bFXX9gCfzvpnyUehrPIuA==}
|
||||
|
||||
'@types/semver@7.5.8':
|
||||
resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==}
|
||||
|
||||
'@types/validator@13.11.9':
|
||||
resolution: {integrity: sha512-FCTsikRozryfayPuiI46QzH3fnrOoctTjvOYZkho9BTFLCOZ2rgZJHMOVgCOfttjPJcgOx52EpkY0CMfy87MIw==}
|
||||
|
||||
'@typescript-eslint/eslint-plugin@7.8.0':
|
||||
resolution: {integrity: sha512-gFTT+ezJmkwutUPmB0skOj3GZJtlEGnlssems4AjkVweUPGj7jRwwqg0Hhg7++kPGJqKtTYx+R05Ftww372aIg==}
|
||||
'@typescript-eslint/eslint-plugin@7.12.0':
|
||||
resolution: {integrity: sha512-7F91fcbuDf/d3S8o21+r3ZncGIke/+eWk0EpO21LXhDfLahriZF9CGj4fbAetEjlaBdjdSm9a6VeXbpbT6Z40Q==}
|
||||
engines: {node: ^18.18.0 || >=20.0.0}
|
||||
peerDependencies:
|
||||
'@typescript-eslint/parser': ^7.0.0
|
||||
|
|
@ -1780,8 +1777,8 @@ packages:
|
|||
typescript:
|
||||
optional: true
|
||||
|
||||
'@typescript-eslint/parser@7.8.0':
|
||||
resolution: {integrity: sha512-KgKQly1pv0l4ltcftP59uQZCi4HUYswCLbTqVZEJu7uLX8CTLyswqMLqLN+2QFz4jCptqWVV4SB7vdxcH2+0kQ==}
|
||||
'@typescript-eslint/parser@7.12.0':
|
||||
resolution: {integrity: sha512-dm/J2UDY3oV3TKius2OUZIFHsomQmpHtsV0FTh1WO8EKgHLQ1QCADUqscPgTpU+ih1e21FQSRjXckHn3txn6kQ==}
|
||||
engines: {node: ^18.18.0 || >=20.0.0}
|
||||
peerDependencies:
|
||||
eslint: ^8.56.0
|
||||
|
|
@ -1790,12 +1787,12 @@ packages:
|
|||
typescript:
|
||||
optional: true
|
||||
|
||||
'@typescript-eslint/scope-manager@7.8.0':
|
||||
resolution: {integrity: sha512-viEmZ1LmwsGcnr85gIq+FCYI7nO90DVbE37/ll51hjv9aG+YZMb4WDE2fyWpUR4O/UrhGRpYXK/XajcGTk2B8g==}
|
||||
'@typescript-eslint/scope-manager@7.12.0':
|
||||
resolution: {integrity: sha512-itF1pTnN6F3unPak+kutH9raIkL3lhH1YRPGgt7QQOh43DQKVJXmWkpb+vpc/TiDHs6RSd9CTbDsc/Y+Ygq7kg==}
|
||||
engines: {node: ^18.18.0 || >=20.0.0}
|
||||
|
||||
'@typescript-eslint/type-utils@7.8.0':
|
||||
resolution: {integrity: sha512-H70R3AefQDQpz9mGv13Uhi121FNMh+WEaRqcXTX09YEDky21km4dV1ZXJIp8QjXc4ZaVkXVdohvWDzbnbHDS+A==}
|
||||
'@typescript-eslint/type-utils@7.12.0':
|
||||
resolution: {integrity: sha512-lib96tyRtMhLxwauDWUp/uW3FMhLA6D0rJ8T7HmH7x23Gk1Gwwu8UZ94NMXBvOELn6flSPiBrCKlehkiXyaqwA==}
|
||||
engines: {node: ^18.18.0 || >=20.0.0}
|
||||
peerDependencies:
|
||||
eslint: ^8.56.0
|
||||
|
|
@ -1804,12 +1801,12 @@ packages:
|
|||
typescript:
|
||||
optional: true
|
||||
|
||||
'@typescript-eslint/types@7.8.0':
|
||||
resolution: {integrity: sha512-wf0peJ+ZGlcH+2ZS23aJbOv+ztjeeP8uQ9GgwMJGVLx/Nj9CJt17GWgWWoSmoRVKAX2X+7fzEnAjxdvK2gqCLw==}
|
||||
'@typescript-eslint/types@7.12.0':
|
||||
resolution: {integrity: sha512-o+0Te6eWp2ppKY3mLCU+YA9pVJxhUJE15FV7kxuD9jgwIAa+w/ycGJBMrYDTpVGUM/tgpa9SeMOugSabWFq7bg==}
|
||||
engines: {node: ^18.18.0 || >=20.0.0}
|
||||
|
||||
'@typescript-eslint/typescript-estree@7.8.0':
|
||||
resolution: {integrity: sha512-5pfUCOwK5yjPaJQNy44prjCwtr981dO8Qo9J9PwYXZ0MosgAbfEMB008dJ5sNo3+/BN6ytBPuSvXUg9SAqB0dg==}
|
||||
'@typescript-eslint/typescript-estree@7.12.0':
|
||||
resolution: {integrity: sha512-5bwqLsWBULv1h6pn7cMW5dXX/Y2amRqLaKqsASVwbBHMZSnHqE/HN4vT4fE0aFsiwxYvr98kqOWh1a8ZKXalCQ==}
|
||||
engines: {node: ^18.18.0 || >=20.0.0}
|
||||
peerDependencies:
|
||||
typescript: '*'
|
||||
|
|
@ -1817,14 +1814,14 @@ packages:
|
|||
typescript:
|
||||
optional: true
|
||||
|
||||
'@typescript-eslint/utils@7.8.0':
|
||||
resolution: {integrity: sha512-L0yFqOCflVqXxiZyXrDr80lnahQfSOfc9ELAAZ75sqicqp2i36kEZZGuUymHNFoYOqxRT05up760b4iGsl02nQ==}
|
||||
'@typescript-eslint/utils@7.12.0':
|
||||
resolution: {integrity: sha512-Y6hhwxwDx41HNpjuYswYp6gDbkiZ8Hin9Bf5aJQn1bpTs3afYY4GX+MPYxma8jtoIV2GRwTM/UJm/2uGCVv+DQ==}
|
||||
engines: {node: ^18.18.0 || >=20.0.0}
|
||||
peerDependencies:
|
||||
eslint: ^8.56.0
|
||||
|
||||
'@typescript-eslint/visitor-keys@7.8.0':
|
||||
resolution: {integrity: sha512-q4/gibTNBQNA0lGyYQCmWRS5D15n8rXh4QjK3KV+MBPlTYHpfBUT3D3PaPR/HeNiI9W6R7FvlkcGhNyAoP+caA==}
|
||||
'@typescript-eslint/visitor-keys@7.12.0':
|
||||
resolution: {integrity: sha512-uZk7DevrQLL3vSnfFl5bj4sL75qC9D6EdjemIdbtkuUmIheWpuiiylSY01JxJE7+zGrOWDZrp1WxOuDntvKrHQ==}
|
||||
engines: {node: ^18.18.0 || >=20.0.0}
|
||||
|
||||
'@ungap/structured-clone@1.2.0':
|
||||
|
|
@ -2245,12 +2242,12 @@ packages:
|
|||
resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==}
|
||||
engines: {node: '>=12'}
|
||||
|
||||
drizzle-kit@0.22.4:
|
||||
resolution: {integrity: sha512-jsiYGqHsbsP/GtM26y/bGK7je1ja+1H/RniCt1ovg2E7tMNraw6XdqKcjxHhb8FonCfDDjvwFgouRsZS46vrmA==}
|
||||
drizzle-kit@0.22.6:
|
||||
resolution: {integrity: sha512-TE4mBMeVJvySjYxwKeUOMrzytFSKnpMyp6kBnm+aascu9P+hCMrGvnJhOAO94C3wmt144CoHZQWQCOoP/EFl8A==}
|
||||
hasBin: true
|
||||
|
||||
drizzle-orm@0.31.1:
|
||||
resolution: {integrity: sha512-hTbYne2XX3y6sV7WSxcPH6/vNSiQSUG9VZsFI27jBMCN0OT3Ok7ao3pIT5OMAqWkzJCRFgGjAaUeTAZWPgOKag==}
|
||||
drizzle-orm@0.31.2:
|
||||
resolution: {integrity: sha512-QnenevbnnAzmbNzQwbhklvIYrDE8YER8K7kSrAWQSV1YvFCdSQPzj+jzqRdTSsV2cDqSpQ0NXGyL1G9I43LDLg==}
|
||||
peerDependencies:
|
||||
'@aws-sdk/client-rds-data': '>=3'
|
||||
'@cloudflare/workers-types': '>=3'
|
||||
|
|
@ -2260,6 +2257,7 @@ packages:
|
|||
'@op-engineering/op-sqlite': '>=2'
|
||||
'@opentelemetry/api': ^1.4.1
|
||||
'@planetscale/database': '>=1'
|
||||
'@tidbcloud/serverless': '*'
|
||||
'@types/better-sqlite3': '*'
|
||||
'@types/pg': '*'
|
||||
'@types/react': '>=18'
|
||||
|
|
@ -2294,6 +2292,8 @@ packages:
|
|||
optional: true
|
||||
'@planetscale/database':
|
||||
optional: true
|
||||
'@tidbcloud/serverless':
|
||||
optional: true
|
||||
'@types/better-sqlite3':
|
||||
optional: true
|
||||
'@types/pg':
|
||||
|
|
@ -3939,8 +3939,8 @@ packages:
|
|||
tslib@2.6.3:
|
||||
resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==}
|
||||
|
||||
tsx@4.12.0:
|
||||
resolution: {integrity: sha512-642NAWAbDqPZINjmL32Lh/B+pd8vbVj6LHPsWm09IIHqQuWhCrNfcPTjRlHFWvv3FfM4vt9NLReBIjUNj5ZhDg==}
|
||||
tsx@4.14.1:
|
||||
resolution: {integrity: sha512-GU8pPJq8DdxcJDSK6Bc64c2jW8zBK2hb0jzwHZDfjapbwu6AqvFnAElnzZ17Xb9TH5a/j6/sicTCVYF+eO/cmA==}
|
||||
engines: {node: '>=18.0.0'}
|
||||
hasBin: true
|
||||
|
||||
|
|
@ -4011,8 +4011,8 @@ packages:
|
|||
engines: {node: ^18.0.0 || >=20.0.0}
|
||||
hasBin: true
|
||||
|
||||
vite@5.2.12:
|
||||
resolution: {integrity: sha512-/gC8GxzxMK5ntBwb48pR32GGhENnjtY30G4A0jemunsBkiEZFw60s8InGpN8gkhHEkjnRK1aSAxeQgwvFhUHAA==}
|
||||
vite@5.2.13:
|
||||
resolution: {integrity: sha512-SSq1noJfY9pR3I1TUENL3rQYDQCFqgD+lM6fTRAM8Nv6Lsg5hDLaXkjETVeBt+7vZBCMoibD+6IWnT2mJ+Zb/A==}
|
||||
engines: {node: ^18.0.0 || >=20.0.0}
|
||||
hasBin: true
|
||||
peerDependencies:
|
||||
|
|
@ -5256,14 +5256,14 @@ snapshots:
|
|||
'@sodaru/yup-to-json-schema@2.0.1':
|
||||
optional: true
|
||||
|
||||
'@sveltejs/adapter-auto@3.2.1(@sveltejs/kit@2.5.10(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.2.12(@types/node@20.14.2)(sass@1.77.4)))(svelte@4.2.18)(vite@5.2.12(@types/node@20.14.2)(sass@1.77.4)))':
|
||||
'@sveltejs/adapter-auto@3.2.1(@sveltejs/kit@2.5.10(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.2.13(@types/node@20.14.2)(sass@1.77.4)))(svelte@4.2.18)(vite@5.2.13(@types/node@20.14.2)(sass@1.77.4)))':
|
||||
dependencies:
|
||||
'@sveltejs/kit': 2.5.10(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.2.12(@types/node@20.14.2)(sass@1.77.4)))(svelte@4.2.18)(vite@5.2.12(@types/node@20.14.2)(sass@1.77.4))
|
||||
'@sveltejs/kit': 2.5.10(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.2.13(@types/node@20.14.2)(sass@1.77.4)))(svelte@4.2.18)(vite@5.2.13(@types/node@20.14.2)(sass@1.77.4))
|
||||
import-meta-resolve: 4.1.0
|
||||
|
||||
'@sveltejs/adapter-vercel@5.3.1(@sveltejs/kit@2.5.10(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.2.12(@types/node@20.14.2)(sass@1.77.4)))(svelte@4.2.18)(vite@5.2.12(@types/node@20.14.2)(sass@1.77.4)))':
|
||||
'@sveltejs/adapter-vercel@5.3.1(@sveltejs/kit@2.5.10(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.2.13(@types/node@20.14.2)(sass@1.77.4)))(svelte@4.2.18)(vite@5.2.13(@types/node@20.14.2)(sass@1.77.4)))':
|
||||
dependencies:
|
||||
'@sveltejs/kit': 2.5.10(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.2.12(@types/node@20.14.2)(sass@1.77.4)))(svelte@4.2.18)(vite@5.2.12(@types/node@20.14.2)(sass@1.77.4))
|
||||
'@sveltejs/kit': 2.5.10(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.2.13(@types/node@20.14.2)(sass@1.77.4)))(svelte@4.2.18)(vite@5.2.13(@types/node@20.14.2)(sass@1.77.4))
|
||||
'@vercel/nft': 0.27.1
|
||||
esbuild: 0.20.2
|
||||
transitivePeerDependencies:
|
||||
|
|
@ -5279,9 +5279,9 @@ snapshots:
|
|||
- rollup
|
||||
- svelte
|
||||
|
||||
'@sveltejs/kit@2.5.10(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.2.12(@types/node@20.14.2)(sass@1.77.4)))(svelte@4.2.18)(vite@5.2.12(@types/node@20.14.2)(sass@1.77.4))':
|
||||
'@sveltejs/kit@2.5.10(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.2.13(@types/node@20.14.2)(sass@1.77.4)))(svelte@4.2.18)(vite@5.2.13(@types/node@20.14.2)(sass@1.77.4))':
|
||||
dependencies:
|
||||
'@sveltejs/vite-plugin-svelte': 3.1.1(svelte@4.2.18)(vite@5.2.12(@types/node@20.14.2)(sass@1.77.4))
|
||||
'@sveltejs/vite-plugin-svelte': 3.1.1(svelte@4.2.18)(vite@5.2.13(@types/node@20.14.2)(sass@1.77.4))
|
||||
'@types/cookie': 0.6.0
|
||||
cookie: 0.6.0
|
||||
devalue: 5.0.0
|
||||
|
|
@ -5295,28 +5295,28 @@ snapshots:
|
|||
sirv: 2.0.4
|
||||
svelte: 4.2.18
|
||||
tiny-glob: 0.2.9
|
||||
vite: 5.2.12(@types/node@20.14.2)(sass@1.77.4)
|
||||
vite: 5.2.13(@types/node@20.14.2)(sass@1.77.4)
|
||||
|
||||
'@sveltejs/vite-plugin-svelte-inspector@2.1.0(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.2.12(@types/node@20.14.2)(sass@1.77.4)))(svelte@4.2.18)(vite@5.2.12(@types/node@20.14.2)(sass@1.77.4))':
|
||||
'@sveltejs/vite-plugin-svelte-inspector@2.1.0(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.2.13(@types/node@20.14.2)(sass@1.77.4)))(svelte@4.2.18)(vite@5.2.13(@types/node@20.14.2)(sass@1.77.4))':
|
||||
dependencies:
|
||||
'@sveltejs/vite-plugin-svelte': 3.1.1(svelte@4.2.18)(vite@5.2.12(@types/node@20.14.2)(sass@1.77.4))
|
||||
'@sveltejs/vite-plugin-svelte': 3.1.1(svelte@4.2.18)(vite@5.2.13(@types/node@20.14.2)(sass@1.77.4))
|
||||
debug: 4.3.4
|
||||
svelte: 4.2.18
|
||||
vite: 5.2.12(@types/node@20.14.2)(sass@1.77.4)
|
||||
vite: 5.2.13(@types/node@20.14.2)(sass@1.77.4)
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.2.12(@types/node@20.14.2)(sass@1.77.4))':
|
||||
'@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.2.13(@types/node@20.14.2)(sass@1.77.4))':
|
||||
dependencies:
|
||||
'@sveltejs/vite-plugin-svelte-inspector': 2.1.0(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.2.12(@types/node@20.14.2)(sass@1.77.4)))(svelte@4.2.18)(vite@5.2.12(@types/node@20.14.2)(sass@1.77.4))
|
||||
'@sveltejs/vite-plugin-svelte-inspector': 2.1.0(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.2.13(@types/node@20.14.2)(sass@1.77.4)))(svelte@4.2.18)(vite@5.2.13(@types/node@20.14.2)(sass@1.77.4))
|
||||
debug: 4.3.4
|
||||
deepmerge: 4.3.1
|
||||
kleur: 4.1.5
|
||||
magic-string: 0.30.10
|
||||
svelte: 4.2.18
|
||||
svelte-hmr: 0.16.0(svelte@4.2.18)
|
||||
vite: 5.2.12(@types/node@20.14.2)(sass@1.77.4)
|
||||
vitefu: 0.2.5(vite@5.2.12(@types/node@20.14.2)(sass@1.77.4))
|
||||
vite: 5.2.13(@types/node@20.14.2)(sass@1.77.4)
|
||||
vitefu: 0.2.5(vite@5.2.13(@types/node@20.14.2)(sass@1.77.4))
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
|
|
@ -5343,7 +5343,8 @@ snapshots:
|
|||
|
||||
'@types/feather-icons@4.29.4': {}
|
||||
|
||||
'@types/json-schema@7.0.15': {}
|
||||
'@types/json-schema@7.0.15':
|
||||
optional: true
|
||||
|
||||
'@types/node@20.14.2':
|
||||
dependencies:
|
||||
|
|
@ -5357,37 +5358,33 @@ snapshots:
|
|||
|
||||
'@types/pug@2.0.10': {}
|
||||
|
||||
'@types/semver@7.5.8': {}
|
||||
|
||||
'@types/validator@13.11.9':
|
||||
optional: true
|
||||
|
||||
'@typescript-eslint/eslint-plugin@7.8.0(@typescript-eslint/parser@7.8.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5)':
|
||||
'@typescript-eslint/eslint-plugin@7.12.0(@typescript-eslint/parser@7.12.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5)':
|
||||
dependencies:
|
||||
'@eslint-community/regexpp': 4.10.0
|
||||
'@typescript-eslint/parser': 7.8.0(eslint@8.57.0)(typescript@5.4.5)
|
||||
'@typescript-eslint/scope-manager': 7.8.0
|
||||
'@typescript-eslint/type-utils': 7.8.0(eslint@8.57.0)(typescript@5.4.5)
|
||||
'@typescript-eslint/utils': 7.8.0(eslint@8.57.0)(typescript@5.4.5)
|
||||
'@typescript-eslint/visitor-keys': 7.8.0
|
||||
debug: 4.3.4
|
||||
'@typescript-eslint/parser': 7.12.0(eslint@8.57.0)(typescript@5.4.5)
|
||||
'@typescript-eslint/scope-manager': 7.12.0
|
||||
'@typescript-eslint/type-utils': 7.12.0(eslint@8.57.0)(typescript@5.4.5)
|
||||
'@typescript-eslint/utils': 7.12.0(eslint@8.57.0)(typescript@5.4.5)
|
||||
'@typescript-eslint/visitor-keys': 7.12.0
|
||||
eslint: 8.57.0
|
||||
graphemer: 1.4.0
|
||||
ignore: 5.3.1
|
||||
natural-compare: 1.4.0
|
||||
semver: 7.6.1
|
||||
ts-api-utils: 1.3.0(typescript@5.4.5)
|
||||
optionalDependencies:
|
||||
typescript: 5.4.5
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@typescript-eslint/parser@7.8.0(eslint@8.57.0)(typescript@5.4.5)':
|
||||
'@typescript-eslint/parser@7.12.0(eslint@8.57.0)(typescript@5.4.5)':
|
||||
dependencies:
|
||||
'@typescript-eslint/scope-manager': 7.8.0
|
||||
'@typescript-eslint/types': 7.8.0
|
||||
'@typescript-eslint/typescript-estree': 7.8.0(typescript@5.4.5)
|
||||
'@typescript-eslint/visitor-keys': 7.8.0
|
||||
'@typescript-eslint/scope-manager': 7.12.0
|
||||
'@typescript-eslint/types': 7.12.0
|
||||
'@typescript-eslint/typescript-estree': 7.12.0(typescript@5.4.5)
|
||||
'@typescript-eslint/visitor-keys': 7.12.0
|
||||
debug: 4.3.4
|
||||
eslint: 8.57.0
|
||||
optionalDependencies:
|
||||
|
|
@ -5395,16 +5392,16 @@ snapshots:
|
|||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@typescript-eslint/scope-manager@7.8.0':
|
||||
'@typescript-eslint/scope-manager@7.12.0':
|
||||
dependencies:
|
||||
'@typescript-eslint/types': 7.8.0
|
||||
'@typescript-eslint/visitor-keys': 7.8.0
|
||||
'@typescript-eslint/types': 7.12.0
|
||||
'@typescript-eslint/visitor-keys': 7.12.0
|
||||
|
||||
'@typescript-eslint/type-utils@7.8.0(eslint@8.57.0)(typescript@5.4.5)':
|
||||
'@typescript-eslint/type-utils@7.12.0(eslint@8.57.0)(typescript@5.4.5)':
|
||||
dependencies:
|
||||
'@typescript-eslint/typescript-estree': 7.8.0(typescript@5.4.5)
|
||||
'@typescript-eslint/utils': 7.8.0(eslint@8.57.0)(typescript@5.4.5)
|
||||
debug: 4.3.4
|
||||
'@typescript-eslint/typescript-estree': 7.12.0(typescript@5.4.5)
|
||||
'@typescript-eslint/utils': 7.12.0(eslint@8.57.0)(typescript@5.4.5)
|
||||
debug: 4.3.5
|
||||
eslint: 8.57.0
|
||||
ts-api-utils: 1.3.0(typescript@5.4.5)
|
||||
optionalDependencies:
|
||||
|
|
@ -5412,40 +5409,37 @@ snapshots:
|
|||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@typescript-eslint/types@7.8.0': {}
|
||||
'@typescript-eslint/types@7.12.0': {}
|
||||
|
||||
'@typescript-eslint/typescript-estree@7.8.0(typescript@5.4.5)':
|
||||
'@typescript-eslint/typescript-estree@7.12.0(typescript@5.4.5)':
|
||||
dependencies:
|
||||
'@typescript-eslint/types': 7.8.0
|
||||
'@typescript-eslint/visitor-keys': 7.8.0
|
||||
'@typescript-eslint/types': 7.12.0
|
||||
'@typescript-eslint/visitor-keys': 7.12.0
|
||||
debug: 4.3.4
|
||||
globby: 11.1.0
|
||||
is-glob: 4.0.3
|
||||
minimatch: 9.0.4
|
||||
semver: 7.6.1
|
||||
semver: 7.6.2
|
||||
ts-api-utils: 1.3.0(typescript@5.4.5)
|
||||
optionalDependencies:
|
||||
typescript: 5.4.5
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
'@typescript-eslint/utils@7.8.0(eslint@8.57.0)(typescript@5.4.5)':
|
||||
'@typescript-eslint/utils@7.12.0(eslint@8.57.0)(typescript@5.4.5)':
|
||||
dependencies:
|
||||
'@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
|
||||
'@types/json-schema': 7.0.15
|
||||
'@types/semver': 7.5.8
|
||||
'@typescript-eslint/scope-manager': 7.8.0
|
||||
'@typescript-eslint/types': 7.8.0
|
||||
'@typescript-eslint/typescript-estree': 7.8.0(typescript@5.4.5)
|
||||
'@typescript-eslint/scope-manager': 7.12.0
|
||||
'@typescript-eslint/types': 7.12.0
|
||||
'@typescript-eslint/typescript-estree': 7.12.0(typescript@5.4.5)
|
||||
eslint: 8.57.0
|
||||
semver: 7.6.1
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
- typescript
|
||||
|
||||
'@typescript-eslint/visitor-keys@7.8.0':
|
||||
'@typescript-eslint/visitor-keys@7.12.0':
|
||||
dependencies:
|
||||
'@typescript-eslint/types': 7.8.0
|
||||
'@typescript-eslint/types': 7.12.0
|
||||
eslint-visitor-keys: 3.4.3
|
||||
|
||||
'@ungap/structured-clone@1.2.0': {}
|
||||
|
|
@ -5858,7 +5852,7 @@ snapshots:
|
|||
|
||||
dotenv@16.4.5: {}
|
||||
|
||||
drizzle-kit@0.22.4:
|
||||
drizzle-kit@0.22.6:
|
||||
dependencies:
|
||||
'@esbuild-kit/esm-loader': 2.6.5
|
||||
esbuild: 0.19.12
|
||||
|
|
@ -5866,7 +5860,7 @@ snapshots:
|
|||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
drizzle-orm@0.31.1(@neondatabase/serverless@0.9.3)(@types/pg@8.11.6)(pg@8.12.0)(postgres@3.4.4):
|
||||
drizzle-orm@0.31.2(@neondatabase/serverless@0.9.3)(@types/pg@8.11.6)(pg@8.12.0)(postgres@3.4.4):
|
||||
optionalDependencies:
|
||||
'@neondatabase/serverless': 0.9.3
|
||||
'@types/pg': 8.11.6
|
||||
|
|
@ -6172,11 +6166,11 @@ snapshots:
|
|||
cross-spawn: 7.0.3
|
||||
signal-exit: 4.1.0
|
||||
|
||||
formsnap@1.0.0(svelte@4.2.18)(sveltekit-superforms@2.14.0(@sveltejs/kit@2.5.10(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.2.12(@types/node@20.14.2)(sass@1.77.4)))(svelte@4.2.18)(vite@5.2.12(@types/node@20.14.2)(sass@1.77.4)))(@types/json-schema@7.0.15)(esbuild-runner@2.2.2(esbuild@0.19.12))(esbuild@0.19.12)(svelte@4.2.18)):
|
||||
formsnap@1.0.0(svelte@4.2.18)(sveltekit-superforms@2.14.0(@sveltejs/kit@2.5.10(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.2.13(@types/node@20.14.2)(sass@1.77.4)))(svelte@4.2.18)(vite@5.2.13(@types/node@20.14.2)(sass@1.77.4)))(@types/json-schema@7.0.15)(esbuild-runner@2.2.2(esbuild@0.19.12))(esbuild@0.19.12)(svelte@4.2.18)):
|
||||
dependencies:
|
||||
nanoid: 5.0.7
|
||||
svelte: 4.2.18
|
||||
sveltekit-superforms: 2.14.0(@sveltejs/kit@2.5.10(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.2.12(@types/node@20.14.2)(sass@1.77.4)))(svelte@4.2.18)(vite@5.2.12(@types/node@20.14.2)(sass@1.77.4)))(@types/json-schema@7.0.15)(esbuild-runner@2.2.2(esbuild@0.19.12))(esbuild@0.19.12)(svelte@4.2.18)
|
||||
sveltekit-superforms: 2.14.0(@sveltejs/kit@2.5.10(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.2.13(@types/node@20.14.2)(sass@1.77.4)))(svelte@4.2.18)(vite@5.2.13(@types/node@20.14.2)(sass@1.77.4)))(@types/json-schema@7.0.15)(esbuild-runner@2.2.2(esbuild@0.19.12))(esbuild@0.19.12)(svelte@4.2.18)
|
||||
|
||||
fraction.js@4.3.7: {}
|
||||
|
||||
|
|
@ -6889,14 +6883,14 @@ snapshots:
|
|||
postcss: 8.4.38
|
||||
ts-node: 10.9.2(@types/node@20.14.2)(typescript@5.4.5)
|
||||
|
||||
postcss-load-config@5.1.0(jiti@1.21.3)(postcss@8.4.38)(tsx@4.12.0):
|
||||
postcss-load-config@5.1.0(jiti@1.21.3)(postcss@8.4.38)(tsx@4.14.1):
|
||||
dependencies:
|
||||
lilconfig: 3.1.1
|
||||
yaml: 2.4.2
|
||||
optionalDependencies:
|
||||
jiti: 1.21.3
|
||||
postcss: 8.4.38
|
||||
tsx: 4.12.0
|
||||
tsx: 4.14.1
|
||||
|
||||
postcss-logical@7.0.1(postcss@8.4.38):
|
||||
dependencies:
|
||||
|
|
@ -7385,7 +7379,7 @@ snapshots:
|
|||
|
||||
supports-preserve-symlinks-flag@1.0.0: {}
|
||||
|
||||
svelte-check@3.8.0(postcss-load-config@5.1.0(jiti@1.21.3)(postcss@8.4.38)(tsx@4.12.0))(postcss@8.4.38)(sass@1.77.4)(svelte@4.2.18):
|
||||
svelte-check@3.8.0(postcss-load-config@5.1.0(jiti@1.21.3)(postcss@8.4.38)(tsx@4.14.1))(postcss@8.4.38)(sass@1.77.4)(svelte@4.2.18):
|
||||
dependencies:
|
||||
'@jridgewell/trace-mapping': 0.3.25
|
||||
chokidar: 3.6.0
|
||||
|
|
@ -7394,7 +7388,7 @@ snapshots:
|
|||
picocolors: 1.0.0
|
||||
sade: 1.8.1
|
||||
svelte: 4.2.18
|
||||
svelte-preprocess: 5.1.4(postcss-load-config@5.1.0(jiti@1.21.3)(postcss@8.4.38)(tsx@4.12.0))(postcss@8.4.38)(sass@1.77.4)(svelte@4.2.18)(typescript@5.4.5)
|
||||
svelte-preprocess: 5.1.4(postcss-load-config@5.1.0(jiti@1.21.3)(postcss@8.4.38)(tsx@4.14.1))(postcss@8.4.38)(sass@1.77.4)(svelte@4.2.18)(typescript@5.4.5)
|
||||
typescript: 5.4.5
|
||||
transitivePeerDependencies:
|
||||
- '@babel/core'
|
||||
|
|
@ -7450,7 +7444,7 @@ snapshots:
|
|||
dependencies:
|
||||
svelte: 4.2.18
|
||||
|
||||
svelte-preprocess@5.1.4(postcss-load-config@5.1.0(jiti@1.21.3)(postcss@8.4.38)(tsx@4.12.0))(postcss@8.4.38)(sass@1.77.4)(svelte@4.2.18)(typescript@5.4.5):
|
||||
svelte-preprocess@5.1.4(postcss-load-config@5.1.0(jiti@1.21.3)(postcss@8.4.38)(tsx@4.14.1))(postcss@8.4.38)(sass@1.77.4)(svelte@4.2.18)(typescript@5.4.5):
|
||||
dependencies:
|
||||
'@types/pug': 2.0.10
|
||||
detect-indent: 6.1.0
|
||||
|
|
@ -7460,7 +7454,7 @@ snapshots:
|
|||
svelte: 4.2.18
|
||||
optionalDependencies:
|
||||
postcss: 8.4.38
|
||||
postcss-load-config: 5.1.0(jiti@1.21.3)(postcss@8.4.38)(tsx@4.12.0)
|
||||
postcss-load-config: 5.1.0(jiti@1.21.3)(postcss@8.4.38)(tsx@4.14.1)
|
||||
sass: 1.77.4
|
||||
typescript: 5.4.5
|
||||
|
||||
|
|
@ -7499,19 +7493,19 @@ snapshots:
|
|||
magic-string: 0.30.10
|
||||
periscopic: 3.1.0
|
||||
|
||||
sveltekit-flash-message@2.4.4(@sveltejs/kit@2.5.10(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.2.12(@types/node@20.14.2)(sass@1.77.4)))(svelte@4.2.18)(vite@5.2.12(@types/node@20.14.2)(sass@1.77.4)))(svelte@4.2.18):
|
||||
sveltekit-flash-message@2.4.4(@sveltejs/kit@2.5.10(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.2.13(@types/node@20.14.2)(sass@1.77.4)))(svelte@4.2.18)(vite@5.2.13(@types/node@20.14.2)(sass@1.77.4)))(svelte@4.2.18):
|
||||
dependencies:
|
||||
'@sveltejs/kit': 2.5.10(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.2.12(@types/node@20.14.2)(sass@1.77.4)))(svelte@4.2.18)(vite@5.2.12(@types/node@20.14.2)(sass@1.77.4))
|
||||
'@sveltejs/kit': 2.5.10(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.2.13(@types/node@20.14.2)(sass@1.77.4)))(svelte@4.2.18)(vite@5.2.13(@types/node@20.14.2)(sass@1.77.4))
|
||||
svelte: 4.2.18
|
||||
|
||||
sveltekit-rate-limiter@0.5.1(@sveltejs/kit@2.5.10(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.2.12(@types/node@20.14.2)(sass@1.77.4)))(svelte@4.2.18)(vite@5.2.12(@types/node@20.14.2)(sass@1.77.4))):
|
||||
sveltekit-rate-limiter@0.5.1(@sveltejs/kit@2.5.10(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.2.13(@types/node@20.14.2)(sass@1.77.4)))(svelte@4.2.18)(vite@5.2.13(@types/node@20.14.2)(sass@1.77.4))):
|
||||
dependencies:
|
||||
'@isaacs/ttlcache': 1.4.1
|
||||
'@sveltejs/kit': 2.5.10(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.2.12(@types/node@20.14.2)(sass@1.77.4)))(svelte@4.2.18)(vite@5.2.12(@types/node@20.14.2)(sass@1.77.4))
|
||||
'@sveltejs/kit': 2.5.10(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.2.13(@types/node@20.14.2)(sass@1.77.4)))(svelte@4.2.18)(vite@5.2.13(@types/node@20.14.2)(sass@1.77.4))
|
||||
|
||||
sveltekit-superforms@2.14.0(@sveltejs/kit@2.5.10(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.2.12(@types/node@20.14.2)(sass@1.77.4)))(svelte@4.2.18)(vite@5.2.12(@types/node@20.14.2)(sass@1.77.4)))(@types/json-schema@7.0.15)(esbuild-runner@2.2.2(esbuild@0.19.12))(esbuild@0.19.12)(svelte@4.2.18):
|
||||
sveltekit-superforms@2.14.0(@sveltejs/kit@2.5.10(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.2.13(@types/node@20.14.2)(sass@1.77.4)))(svelte@4.2.18)(vite@5.2.13(@types/node@20.14.2)(sass@1.77.4)))(@types/json-schema@7.0.15)(esbuild-runner@2.2.2(esbuild@0.19.12))(esbuild@0.19.12)(svelte@4.2.18):
|
||||
dependencies:
|
||||
'@sveltejs/kit': 2.5.10(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.2.12(@types/node@20.14.2)(sass@1.77.4)))(svelte@4.2.18)(vite@5.2.12(@types/node@20.14.2)(sass@1.77.4))
|
||||
'@sveltejs/kit': 2.5.10(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.2.13(@types/node@20.14.2)(sass@1.77.4)))(svelte@4.2.18)(vite@5.2.13(@types/node@20.14.2)(sass@1.77.4))
|
||||
devalue: 5.0.0
|
||||
just-clone: 6.2.0
|
||||
memoize-weak: 1.0.2
|
||||
|
|
@ -7658,7 +7652,7 @@ snapshots:
|
|||
|
||||
tslib@2.6.3: {}
|
||||
|
||||
tsx@4.12.0:
|
||||
tsx@4.14.1:
|
||||
dependencies:
|
||||
esbuild: 0.20.2
|
||||
get-tsconfig: 4.7.5
|
||||
|
|
@ -7724,7 +7718,7 @@ snapshots:
|
|||
debug: 4.3.4
|
||||
pathe: 1.1.2
|
||||
picocolors: 1.0.0
|
||||
vite: 5.2.12(@types/node@20.14.2)(sass@1.77.4)
|
||||
vite: 5.2.13(@types/node@20.14.2)(sass@1.77.4)
|
||||
transitivePeerDependencies:
|
||||
- '@types/node'
|
||||
- less
|
||||
|
|
@ -7735,7 +7729,7 @@ snapshots:
|
|||
- supports-color
|
||||
- terser
|
||||
|
||||
vite@5.2.12(@types/node@20.14.2)(sass@1.77.4):
|
||||
vite@5.2.13(@types/node@20.14.2)(sass@1.77.4):
|
||||
dependencies:
|
||||
esbuild: 0.20.2
|
||||
postcss: 8.4.38
|
||||
|
|
@ -7745,9 +7739,9 @@ snapshots:
|
|||
fsevents: 2.3.3
|
||||
sass: 1.77.4
|
||||
|
||||
vitefu@0.2.5(vite@5.2.12(@types/node@20.14.2)(sass@1.77.4)):
|
||||
vitefu@0.2.5(vite@5.2.13(@types/node@20.14.2)(sass@1.77.4)):
|
||||
optionalDependencies:
|
||||
vite: 5.2.12(@types/node@20.14.2)(sass@1.77.4)
|
||||
vite: 5.2.13(@types/node@20.14.2)(sass@1.77.4)
|
||||
|
||||
vitest@1.6.0(@types/node@20.14.2)(sass@1.77.4):
|
||||
dependencies:
|
||||
|
|
@ -7768,7 +7762,7 @@ snapshots:
|
|||
strip-literal: 2.1.0
|
||||
tinybench: 2.8.0
|
||||
tinypool: 0.8.4
|
||||
vite: 5.2.12(@types/node@20.14.2)(sass@1.77.4)
|
||||
vite: 5.2.13(@types/node@20.14.2)(sass@1.77.4)
|
||||
vite-node: 1.6.0(@types/node@20.14.2)(sass@1.77.4)
|
||||
why-is-node-running: 2.2.2
|
||||
optionalDependencies:
|
||||
|
|
|
|||
1
src/db/migrations/0001_acoustic_thunderbolt.sql
Normal file
1
src/db/migrations/0001_acoustic_thunderbolt.sql
Normal file
|
|
@ -0,0 +1 @@
|
|||
ALTER TABLE "sessions" ADD COLUMN "is_two_factor_authenticated" boolean DEFAULT false;
|
||||
7
src/db/migrations/0002_striped_darkhawk.sql
Normal file
7
src/db/migrations/0002_striped_darkhawk.sql
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
DROP INDEX IF EXISTS "search_index";--> statement-breakpoint
|
||||
ALTER TABLE "games" ALTER COLUMN "name" SET NOT NULL;--> statement-breakpoint
|
||||
ALTER TABLE "games" ALTER COLUMN "slug" SET NOT NULL;--> statement-breakpoint
|
||||
CREATE INDEX IF NOT EXISTS "search_index" ON "games" USING gin ((
|
||||
setweight(to_tsvector('english', "name"), 'A') ||
|
||||
setweight(to_tsvector('english', "slug"), 'B')
|
||||
));
|
||||
5
src/db/migrations/0003_flippant_avengers.sql
Normal file
5
src/db/migrations/0003_flippant_avengers.sql
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
DROP INDEX IF EXISTS "search_index";--> statement-breakpoint
|
||||
CREATE INDEX IF NOT EXISTS "search_index" ON "games" USING gin ((
|
||||
setweight(to_tsvector('english', "name"), 'A') ||
|
||||
setweight(to_tsvector('english', "slug"), 'B')
|
||||
));
|
||||
1540
src/db/migrations/meta/0001_snapshot.json
Normal file
1540
src/db/migrations/meta/0001_snapshot.json
Normal file
File diff suppressed because it is too large
Load diff
1540
src/db/migrations/meta/0002_snapshot.json
Normal file
1540
src/db/migrations/meta/0002_snapshot.json
Normal file
File diff suppressed because it is too large
Load diff
1540
src/db/migrations/meta/0003_snapshot.json
Normal file
1540
src/db/migrations/meta/0003_snapshot.json
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -8,6 +8,27 @@
|
|||
"when": 1717548517806,
|
||||
"tag": "0000_spotty_changeling",
|
||||
"breakpoints": true
|
||||
},
|
||||
{
|
||||
"idx": 1,
|
||||
"version": "7",
|
||||
"when": 1717891533784,
|
||||
"tag": "0001_acoustic_thunderbolt",
|
||||
"breakpoints": true
|
||||
},
|
||||
{
|
||||
"idx": 2,
|
||||
"version": "7",
|
||||
"when": 1717891822622,
|
||||
"tag": "0002_striped_darkhawk",
|
||||
"breakpoints": true
|
||||
},
|
||||
{
|
||||
"idx": 3,
|
||||
"version": "7",
|
||||
"when": 1717891852881,
|
||||
"tag": "0003_flippant_avengers",
|
||||
"breakpoints": true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -13,8 +13,8 @@ const games = pgTable(
|
|||
cuid: text('cuid')
|
||||
.unique()
|
||||
.$defaultFn(() => cuid2()),
|
||||
name: text('name'),
|
||||
slug: text('slug'),
|
||||
name: text('name').notNull(),
|
||||
slug: text('slug').notNull(),
|
||||
description: text('description'),
|
||||
year_published: integer('year_published'),
|
||||
min_players: integer('min_players'),
|
||||
|
|
@ -31,14 +31,14 @@ const games = pgTable(
|
|||
updated_at: timestamp('updated_at', { mode: 'string' }).notNull().defaultNow(),
|
||||
},
|
||||
(table) => ({
|
||||
searchIndex: index('search_index').using(
|
||||
'gin',
|
||||
sql`(
|
||||
setweight(to_tsvector('english', ${table.name}), 'A') ||
|
||||
setweight(to_tsvector('english', ${table.slug}), 'B')
|
||||
)`,
|
||||
),
|
||||
}),
|
||||
searchIndex: index('search_index').using(
|
||||
'gin',
|
||||
sql`(
|
||||
setweight(to_tsvector('english', ${table.name}), 'A') ||
|
||||
setweight(to_tsvector('english', ${table.slug}), 'B')
|
||||
)`
|
||||
),
|
||||
})
|
||||
);
|
||||
|
||||
export const gameRelations = relations(games, ({ many }) => ({
|
||||
|
|
|
|||
|
|
@ -49,13 +49,13 @@ export const actions: Actions = {
|
|||
|
||||
let session;
|
||||
let sessionCookie;
|
||||
const user = await db.query.users.findFirst({
|
||||
where: eq(users.username, form.data.username),
|
||||
});
|
||||
|
||||
|
||||
try {
|
||||
const password = form.data.password;
|
||||
|
||||
const user = await db.query.users.findFirst({
|
||||
where: eq(users.username, form.data.username),
|
||||
});
|
||||
|
||||
console.log('user', JSON.stringify(user, null, 2));
|
||||
|
||||
if (!user?.hashed_password) {
|
||||
|
|
@ -71,47 +71,6 @@ export const actions: Actions = {
|
|||
return setError(form, 'password', 'Your username or password is incorrect.');
|
||||
}
|
||||
|
||||
// await db
|
||||
// .insert(collections)
|
||||
// .values({
|
||||
// user_id: user.id,
|
||||
// })
|
||||
// .onConflictDoNothing();
|
||||
// await db
|
||||
// .insert(wishlists)
|
||||
// .values({
|
||||
// user_id: user.id,
|
||||
// })
|
||||
// .onConflictDoNothing();
|
||||
|
||||
if (user?.two_factor_enabled && user?.two_factor_secret && !form?.data?.totpToken) {
|
||||
return fail(400, {
|
||||
form,
|
||||
twoFactorRequired: true,
|
||||
});
|
||||
} else if (user?.two_factor_enabled && user?.two_factor_secret && form?.data?.totpToken) {
|
||||
console.log('totpToken', form.data.totpToken);
|
||||
const validOTP = await new TOTPController().verify(
|
||||
form.data.totpToken,
|
||||
decodeHex(user.two_factor_secret),
|
||||
);
|
||||
console.log('validOTP', validOTP);
|
||||
|
||||
if (!validOTP) {
|
||||
console.log('invalid TOTP code check for recovery codes');
|
||||
const usedRecoveryCode = await checkRecoveryCode(form?.data?.totpToken, user.id);
|
||||
if (!usedRecoveryCode) {
|
||||
console.log('invalid TOTP code');
|
||||
form.data.password = '';
|
||||
// form.errors.totpToken = ['Invalid code'];
|
||||
return setError(form, 'totpToken', 'Invalid code.');
|
||||
// return fail(400, {
|
||||
// form,
|
||||
// twoFactorRequired: true,
|
||||
// });
|
||||
}
|
||||
}
|
||||
}
|
||||
console.log('ip', locals.ip);
|
||||
console.log('country', locals.country);
|
||||
session = await lucia.createSession(user.id, {
|
||||
|
|
@ -137,8 +96,15 @@ export const actions: Actions = {
|
|||
|
||||
form.data.username = '';
|
||||
form.data.password = '';
|
||||
const message = { type: 'success', message: 'Signed In!' } as const;
|
||||
redirect(302, '/', message, event);
|
||||
|
||||
if (user?.two_factor_enabled && user?.two_factor_secret) {
|
||||
console.log('redirecting to TOTP page');
|
||||
const message = { type: 'success', message: 'Please enter your TOTP code.' } as const;
|
||||
redirect(302, '/totp', message, event);
|
||||
} else {
|
||||
const message = { type: 'success', message: 'Signed In!' } as const;
|
||||
redirect(302, '/', message, event);
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -23,6 +23,9 @@ export const load: PageServerLoad = async (event) => {
|
|||
const session = event.locals.session;
|
||||
const isTwoFactorAuthenticated = session?.isTwoFactorAuthenticated;
|
||||
|
||||
console.log('session', session);
|
||||
console.log('isTwoFactorAuthenticated', isTwoFactorAuthenticated);
|
||||
|
||||
if (isTwoFactorAuthenticated && dbUser?.two_factor_enabled && dbUser?.two_factor_secret) {
|
||||
const message = { type: 'success', message: 'You are already signed in' } as const;
|
||||
throw redirect('/', message, event);
|
||||
|
|
@ -90,7 +93,7 @@ export const actions: Actions = {
|
|||
} else if (dbUser?.two_factor_enabled && dbUser?.two_factor_secret && totpToken) {
|
||||
console.log('totpToken',totpToken);
|
||||
const validOTP = await new TOTPController().verify(
|
||||
form.data.totpToken,
|
||||
totpToken,
|
||||
decodeHex(dbUser.two_factor_secret),
|
||||
);
|
||||
console.log('validOTP', validOTP);
|
||||
|
|
@ -134,7 +137,7 @@ export const actions: Actions = {
|
|||
};
|
||||
|
||||
async function checkRecoveryCode(recoveryCode: string, userId: string) {
|
||||
const userRecoveryCodes = await db.query.recovery_codes.findMany({
|
||||
const userRecoveryCodes = await db.query.recoveryCodes.findMany({
|
||||
where: and(eq(recovery_codes.used, false), eq(recovery_codes.userId, userId)),
|
||||
});
|
||||
for (const code of userRecoveryCodes) {
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
import { superForm } from 'sveltekit-superforms/client';
|
||||
import * as flashModule from 'sveltekit-flash-message/client';
|
||||
import { AlertCircle } from "lucide-svelte";
|
||||
import { signInSchema } from '$lib/validations/auth';
|
||||
import { signInSchema, totpSchema } from '$lib/validations/auth';
|
||||
import * as Form from '$lib/components/ui/form';
|
||||
import { Label } from '$components/ui/label';
|
||||
import { Input } from '$components/ui/input';
|
||||
|
|
@ -14,7 +14,7 @@
|
|||
export let data;
|
||||
export let form;
|
||||
|
||||
const superLoginForm = superForm(data.form, {
|
||||
const superTotpForm = superForm(data.form, {
|
||||
onSubmit: () => boredState.update((n) => ({ ...n, loading: true })),
|
||||
onResult: () => boredState.update((n) => ({ ...n, loading: false })),
|
||||
flashMessage: {
|
||||
|
|
@ -29,12 +29,12 @@
|
|||
},
|
||||
syncFlashMessage: false,
|
||||
taintedMessage: null,
|
||||
validators: zodClient(signInSchema),
|
||||
validators: zodClient(totpSchema),
|
||||
validationMethod: 'oninput',
|
||||
delayMs: 0,
|
||||
});
|
||||
|
||||
const { form: loginForm, errors, enhance } = superLoginForm;
|
||||
const { form: totpForm, errors, enhance } = superTotpForm;
|
||||
</script>
|
||||
|
||||
<svelte:head>
|
||||
|
|
@ -48,40 +48,14 @@
|
|||
>
|
||||
Please enter your two factor code
|
||||
</h2>
|
||||
<Form.Field form={superLoginForm} name="username">
|
||||
<Form.Field form={superTotpForm} name="totpToken">
|
||||
<Form.Control let:attrs>
|
||||
<Form.Label for="username">Username</Form.Label>
|
||||
<Input {...attrs} autocomplete="username" bind:value={$loginForm.username} />
|
||||
<Form.Label for="totpToken">TOTP Code</Form.Label>
|
||||
<Input {...attrs} autocomplete="totpToken" bind:value={$totpForm.totpToken} />
|
||||
</Form.Control>
|
||||
<Form.FieldErrors />
|
||||
</Form.Field>
|
||||
<Form.Field form={superLoginForm} name="password">
|
||||
<Form.Control let:attrs>
|
||||
<Form.Label for="password">Password</Form.Label>
|
||||
<Input {...attrs} autocomplete="current-password" type="password" bind:value={$loginForm.password} />
|
||||
</Form.Control>
|
||||
<Form.FieldErrors />
|
||||
</Form.Field>
|
||||
{#if form?.twoFactorRequired}
|
||||
<Form.Field form={superLoginForm} name="totpToken">
|
||||
<Form.Control let:attrs>
|
||||
<Form.Label for="totpToken">Two Factor Code or Recovery Code</Form.Label>
|
||||
<Input {...attrs} autocomplete="one-time-code" bind:value={$loginForm.totpToken} />
|
||||
</Form.Control>
|
||||
<Form.FieldErrors />
|
||||
</Form.Field>
|
||||
{/if}
|
||||
<Form.Button>Login</Form.Button>
|
||||
<p class="px-8 text-center text-sm text-muted-foreground">
|
||||
By clicking continue, you agree to our
|
||||
<a href="/terms" class="underline underline-offset-4 hover:text-primary">
|
||||
Terms of Use
|
||||
</a>
|
||||
and
|
||||
<a href="/privacy" class="underline underline-offset-4 hover:text-primary">
|
||||
Privacy Policy
|
||||
</a>.
|
||||
</p>
|
||||
<Form.Button>Submit</Form.Button>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue