mirror of
https://github.com/BradNut/boredgame
synced 2025-09-08 17:40:22 +00:00
Removing prisma.
This commit is contained in:
parent
6503659352
commit
d86b975b4e
23 changed files with 221 additions and 1462 deletions
|
|
@ -11,7 +11,7 @@ export default defineConfig({
|
||||||
user: process.env.DATABASE_USER,
|
user: process.env.DATABASE_USER,
|
||||||
password: process.env.DATABASE_PASSWORD,
|
password: process.env.DATABASE_PASSWORD,
|
||||||
database: process.env.DATABASE || 'boredgame',
|
database: process.env.DATABASE || 'boredgame',
|
||||||
ssl: true
|
ssl: process.env.DATABASE_HOST === 'localhost' ? false : true,
|
||||||
},
|
},
|
||||||
// Print all statements
|
// Print all statements
|
||||||
verbose: true,
|
verbose: true,
|
||||||
|
|
|
||||||
17
package.json
17
package.json
|
|
@ -4,12 +4,11 @@
|
||||||
"private": "true",
|
"private": "true",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "NODE_OPTIONS=\"--inspect\" vite dev --host",
|
"dev": "NODE_OPTIONS=\"--inspect\" vite dev --host",
|
||||||
"build": "prisma generate && vite build",
|
"build": "drizzle-kit generate:pg && vite build",
|
||||||
"package": "svelte-kit package",
|
"package": "svelte-kit package",
|
||||||
"preview": "vite preview",
|
"preview": "vite preview",
|
||||||
"test": "playwright test",
|
"test": "playwright test",
|
||||||
"test:ui": "svelte-kit sync && playwright test --ui",
|
"test:ui": "svelte-kit sync && playwright test --ui",
|
||||||
"postinstall": "prisma generate",
|
|
||||||
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
|
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
|
||||||
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
|
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
|
||||||
"test:unit": "vitest",
|
"test:unit": "vitest",
|
||||||
|
|
@ -26,7 +25,7 @@
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@melt-ui/pp": "^0.3.0",
|
"@melt-ui/pp": "^0.3.0",
|
||||||
"@melt-ui/svelte": "^0.75.2",
|
"@melt-ui/svelte": "^0.75.3",
|
||||||
"@playwright/test": "^1.42.0",
|
"@playwright/test": "^1.42.0",
|
||||||
"@resvg/resvg-js": "^2.6.0",
|
"@resvg/resvg-js": "^2.6.0",
|
||||||
"@sveltejs/adapter-auto": "^3.1.1",
|
"@sveltejs/adapter-auto": "^3.1.1",
|
||||||
|
|
@ -34,7 +33,7 @@
|
||||||
"@sveltejs/kit": "^2.5.2",
|
"@sveltejs/kit": "^2.5.2",
|
||||||
"@sveltejs/vite-plugin-svelte": "^3.0.2",
|
"@sveltejs/vite-plugin-svelte": "^3.0.2",
|
||||||
"@types/cookie": "^0.6.0",
|
"@types/cookie": "^0.6.0",
|
||||||
"@types/node": "^20.11.24",
|
"@types/node": "^20.11.25",
|
||||||
"@types/pg": "^8.11.2",
|
"@types/pg": "^8.11.2",
|
||||||
"@typescript-eslint/eslint-plugin": "^6.21.0",
|
"@typescript-eslint/eslint-plugin": "^6.21.0",
|
||||||
"@typescript-eslint/parser": "^6.21.0",
|
"@typescript-eslint/parser": "^6.21.0",
|
||||||
|
|
@ -49,10 +48,9 @@
|
||||||
"postcss": "^8.4.35",
|
"postcss": "^8.4.35",
|
||||||
"postcss-import": "^16.0.1",
|
"postcss-import": "^16.0.1",
|
||||||
"postcss-load-config": "^5.0.3",
|
"postcss-load-config": "^5.0.3",
|
||||||
"postcss-preset-env": "^9.4.0",
|
"postcss-preset-env": "^9.5.0",
|
||||||
"prettier": "^3.2.5",
|
"prettier": "^3.2.5",
|
||||||
"prettier-plugin-svelte": "^3.2.2",
|
"prettier-plugin-svelte": "^3.2.2",
|
||||||
"prisma": "^5.9.1",
|
|
||||||
"sass": "^1.71.1",
|
"sass": "^1.71.1",
|
||||||
"satori": "^0.10.13",
|
"satori": "^0.10.13",
|
||||||
"satori-html": "^0.3.2",
|
"satori-html": "^0.3.2",
|
||||||
|
|
@ -63,12 +61,12 @@
|
||||||
"svelte-sequential-preprocessor": "^2.0.1",
|
"svelte-sequential-preprocessor": "^2.0.1",
|
||||||
"sveltekit-flash-message": "^2.4.2",
|
"sveltekit-flash-message": "^2.4.2",
|
||||||
"sveltekit-rate-limiter": "^0.4.3",
|
"sveltekit-rate-limiter": "^0.4.3",
|
||||||
"sveltekit-superforms": "^2.7.0",
|
"sveltekit-superforms": "^2.8.0",
|
||||||
"tailwindcss": "^3.4.1",
|
"tailwindcss": "^3.4.1",
|
||||||
"ts-node": "^10.9.2",
|
"ts-node": "^10.9.2",
|
||||||
"tslib": "^2.6.1",
|
"tslib": "^2.6.1",
|
||||||
"tsx": "^4.7.1",
|
"tsx": "^4.7.1",
|
||||||
"typescript": "^5.3.3",
|
"typescript": "^5.4.2",
|
||||||
"vite": "^5.1.5",
|
"vite": "^5.1.5",
|
||||||
"vitest": "^1.3.1",
|
"vitest": "^1.3.1",
|
||||||
"zod": "^3.22.4"
|
"zod": "^3.22.4"
|
||||||
|
|
@ -88,12 +86,11 @@
|
||||||
"@neondatabase/serverless": "^0.9.0",
|
"@neondatabase/serverless": "^0.9.0",
|
||||||
"@paralleldrive/cuid2": "^2.2.2",
|
"@paralleldrive/cuid2": "^2.2.2",
|
||||||
"@planetscale/database": "^1.16.0",
|
"@planetscale/database": "^1.16.0",
|
||||||
"@prisma/client": "^5.9.1",
|
|
||||||
"@sentry/sveltekit": "^7.100.1",
|
"@sentry/sveltekit": "^7.100.1",
|
||||||
"@sveltejs/adapter-vercel": "^5.1.0",
|
"@sveltejs/adapter-vercel": "^5.1.0",
|
||||||
"@types/feather-icons": "^4.29.4",
|
"@types/feather-icons": "^4.29.4",
|
||||||
"@vercel/og": "^0.5.20",
|
"@vercel/og": "^0.5.20",
|
||||||
"bits-ui": "^0.19.3",
|
"bits-ui": "^0.19.5",
|
||||||
"boardgamegeekclient": "^1.9.1",
|
"boardgamegeekclient": "^1.9.1",
|
||||||
"class-variance-authority": "^0.7.0",
|
"class-variance-authority": "^0.7.0",
|
||||||
"clsx": "^2.1.0",
|
"clsx": "^2.1.0",
|
||||||
|
|
|
||||||
257
pnpm-lock.yaml
257
pnpm-lock.yaml
|
|
@ -32,9 +32,6 @@ dependencies:
|
||||||
'@planetscale/database':
|
'@planetscale/database':
|
||||||
specifier: ^1.16.0
|
specifier: ^1.16.0
|
||||||
version: 1.16.0
|
version: 1.16.0
|
||||||
'@prisma/client':
|
|
||||||
specifier: ^5.9.1
|
|
||||||
version: 5.9.1(prisma@5.9.1)
|
|
||||||
'@sentry/sveltekit':
|
'@sentry/sveltekit':
|
||||||
specifier: ^7.100.1
|
specifier: ^7.100.1
|
||||||
version: 7.100.1(@sveltejs/kit@2.5.2)(svelte@4.2.12)
|
version: 7.100.1(@sveltejs/kit@2.5.2)(svelte@4.2.12)
|
||||||
|
|
@ -48,8 +45,8 @@ dependencies:
|
||||||
specifier: ^0.5.20
|
specifier: ^0.5.20
|
||||||
version: 0.5.20
|
version: 0.5.20
|
||||||
bits-ui:
|
bits-ui:
|
||||||
specifier: ^0.19.3
|
specifier: ^0.19.5
|
||||||
version: 0.19.3(svelte@4.2.12)
|
version: 0.19.5(svelte@4.2.12)
|
||||||
boardgamegeekclient:
|
boardgamegeekclient:
|
||||||
specifier: ^1.9.1
|
specifier: ^1.9.1
|
||||||
version: 1.9.1
|
version: 1.9.1
|
||||||
|
|
@ -70,7 +67,7 @@ dependencies:
|
||||||
version: 4.29.1
|
version: 4.29.1
|
||||||
formsnap:
|
formsnap:
|
||||||
specifier: ^0.5.1
|
specifier: ^0.5.1
|
||||||
version: 0.5.1(svelte@4.2.12)(sveltekit-superforms@2.7.0)
|
version: 0.5.1(svelte@4.2.12)(sveltekit-superforms@2.8.0)
|
||||||
html-entities:
|
html-entities:
|
||||||
specifier: ^2.5.2
|
specifier: ^2.5.2
|
||||||
version: 2.5.2
|
version: 2.5.2
|
||||||
|
|
@ -132,10 +129,10 @@ dependencies:
|
||||||
devDependencies:
|
devDependencies:
|
||||||
'@melt-ui/pp':
|
'@melt-ui/pp':
|
||||||
specifier: ^0.3.0
|
specifier: ^0.3.0
|
||||||
version: 0.3.0(@melt-ui/svelte@0.75.2)(svelte@4.2.12)
|
version: 0.3.0(@melt-ui/svelte@0.75.3)(svelte@4.2.12)
|
||||||
'@melt-ui/svelte':
|
'@melt-ui/svelte':
|
||||||
specifier: ^0.75.2
|
specifier: ^0.75.3
|
||||||
version: 0.75.2(svelte@4.2.12)
|
version: 0.75.3(svelte@4.2.12)
|
||||||
'@playwright/test':
|
'@playwright/test':
|
||||||
specifier: ^1.42.0
|
specifier: ^1.42.0
|
||||||
version: 1.42.0
|
version: 1.42.0
|
||||||
|
|
@ -158,17 +155,17 @@ devDependencies:
|
||||||
specifier: ^0.6.0
|
specifier: ^0.6.0
|
||||||
version: 0.6.0
|
version: 0.6.0
|
||||||
'@types/node':
|
'@types/node':
|
||||||
specifier: ^20.11.24
|
specifier: ^20.11.25
|
||||||
version: 20.11.24
|
version: 20.11.25
|
||||||
'@types/pg':
|
'@types/pg':
|
||||||
specifier: ^8.11.2
|
specifier: ^8.11.2
|
||||||
version: 8.11.2
|
version: 8.11.2
|
||||||
'@typescript-eslint/eslint-plugin':
|
'@typescript-eslint/eslint-plugin':
|
||||||
specifier: ^6.21.0
|
specifier: ^6.21.0
|
||||||
version: 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.3.3)
|
version: 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.4.2)
|
||||||
'@typescript-eslint/parser':
|
'@typescript-eslint/parser':
|
||||||
specifier: ^6.21.0
|
specifier: ^6.21.0
|
||||||
version: 6.21.0(eslint@8.57.0)(typescript@5.3.3)
|
version: 6.21.0(eslint@8.57.0)(typescript@5.4.2)
|
||||||
autoprefixer:
|
autoprefixer:
|
||||||
specifier: ^10.4.18
|
specifier: ^10.4.18
|
||||||
version: 10.4.18(postcss@8.4.35)
|
version: 10.4.18(postcss@8.4.35)
|
||||||
|
|
@ -203,17 +200,14 @@ devDependencies:
|
||||||
specifier: ^5.0.3
|
specifier: ^5.0.3
|
||||||
version: 5.0.3(postcss@8.4.35)
|
version: 5.0.3(postcss@8.4.35)
|
||||||
postcss-preset-env:
|
postcss-preset-env:
|
||||||
specifier: ^9.4.0
|
specifier: ^9.5.0
|
||||||
version: 9.4.0(postcss@8.4.35)
|
version: 9.5.0(postcss@8.4.35)
|
||||||
prettier:
|
prettier:
|
||||||
specifier: ^3.2.5
|
specifier: ^3.2.5
|
||||||
version: 3.2.5
|
version: 3.2.5
|
||||||
prettier-plugin-svelte:
|
prettier-plugin-svelte:
|
||||||
specifier: ^3.2.2
|
specifier: ^3.2.2
|
||||||
version: 3.2.2(prettier@3.2.5)(svelte@4.2.12)
|
version: 3.2.2(prettier@3.2.5)(svelte@4.2.12)
|
||||||
prisma:
|
|
||||||
specifier: ^5.9.1
|
|
||||||
version: 5.9.1
|
|
||||||
sass:
|
sass:
|
||||||
specifier: ^1.71.1
|
specifier: ^1.71.1
|
||||||
version: 1.71.1
|
version: 1.71.1
|
||||||
|
|
@ -231,10 +225,10 @@ devDependencies:
|
||||||
version: 3.6.6(postcss-load-config@5.0.3)(postcss@8.4.35)(sass@1.71.1)(svelte@4.2.12)
|
version: 3.6.6(postcss-load-config@5.0.3)(postcss@8.4.35)(sass@1.71.1)(svelte@4.2.12)
|
||||||
svelte-meta-tags:
|
svelte-meta-tags:
|
||||||
specifier: ^3.1.1
|
specifier: ^3.1.1
|
||||||
version: 3.1.1(svelte@4.2.12)(typescript@5.3.3)
|
version: 3.1.1(svelte@4.2.12)(typescript@5.4.2)
|
||||||
svelte-preprocess:
|
svelte-preprocess:
|
||||||
specifier: ^5.1.3
|
specifier: ^5.1.3
|
||||||
version: 5.1.3(postcss-load-config@5.0.3)(postcss@8.4.35)(sass@1.71.1)(svelte@4.2.12)(typescript@5.3.3)
|
version: 5.1.3(postcss-load-config@5.0.3)(postcss@8.4.35)(sass@1.71.1)(svelte@4.2.12)(typescript@5.4.2)
|
||||||
svelte-sequential-preprocessor:
|
svelte-sequential-preprocessor:
|
||||||
specifier: ^2.0.1
|
specifier: ^2.0.1
|
||||||
version: 2.0.1
|
version: 2.0.1
|
||||||
|
|
@ -245,14 +239,14 @@ devDependencies:
|
||||||
specifier: ^0.4.3
|
specifier: ^0.4.3
|
||||||
version: 0.4.3(@sveltejs/kit@2.5.2)
|
version: 0.4.3(@sveltejs/kit@2.5.2)
|
||||||
sveltekit-superforms:
|
sveltekit-superforms:
|
||||||
specifier: ^2.7.0
|
specifier: ^2.8.0
|
||||||
version: 2.7.0(@sveltejs/kit@2.5.2)(@types/json-schema@7.0.15)(esbuild-runner@2.2.2)(esbuild@0.20.1)(svelte@4.2.12)
|
version: 2.8.0(@sveltejs/kit@2.5.2)(@types/json-schema@7.0.15)(esbuild-runner@2.2.2)(esbuild@0.20.1)(svelte@4.2.12)
|
||||||
tailwindcss:
|
tailwindcss:
|
||||||
specifier: ^3.4.1
|
specifier: ^3.4.1
|
||||||
version: 3.4.1(ts-node@10.9.2)
|
version: 3.4.1(ts-node@10.9.2)
|
||||||
ts-node:
|
ts-node:
|
||||||
specifier: ^10.9.2
|
specifier: ^10.9.2
|
||||||
version: 10.9.2(@types/node@20.11.24)(typescript@5.3.3)
|
version: 10.9.2(@types/node@20.11.25)(typescript@5.4.2)
|
||||||
tslib:
|
tslib:
|
||||||
specifier: ^2.6.1
|
specifier: ^2.6.1
|
||||||
version: 2.6.2
|
version: 2.6.2
|
||||||
|
|
@ -260,14 +254,14 @@ devDependencies:
|
||||||
specifier: ^4.7.1
|
specifier: ^4.7.1
|
||||||
version: 4.7.1
|
version: 4.7.1
|
||||||
typescript:
|
typescript:
|
||||||
specifier: ^5.3.3
|
specifier: ^5.4.2
|
||||||
version: 5.3.3
|
version: 5.4.2
|
||||||
vite:
|
vite:
|
||||||
specifier: ^5.1.5
|
specifier: ^5.1.5
|
||||||
version: 5.1.5(@types/node@20.11.24)(sass@1.71.1)
|
version: 5.1.5(@types/node@20.11.25)(sass@1.71.1)
|
||||||
vitest:
|
vitest:
|
||||||
specifier: ^1.3.1
|
specifier: ^1.3.1
|
||||||
version: 1.3.1(@types/node@20.11.24)(sass@1.71.1)
|
version: 1.3.1(@types/node@20.11.25)(sass@1.71.1)
|
||||||
zod:
|
zod:
|
||||||
specifier: ^3.22.4
|
specifier: ^3.22.4
|
||||||
version: 3.22.4
|
version: 3.22.4
|
||||||
|
|
@ -469,8 +463,8 @@ packages:
|
||||||
postcss: 8.4.35
|
postcss: 8.4.35
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@csstools/postcss-gradients-interpolation-method@4.0.10(postcss@8.4.35):
|
/@csstools/postcss-gradients-interpolation-method@4.0.11(postcss@8.4.35):
|
||||||
resolution: {integrity: sha512-PwKOxVuX8lo52bPtPeKjaIp6oH2EzhcBxCndRcvGZKsqZYQ35k9A5G4yihZ+wp7PoxPqDNiXuhQsvQG2lqMpOA==}
|
resolution: {integrity: sha512-LFom5jCVUfzF+iuiOZvhvX7RRN8vc+tKpcKo9s4keEBAU2mPwV5/Fgz5iylEfXP/DZbEdq2C0At20urMi/lupw==}
|
||||||
engines: {node: ^14 || ^16 || >=18}
|
engines: {node: ^14 || ^16 || >=18}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
postcss: ^8.4
|
postcss: ^8.4
|
||||||
|
|
@ -728,6 +722,15 @@ packages:
|
||||||
postcss: 8.4.35
|
postcss: 8.4.35
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
/@csstools/selector-resolve-nested@1.1.0(postcss-selector-parser@6.0.15):
|
||||||
|
resolution: {integrity: sha512-uWvSaeRcHyeNenKg8tp17EVDRkpflmdyvbE0DHo6D/GdBb6PDnCYYU6gRpXhtICMGMcahQmj2zGxwFM/WC8hCg==}
|
||||||
|
engines: {node: ^14 || ^16 || >=18}
|
||||||
|
peerDependencies:
|
||||||
|
postcss-selector-parser: ^6.0.13
|
||||||
|
dependencies:
|
||||||
|
postcss-selector-parser: 6.0.15
|
||||||
|
dev: true
|
||||||
|
|
||||||
/@csstools/selector-specificity@3.0.2(postcss-selector-parser@6.0.15):
|
/@csstools/selector-specificity@3.0.2(postcss-selector-parser@6.0.15):
|
||||||
resolution: {integrity: sha512-RpHaZ1h9LE7aALeQXmXrJkRG84ZxIsctEN2biEUmFyKpzFM3zZ35eUMcIzZFsw/2olQE6v69+esEqU2f1MKycg==}
|
resolution: {integrity: sha512-RpHaZ1h9LE7aALeQXmXrJkRG84ZxIsctEN2biEUmFyKpzFM3zZ35eUMcIzZFsw/2olQE6v69+esEqU2f1MKycg==}
|
||||||
engines: {node: ^14 || ^16 || >=18}
|
engines: {node: ^14 || ^16 || >=18}
|
||||||
|
|
@ -1941,7 +1944,7 @@ packages:
|
||||||
'@prisma/client': ^4.2.0 || ^5.0.0
|
'@prisma/client': ^4.2.0 || ^5.0.0
|
||||||
lucia: 3.x
|
lucia: 3.x
|
||||||
dependencies:
|
dependencies:
|
||||||
'@prisma/client': 5.9.1(prisma@5.9.1)
|
'@prisma/client': 5.9.1
|
||||||
lucia: 3.0.1
|
lucia: 3.0.1
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
|
|
@ -1975,21 +1978,21 @@ packages:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@melt-ui/pp@0.3.0(@melt-ui/svelte@0.75.2)(svelte@4.2.12):
|
/@melt-ui/pp@0.3.0(@melt-ui/svelte@0.75.3)(svelte@4.2.12):
|
||||||
resolution: {integrity: sha512-b07Bdh8l2KcwKVCXOY+SoBw1dk9eWvQfMSi6SoacpRVyVmmfpi0kV4oGt3HYF0tUCB3sEmVicxse50ZzZxEzEA==}
|
resolution: {integrity: sha512-b07Bdh8l2KcwKVCXOY+SoBw1dk9eWvQfMSi6SoacpRVyVmmfpi0kV4oGt3HYF0tUCB3sEmVicxse50ZzZxEzEA==}
|
||||||
engines: {pnpm: '>=8.6.3'}
|
engines: {pnpm: '>=8.6.3'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@melt-ui/svelte': '>= 0.29.0'
|
'@melt-ui/svelte': '>= 0.29.0'
|
||||||
svelte: ^3.55.0 || ^4.0.0 || ^5.0.0-next.1
|
svelte: ^3.55.0 || ^4.0.0 || ^5.0.0-next.1
|
||||||
dependencies:
|
dependencies:
|
||||||
'@melt-ui/svelte': 0.75.2(svelte@4.2.12)
|
'@melt-ui/svelte': 0.75.3(svelte@4.2.12)
|
||||||
estree-walker: 3.0.3
|
estree-walker: 3.0.3
|
||||||
magic-string: 0.30.5
|
magic-string: 0.30.5
|
||||||
svelte: 4.2.12
|
svelte: 4.2.12
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@melt-ui/svelte@0.75.2(svelte@4.2.12):
|
/@melt-ui/svelte@0.75.3(svelte@4.2.12):
|
||||||
resolution: {integrity: sha512-EZYH5iEzHs/CPsWqRlH6AnJ70sTuPB4llVK3ajafWig6I5q3qyGU8NIz4aozUssL0edf9BKmyDVAy6Vksy1fbA==}
|
resolution: {integrity: sha512-EA2IKn7w9qtzO/M7VEENpphQ9A4az+QDMQbA8SJLuKyu+S8NWliln5y9vvmnx9dZF8GtKtUKuxpwRNyPg5LAOg==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
svelte: '>=3 <5'
|
svelte: '>=3 <5'
|
||||||
dependencies:
|
dependencies:
|
||||||
|
|
@ -2662,7 +2665,7 @@ packages:
|
||||||
requiresBuild: true
|
requiresBuild: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/@prisma/client@5.9.1(prisma@5.9.1):
|
/@prisma/client@5.9.1:
|
||||||
resolution: {integrity: sha512-caSOnG4kxcSkhqC/2ShV7rEoWwd3XrftokxJqOCMVvia4NYV/TPtJlS9C2os3Igxw/Qyxumj9GBQzcStzECvtQ==}
|
resolution: {integrity: sha512-caSOnG4kxcSkhqC/2ShV7rEoWwd3XrftokxJqOCMVvia4NYV/TPtJlS9C2os3Igxw/Qyxumj9GBQzcStzECvtQ==}
|
||||||
engines: {node: '>=16.13'}
|
engines: {node: '>=16.13'}
|
||||||
requiresBuild: true
|
requiresBuild: true
|
||||||
|
|
@ -2671,37 +2674,8 @@ packages:
|
||||||
peerDependenciesMeta:
|
peerDependenciesMeta:
|
||||||
prisma:
|
prisma:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
|
||||||
prisma: 5.9.1
|
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@prisma/debug@5.9.1:
|
|
||||||
resolution: {integrity: sha512-yAHFSFCg8KVoL0oRUno3m60GAjsUKYUDkQ+9BA2X2JfVR3kRVSJFc/GpQ2fSORi4pSHZR9orfM4UC9OVXIFFTA==}
|
|
||||||
|
|
||||||
/@prisma/engines-version@5.9.0-32.23fdc5965b1e05fc54e5f26ed3de66776b93de64:
|
|
||||||
resolution: {integrity: sha512-HFl7275yF0FWbdcNvcSRbbu9JCBSLMcurYwvWc8WGDnpu7APxQo2ONtZrUggU3WxLxUJ2uBX+0GOFIcJeVeOOQ==}
|
|
||||||
|
|
||||||
/@prisma/engines@5.9.1:
|
|
||||||
resolution: {integrity: sha512-gkdXmjxQ5jktxWNdDA5aZZ6R8rH74JkoKq6LD5mACSvxd2vbqWeWIOV0Py5wFC8vofOYShbt6XUeCIUmrOzOnQ==}
|
|
||||||
requiresBuild: true
|
|
||||||
dependencies:
|
|
||||||
'@prisma/debug': 5.9.1
|
|
||||||
'@prisma/engines-version': 5.9.0-32.23fdc5965b1e05fc54e5f26ed3de66776b93de64
|
|
||||||
'@prisma/fetch-engine': 5.9.1
|
|
||||||
'@prisma/get-platform': 5.9.1
|
|
||||||
|
|
||||||
/@prisma/fetch-engine@5.9.1:
|
|
||||||
resolution: {integrity: sha512-l0goQOMcNVOJs1kAcwqpKq3ylvkD9F04Ioe1oJoCqmz05mw22bNAKKGWuDd3zTUoUZr97va0c/UfLNru+PDmNA==}
|
|
||||||
dependencies:
|
|
||||||
'@prisma/debug': 5.9.1
|
|
||||||
'@prisma/engines-version': 5.9.0-32.23fdc5965b1e05fc54e5f26ed3de66776b93de64
|
|
||||||
'@prisma/get-platform': 5.9.1
|
|
||||||
|
|
||||||
/@prisma/get-platform@5.9.1:
|
|
||||||
resolution: {integrity: sha512-6OQsNxTyhvG+T2Ksr8FPFpuPeL4r9u0JF0OZHUBI/Uy9SS43sPyAIutt4ZEAyqWQt104ERh70EZedkHZKsnNbg==}
|
|
||||||
dependencies:
|
|
||||||
'@prisma/debug': 5.9.1
|
|
||||||
|
|
||||||
/@resvg/resvg-js-android-arm-eabi@2.6.0:
|
/@resvg/resvg-js-android-arm-eabi@2.6.0:
|
||||||
resolution: {integrity: sha512-lJnZ/2P5aMocrFMW7HWhVne5gH82I8xH6zsfH75MYr4+/JOaVcGCTEQ06XFohGMdYRP3v05SSPLPvTM/RHjxfA==}
|
resolution: {integrity: sha512-lJnZ/2P5aMocrFMW7HWhVne5gH82I8xH6zsfH75MYr4+/JOaVcGCTEQ06XFohGMdYRP3v05SSPLPvTM/RHjxfA==}
|
||||||
engines: {node: '>= 10'}
|
engines: {node: '>= 10'}
|
||||||
|
|
@ -3249,7 +3223,7 @@ packages:
|
||||||
sirv: 2.0.4
|
sirv: 2.0.4
|
||||||
svelte: 4.2.12
|
svelte: 4.2.12
|
||||||
tiny-glob: 0.2.9
|
tiny-glob: 0.2.9
|
||||||
vite: 5.1.5(@types/node@20.11.24)(sass@1.71.1)
|
vite: 5.1.5(@types/node@20.11.25)(sass@1.71.1)
|
||||||
|
|
||||||
/@sveltejs/vite-plugin-svelte-inspector@2.0.0(@sveltejs/vite-plugin-svelte@3.0.2)(svelte@4.2.12)(vite@5.1.5):
|
/@sveltejs/vite-plugin-svelte-inspector@2.0.0(@sveltejs/vite-plugin-svelte@3.0.2)(svelte@4.2.12)(vite@5.1.5):
|
||||||
resolution: {integrity: sha512-gjr9ZFg1BSlIpfZ4PRewigrvYmHWbDrq2uvvPB1AmTWKuM+dI1JXQSUu2pIrYLb/QncyiIGkFDFKTwJ0XqQZZg==}
|
resolution: {integrity: sha512-gjr9ZFg1BSlIpfZ4PRewigrvYmHWbDrq2uvvPB1AmTWKuM+dI1JXQSUu2pIrYLb/QncyiIGkFDFKTwJ0XqQZZg==}
|
||||||
|
|
@ -3262,7 +3236,7 @@ packages:
|
||||||
'@sveltejs/vite-plugin-svelte': 3.0.2(svelte@4.2.12)(vite@5.1.5)
|
'@sveltejs/vite-plugin-svelte': 3.0.2(svelte@4.2.12)(vite@5.1.5)
|
||||||
debug: 4.3.4
|
debug: 4.3.4
|
||||||
svelte: 4.2.12
|
svelte: 4.2.12
|
||||||
vite: 5.1.5(@types/node@20.11.24)(sass@1.71.1)
|
vite: 5.1.5(@types/node@20.11.25)(sass@1.71.1)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
|
|
@ -3280,7 +3254,7 @@ packages:
|
||||||
magic-string: 0.30.5
|
magic-string: 0.30.5
|
||||||
svelte: 4.2.12
|
svelte: 4.2.12
|
||||||
svelte-hmr: 0.15.3(svelte@4.2.12)
|
svelte-hmr: 0.15.3(svelte@4.2.12)
|
||||||
vite: 5.1.5(@types/node@20.11.24)(sass@1.71.1)
|
vite: 5.1.5(@types/node@20.11.25)(sass@1.71.1)
|
||||||
vitefu: 0.2.5(vite@5.1.5)
|
vitefu: 0.2.5(vite@5.1.5)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
@ -3323,22 +3297,22 @@ 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.11.24:
|
/@types/node@20.11.25:
|
||||||
resolution: {integrity: sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long==}
|
resolution: {integrity: sha512-TBHyJxk2b7HceLVGFcpAUjsa5zIdsPWlR6XHfyGzd0SFu+/NFgQgMAl96MSDZgQDvJAvV6BKsFOrt6zIL09JDw==}
|
||||||
dependencies:
|
dependencies:
|
||||||
undici-types: 5.26.5
|
undici-types: 5.26.5
|
||||||
|
|
||||||
/@types/pg@8.11.2:
|
/@types/pg@8.11.2:
|
||||||
resolution: {integrity: sha512-G2Mjygf2jFMU/9hCaTYxJrwdObdcnuQde1gndooZSOHsNSaCehAuwc7EIuSA34Do8Jx2yZ19KtvW8P0j4EuUXw==}
|
resolution: {integrity: sha512-G2Mjygf2jFMU/9hCaTYxJrwdObdcnuQde1gndooZSOHsNSaCehAuwc7EIuSA34Do8Jx2yZ19KtvW8P0j4EuUXw==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/node': 20.11.24
|
'@types/node': 20.11.25
|
||||||
pg-protocol: 1.6.0
|
pg-protocol: 1.6.0
|
||||||
pg-types: 4.0.2
|
pg-types: 4.0.2
|
||||||
|
|
||||||
/@types/pg@8.6.6:
|
/@types/pg@8.6.6:
|
||||||
resolution: {integrity: sha512-O2xNmXebtwVekJDD+02udOncjVcMZQuTEQEMpKJ0ZRf5E7/9JJX3izhKUcUifBkyKpljyUM6BTgy2trmviKlpw==}
|
resolution: {integrity: sha512-O2xNmXebtwVekJDD+02udOncjVcMZQuTEQEMpKJ0ZRf5E7/9JJX3izhKUcUifBkyKpljyUM6BTgy2trmviKlpw==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/node': 20.11.24
|
'@types/node': 20.11.25
|
||||||
pg-protocol: 1.6.0
|
pg-protocol: 1.6.0
|
||||||
pg-types: 2.2.0
|
pg-types: 2.2.0
|
||||||
dev: false
|
dev: false
|
||||||
|
|
@ -3356,7 +3330,7 @@ packages:
|
||||||
requiresBuild: true
|
requiresBuild: true
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
/@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.3.3):
|
/@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.4.2):
|
||||||
resolution: {integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==}
|
resolution: {integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==}
|
||||||
engines: {node: ^16.0.0 || >=18.0.0}
|
engines: {node: ^16.0.0 || >=18.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
|
|
@ -3368,10 +3342,10 @@ packages:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@eslint-community/regexpp': 4.10.0
|
'@eslint-community/regexpp': 4.10.0
|
||||||
'@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.3.3)
|
'@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.2)
|
||||||
'@typescript-eslint/scope-manager': 6.21.0
|
'@typescript-eslint/scope-manager': 6.21.0
|
||||||
'@typescript-eslint/type-utils': 6.21.0(eslint@8.57.0)(typescript@5.3.3)
|
'@typescript-eslint/type-utils': 6.21.0(eslint@8.57.0)(typescript@5.4.2)
|
||||||
'@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.3.3)
|
'@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.4.2)
|
||||||
'@typescript-eslint/visitor-keys': 6.21.0
|
'@typescript-eslint/visitor-keys': 6.21.0
|
||||||
debug: 4.3.4
|
debug: 4.3.4
|
||||||
eslint: 8.57.0
|
eslint: 8.57.0
|
||||||
|
|
@ -3379,13 +3353,13 @@ packages:
|
||||||
ignore: 5.3.0
|
ignore: 5.3.0
|
||||||
natural-compare: 1.4.0
|
natural-compare: 1.4.0
|
||||||
semver: 7.5.4
|
semver: 7.5.4
|
||||||
ts-api-utils: 1.0.3(typescript@5.3.3)
|
ts-api-utils: 1.0.3(typescript@5.4.2)
|
||||||
typescript: 5.3.3
|
typescript: 5.4.2
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3):
|
/@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.2):
|
||||||
resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==}
|
resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==}
|
||||||
engines: {node: ^16.0.0 || >=18.0.0}
|
engines: {node: ^16.0.0 || >=18.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
|
|
@ -3397,11 +3371,11 @@ packages:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/scope-manager': 6.21.0
|
'@typescript-eslint/scope-manager': 6.21.0
|
||||||
'@typescript-eslint/types': 6.21.0
|
'@typescript-eslint/types': 6.21.0
|
||||||
'@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.3)
|
'@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.2)
|
||||||
'@typescript-eslint/visitor-keys': 6.21.0
|
'@typescript-eslint/visitor-keys': 6.21.0
|
||||||
debug: 4.3.4
|
debug: 4.3.4
|
||||||
eslint: 8.57.0
|
eslint: 8.57.0
|
||||||
typescript: 5.3.3
|
typescript: 5.4.2
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
@ -3414,7 +3388,7 @@ packages:
|
||||||
'@typescript-eslint/visitor-keys': 6.21.0
|
'@typescript-eslint/visitor-keys': 6.21.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@typescript-eslint/type-utils@6.21.0(eslint@8.57.0)(typescript@5.3.3):
|
/@typescript-eslint/type-utils@6.21.0(eslint@8.57.0)(typescript@5.4.2):
|
||||||
resolution: {integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==}
|
resolution: {integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==}
|
||||||
engines: {node: ^16.0.0 || >=18.0.0}
|
engines: {node: ^16.0.0 || >=18.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
|
|
@ -3424,12 +3398,12 @@ packages:
|
||||||
typescript:
|
typescript:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.3)
|
'@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.2)
|
||||||
'@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.3.3)
|
'@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.4.2)
|
||||||
debug: 4.3.4
|
debug: 4.3.4
|
||||||
eslint: 8.57.0
|
eslint: 8.57.0
|
||||||
ts-api-utils: 1.0.3(typescript@5.3.3)
|
ts-api-utils: 1.0.3(typescript@5.4.2)
|
||||||
typescript: 5.3.3
|
typescript: 5.4.2
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
@ -3439,7 +3413,7 @@ packages:
|
||||||
engines: {node: ^16.0.0 || >=18.0.0}
|
engines: {node: ^16.0.0 || >=18.0.0}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@typescript-eslint/typescript-estree@6.21.0(typescript@5.3.3):
|
/@typescript-eslint/typescript-estree@6.21.0(typescript@5.4.2):
|
||||||
resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==}
|
resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==}
|
||||||
engines: {node: ^16.0.0 || >=18.0.0}
|
engines: {node: ^16.0.0 || >=18.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
|
|
@ -3455,13 +3429,13 @@ packages:
|
||||||
is-glob: 4.0.3
|
is-glob: 4.0.3
|
||||||
minimatch: 9.0.3
|
minimatch: 9.0.3
|
||||||
semver: 7.6.0
|
semver: 7.6.0
|
||||||
ts-api-utils: 1.2.1(typescript@5.3.3)
|
ts-api-utils: 1.2.1(typescript@5.4.2)
|
||||||
typescript: 5.3.3
|
typescript: 5.4.2
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@typescript-eslint/utils@6.21.0(eslint@8.57.0)(typescript@5.3.3):
|
/@typescript-eslint/utils@6.21.0(eslint@8.57.0)(typescript@5.4.2):
|
||||||
resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==}
|
resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==}
|
||||||
engines: {node: ^16.0.0 || >=18.0.0}
|
engines: {node: ^16.0.0 || >=18.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
|
|
@ -3472,7 +3446,7 @@ packages:
|
||||||
'@types/semver': 7.5.6
|
'@types/semver': 7.5.6
|
||||||
'@typescript-eslint/scope-manager': 6.21.0
|
'@typescript-eslint/scope-manager': 6.21.0
|
||||||
'@typescript-eslint/types': 6.21.0
|
'@typescript-eslint/types': 6.21.0
|
||||||
'@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.3)
|
'@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.2)
|
||||||
eslint: 8.57.0
|
eslint: 8.57.0
|
||||||
semver: 7.5.4
|
semver: 7.5.4
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
|
|
@ -3771,13 +3745,13 @@ packages:
|
||||||
file-uri-to-path: 1.0.0
|
file-uri-to-path: 1.0.0
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/bits-ui@0.19.3(svelte@4.2.12):
|
/bits-ui@0.19.5(svelte@4.2.12):
|
||||||
resolution: {integrity: sha512-0qqZ1bwE4ZmTnzTdsl4mYEbHY5f0NVgxhddIqscLjJZx4ltkVKDXxBwEusbE2NToqKtXNNrU0wy7sLusdzdhcg==}
|
resolution: {integrity: sha512-jrt0pGZdixtl27VrfzLj5yJxha29CK+6nClZZSoJCL5DlXFT1sluF9NnOSMP48D3kczR5YjpArvCe0BEnGq4jA==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
svelte: ^4.0.0
|
svelte: ^4.0.0
|
||||||
dependencies:
|
dependencies:
|
||||||
'@internationalized/date': 3.5.2
|
'@internationalized/date': 3.5.2
|
||||||
'@melt-ui/svelte': 0.75.2(svelte@4.2.12)
|
'@melt-ui/svelte': 0.75.3(svelte@4.2.12)
|
||||||
nanoid: 5.0.6
|
nanoid: 5.0.6
|
||||||
svelte: 4.2.12
|
svelte: 4.2.12
|
||||||
dev: false
|
dev: false
|
||||||
|
|
@ -4110,8 +4084,8 @@ packages:
|
||||||
mdn-data: 2.0.30
|
mdn-data: 2.0.30
|
||||||
source-map-js: 1.0.2
|
source-map-js: 1.0.2
|
||||||
|
|
||||||
/cssdb@7.11.0:
|
/cssdb@7.11.1:
|
||||||
resolution: {integrity: sha512-YUVAJhjDcTZzVD5XE49l3PQtGE29vvhzaL1bM3BtkvSmIRJeYENdfn1dn5jauBI7BBF+IyyiBS+oSVx3Hz/Gaw==}
|
resolution: {integrity: sha512-F0nEoX/Rv8ENTHsjMPGHd9opdjGfXkgRBafSUGnQKPzGZFB7Lm0BbT10x21TMOCrKLbVsJ0NoCDMk6AfKqw8/A==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/cssesc@3.0.0:
|
/cssesc@3.0.0:
|
||||||
|
|
@ -4834,7 +4808,7 @@ packages:
|
||||||
is-callable: 1.2.7
|
is-callable: 1.2.7
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/formsnap@0.5.1(svelte@4.2.12)(sveltekit-superforms@2.7.0):
|
/formsnap@0.5.1(svelte@4.2.12)(sveltekit-superforms@2.8.0):
|
||||||
resolution: {integrity: sha512-8ppOlOu7llBEJbV0PzUz/KWh1J8KfiGqwjiyb8emQ2m+/nYXohLBtMcLVpW3XwlMkUbYaIXM+5lhfGjw8xbGJw==}
|
resolution: {integrity: sha512-8ppOlOu7llBEJbV0PzUz/KWh1J8KfiGqwjiyb8emQ2m+/nYXohLBtMcLVpW3XwlMkUbYaIXM+5lhfGjw8xbGJw==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
svelte: ^4.0.0
|
svelte: ^4.0.0
|
||||||
|
|
@ -4842,7 +4816,7 @@ packages:
|
||||||
dependencies:
|
dependencies:
|
||||||
nanoid: 5.0.6
|
nanoid: 5.0.6
|
||||||
svelte: 4.2.12
|
svelte: 4.2.12
|
||||||
sveltekit-superforms: 2.7.0(@sveltejs/kit@2.5.2)(@types/json-schema@7.0.15)(esbuild-runner@2.2.2)(esbuild@0.20.1)(svelte@4.2.12)
|
sveltekit-superforms: 2.8.0(@sveltejs/kit@2.5.2)(@types/json-schema@7.0.15)(esbuild-runner@2.2.2)(esbuild@0.20.1)(svelte@4.2.12)
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/fraction.js@4.3.7:
|
/fraction.js@4.3.7:
|
||||||
|
|
@ -6278,7 +6252,7 @@ packages:
|
||||||
dependencies:
|
dependencies:
|
||||||
lilconfig: 2.1.0
|
lilconfig: 2.1.0
|
||||||
postcss: 8.4.35
|
postcss: 8.4.35
|
||||||
ts-node: 10.9.2(@types/node@20.11.24)(typescript@5.3.3)
|
ts-node: 10.9.2(@types/node@20.11.25)(typescript@5.4.2)
|
||||||
yaml: 1.10.2
|
yaml: 1.10.2
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
|
|
@ -6296,7 +6270,7 @@ packages:
|
||||||
dependencies:
|
dependencies:
|
||||||
lilconfig: 3.0.0
|
lilconfig: 3.0.0
|
||||||
postcss: 8.4.35
|
postcss: 8.4.35
|
||||||
ts-node: 10.9.2(@types/node@20.11.24)(typescript@5.3.3)
|
ts-node: 10.9.2(@types/node@20.11.25)(typescript@5.4.2)
|
||||||
yaml: 2.3.4
|
yaml: 2.3.4
|
||||||
|
|
||||||
/postcss-load-config@5.0.3(postcss@8.4.35):
|
/postcss-load-config@5.0.3(postcss@8.4.35):
|
||||||
|
|
@ -6335,12 +6309,13 @@ packages:
|
||||||
postcss: 8.4.35
|
postcss: 8.4.35
|
||||||
postcss-selector-parser: 6.0.13
|
postcss-selector-parser: 6.0.13
|
||||||
|
|
||||||
/postcss-nesting@12.0.3(postcss@8.4.35):
|
/postcss-nesting@12.1.0(postcss@8.4.35):
|
||||||
resolution: {integrity: sha512-yrtMRPFNkfZMv9ikBvZ/Eh3RxhpMBKQ3KzD7LCY8+jYVlgju/Mdcxi4JY8bW2Y7ISXw8GTLuF/o+kFtp+yaVfQ==}
|
resolution: {integrity: sha512-QOYnosaZ+mlP6plQrAxFw09UUp2Sgtxj1BVHN+rSVbtV0Yx48zRt9/9F/ZOoxOKBBEsaJk2MYhhVRjeRRw5yuw==}
|
||||||
engines: {node: ^14 || ^16 || >=18}
|
engines: {node: ^14 || ^16 || >=18}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
postcss: ^8.4
|
postcss: ^8.4
|
||||||
dependencies:
|
dependencies:
|
||||||
|
'@csstools/selector-resolve-nested': 1.1.0(postcss-selector-parser@6.0.15)
|
||||||
'@csstools/selector-specificity': 3.0.2(postcss-selector-parser@6.0.15)
|
'@csstools/selector-specificity': 3.0.2(postcss-selector-parser@6.0.15)
|
||||||
postcss: 8.4.35
|
postcss: 8.4.35
|
||||||
postcss-selector-parser: 6.0.15
|
postcss-selector-parser: 6.0.15
|
||||||
|
|
@ -6383,8 +6358,8 @@ packages:
|
||||||
postcss-value-parser: 4.2.0
|
postcss-value-parser: 4.2.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/postcss-preset-env@9.4.0(postcss@8.4.35):
|
/postcss-preset-env@9.5.0(postcss@8.4.35):
|
||||||
resolution: {integrity: sha512-5X2UA4Dn4xo7sJFCxlzW/dAGo71Oxh/K5DVls33hd2e3j06OKnW5FJQTw2hB0wTnGv0f6WcMaVBGFqcEfAgwlw==}
|
resolution: {integrity: sha512-ZTrTWCSqKVYSABB1GerMBb6F8Uto5YWIq1nqi+TKOHPzrXMcyJNuJTc0v2lp5WjG4Sfvwdo7HF/7/3j7HskRog==}
|
||||||
engines: {node: ^14 || ^16 || >=18}
|
engines: {node: ^14 || ^16 || >=18}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
postcss: ^8.4
|
postcss: ^8.4
|
||||||
|
|
@ -6395,7 +6370,7 @@ packages:
|
||||||
'@csstools/postcss-exponential-functions': 1.0.4(postcss@8.4.35)
|
'@csstools/postcss-exponential-functions': 1.0.4(postcss@8.4.35)
|
||||||
'@csstools/postcss-font-format-keywords': 3.0.2(postcss@8.4.35)
|
'@csstools/postcss-font-format-keywords': 3.0.2(postcss@8.4.35)
|
||||||
'@csstools/postcss-gamut-mapping': 1.0.3(postcss@8.4.35)
|
'@csstools/postcss-gamut-mapping': 1.0.3(postcss@8.4.35)
|
||||||
'@csstools/postcss-gradients-interpolation-method': 4.0.10(postcss@8.4.35)
|
'@csstools/postcss-gradients-interpolation-method': 4.0.11(postcss@8.4.35)
|
||||||
'@csstools/postcss-hwb-function': 3.0.9(postcss@8.4.35)
|
'@csstools/postcss-hwb-function': 3.0.9(postcss@8.4.35)
|
||||||
'@csstools/postcss-ic-unit': 3.0.4(postcss@8.4.35)
|
'@csstools/postcss-ic-unit': 3.0.4(postcss@8.4.35)
|
||||||
'@csstools/postcss-initial': 1.0.1(postcss@8.4.35)
|
'@csstools/postcss-initial': 1.0.1(postcss@8.4.35)
|
||||||
|
|
@ -6423,7 +6398,7 @@ packages:
|
||||||
css-blank-pseudo: 6.0.1(postcss@8.4.35)
|
css-blank-pseudo: 6.0.1(postcss@8.4.35)
|
||||||
css-has-pseudo: 6.0.2(postcss@8.4.35)
|
css-has-pseudo: 6.0.2(postcss@8.4.35)
|
||||||
css-prefers-color-scheme: 9.0.1(postcss@8.4.35)
|
css-prefers-color-scheme: 9.0.1(postcss@8.4.35)
|
||||||
cssdb: 7.11.0
|
cssdb: 7.11.1
|
||||||
postcss: 8.4.35
|
postcss: 8.4.35
|
||||||
postcss-attribute-case-insensitive: 6.0.3(postcss@8.4.35)
|
postcss-attribute-case-insensitive: 6.0.3(postcss@8.4.35)
|
||||||
postcss-clamp: 4.1.0(postcss@8.4.35)
|
postcss-clamp: 4.1.0(postcss@8.4.35)
|
||||||
|
|
@ -6442,7 +6417,7 @@ packages:
|
||||||
postcss-image-set-function: 6.0.3(postcss@8.4.35)
|
postcss-image-set-function: 6.0.3(postcss@8.4.35)
|
||||||
postcss-lab-function: 6.0.10(postcss@8.4.35)
|
postcss-lab-function: 6.0.10(postcss@8.4.35)
|
||||||
postcss-logical: 7.0.1(postcss@8.4.35)
|
postcss-logical: 7.0.1(postcss@8.4.35)
|
||||||
postcss-nesting: 12.0.3(postcss@8.4.35)
|
postcss-nesting: 12.1.0(postcss@8.4.35)
|
||||||
postcss-opacity-percentage: 2.0.0(postcss@8.4.35)
|
postcss-opacity-percentage: 2.0.0(postcss@8.4.35)
|
||||||
postcss-overflow-shorthand: 5.0.1(postcss@8.4.35)
|
postcss-overflow-shorthand: 5.0.1(postcss@8.4.35)
|
||||||
postcss-page-break: 3.0.4(postcss@8.4.35)
|
postcss-page-break: 3.0.4(postcss@8.4.35)
|
||||||
|
|
@ -6602,14 +6577,6 @@ packages:
|
||||||
react-is: 18.2.0
|
react-is: 18.2.0
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/prisma@5.9.1:
|
|
||||||
resolution: {integrity: sha512-Hy/8KJZz0ELtkw4FnG9MS9rNWlXcJhf98Z2QMqi0QiVMoS8PzsBkpla0/Y5hTlob8F3HeECYphBjqmBxrluUrQ==}
|
|
||||||
engines: {node: '>=16.13'}
|
|
||||||
hasBin: true
|
|
||||||
requiresBuild: true
|
|
||||||
dependencies:
|
|
||||||
'@prisma/engines': 5.9.1
|
|
||||||
|
|
||||||
/progress@2.0.3:
|
/progress@2.0.3:
|
||||||
resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==}
|
resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==}
|
||||||
engines: {node: '>=0.4.0'}
|
engines: {node: '>=0.4.0'}
|
||||||
|
|
@ -6820,12 +6787,12 @@ packages:
|
||||||
yoga-wasm-web: 0.3.3
|
yoga-wasm-web: 0.3.3
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/schema-dts@1.1.2(typescript@5.3.3):
|
/schema-dts@1.1.2(typescript@5.4.2):
|
||||||
resolution: {integrity: sha512-MpNwH0dZJHinVxk9bT8XUdjKTxMYrA5bLtrrGmFA6PTLwlOKnhi67XoRd6/ty+Djt6ZC0slR57qFhZDNMI6DhQ==}
|
resolution: {integrity: sha512-MpNwH0dZJHinVxk9bT8XUdjKTxMYrA5bLtrrGmFA6PTLwlOKnhi67XoRd6/ty+Djt6ZC0slR57qFhZDNMI6DhQ==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
typescript: '>=4.1.0'
|
typescript: '>=4.1.0'
|
||||||
dependencies:
|
dependencies:
|
||||||
typescript: 5.3.3
|
typescript: 5.4.2
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/semver@6.3.1:
|
/semver@6.3.1:
|
||||||
|
|
@ -7089,8 +7056,8 @@ packages:
|
||||||
picocolors: 1.0.0
|
picocolors: 1.0.0
|
||||||
sade: 1.8.1
|
sade: 1.8.1
|
||||||
svelte: 4.2.12
|
svelte: 4.2.12
|
||||||
svelte-preprocess: 5.1.3(postcss-load-config@5.0.3)(postcss@8.4.35)(sass@1.71.1)(svelte@4.2.12)(typescript@5.3.3)
|
svelte-preprocess: 5.1.3(postcss-load-config@5.0.3)(postcss@8.4.35)(sass@1.71.1)(svelte@4.2.12)(typescript@5.4.2)
|
||||||
typescript: 5.3.3
|
typescript: 5.4.2
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- '@babel/core'
|
- '@babel/core'
|
||||||
- coffeescript
|
- coffeescript
|
||||||
|
|
@ -7141,12 +7108,12 @@ packages:
|
||||||
resolution: {integrity: sha512-AZD6R60vksyojn21FgXLglmBiBB9K5Dkdu0hdGrLbCaRCYT68IsWkZfRUqKhMx1IfzqWcZQ8X9y/f+Ih0oNQkQ==}
|
resolution: {integrity: sha512-AZD6R60vksyojn21FgXLglmBiBB9K5Dkdu0hdGrLbCaRCYT68IsWkZfRUqKhMx1IfzqWcZQ8X9y/f+Ih0oNQkQ==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/svelte-meta-tags@3.1.1(svelte@4.2.12)(typescript@5.3.3):
|
/svelte-meta-tags@3.1.1(svelte@4.2.12)(typescript@5.4.2):
|
||||||
resolution: {integrity: sha512-tSWU1xbRGV5rkDN4wWXZfY24BRuhPa3Z8W2Zpt3GCv01QQdWRhhgmlpYVdfoSPNQX060bDB/JM1cu4H+lXxe8w==}
|
resolution: {integrity: sha512-tSWU1xbRGV5rkDN4wWXZfY24BRuhPa3Z8W2Zpt3GCv01QQdWRhhgmlpYVdfoSPNQX060bDB/JM1cu4H+lXxe8w==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
svelte: ^3.55.0 || ^4.0.0
|
svelte: ^3.55.0 || ^4.0.0
|
||||||
dependencies:
|
dependencies:
|
||||||
schema-dts: 1.1.2(typescript@5.3.3)
|
schema-dts: 1.1.2(typescript@5.4.2)
|
||||||
svelte: 4.2.12
|
svelte: 4.2.12
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- typescript
|
- typescript
|
||||||
|
|
@ -7160,7 +7127,7 @@ packages:
|
||||||
svelte: 4.2.12
|
svelte: 4.2.12
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/svelte-preprocess@5.1.3(postcss-load-config@5.0.3)(postcss@8.4.35)(sass@1.71.1)(svelte@4.2.12)(typescript@5.3.3):
|
/svelte-preprocess@5.1.3(postcss-load-config@5.0.3)(postcss@8.4.35)(sass@1.71.1)(svelte@4.2.12)(typescript@5.4.2):
|
||||||
resolution: {integrity: sha512-xxAkmxGHT+J/GourS5mVJeOXZzne1FR5ljeOUAMXUkfEhkLEllRreXpbl3dIYJlcJRfL1LO1uIAPpBpBfiqGPw==}
|
resolution: {integrity: sha512-xxAkmxGHT+J/GourS5mVJeOXZzne1FR5ljeOUAMXUkfEhkLEllRreXpbl3dIYJlcJRfL1LO1uIAPpBpBfiqGPw==}
|
||||||
engines: {node: '>= 16.0.0', pnpm: ^8.0.0}
|
engines: {node: '>= 16.0.0', pnpm: ^8.0.0}
|
||||||
requiresBuild: true
|
requiresBuild: true
|
||||||
|
|
@ -7207,7 +7174,7 @@ packages:
|
||||||
sorcery: 0.11.0
|
sorcery: 0.11.0
|
||||||
strip-indent: 3.0.0
|
strip-indent: 3.0.0
|
||||||
svelte: 4.2.12
|
svelte: 4.2.12
|
||||||
typescript: 5.3.3
|
typescript: 5.4.2
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/svelte-sequential-preprocessor@2.0.1:
|
/svelte-sequential-preprocessor@2.0.1:
|
||||||
|
|
@ -7264,8 +7231,8 @@ packages:
|
||||||
'@sveltejs/kit': 2.5.2(@sveltejs/vite-plugin-svelte@3.0.2)(svelte@4.2.12)(vite@5.1.5)
|
'@sveltejs/kit': 2.5.2(@sveltejs/vite-plugin-svelte@3.0.2)(svelte@4.2.12)(vite@5.1.5)
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/sveltekit-superforms@2.7.0(@sveltejs/kit@2.5.2)(@types/json-schema@7.0.15)(esbuild-runner@2.2.2)(esbuild@0.20.1)(svelte@4.2.12):
|
/sveltekit-superforms@2.8.0(@sveltejs/kit@2.5.2)(@types/json-schema@7.0.15)(esbuild-runner@2.2.2)(esbuild@0.20.1)(svelte@4.2.12):
|
||||||
resolution: {integrity: sha512-z/YXWE4utCy/HIo/AcXlckItRj7ANNPFFHO4C42uwbtXZOODnEbuPb+sbpbTdGAw65JhIos59qEZXFFofzfEug==}
|
resolution: {integrity: sha512-Ac3GlnVOjZ6q4m6+1xcPEznJsoet4tNn3FqbgZ83UJP5O/io4fWXioGFDztuZXmIDPeaBoAx22A0TMmS61pCxA==}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
'@sveltejs/kit': 1.x || 2.x
|
'@sveltejs/kit': 1.x || 2.x
|
||||||
svelte: 3.x || 4.x || >=5.0.0-next.51
|
svelte: 3.x || 4.x || >=5.0.0-next.51
|
||||||
|
|
@ -7285,7 +7252,7 @@ packages:
|
||||||
joi: 17.12.2
|
joi: 17.12.2
|
||||||
superstruct: 1.0.3
|
superstruct: 1.0.3
|
||||||
valibot: 0.29.0
|
valibot: 0.29.0
|
||||||
yup: 1.3.3
|
yup: 1.4.0
|
||||||
zod: 3.22.4
|
zod: 3.22.4
|
||||||
zod-to-json-schema: 3.22.4(zod@3.22.4)
|
zod-to-json-schema: 3.22.4(zod@3.22.4)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
|
|
@ -7436,22 +7403,22 @@ packages:
|
||||||
resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
|
resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/ts-api-utils@1.0.3(typescript@5.3.3):
|
/ts-api-utils@1.0.3(typescript@5.4.2):
|
||||||
resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==}
|
resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==}
|
||||||
engines: {node: '>=16.13.0'}
|
engines: {node: '>=16.13.0'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
typescript: '>=4.2.0'
|
typescript: '>=4.2.0'
|
||||||
dependencies:
|
dependencies:
|
||||||
typescript: 5.3.3
|
typescript: 5.4.2
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/ts-api-utils@1.2.1(typescript@5.3.3):
|
/ts-api-utils@1.2.1(typescript@5.4.2):
|
||||||
resolution: {integrity: sha512-RIYA36cJn2WiH9Hy77hdF9r7oEwxAtB/TS9/S4Qd90Ap4z5FSiin5zEiTL44OII1Y3IIlEvxwxFUVgrHSZ/UpA==}
|
resolution: {integrity: sha512-RIYA36cJn2WiH9Hy77hdF9r7oEwxAtB/TS9/S4Qd90Ap4z5FSiin5zEiTL44OII1Y3IIlEvxwxFUVgrHSZ/UpA==}
|
||||||
engines: {node: '>=16'}
|
engines: {node: '>=16'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
typescript: '>=4.2.0'
|
typescript: '>=4.2.0'
|
||||||
dependencies:
|
dependencies:
|
||||||
typescript: 5.3.3
|
typescript: 5.4.2
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/ts-deepmerge@7.0.0:
|
/ts-deepmerge@7.0.0:
|
||||||
|
|
@ -7461,7 +7428,7 @@ packages:
|
||||||
/ts-interface-checker@0.1.13:
|
/ts-interface-checker@0.1.13:
|
||||||
resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
|
resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
|
||||||
|
|
||||||
/ts-node@10.9.2(@types/node@20.11.24)(typescript@5.3.3):
|
/ts-node@10.9.2(@types/node@20.11.25)(typescript@5.4.2):
|
||||||
resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==}
|
resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
|
|
@ -7480,14 +7447,14 @@ packages:
|
||||||
'@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.11.24
|
'@types/node': 20.11.25
|
||||||
acorn: 8.11.2
|
acorn: 8.11.2
|
||||||
acorn-walk: 8.3.0
|
acorn-walk: 8.3.0
|
||||||
arg: 4.1.3
|
arg: 4.1.3
|
||||||
create-require: 1.1.1
|
create-require: 1.1.1
|
||||||
diff: 4.0.2
|
diff: 4.0.2
|
||||||
make-error: 1.3.6
|
make-error: 1.3.6
|
||||||
typescript: 5.3.3
|
typescript: 5.4.2
|
||||||
v8-compile-cache-lib: 3.0.1
|
v8-compile-cache-lib: 3.0.1
|
||||||
yn: 3.1.1
|
yn: 3.1.1
|
||||||
|
|
||||||
|
|
@ -7540,8 +7507,8 @@ packages:
|
||||||
resolution: {integrity: sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==}
|
resolution: {integrity: sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/typescript@5.3.3:
|
/typescript@5.4.2:
|
||||||
resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==}
|
resolution: {integrity: sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==}
|
||||||
engines: {node: '>=14.17'}
|
engines: {node: '>=14.17'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
|
|
@ -7629,7 +7596,7 @@ packages:
|
||||||
- rollup
|
- rollup
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/vite-node@1.3.1(@types/node@20.11.24)(sass@1.71.1):
|
/vite-node@1.3.1(@types/node@20.11.25)(sass@1.71.1):
|
||||||
resolution: {integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==}
|
resolution: {integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==}
|
||||||
engines: {node: ^18.0.0 || >=20.0.0}
|
engines: {node: ^18.0.0 || >=20.0.0}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
@ -7638,7 +7605,7 @@ packages:
|
||||||
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.1.5(@types/node@20.11.24)(sass@1.71.1)
|
vite: 5.1.5(@types/node@20.11.25)(sass@1.71.1)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- '@types/node'
|
- '@types/node'
|
||||||
- less
|
- less
|
||||||
|
|
@ -7650,7 +7617,7 @@ packages:
|
||||||
- terser
|
- terser
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/vite@5.1.5(@types/node@20.11.24)(sass@1.71.1):
|
/vite@5.1.5(@types/node@20.11.25)(sass@1.71.1):
|
||||||
resolution: {integrity: sha512-BdN1xh0Of/oQafhU+FvopafUp6WaYenLU/NFoL5WyJL++GxkNfieKzBhM24H3HVsPQrlAqB7iJYTHabzaRed5Q==}
|
resolution: {integrity: sha512-BdN1xh0Of/oQafhU+FvopafUp6WaYenLU/NFoL5WyJL++GxkNfieKzBhM24H3HVsPQrlAqB7iJYTHabzaRed5Q==}
|
||||||
engines: {node: ^18.0.0 || >=20.0.0}
|
engines: {node: ^18.0.0 || >=20.0.0}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
@ -7678,7 +7645,7 @@ packages:
|
||||||
terser:
|
terser:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/node': 20.11.24
|
'@types/node': 20.11.25
|
||||||
esbuild: 0.19.12
|
esbuild: 0.19.12
|
||||||
postcss: 8.4.35
|
postcss: 8.4.35
|
||||||
rollup: 4.12.0
|
rollup: 4.12.0
|
||||||
|
|
@ -7694,9 +7661,9 @@ packages:
|
||||||
vite:
|
vite:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
vite: 5.1.5(@types/node@20.11.24)(sass@1.71.1)
|
vite: 5.1.5(@types/node@20.11.25)(sass@1.71.1)
|
||||||
|
|
||||||
/vitest@1.3.1(@types/node@20.11.24)(sass@1.71.1):
|
/vitest@1.3.1(@types/node@20.11.25)(sass@1.71.1):
|
||||||
resolution: {integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==}
|
resolution: {integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==}
|
||||||
engines: {node: ^18.0.0 || >=20.0.0}
|
engines: {node: ^18.0.0 || >=20.0.0}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
@ -7721,7 +7688,7 @@ packages:
|
||||||
jsdom:
|
jsdom:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/node': 20.11.24
|
'@types/node': 20.11.25
|
||||||
'@vitest/expect': 1.3.1
|
'@vitest/expect': 1.3.1
|
||||||
'@vitest/runner': 1.3.1
|
'@vitest/runner': 1.3.1
|
||||||
'@vitest/snapshot': 1.3.1
|
'@vitest/snapshot': 1.3.1
|
||||||
|
|
@ -7739,8 +7706,8 @@ packages:
|
||||||
strip-literal: 2.0.0
|
strip-literal: 2.0.0
|
||||||
tinybench: 2.6.0
|
tinybench: 2.6.0
|
||||||
tinypool: 0.8.2
|
tinypool: 0.8.2
|
||||||
vite: 5.1.5(@types/node@20.11.24)(sass@1.71.1)
|
vite: 5.1.5(@types/node@20.11.25)(sass@1.71.1)
|
||||||
vite-node: 1.3.1(@types/node@20.11.24)(sass@1.71.1)
|
vite-node: 1.3.1(@types/node@20.11.25)(sass@1.71.1)
|
||||||
why-is-node-running: 2.2.2
|
why-is-node-running: 2.2.2
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- less
|
- less
|
||||||
|
|
@ -7845,8 +7812,8 @@ packages:
|
||||||
/yoga-wasm-web@0.3.3:
|
/yoga-wasm-web@0.3.3:
|
||||||
resolution: {integrity: sha512-N+d4UJSJbt/R3wqY7Coqs5pcV0aUj2j9IaQ3rNj9bVCLld8tTGKRa2USARjnvZJWVx1NDmQev8EknoczaOQDOA==}
|
resolution: {integrity: sha512-N+d4UJSJbt/R3wqY7Coqs5pcV0aUj2j9IaQ3rNj9bVCLld8tTGKRa2USARjnvZJWVx1NDmQev8EknoczaOQDOA==}
|
||||||
|
|
||||||
/yup@1.3.3:
|
/yup@1.4.0:
|
||||||
resolution: {integrity: sha512-v8QwZSsHH2K3/G9WSkp6mZKO+hugKT1EmnMqLNUcfu51HU9MDyhlETT/JgtzprnrnQHPWsjc6MUDMBp/l9fNnw==}
|
resolution: {integrity: sha512-wPbgkJRCqIf+OHyiTBQoJiP5PFuAXaWiJK6AmYkzQAh5/c2K9hzSApBZG5wV9KoKSePF7sAxmNSvh/13YHkFDg==}
|
||||||
requiresBuild: true
|
requiresBuild: true
|
||||||
dependencies:
|
dependencies:
|
||||||
property-expr: 2.0.6
|
property-expr: 2.0.6
|
||||||
|
|
|
||||||
|
|
@ -1,256 +0,0 @@
|
||||||
{
|
|
||||||
"categories": [
|
|
||||||
{
|
|
||||||
"name": "Abstract Strategy"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Action / Dexterity"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Adventure"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Age of Reason"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "American Civil War"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "American Indian Wars"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "American Revolutionary War"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "American West"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Ancient"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Animals"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Arabian"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Aviation / Flight"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Bluffing"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Book"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Card Game"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Children's Game"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "City Building"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Civil War"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Civilization"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Collectible Components"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Comic Book / Strip"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Deduction"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Dice"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Economic"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Educational"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Electronic"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Environmental"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Expansion for Base-game"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Exploration"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Fan Expansion"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Fantasy"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Farming"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Fighting"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Game System"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Horror"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Humor"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Industry / Manufacturing"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Korean War"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Mafia"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Math"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Mature / Adult"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Maze"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Medical"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Medieval"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Memory"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Miniatures"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Modern Warefare"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Movies / TV / Radio Theme"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Murder/Mystery"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Music"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Mythology"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Napoleonic"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Nautical"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Negotiation"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Novel-based"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Number"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Party Game"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Pike and Shot"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Pirates"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Political"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Post-Napoleonic"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Prehistoric"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Print & Play"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Puzzle"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Racing"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Real-time"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Religious"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Renaissance"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Science Fiction"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Space Exploration"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Spies/Secret Agents"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Sports"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Territory Building"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Trains"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Transportation"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Travel"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Trivia"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Video Game Theme"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Vietnam War"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Wargame"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Word Game"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "World War I"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "World War II"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Zombies"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
@ -1,577 +0,0 @@
|
||||||
{
|
|
||||||
"mechanics": [
|
|
||||||
{
|
|
||||||
"name": "Acting"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Action Drafting"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Action Points"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Action Queue"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Action Retrieval"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Action Timer"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Action/Event"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Advantage Token"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Alliances"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Area Majority / Influence"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Area Movement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Area-Impulse"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Auction Compensation"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Auction: Dexterity"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Auction: Dutch"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Auction: Dutch Priority"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Auction: English"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Auction: Fixed Placement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Auction: Multiple Lot"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Auction: Once Around"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Auction: Sealed Bid"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Auction: Turn Order Until Pass"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Auction/Bidding"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Automatic Resource Growth"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Betting and Bluffing"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Bias"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Bids As Wagers"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Bingo"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Bribery"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Campaign / Battle Card Driven"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Card Play Conflict Resolution"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Catch the Leader"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Chaining"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Chit-Pull System"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Closed Drafting"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Closed Economy Auction"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Command Cards"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Commodity Speculation"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Communication Limits"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Connections"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Constrained Bidding"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Contracts"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Cooperative Game"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Crayon Rail System"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Critical Hits and Failures"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Cube Tower"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Deck Construction"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Deck, Bag, and Pool Building"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Deduction"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Delayed Purchase"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Dice Rolling"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Die Icon Resolution"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Different Dice Movement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Drawing"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Elapsed Real Time Ending"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Enclosure"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "End Game Bonuses"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Events"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Finale Ending"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Flicking"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Follow"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Force Commitment"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Grid Coverage"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Grid Movement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Hand Management"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Hexagon Grid"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Hidden Movement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Hidden Roles"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Hidden Victory Points"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Highest-Lowest Scoring"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Hot Potato"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "I Cut, You Choose"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Impulse Movement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Income"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Increase Value of Unchosen Resources"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Induction"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Interrupts"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Investment"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Kill Steal"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "King of the Hill"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Ladder Climbing"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Layering"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Legacy Game"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Line Drawing"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Line of Sight"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Loans"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Lose a Turn"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Mancala"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Map Addition"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Map Deformation"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Map Reduction"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Market"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Matching"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Measurement Movement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Melding and Splaying"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Memory"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Minimap Resolution"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Modular Board"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Move Through Deck"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Movement Points"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Movement Template"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Moving Multiple Units"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Multi-Use Cards"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Multiple Maps"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Narrative Choice / Paragraph"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Negotiation"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Neighbor Scope"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Network and Route Building"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Once-Per-Game Abilities"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Open Drafting"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Order Counters"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Ordering"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Ownership"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Paper-and-Pencil"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Passed Action Token"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Pattern Building"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Pattern Movement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Pattern Recognition"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Physical Removal"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Pick-up and Deliver"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Pieces as Map"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Player Elimination"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Player Judge"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Point to Point Movement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Predictive Bid"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Prisoner's Dilemma"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Programmed Movement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Push Your Luck"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Questions and Answers"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Race"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Random Production"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Ratio / Combat Results Table"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Re-rolling and Locking"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Real-Time"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Relative Movement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Resource Queue"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Resource to Move"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Rock-Paper-Scissors"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Role Playing"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Roles with Asymmetric Information"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Roll / Spin and Move"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Rondel"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Scenario / Mission / Campaign Game"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Score-and-Reset Game"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Secret Unit Deployment"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Selection Order Bid"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Semi-Cooperative Game"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Set Collection"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Simulation"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Simultaneous Action Selection"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Singing"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Single Loser Game"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Slide/Push"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Solo / Solitaire Game"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Speed Matching"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Square Grid"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Stacking and Balancing"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Stat Check Resolution"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Static Capture"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Stock Holding"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Storytelling"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Sudden Death Ending"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Tags"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Take That"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Targeted Clues"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Team-Based Game"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Tech Trees / Tech Tracks"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Three Dimensional Movement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Tile Placement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Track Movement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Trading"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Traitor Game"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Trick-taking"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Tug of War"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Turn Order: Auction"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Turn Order: Claim Action"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Turn Order: Pass Order"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Turn Order: Progressive"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Turn Order: Random"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Turn Order: Role Order"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Turn Order: Stat-Based"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Turn Order: Time Track"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Variable Phase Order"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Variable Player Powers"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Variable Set-up"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Victory Points as a Resource"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Voting"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Worker Placement"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Worker Placement with Dice Workers"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Worker Placement, Different Worker Types"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Zone of Control"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
|
|
@ -1,272 +0,0 @@
|
||||||
// This is your Prisma schema file,
|
|
||||||
// learn more about it in the docs: https://pris.ly/d/prisma-schema
|
|
||||||
|
|
||||||
generator client {
|
|
||||||
provider = "prisma-client-js"
|
|
||||||
previewFeatures = ["fullTextSearch", "fullTextIndex", "relationJoins"]
|
|
||||||
}
|
|
||||||
|
|
||||||
datasource db {
|
|
||||||
provider = "mysql"
|
|
||||||
url = env("DATABASE_URL")
|
|
||||||
relationMode = "prisma"
|
|
||||||
}
|
|
||||||
|
|
||||||
model Role {
|
|
||||||
id String @id @default(cuid())
|
|
||||||
name String @unique
|
|
||||||
userRoles UserRole[]
|
|
||||||
|
|
||||||
@@map("roles")
|
|
||||||
}
|
|
||||||
|
|
||||||
model UserRole {
|
|
||||||
id String @id @default(cuid())
|
|
||||||
user User @relation(fields: [user_id], references: [id])
|
|
||||||
user_id String
|
|
||||||
role Role @relation(fields: [role_id], references: [id])
|
|
||||||
role_id String
|
|
||||||
created_at DateTime @default(now()) @db.Timestamp(6)
|
|
||||||
updated_at DateTime @updatedAt @db.Timestamp(6)
|
|
||||||
|
|
||||||
@@unique([user_id, role_id])
|
|
||||||
@@index([user_id])
|
|
||||||
@@index([role_id])
|
|
||||||
@@map("user_roles")
|
|
||||||
}
|
|
||||||
|
|
||||||
model User {
|
|
||||||
id String @id @default(cuid())
|
|
||||||
username String @unique
|
|
||||||
hashed_password String?
|
|
||||||
email String? @unique
|
|
||||||
firstName String?
|
|
||||||
lastName String?
|
|
||||||
roles UserRole[]
|
|
||||||
verified Boolean @default(false)
|
|
||||||
receiveEmail Boolean @default(false)
|
|
||||||
collection Collection?
|
|
||||||
wishlist Wishlist?
|
|
||||||
list List[]
|
|
||||||
theme String @default("system")
|
|
||||||
created_at DateTime @default(now()) @db.Timestamp(6)
|
|
||||||
updated_at DateTime @updatedAt @db.Timestamp(6)
|
|
||||||
sessions Session[]
|
|
||||||
|
|
||||||
@@map("users")
|
|
||||||
}
|
|
||||||
|
|
||||||
model Session {
|
|
||||||
id String @id @unique
|
|
||||||
userId String
|
|
||||||
ip_country String
|
|
||||||
ip_address String
|
|
||||||
expiresAt DateTime
|
|
||||||
user User @relation(references: [id], fields: [userId], onDelete: Cascade)
|
|
||||||
|
|
||||||
@@index([userId])
|
|
||||||
@@map("sessions")
|
|
||||||
}
|
|
||||||
|
|
||||||
model Collection {
|
|
||||||
id String @id @default(cuid())
|
|
||||||
user_id String @unique
|
|
||||||
user User @relation(references: [id], fields: [user_id])
|
|
||||||
items CollectionItem[]
|
|
||||||
|
|
||||||
@@index([user_id])
|
|
||||||
@@map("collections")
|
|
||||||
}
|
|
||||||
|
|
||||||
model CollectionItem {
|
|
||||||
id String @id @default(cuid())
|
|
||||||
collection_id String
|
|
||||||
collection Collection @relation(references: [id], fields: [collection_id], onDelete: Cascade)
|
|
||||||
game_id String @unique
|
|
||||||
game Game @relation(references: [id], fields: [game_id])
|
|
||||||
times_played Int
|
|
||||||
|
|
||||||
@@index([game_id, collection_id])
|
|
||||||
@@index([game_id])
|
|
||||||
@@index([collection_id])
|
|
||||||
@@map("collection_items")
|
|
||||||
}
|
|
||||||
|
|
||||||
model Wishlist {
|
|
||||||
id String @id @default(cuid())
|
|
||||||
user_id String @unique
|
|
||||||
user User @relation(references: [id], fields: [user_id])
|
|
||||||
items WishlistItem[]
|
|
||||||
|
|
||||||
@@index([user_id])
|
|
||||||
@@map("wishlists")
|
|
||||||
}
|
|
||||||
|
|
||||||
model WishlistItem {
|
|
||||||
id String @id @default(cuid())
|
|
||||||
wishlist_id String
|
|
||||||
wishlist Wishlist @relation(references: [id], fields: [wishlist_id], onDelete: Cascade)
|
|
||||||
game_id String @unique
|
|
||||||
game Game @relation(references: [id], fields: [game_id])
|
|
||||||
created_at DateTime @default(now()) @db.Timestamp(6)
|
|
||||||
updated_at DateTime @updatedAt @db.Timestamp(6)
|
|
||||||
|
|
||||||
@@index([game_id, wishlist_id])
|
|
||||||
@@index([game_id])
|
|
||||||
@@index([wishlist_id])
|
|
||||||
@@map("wishlist_items")
|
|
||||||
}
|
|
||||||
|
|
||||||
model List {
|
|
||||||
id String @id @default(cuid())
|
|
||||||
name String
|
|
||||||
user_id String @unique
|
|
||||||
user User @relation(references: [id], fields: [user_id])
|
|
||||||
items ListItem[]
|
|
||||||
|
|
||||||
@@index([user_id])
|
|
||||||
@@map("lists")
|
|
||||||
}
|
|
||||||
|
|
||||||
model ListItem {
|
|
||||||
id String @id @default(cuid())
|
|
||||||
list_id String
|
|
||||||
list List @relation(references: [id], fields: [list_id], onDelete: Cascade)
|
|
||||||
game_id String @unique
|
|
||||||
game Game @relation(references: [id], fields: [game_id])
|
|
||||||
created_at DateTime @default(now()) @db.Timestamp(6)
|
|
||||||
updated_at DateTime @updatedAt @db.Timestamp(6)
|
|
||||||
|
|
||||||
@@index([game_id, list_id])
|
|
||||||
@@index([game_id])
|
|
||||||
@@index([list_id])
|
|
||||||
@@map("list_items")
|
|
||||||
}
|
|
||||||
|
|
||||||
model Game {
|
|
||||||
id String @id @default(cuid())
|
|
||||||
name String
|
|
||||||
slug String
|
|
||||||
description String? @db.LongText
|
|
||||||
year_published Int? @db.Year
|
|
||||||
min_players Int?
|
|
||||||
max_players Int?
|
|
||||||
playtime Int?
|
|
||||||
min_playtime Int?
|
|
||||||
max_playtime Int?
|
|
||||||
min_age Int?
|
|
||||||
image_url String?
|
|
||||||
thumb_url String?
|
|
||||||
url String?
|
|
||||||
categories Category[]
|
|
||||||
mechanics Mechanic[]
|
|
||||||
designers Designer[]
|
|
||||||
publishers Publisher[]
|
|
||||||
artists Artist[]
|
|
||||||
names GameName[]
|
|
||||||
expansions Expansion[] @relation("BaseToExpansion")
|
|
||||||
expansion_of Expansion[] @relation("ExpansionToBase")
|
|
||||||
collection_items CollectionItem[]
|
|
||||||
wishlist_items WishlistItem[]
|
|
||||||
list_items ListItem[]
|
|
||||||
external_id Int @unique
|
|
||||||
last_sync_at DateTime? @db.Timestamp(6)
|
|
||||||
created_at DateTime @default(now()) @db.Timestamp(6)
|
|
||||||
updated_at DateTime @updatedAt @db.Timestamp(6)
|
|
||||||
|
|
||||||
@@fulltext([name])
|
|
||||||
@@fulltext([slug])
|
|
||||||
@@map("games")
|
|
||||||
}
|
|
||||||
|
|
||||||
model GameName {
|
|
||||||
id String @id @default(cuid())
|
|
||||||
name String
|
|
||||||
slug String
|
|
||||||
game_id String
|
|
||||||
game Game @relation(references: [id], fields: [game_id])
|
|
||||||
created_at DateTime @default(now()) @db.Timestamp(6)
|
|
||||||
updated_at DateTime @updatedAt @db.Timestamp(6)
|
|
||||||
|
|
||||||
@@index([game_id])
|
|
||||||
@@map("game_names")
|
|
||||||
}
|
|
||||||
|
|
||||||
model Publisher {
|
|
||||||
id String @id @default(cuid())
|
|
||||||
name String
|
|
||||||
slug String
|
|
||||||
external_id Int @unique
|
|
||||||
games Game[]
|
|
||||||
created_at DateTime @default(now()) @db.Timestamp(6)
|
|
||||||
updated_at DateTime @updatedAt @db.Timestamp(6)
|
|
||||||
|
|
||||||
@@fulltext([name])
|
|
||||||
@@map("publishers")
|
|
||||||
}
|
|
||||||
|
|
||||||
model Category {
|
|
||||||
id String @id @default(cuid())
|
|
||||||
name String
|
|
||||||
slug String
|
|
||||||
games Game[]
|
|
||||||
external_id Int @unique
|
|
||||||
created_at DateTime @default(now()) @db.Timestamp(6)
|
|
||||||
updated_at DateTime @updatedAt @db.Timestamp(6)
|
|
||||||
|
|
||||||
@@fulltext([name])
|
|
||||||
@@map("categories")
|
|
||||||
}
|
|
||||||
|
|
||||||
model Mechanic {
|
|
||||||
id String @id @default(cuid())
|
|
||||||
name String
|
|
||||||
slug String
|
|
||||||
games Game[]
|
|
||||||
external_id Int @unique
|
|
||||||
created_at DateTime @default(now()) @db.Timestamp(6)
|
|
||||||
updated_at DateTime @updatedAt @db.Timestamp(6)
|
|
||||||
|
|
||||||
@@fulltext([name])
|
|
||||||
@@map("mechanics")
|
|
||||||
}
|
|
||||||
|
|
||||||
model Designer {
|
|
||||||
id String @id @default(cuid())
|
|
||||||
name String
|
|
||||||
slug String
|
|
||||||
external_id Int @unique
|
|
||||||
games Game[]
|
|
||||||
created_at DateTime @default(now()) @db.Timestamp(6)
|
|
||||||
updated_at DateTime @updatedAt @db.Timestamp(6)
|
|
||||||
|
|
||||||
@@fulltext([name])
|
|
||||||
@@map("designers")
|
|
||||||
}
|
|
||||||
|
|
||||||
model Artist {
|
|
||||||
id String @id @default(cuid())
|
|
||||||
name String
|
|
||||||
slug String @unique
|
|
||||||
external_id Int @unique
|
|
||||||
games Game[]
|
|
||||||
created_at DateTime @default(now()) @db.Timestamp(6)
|
|
||||||
updated_at DateTime @updatedAt @db.Timestamp(6)
|
|
||||||
|
|
||||||
@@fulltext([name])
|
|
||||||
@@map("artists")
|
|
||||||
}
|
|
||||||
|
|
||||||
model Expansion {
|
|
||||||
id String @id @default(cuid())
|
|
||||||
base_game Game @relation(name: "BaseToExpansion", fields: [base_game_id], references: [id])
|
|
||||||
base_game_id String
|
|
||||||
game Game @relation(name: "ExpansionToBase", fields: [game_id], references: [id])
|
|
||||||
game_id String
|
|
||||||
created_at DateTime @default(now()) @db.Timestamp(6)
|
|
||||||
updated_at DateTime @updatedAt @db.Timestamp(6)
|
|
||||||
|
|
||||||
@@index([base_game_id])
|
|
||||||
@@index([game_id])
|
|
||||||
@@map("expansions")
|
|
||||||
}
|
|
||||||
|
|
@ -1,84 +0,0 @@
|
||||||
import { PrismaClient } from '@prisma/client';
|
|
||||||
|
|
||||||
const prisma = new PrismaClient();
|
|
||||||
|
|
||||||
async function main() {
|
|
||||||
console.log(`Start seeding ...`);
|
|
||||||
|
|
||||||
console.log('Creating roles ...');
|
|
||||||
const existingRoles = await prisma.role.findMany();
|
|
||||||
if (existingRoles.length === 0) {
|
|
||||||
await prisma.role.createMany({
|
|
||||||
data: [{ name: 'admin' }, { name: 'user' }]
|
|
||||||
});
|
|
||||||
console.log('Roles created.');
|
|
||||||
} else {
|
|
||||||
console.log('Roles already exist. No action taken.');
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!await prisma.publisher.findFirst({
|
|
||||||
where: {
|
|
||||||
external_id: 9999
|
|
||||||
}
|
|
||||||
})) {
|
|
||||||
console.log('Publisher does not exist. Creating...');
|
|
||||||
await prisma.publisher.create({
|
|
||||||
data: {
|
|
||||||
name: 'Unknown',
|
|
||||||
slug: 'unknown',
|
|
||||||
external_id: 9999
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!await prisma.designer.findFirst({
|
|
||||||
where: {
|
|
||||||
external_id: 9999
|
|
||||||
}
|
|
||||||
})) {
|
|
||||||
console.log('Designer does not exist. Creating...');
|
|
||||||
await prisma.designer.create({
|
|
||||||
data: {
|
|
||||||
name: 'Unknown',
|
|
||||||
slug: 'unknown',
|
|
||||||
external_id: 9999
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!await prisma.artist.findFirst({
|
|
||||||
where: {
|
|
||||||
external_id: 9999
|
|
||||||
}
|
|
||||||
})) {
|
|
||||||
console.log('Artist does not exist. Creating...');
|
|
||||||
await prisma.artist.create({
|
|
||||||
data: {
|
|
||||||
name: 'Unknown',
|
|
||||||
slug: 'unknown',
|
|
||||||
external_id: 9999
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
// for (const p of userData) {
|
|
||||||
// const user = await prisma.user.create({
|
|
||||||
// data: {
|
|
||||||
// firstName: p.user.firstName,
|
|
||||||
// lastName: p.user.lastName,
|
|
||||||
// email: p.user.email,
|
|
||||||
// username: p.user.username
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
// console.log(`Created user with id: ${user.id}`);
|
|
||||||
// }
|
|
||||||
console.log(`Seeding finished.`);
|
|
||||||
}
|
|
||||||
|
|
||||||
main()
|
|
||||||
.catch(async (e) => {
|
|
||||||
console.error(e);
|
|
||||||
process.exit(1);
|
|
||||||
})
|
|
||||||
.finally(async () => {
|
|
||||||
await prisma.$disconnect();
|
|
||||||
});
|
|
||||||
5
src/app.d.ts
vendored
5
src/app.d.ts
vendored
|
|
@ -2,10 +2,6 @@
|
||||||
// for information about these interfaces
|
// for information about these interfaces
|
||||||
// and what to do when importing types
|
// and what to do when importing types
|
||||||
|
|
||||||
import type { PrismaClient, User } from '@prisma/client';
|
|
||||||
|
|
||||||
type User = Omit<User, 'created_at' | 'updated_at'>;
|
|
||||||
|
|
||||||
// src/app.d.ts
|
// src/app.d.ts
|
||||||
declare global {
|
declare global {
|
||||||
namespace App {
|
namespace App {
|
||||||
|
|
@ -16,7 +12,6 @@ declare global {
|
||||||
auth: import('lucia').AuthRequest;
|
auth: import('lucia').AuthRequest;
|
||||||
user: import('lucia').User | null;
|
user: import('lucia').User | null;
|
||||||
session: import('lucia').Session | null;
|
session: import('lucia').Session | null;
|
||||||
prisma: PrismaClient;
|
|
||||||
startTimer: number;
|
startTimer: number;
|
||||||
ip: string;
|
ip: string;
|
||||||
country: string;
|
country: string;
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,12 @@
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { enhance } from "$app/forms";
|
import { enhance } from "$app/forms";
|
||||||
import { fly } from "svelte/transition";
|
import { MinusCircle, PlusCircle } from "lucide-svelte";
|
||||||
import { createSelect, melt } from "@melt-ui/svelte";
|
|
||||||
import { Check, ChevronDown, MinusCircle, PlusCircle } from "lucide-svelte";
|
|
||||||
import { Button } from '$components/ui/button';
|
import { Button } from '$components/ui/button';
|
||||||
import type { Collection, Wishlist } from "@prisma/client";
|
import type { CollectionItems, Wishlists } from "../../schema";
|
||||||
|
|
||||||
export let game_id: string;
|
export let game_id: string;
|
||||||
export let collection: Collection;
|
export let collection: CollectionItems;
|
||||||
export let wishlist: Wishlist;
|
export let wishlist: Wishlists;
|
||||||
export let in_wishlist = false;
|
export let in_wishlist = false;
|
||||||
export let in_collection = false;
|
export let in_collection = false;
|
||||||
export let lists = [];
|
export let lists = [];
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import type { GameType, SavedGameType } from '$lib/types';
|
import type { GameType, SavedGameType } from '$lib/types';
|
||||||
import * as Card from "$lib/components/ui/card";
|
import * as Card from "$lib/components/ui/card";
|
||||||
import type { CollectionItem } from '@prisma/client';
|
import type { CollectionItems } from '../../schema';
|
||||||
|
|
||||||
export let game: GameType | CollectionItem;
|
export let game: GameType | CollectionItems;
|
||||||
export let detailed: boolean = false;
|
export let detailed: boolean = false;
|
||||||
export let variant: 'default' | 'compact' = 'default';
|
export let variant: 'default' | 'compact' = 'default';
|
||||||
|
|
||||||
|
|
@ -18,10 +18,10 @@
|
||||||
<Card.Header>
|
<Card.Header>
|
||||||
<Card.Title class="game-card-header">
|
<Card.Title class="game-card-header">
|
||||||
<span style:--transition-name="game-name-{game.slug}">
|
<span style:--transition-name="game-name-{game.slug}">
|
||||||
{game.name}
|
<!-- {game.name}
|
||||||
{#if game?.year_published}
|
{#if game?.year_published}
|
||||||
({game?.year_published})
|
({game?.year_published})
|
||||||
{/if}
|
{/if} -->
|
||||||
</span>
|
</span>
|
||||||
</Card.Title>
|
</Card.Title>
|
||||||
</Card.Header>
|
</Card.Header>
|
||||||
|
|
@ -32,7 +32,7 @@
|
||||||
title={`View ${game.name}`}
|
title={`View ${game.name}`}
|
||||||
data-sveltekit-preload-data
|
data-sveltekit-preload-data
|
||||||
>
|
>
|
||||||
<img src={game.thumb_url} alt={`Image of ${game.name}`} loading="lazy" decoding="async" />
|
<!-- <img src={game.thumb_url} alt={`Image of ${game.name}`} loading="lazy" decoding="async" />
|
||||||
<div class="game-details">
|
<div class="game-details">
|
||||||
{#if game?.players}
|
{#if game?.players}
|
||||||
<p>Players: {game.players}</p>
|
<p>Players: {game.players}</p>
|
||||||
|
|
@ -44,7 +44,7 @@
|
||||||
<div class="description">{@html game.description}</div>
|
<div class="description">{@html game.description}</div>
|
||||||
{/if}
|
{/if}
|
||||||
{/if}
|
{/if}
|
||||||
</div>
|
</div> -->
|
||||||
</a>
|
</a>
|
||||||
</Card.Content>
|
</Card.Content>
|
||||||
</Card.Root>
|
</Card.Root>
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,22 @@
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { applyAction, enhance } from '$app/forms';
|
import { applyAction, enhance } from '$app/forms';
|
||||||
import toast from 'svelte-french-toast';
|
import toast from 'svelte-french-toast';
|
||||||
import { ListChecks, ListTodo, LogOut, User } from 'lucide-svelte';
|
import { ListChecks, ListTodo, LogOut } from 'lucide-svelte';
|
||||||
import * as DropdownMenu from "$components/ui/dropdown-menu";
|
import * as DropdownMenu from "$components/ui/dropdown-menu";
|
||||||
import * as Avatar from "$components/ui/avatar";
|
import * as Avatar from "$components/ui/avatar";
|
||||||
import { invalidateAll } from '$app/navigation';
|
import { invalidateAll } from '$app/navigation';
|
||||||
import Logo from '$components/logo.svelte';
|
import Logo from '$components/logo.svelte';
|
||||||
|
import type { Users } from '../../schema';
|
||||||
|
|
||||||
export let user: User | null;
|
export let user: Users;
|
||||||
|
|
||||||
let avatar = user?.username.slice(0, 1).toUpperCase() || '?';
|
let avatar: string;
|
||||||
|
let loggedIn = false;
|
||||||
|
|
||||||
|
$: if (user) {
|
||||||
|
avatar = user.username?.slice(0, 1).toUpperCase() || '?';
|
||||||
|
loggedIn = true;
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<header>
|
<header>
|
||||||
|
|
@ -23,7 +30,7 @@
|
||||||
</div>
|
</div>
|
||||||
<!-- <TextSearch /> -->
|
<!-- <TextSearch /> -->
|
||||||
<nav>
|
<nav>
|
||||||
{#if user}
|
{#if loggedIn}
|
||||||
<a href="/collection" title="Go to your collection" data-sveltekit-preload-data>Collection</a>
|
<a href="/collection" title="Go to your collection" data-sveltekit-preload-data>Collection</a>
|
||||||
<a href="/wishlist" title="Go to your wishlist" data-sveltekit-preload-data>Wishlist</a>
|
<a href="/wishlist" title="Go to your wishlist" data-sveltekit-preload-data>Wishlist</a>
|
||||||
<DropdownMenu.Root>
|
<DropdownMenu.Root>
|
||||||
|
|
@ -89,7 +96,7 @@
|
||||||
</DropdownMenu.Content>
|
</DropdownMenu.Content>
|
||||||
</DropdownMenu.Root>
|
</DropdownMenu.Root>
|
||||||
{/if}
|
{/if}
|
||||||
{#if !user}
|
{#if !loggedIn}
|
||||||
<a href="/login">
|
<a href="/login">
|
||||||
<span class="flex-auto">Login</span></a
|
<span class="flex-auto">Login</span></a
|
||||||
>
|
>
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ const pool = new pg.Pool({
|
||||||
host: DATABASE_HOST,
|
host: DATABASE_HOST,
|
||||||
port: Number(DATABASE_PORT).valueOf(),
|
port: Number(DATABASE_PORT).valueOf(),
|
||||||
database: DATABASE_DB,
|
database: DATABASE_DB,
|
||||||
ssl: true,
|
ssl: DATABASE_HOST === 'localhost' ? false : true,
|
||||||
});
|
});
|
||||||
|
|
||||||
// user: DATABASE_USER,
|
// user: DATABASE_USER,
|
||||||
|
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
import { PrismaClient } from '@prisma/client'
|
|
||||||
|
|
||||||
const prisma = new PrismaClient()
|
|
||||||
export default prisma
|
|
||||||
|
|
@ -1,5 +1,4 @@
|
||||||
import type { GameType, SavedGameType } from '$lib/types';
|
import type { GameType, SavedGameType } from '$lib/types';
|
||||||
import type { Game } from '@prisma/client';
|
|
||||||
import kebabCase from 'just-kebab-case';
|
import kebabCase from 'just-kebab-case';
|
||||||
import type { Games } from '../../schema';
|
import type { Games } from '../../schema';
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@ const connection = postgres({
|
||||||
user: process.env.DATABASE_USER || 'root',
|
user: process.env.DATABASE_USER || 'root',
|
||||||
password: process.env.DATABASE_PASSWORD || '',
|
password: process.env.DATABASE_PASSWORD || '',
|
||||||
database: process.env.DATABASE_DB || 'boredgame',
|
database: process.env.DATABASE_DB || 'boredgame',
|
||||||
ssl: 'require',
|
ssl: process.env.DATABASE_HOST === 'localhost' ? false : 'require',
|
||||||
max: 1
|
max: 1
|
||||||
});
|
});
|
||||||
const db = drizzle(connection);
|
const db = drizzle(connection);
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,7 @@
|
||||||
import { fail, redirect } from '@sveltejs/kit';
|
import { fail } from '@sveltejs/kit';
|
||||||
import prisma from '$lib/prisma';
|
import { eq } from 'drizzle-orm';
|
||||||
|
import db from '$lib/drizzle.js';
|
||||||
|
import { wishlists } from '../../../../schema.js';
|
||||||
|
|
||||||
export async function load({ locals }) {
|
export async function load({ locals }) {
|
||||||
if (!locals.user) {
|
if (!locals.user) {
|
||||||
|
|
@ -7,23 +9,12 @@ export async function load({ locals }) {
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
let wishlists = await prisma.wishlist.findMany({
|
const userWishlists = await db.query.wishlists.findMany({
|
||||||
where: {
|
where: eq(wishlists.user_id, locals.user.id)
|
||||||
user_id: session.userId
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
if (wishlists.length === 0) {
|
|
||||||
const wishlist = await prisma.wishlist.create({
|
|
||||||
data: {
|
|
||||||
user_id: session.userId
|
|
||||||
}
|
|
||||||
});
|
|
||||||
wishlists.push(wishlist);
|
|
||||||
}
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
wishlists
|
wishlsits: userWishlists
|
||||||
};
|
};
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error(e);
|
console.error(e);
|
||||||
|
|
|
||||||
|
|
@ -5,20 +5,18 @@
|
||||||
const wishlists = data.wishlists || [];
|
const wishlists = data.wishlists || [];
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
<aside class="wishlists">
|
||||||
<aside class="wishlists">
|
<h2>Your Wishlists</h2>
|
||||||
<h2>Your Wishlists</h2>
|
<div class="separator"></div>
|
||||||
<div class="separator"></div>
|
{#each wishlists as wishlist}
|
||||||
{#each wishlists as wishlist}
|
<h2 class="wishlist"><a href={`/wishlist/${wishlist.id}`}>{wishlist.name}</a></h2>
|
||||||
<h2 class="wishlist"><a href={`/wishlist/${wishlist.id}`}>{wishlist.name}</a></h2>
|
{/each}
|
||||||
{/each}
|
</aside>
|
||||||
</aside>
|
<div class="content">
|
||||||
<div class="content">
|
<Transition url={data.url} transition={{ type: 'page' }}>
|
||||||
<Transition url={data.url} transition={{ type: 'page' }}>
|
<slot />
|
||||||
<slot />
|
</Transition>
|
||||||
</Transition>
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<style lang="postcss">
|
<style lang="postcss">
|
||||||
.wishlists {
|
.wishlists {
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,9 @@
|
||||||
import { type Actions, fail, redirect } from "@sveltejs/kit";
|
import { type Actions, fail, redirect } from "@sveltejs/kit";
|
||||||
|
import { and, eq } from "drizzle-orm";
|
||||||
|
import db from "$lib/drizzle.js";
|
||||||
import { superValidate } from 'sveltekit-superforms/server';
|
import { superValidate } from 'sveltekit-superforms/server';
|
||||||
import prisma from '$lib/prisma';
|
import { games, wishlist_items, wishlists } from "../../../../../schema.js";
|
||||||
|
import { zod } from "sveltekit-superforms/adapters";
|
||||||
|
|
||||||
export async function load({ params, locals }) {
|
export async function load({ params, locals }) {
|
||||||
const user = locals.user;
|
const user = locals.user;
|
||||||
|
|
@ -9,27 +12,32 @@ export async function load({ params, locals }) {
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
let wishlist = await prisma.wishlist.findUnique({
|
const wishlist = await db.select({
|
||||||
where: {
|
wishlistId: wishlists.id,
|
||||||
id: params.id,
|
wishlistName: wishlists.name,
|
||||||
AND: {
|
wishlistItems: {
|
||||||
user_id: user.id
|
id: wishlist_items.id,
|
||||||
}
|
gameId: wishlist_items.game_id,
|
||||||
|
gameName: games.name,
|
||||||
|
gameThumbUrl: games.thumb_url
|
||||||
},
|
},
|
||||||
include: {
|
}).from(wishlists).leftJoin(wishlist_items, eq(wishlists.id, wishlist_items.wishlist_id)).leftJoin(games, eq(games.id, wishlist_items.game_id)).where(eq(wishlists.id, params.id));
|
||||||
items: {
|
// let wishlist = await db.query.wishlists.findFirst({
|
||||||
include: {
|
// where: and(eq(wishlists.id, params.id), eq(wishlists.user_id, user.id)),
|
||||||
game: {
|
// with: {
|
||||||
select: {
|
// : {
|
||||||
id: true,
|
// include: {
|
||||||
name: true,
|
// game: {
|
||||||
thumb_url: true
|
// select: {
|
||||||
}
|
// id: true,
|
||||||
}
|
// name: true,
|
||||||
}
|
// thumb_url: true
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
});
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// });
|
||||||
|
|
||||||
return {
|
return {
|
||||||
wishlist
|
wishlist
|
||||||
|
|
@ -51,10 +59,8 @@ export const actions: Actions = {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
let game = await prisma.game.findUnique({
|
let game = await db.query.games.findFirst({
|
||||||
where: {
|
where: eq(games.id, form.id)
|
||||||
id: form.id
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
if (!game) {
|
if (!game) {
|
||||||
|
|
@ -68,10 +74,8 @@ export const actions: Actions = {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
const wishlist = await prisma.wishlist.findUnique({
|
const wishlist = await db.query.wishlists.findFirst({
|
||||||
where: {
|
where: eq(wishlists.id, params.id)
|
||||||
id: params.id
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
if (wishlist?.user_id !== locals.user.id) {
|
if (wishlist?.user_id !== locals.user.id) {
|
||||||
|
|
|
||||||
9
src/routes/(app)/+layout.server.ts
Normal file
9
src/routes/(app)/+layout.server.ts
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
import { loadFlash } from 'sveltekit-flash-message/server';
|
||||||
|
import type { LayoutServerLoad } from '../$types';
|
||||||
|
|
||||||
|
export const load: LayoutServerLoad = loadFlash(async ({ url, locals }) => {
|
||||||
|
return {
|
||||||
|
url: url.pathname,
|
||||||
|
user: locals.user
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
@ -1,8 +1,5 @@
|
||||||
import { superValidate } from 'sveltekit-superforms/server';
|
|
||||||
import { search_schema } from '$lib/zodValidation';
|
|
||||||
import type { MetaTagsProps } from 'svelte-meta-tags';
|
import type { MetaTagsProps } from 'svelte-meta-tags';
|
||||||
import type { PageServerLoad } from './$types';
|
import type { PageServerLoad } from './$types';
|
||||||
import type { Game } from '@prisma/client';
|
|
||||||
|
|
||||||
export const load: PageServerLoad = async ({ fetch, url }) => {
|
export const load: PageServerLoad = async ({ fetch, url }) => {
|
||||||
const image = {
|
const image = {
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ const pool = new pg.Pool({
|
||||||
host: process.env.DATABASE_HOST,
|
host: process.env.DATABASE_HOST,
|
||||||
port: new Number(process.env.DATABASE_PORT).valueOf(),
|
port: new Number(process.env.DATABASE_PORT).valueOf(),
|
||||||
database: process.env.DATABASE_DB,
|
database: process.env.DATABASE_DB,
|
||||||
ssl: true,
|
ssl: process.env.DATABASE_HOST === 'localhost' ? false : true,
|
||||||
});
|
});
|
||||||
|
|
||||||
const db = drizzle(pool, { schema: schema });
|
const db = drizzle(pool, { schema: schema });
|
||||||
|
|
|
||||||
|
|
@ -1,20 +1,17 @@
|
||||||
import type { User } from '@prisma/client';
|
import db from '$lib/drizzle';
|
||||||
import { prisma_client } from '../hooks.server';
|
import { eq } from 'drizzle-orm';
|
||||||
|
import { users, type Users } from '../schema';
|
||||||
import { add_user_to_role } from './roles';
|
import { add_user_to_role } from './roles';
|
||||||
|
|
||||||
export function create_user(user: User) {
|
export function create_user(user: Users) {
|
||||||
return prisma_client.user.create({
|
return db.insert(users).values({
|
||||||
data: {
|
username: user.username
|
||||||
username: user.username
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function find_or_create_user(user: User) {
|
export async function find_or_create_user(user: Users) {
|
||||||
const existing_user = await prisma_client.user.findUnique({
|
const existing_user = await db.query.users.findFirst({
|
||||||
where: {
|
where: eq(users.username, user.username),
|
||||||
username: user.username
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
if (existing_user) {
|
if (existing_user) {
|
||||||
return existing_user;
|
return existing_user;
|
||||||
|
|
@ -26,14 +23,12 @@ export async function find_or_create_user(user: User) {
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function find_user_with_roles(user_id: string) {
|
export async function find_user_with_roles(user_id: string) {
|
||||||
const user_with_roles = await prisma_client.user.findUnique({
|
const user_with_roles = await db.query.users.findFirst({
|
||||||
where: {
|
where: eq(users.id, user_id),
|
||||||
id: user_id
|
with: {
|
||||||
},
|
user_roles: {
|
||||||
include: {
|
with: {
|
||||||
roles: {
|
roles: {
|
||||||
select: {
|
|
||||||
role: {
|
|
||||||
select: {
|
select: {
|
||||||
name: true
|
name: true
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -39,9 +39,4 @@ export default defineConfig({
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
resolve: {
|
|
||||||
alias: {
|
|
||||||
'.prisma/client/index-browser': './node_modules/@prisma/client/index-browser.js'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue