From 1f1d9d78388983f4079becc05eccaca509452860 Mon Sep 17 00:00:00 2001 From: Bradley Shellnut Date: Sat, 29 Jul 2023 22:00:51 -0700 Subject: [PATCH] Update Lucia to V2, add APIs for user interactions, and fix anything to get the build working. --- package.json | 32 +- pnpm-lock.yaml | 1025 +++++++++-------- prisma/schema.prisma | 32 +- src/app.d.ts | 13 +- src/db/users.ts | 12 +- src/hooks.server.ts | 25 +- src/lib/components/game/index.svelte | 29 +- .../components/search/textSearch/index.svelte | 13 +- src/lib/server/lucia.ts | 29 +- src/lib/zodValidation.ts | 2 +- src/routes/+layout.server.ts | 7 +- src/routes/+layout.svelte | 14 +- src/routes/+page.server.ts | 12 +- src/routes/+page.svelte | 2 +- src/routes/api/collection/+server.ts | 29 + .../api/collection/[id]/search/+server.ts | 2 +- src/routes/auth/signin/+page.server.ts | 6 +- src/routes/auth/signup/+page.server.ts | 25 +- src/routes/game/[id]/+page.svelte | 14 +- src/routes/search/+page.server.ts | 121 +- 20 files changed, 814 insertions(+), 630 deletions(-) diff --git a/package.json b/package.json index 0915d93..10b7619 100644 --- a/package.json +++ b/package.json @@ -22,37 +22,38 @@ "seed": "ts-node --esm prisma/seed.ts" }, "devDependencies": { - "@playwright/test": "^1.36.1", + "@playwright/test": "^1.36.2", "@sveltejs/adapter-auto": "^1.0.3", "@sveltejs/adapter-vercel": "^1.0.6", "@sveltejs/kit": "^1.22.3", "@types/cookie": "^0.5.1", - "@types/node": "^18.16.19", + "@types/node": "^18.17.1", "@typescript-eslint/eslint-plugin": "^5.62.0", "@typescript-eslint/parser": "^5.62.0", "autoprefixer": "^10.4.14", "eslint": "^8.45.0", "eslint-config-prettier": "^8.8.0", - "eslint-plugin-svelte": "^2.32.2", + "eslint-plugin-svelte": "^2.32.4", "just-clone": "^6.2.0", "just-debounce-it": "^3.2.0", - "postcss": "^8.4.26", + "postcss": "^8.4.27", "postcss-import": "^15.1.0", "postcss-load-config": "^4.0.1", "postcss-preset-env": "^8.5.1", "prettier": "^2.8.8", "prettier-plugin-svelte": "^2.10.1", "prisma": "^4.16.2", - "sass": "^1.63.6", - "svelte": "^4.0.0", - "svelte-check": "^3.4.3", + "sass": "^1.64.1", + "svelte": "^4.1.1", + "svelte-check": "^3.4.6", "svelte-preprocess": "^5.0.4", - "sveltekit-superforms": "^1.3.0", + "sveltekit-flash-message": "^2.1.0", + "sveltekit-superforms": "^1.5.0", "tailwindcss": "^3.3.3", "ts-node": "^10.9.1", - "tslib": "^2.6.0", - "typescript": "^5.0.0", - "vite": "^4.4.4", + "tslib": "^2.6.1", + "typescript": "^5.1.6", + "vite": "^4.4.7", "vitest": "^0.25.3", "zod": "^3.21.4" }, @@ -69,9 +70,9 @@ "@leveluptuts/svelte-side-menu": "^1.0.5", "@leveluptuts/svelte-toy": "^2.0.3", "@lucia-auth/adapter-mysql": "^1.1.1", - "@lucia-auth/adapter-prisma": "^2.0.0", + "@lucia-auth/adapter-prisma": "^3.0.0", "@lukeed/uuid": "^2.0.1", - "@prisma/client": "4.16.1", + "@prisma/client": "4.16.2", "@types/feather-icons": "^4.29.1", "class-variance-authority": "^0.6.1", "clsx": "^1.2.1", @@ -80,16 +81,15 @@ "iconify-icon": "^1.0.8", "just-kebab-case": "^4.2.0", "loader": "^2.1.1", - "lucia-auth": "^1.8.0", + "lucia": "^2.0.0", "lucide-svelte": "^0.256.1", "open-props": "^1.5.10", "radix-svelte": "^0.8.0", "svelte-lazy": "^1.2.1", "svelte-lazy-loader": "^1.0.0", "svelte-legos": "^0.2.1", - "sveltekit-flash-message": "^0.11.3", "tailwind-merge": "^1.14.0", "tailwindcss-animate": "^1.0.6", "zod-to-json-schema": "^3.21.4" } -} \ No newline at end of file +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ef99158..1aa16d1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -27,14 +27,14 @@ dependencies: specifier: ^1.1.1 version: 1.1.1(lucia-auth@1.8.0) '@lucia-auth/adapter-prisma': - specifier: ^2.0.0 - version: 2.0.0(@prisma/client@4.16.1)(lucia-auth@1.8.0) + specifier: ^3.0.0 + version: 3.0.0(@prisma/client@4.16.2)(lucia@2.0.0) '@lukeed/uuid': specifier: ^2.0.1 version: 2.0.1 '@prisma/client': - specifier: 4.16.1 - version: 4.16.1(prisma@4.16.2) + specifier: 4.16.2 + version: 4.16.2(prisma@4.16.2) '@types/feather-icons': specifier: ^4.29.1 version: 4.29.1 @@ -59,30 +59,27 @@ dependencies: loader: specifier: ^2.1.1 version: 2.1.1 - lucia-auth: - specifier: ^1.8.0 - version: 1.8.0 + lucia: + specifier: ^2.0.0 + version: 2.0.0 lucide-svelte: specifier: ^0.256.1 - version: 0.256.1(svelte@3.59.2) + version: 0.256.1(svelte@4.1.1) open-props: specifier: ^1.5.10 version: 1.5.10 radix-svelte: specifier: ^0.8.0 - version: 0.8.0(svelte@3.59.2) + version: 0.8.0(svelte@4.1.1) svelte-lazy: specifier: ^1.2.1 - version: 1.2.1(svelte@3.59.2) + version: 1.2.1(svelte@4.1.1) svelte-lazy-loader: specifier: ^1.0.0 version: 1.0.0 svelte-legos: specifier: ^0.2.1 - version: 0.2.1(svelte@3.59.2) - sveltekit-flash-message: - specifier: ^0.11.3 - version: 0.11.3(@sveltejs/kit@1.22.3)(svelte@3.59.2) + version: 0.2.1(svelte@4.1.1) tailwind-merge: specifier: ^1.14.0 version: 1.14.0 @@ -95,8 +92,8 @@ dependencies: devDependencies: '@playwright/test': - specifier: ^1.36.1 - version: 1.36.1 + specifier: ^1.36.2 + version: 1.36.2 '@sveltejs/adapter-auto': specifier: ^1.0.3 version: 1.0.3(@sveltejs/kit@1.22.3) @@ -105,22 +102,22 @@ devDependencies: version: 1.0.6(@sveltejs/kit@1.22.3) '@sveltejs/kit': specifier: ^1.22.3 - version: 1.22.3(svelte@3.59.2)(vite@4.4.4) + version: 1.22.3(svelte@4.1.1)(vite@4.4.7) '@types/cookie': specifier: ^0.5.1 version: 0.5.1 '@types/node': - specifier: ^18.16.19 - version: 18.16.19 + specifier: ^18.17.1 + version: 18.17.1 '@typescript-eslint/eslint-plugin': specifier: ^5.62.0 - version: 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.45.0)(typescript@4.9.5) + version: 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.45.0)(typescript@5.1.6) '@typescript-eslint/parser': specifier: ^5.62.0 - version: 5.62.0(eslint@8.45.0)(typescript@4.9.5) + version: 5.62.0(eslint@8.45.0)(typescript@5.1.6) autoprefixer: specifier: ^10.4.14 - version: 10.4.14(postcss@8.4.26) + version: 10.4.14(postcss@8.4.27) eslint: specifier: ^8.45.0 version: 8.45.0 @@ -128,8 +125,8 @@ devDependencies: specifier: ^8.8.0 version: 8.8.0(eslint@8.45.0) eslint-plugin-svelte: - specifier: ^2.32.2 - version: 2.32.2(eslint@8.45.0)(svelte@3.59.2)(ts-node@10.9.1) + specifier: ^2.32.4 + version: 2.32.4(eslint@8.45.0)(svelte@4.1.1)(ts-node@10.9.1) just-clone: specifier: ^6.2.0 version: 6.2.0 @@ -137,59 +134,62 @@ devDependencies: specifier: ^3.2.0 version: 3.2.0 postcss: - specifier: ^8.4.26 - version: 8.4.26 + specifier: ^8.4.27 + version: 8.4.27 postcss-import: specifier: ^15.1.0 - version: 15.1.0(postcss@8.4.26) + version: 15.1.0(postcss@8.4.27) postcss-load-config: specifier: ^4.0.1 - version: 4.0.1(postcss@8.4.26)(ts-node@10.9.1) + version: 4.0.1(postcss@8.4.27)(ts-node@10.9.1) postcss-preset-env: specifier: ^8.5.1 - version: 8.5.1(postcss@8.4.26) + version: 8.5.1(postcss@8.4.27) prettier: specifier: ^2.8.8 version: 2.8.8 prettier-plugin-svelte: specifier: ^2.10.1 - version: 2.10.1(prettier@2.8.8)(svelte@3.59.2) + version: 2.10.1(prettier@2.8.8)(svelte@4.1.1) prisma: specifier: ^4.16.2 version: 4.16.2 sass: - specifier: ^1.63.6 - version: 1.63.6 + specifier: ^1.64.1 + version: 1.64.1 svelte: - specifier: ^3.59.2 - version: 3.59.2 + specifier: ^4.1.1 + version: 4.1.1 svelte-check: - specifier: ^2.10.3 - version: 2.10.3(postcss-load-config@4.0.1)(postcss@8.4.26)(sass@1.63.6)(svelte@3.59.2) + specifier: ^3.4.6 + version: 3.4.6(postcss-load-config@4.0.1)(postcss@8.4.27)(sass@1.64.1)(svelte@4.1.1) svelte-preprocess: specifier: ^5.0.4 - version: 5.0.4(postcss-load-config@4.0.1)(postcss@8.4.26)(sass@1.63.6)(svelte@3.59.2)(typescript@4.9.5) + version: 5.0.4(postcss-load-config@4.0.1)(postcss@8.4.27)(sass@1.64.1)(svelte@4.1.1)(typescript@5.1.6) + sveltekit-flash-message: + specifier: ^2.1.0 + version: 2.1.0(@sveltejs/kit@1.22.3)(svelte@4.1.1) sveltekit-superforms: - specifier: ^1.3.0 - version: 1.3.0(@sveltejs/kit@1.22.3)(svelte@3.59.2)(zod@3.21.4) + specifier: ^1.5.0 + version: 1.5.0(@sveltejs/kit@1.22.3)(svelte@4.1.1)(zod@3.21.4) tailwindcss: specifier: ^3.3.3 version: 3.3.3(ts-node@10.9.1) ts-node: specifier: ^10.9.1 - version: 10.9.1(@types/node@18.16.19)(typescript@4.9.5) + version: 10.9.1(@types/node@18.17.1)(typescript@5.1.6) tslib: - specifier: ^2.6.0 - version: 2.6.0 + specifier: ^2.6.1 + version: 2.6.1 typescript: - specifier: ^4.9.5 - version: 4.9.5 + specifier: ^5.1.6 + version: 5.1.6 vite: - specifier: ^4.4.4 - version: 4.4.4(@types/node@18.16.19)(sass@1.63.6) + specifier: ^4.4.7 + version: 4.4.7(@types/node@18.17.1)(sass@1.64.1) vitest: specifier: ^0.25.3 - version: 0.25.8(sass@1.63.6) + version: 0.25.8(sass@1.64.1) zod: specifier: ^3.21.4 version: 3.21.4 @@ -205,20 +205,28 @@ packages: resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} engines: {node: '>=10'} + /@ampproject/remapping@2.2.1: + resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.18 + /@axiomhq/axiom-node@0.12.0: resolution: {integrity: sha512-998jnkwSCzKk4oTqiWfHIeW18yj7LZu5+srTq72nLXaEZ5rrGMqKPx5W96hs8u9TeOjFxGBsfJCStEIVnrru1g==} engines: {node: '>=14'} + deprecated: Please use @axiomhq/js instead dependencies: axios: 1.4.0 - axios-retry: 3.5.0 + axios-retry: 3.6.0 to-time: 1.0.2 winston-transport: 4.5.0 transitivePeerDependencies: - debug dev: false - /@babel/runtime@7.22.3: - resolution: {integrity: sha512-XsDuspWKLUsxwCp6r7EhsExHtYfbe5oAGQ19kqngTdCPUoPQzOPdUbD/pB9PJiwb2ptYKQDjSJT3R6dC+EPqfQ==} + /@babel/runtime@7.22.6: + resolution: {integrity: sha512-wDb5pWm4WDdF6LFUde3Jl8WzPA+3ZbxYqkC6xAXuD3irdEHN1k0NfTRrJD8ZD378SJ61miMLCqIOXYhd8x+AJQ==} engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.13.11 @@ -344,18 +352,18 @@ packages: '@csstools/css-tokenizer': 2.1.1 dev: true - /@csstools/postcss-cascade-layers@3.0.1(postcss@8.4.26): + /@csstools/postcss-cascade-layers@3.0.1(postcss@8.4.27): resolution: {integrity: sha512-dD8W98dOYNOH/yX4V4HXOhfCOnvVAg8TtsL+qCGNoKXuq5z2C/d026wGWgySgC8cajXXo/wNezS31Glj5GcqrA==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: '@csstools/selector-specificity': 2.2.0(postcss-selector-parser@6.0.13) - postcss: 8.4.26 + postcss: 8.4.27 postcss-selector-parser: 6.0.13 dev: true - /@csstools/postcss-color-function@2.2.3(postcss@8.4.26): + /@csstools/postcss-color-function@2.2.3(postcss@8.4.27): resolution: {integrity: sha512-b1ptNkr1UWP96EEHqKBWWaV5m/0hgYGctgA/RVZhONeP1L3T/8hwoqDm9bB23yVCfOgE9U93KI9j06+pEkJTvw==} engines: {node: ^14 || ^16 || >=18} peerDependencies: @@ -364,11 +372,11 @@ packages: '@csstools/css-color-parser': 1.2.0(@csstools/css-parser-algorithms@2.1.1)(@csstools/css-tokenizer@2.1.1) '@csstools/css-parser-algorithms': 2.1.1(@csstools/css-tokenizer@2.1.1) '@csstools/css-tokenizer': 2.1.1 - '@csstools/postcss-progressive-custom-properties': 2.3.0(postcss@8.4.26) - postcss: 8.4.26 + '@csstools/postcss-progressive-custom-properties': 2.3.0(postcss@8.4.27) + postcss: 8.4.27 dev: true - /@csstools/postcss-color-mix-function@1.0.3(postcss@8.4.26): + /@csstools/postcss-color-mix-function@1.0.3(postcss@8.4.27): resolution: {integrity: sha512-QGXjGugTluqFZWzVf+S3wCiRiI0ukXlYqCi7OnpDotP/zaVTyl/aqZujLFzTOXy24BoWnu89frGMc79ohY5eog==} engines: {node: ^14 || ^16 || >=18} peerDependencies: @@ -377,21 +385,21 @@ packages: '@csstools/css-color-parser': 1.2.0(@csstools/css-parser-algorithms@2.1.1)(@csstools/css-tokenizer@2.1.1) '@csstools/css-parser-algorithms': 2.1.1(@csstools/css-tokenizer@2.1.1) '@csstools/css-tokenizer': 2.1.1 - '@csstools/postcss-progressive-custom-properties': 2.3.0(postcss@8.4.26) - postcss: 8.4.26 + '@csstools/postcss-progressive-custom-properties': 2.3.0(postcss@8.4.27) + postcss: 8.4.27 dev: true - /@csstools/postcss-font-format-keywords@2.0.2(postcss@8.4.26): + /@csstools/postcss-font-format-keywords@2.0.2(postcss@8.4.27): resolution: {integrity: sha512-iKYZlIs6JsNT7NKyRjyIyezTCHLh4L4BBB3F5Nx7Dc4Z/QmBgX+YJFuUSar8IM6KclGiAUFGomXFdYxAwJydlA==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: - postcss: 8.4.26 + postcss: 8.4.27 postcss-value-parser: 4.2.0 dev: true - /@csstools/postcss-gradients-interpolation-method@3.0.6(postcss@8.4.26): + /@csstools/postcss-gradients-interpolation-method@3.0.6(postcss@8.4.27): resolution: {integrity: sha512-rBOBTat/YMmB0G8VHwKqDEx+RZ4KCU9j42K8LwS0IpZnyThalZZF7BCSsZ6TFlZhcRZKlZy3LLFI2pLqjNVGGA==} engines: {node: ^14 || ^16 || >=18} peerDependencies: @@ -400,11 +408,11 @@ packages: '@csstools/css-color-parser': 1.2.0(@csstools/css-parser-algorithms@2.1.1)(@csstools/css-tokenizer@2.1.1) '@csstools/css-parser-algorithms': 2.1.1(@csstools/css-tokenizer@2.1.1) '@csstools/css-tokenizer': 2.1.1 - '@csstools/postcss-progressive-custom-properties': 2.3.0(postcss@8.4.26) - postcss: 8.4.26 + '@csstools/postcss-progressive-custom-properties': 2.3.0(postcss@8.4.27) + postcss: 8.4.27 dev: true - /@csstools/postcss-hwb-function@2.2.2(postcss@8.4.26): + /@csstools/postcss-hwb-function@2.2.2(postcss@8.4.27): resolution: {integrity: sha512-W5Y5oaJ382HSlbdGfPf60d7dAK6Hqf10+Be1yZbd/TNNrQ/3dDdV1c07YwOXPQ3PZ6dvFMhxbIbn8EC3ki3nEg==} engines: {node: ^14 || ^16 || >=18} peerDependencies: @@ -413,61 +421,61 @@ packages: '@csstools/css-color-parser': 1.2.0(@csstools/css-parser-algorithms@2.1.1)(@csstools/css-tokenizer@2.1.1) '@csstools/css-parser-algorithms': 2.1.1(@csstools/css-tokenizer@2.1.1) '@csstools/css-tokenizer': 2.1.1 - postcss: 8.4.26 + postcss: 8.4.27 dev: true - /@csstools/postcss-ic-unit@2.0.4(postcss@8.4.26): + /@csstools/postcss-ic-unit@2.0.4(postcss@8.4.27): resolution: {integrity: sha512-9W2ZbV7whWnr1Gt4qYgxMWzbevZMOvclUczT5vk4yR6vS53W/njiiUhtm/jh/BKYwQ1W3PECZjgAd2dH4ebJig==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: - '@csstools/postcss-progressive-custom-properties': 2.3.0(postcss@8.4.26) - postcss: 8.4.26 + '@csstools/postcss-progressive-custom-properties': 2.3.0(postcss@8.4.27) + postcss: 8.4.27 postcss-value-parser: 4.2.0 dev: true - /@csstools/postcss-is-pseudo-class@3.2.1(postcss@8.4.26): + /@csstools/postcss-is-pseudo-class@3.2.1(postcss@8.4.27): resolution: {integrity: sha512-AtANdV34kJl04Al62is3eQRk/BfOfyAvEmRJvbt+nx5REqImLC+2XhuE6skgkcPli1l8ONS67wS+l1sBzySc3Q==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: '@csstools/selector-specificity': 2.2.0(postcss-selector-parser@6.0.13) - postcss: 8.4.26 + postcss: 8.4.27 postcss-selector-parser: 6.0.13 dev: true - /@csstools/postcss-logical-float-and-clear@1.0.1(postcss@8.4.26): + /@csstools/postcss-logical-float-and-clear@1.0.1(postcss@8.4.27): resolution: {integrity: sha512-eO9z2sMLddvlfFEW5Fxbjyd03zaO7cJafDurK4rCqyRt9P7aaWwha0LcSzoROlcZrw1NBV2JAp2vMKfPMQO1xw==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: - postcss: 8.4.26 + postcss: 8.4.27 dev: true - /@csstools/postcss-logical-resize@1.0.1(postcss@8.4.26): + /@csstools/postcss-logical-resize@1.0.1(postcss@8.4.27): resolution: {integrity: sha512-x1ge74eCSvpBkDDWppl+7FuD2dL68WP+wwP2qvdUcKY17vJksz+XoE1ZRV38uJgS6FNUwC0AxrPW5gy3MxsDHQ==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: - postcss: 8.4.26 + postcss: 8.4.27 postcss-value-parser: 4.2.0 dev: true - /@csstools/postcss-logical-viewport-units@1.0.3(postcss@8.4.26): + /@csstools/postcss-logical-viewport-units@1.0.3(postcss@8.4.27): resolution: {integrity: sha512-6zqcyRg9HSqIHIPMYdt6THWhRmE5/tyHKJQLysn2TeDf/ftq7Em9qwMTx98t2C/7UxIsYS8lOiHHxAVjWn2WUg==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: '@csstools/css-tokenizer': 2.1.1 - postcss: 8.4.26 + postcss: 8.4.27 dev: true - /@csstools/postcss-media-minmax@1.0.4(postcss@8.4.26): + /@csstools/postcss-media-minmax@1.0.4(postcss@8.4.27): resolution: {integrity: sha512-olnKTQk9+RMzpIpkjv55d44L4Ni02j8ZJoedJezQC5M03a56npcM1hx0apaTRG4Fz1wfPCQ0DBjQ8zsiJFelmA==} engines: {node: ^14 || ^16 || >=18} peerDependencies: @@ -477,10 +485,10 @@ packages: '@csstools/css-parser-algorithms': 2.2.0(@csstools/css-tokenizer@2.1.1) '@csstools/css-tokenizer': 2.1.1 '@csstools/media-query-list-parser': 2.1.1(@csstools/css-parser-algorithms@2.2.0)(@csstools/css-tokenizer@2.1.1) - postcss: 8.4.26 + postcss: 8.4.27 dev: true - /@csstools/postcss-media-queries-aspect-ratio-number-values@1.0.4(postcss@8.4.26): + /@csstools/postcss-media-queries-aspect-ratio-number-values@1.0.4(postcss@8.4.27): resolution: {integrity: sha512-IwyTbyR8E2y3kh6Fhrs251KjKBJeUPV5GlnUKnpU70PRFEN2DolWbf2V4+o/B9+Oj77P/DullLTulWEQ8uFtAA==} engines: {node: ^14 || ^16 || >=18} peerDependencies: @@ -489,30 +497,30 @@ packages: '@csstools/css-parser-algorithms': 2.2.0(@csstools/css-tokenizer@2.1.1) '@csstools/css-tokenizer': 2.1.1 '@csstools/media-query-list-parser': 2.1.1(@csstools/css-parser-algorithms@2.2.0)(@csstools/css-tokenizer@2.1.1) - postcss: 8.4.26 + postcss: 8.4.27 dev: true - /@csstools/postcss-nested-calc@2.0.2(postcss@8.4.26): + /@csstools/postcss-nested-calc@2.0.2(postcss@8.4.27): resolution: {integrity: sha512-jbwrP8rN4e7LNaRcpx3xpMUjhtt34I9OV+zgbcsYAAk6k1+3kODXJBf95/JMYWhu9g1oif7r06QVUgfWsKxCFw==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: - postcss: 8.4.26 + postcss: 8.4.27 postcss-value-parser: 4.2.0 dev: true - /@csstools/postcss-normalize-display-values@2.0.1(postcss@8.4.26): + /@csstools/postcss-normalize-display-values@2.0.1(postcss@8.4.27): resolution: {integrity: sha512-TQT5g3JQ5gPXC239YuRK8jFceXF9d25ZvBkyjzBGGoW5st5sPXFVQS8OjYb9IJ/K3CdfK4528y483cgS2DJR/w==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: - postcss: 8.4.26 + postcss: 8.4.27 postcss-value-parser: 4.2.0 dev: true - /@csstools/postcss-oklab-function@2.2.3(postcss@8.4.26): + /@csstools/postcss-oklab-function@2.2.3(postcss@8.4.27): resolution: {integrity: sha512-AgJ2rWMnLCDcbSMTHSqBYn66DNLBym6JpBpCaqmwZ9huGdljjDRuH3DzOYzkgQ7Pm2K92IYIq54IvFHloUOdvA==} engines: {node: ^14 || ^16 || >=18} peerDependencies: @@ -521,21 +529,21 @@ packages: '@csstools/css-color-parser': 1.2.0(@csstools/css-parser-algorithms@2.1.1)(@csstools/css-tokenizer@2.1.1) '@csstools/css-parser-algorithms': 2.1.1(@csstools/css-tokenizer@2.1.1) '@csstools/css-tokenizer': 2.1.1 - '@csstools/postcss-progressive-custom-properties': 2.3.0(postcss@8.4.26) - postcss: 8.4.26 + '@csstools/postcss-progressive-custom-properties': 2.3.0(postcss@8.4.27) + postcss: 8.4.27 dev: true - /@csstools/postcss-progressive-custom-properties@2.3.0(postcss@8.4.26): + /@csstools/postcss-progressive-custom-properties@2.3.0(postcss@8.4.27): resolution: {integrity: sha512-Zd8ojyMlsL919TBExQ1I0CTpBDdyCpH/yOdqatZpuC3sd22K4SwC7+Yez3Q/vmXMWSAl+shjNeFZ7JMyxMjK+Q==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: - postcss: 8.4.26 + postcss: 8.4.27 postcss-value-parser: 4.2.0 dev: true - /@csstools/postcss-relative-color-syntax@1.0.2(postcss@8.4.26): + /@csstools/postcss-relative-color-syntax@1.0.2(postcss@8.4.27): resolution: {integrity: sha512-juCoVInkgH2TZPfOhyx6tIal7jW37L/0Tt+Vcl1LoxqQA9sxcg3JWYZ98pl1BonDnki6s/M7nXzFQHWsWMeHgw==} engines: {node: ^14 || ^16 || >=18} peerDependencies: @@ -544,21 +552,21 @@ packages: '@csstools/css-color-parser': 1.2.1(@csstools/css-parser-algorithms@2.2.0)(@csstools/css-tokenizer@2.1.1) '@csstools/css-parser-algorithms': 2.2.0(@csstools/css-tokenizer@2.1.1) '@csstools/css-tokenizer': 2.1.1 - '@csstools/postcss-progressive-custom-properties': 2.3.0(postcss@8.4.26) - postcss: 8.4.26 + '@csstools/postcss-progressive-custom-properties': 2.3.0(postcss@8.4.27) + postcss: 8.4.27 dev: true - /@csstools/postcss-scope-pseudo-class@2.0.2(postcss@8.4.26): + /@csstools/postcss-scope-pseudo-class@2.0.2(postcss@8.4.27): resolution: {integrity: sha512-6Pvo4uexUCXt+Hz5iUtemQAcIuCYnL+ePs1khFR6/xPgC92aQLJ0zGHonWoewiBE+I++4gXK3pr+R1rlOFHe5w==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: - postcss: 8.4.26 + postcss: 8.4.27 postcss-selector-parser: 6.0.13 dev: true - /@csstools/postcss-stepped-value-functions@2.1.1(postcss@8.4.26): + /@csstools/postcss-stepped-value-functions@2.1.1(postcss@8.4.27): resolution: {integrity: sha512-YCvdF0GCZK35nhLgs7ippcxDlRVe5QsSht3+EghqTjnYnyl3BbWIN6fYQ1dKWYTJ+7Bgi41TgqQFfJDcp9Xy/w==} engines: {node: ^14 || ^16 || >=18} peerDependencies: @@ -567,21 +575,21 @@ packages: '@csstools/css-calc': 1.1.1(@csstools/css-parser-algorithms@2.1.1)(@csstools/css-tokenizer@2.1.1) '@csstools/css-parser-algorithms': 2.1.1(@csstools/css-tokenizer@2.1.1) '@csstools/css-tokenizer': 2.1.1 - postcss: 8.4.26 + postcss: 8.4.27 dev: true - /@csstools/postcss-text-decoration-shorthand@2.2.4(postcss@8.4.26): + /@csstools/postcss-text-decoration-shorthand@2.2.4(postcss@8.4.27): resolution: {integrity: sha512-zPN56sQkS/7YTCVZhOBVCWf7AiNge8fXDl7JVaHLz2RyT4pnyK2gFjckWRLpO0A2xkm1lCgZ0bepYZTwAVd/5A==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: '@csstools/color-helpers': 2.1.0 - postcss: 8.4.26 + postcss: 8.4.27 postcss-value-parser: 4.2.0 dev: true - /@csstools/postcss-trigonometric-functions@2.1.1(postcss@8.4.26): + /@csstools/postcss-trigonometric-functions@2.1.1(postcss@8.4.27): resolution: {integrity: sha512-XcXmHEFfHXhvYz40FtDlA4Fp4NQln2bWTsCwthd2c+MCnYArUYU3YaMqzR5CrKP3pMoGYTBnp5fMqf1HxItNyw==} engines: {node: ^14 || ^16 || >=18} peerDependencies: @@ -590,16 +598,16 @@ packages: '@csstools/css-calc': 1.1.1(@csstools/css-parser-algorithms@2.1.1)(@csstools/css-tokenizer@2.1.1) '@csstools/css-parser-algorithms': 2.1.1(@csstools/css-tokenizer@2.1.1) '@csstools/css-tokenizer': 2.1.1 - postcss: 8.4.26 + postcss: 8.4.27 dev: true - /@csstools/postcss-unset-value@2.0.1(postcss@8.4.26): + /@csstools/postcss-unset-value@2.0.1(postcss@8.4.27): resolution: {integrity: sha512-oJ9Xl29/yU8U7/pnMJRqAZd4YXNCfGEdcP4ywREuqm/xMqcgDNDppYRoCGDt40aaZQIEKBS79LytUDN/DHf0Ew==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: - postcss: 8.4.26 + postcss: 8.4.27 dev: true /@csstools/selector-specificity@2.2.0(postcss-selector-parser@6.0.13): @@ -626,6 +634,7 @@ packages: cpu: [arm64] os: [android] requiresBuild: true + dev: true optional: true /@esbuild/android-arm@0.16.8: @@ -643,6 +652,7 @@ packages: cpu: [arm] os: [android] requiresBuild: true + dev: true optional: true /@esbuild/android-x64@0.16.8: @@ -660,6 +670,7 @@ packages: cpu: [x64] os: [android] requiresBuild: true + dev: true optional: true /@esbuild/darwin-arm64@0.16.8: @@ -677,6 +688,7 @@ packages: cpu: [arm64] os: [darwin] requiresBuild: true + dev: true optional: true /@esbuild/darwin-x64@0.16.8: @@ -694,6 +706,7 @@ packages: cpu: [x64] os: [darwin] requiresBuild: true + dev: true optional: true /@esbuild/freebsd-arm64@0.16.8: @@ -711,6 +724,7 @@ packages: cpu: [arm64] os: [freebsd] requiresBuild: true + dev: true optional: true /@esbuild/freebsd-x64@0.16.8: @@ -728,6 +742,7 @@ packages: cpu: [x64] os: [freebsd] requiresBuild: true + dev: true optional: true /@esbuild/linux-arm64@0.16.8: @@ -745,6 +760,7 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-arm@0.16.8: @@ -762,6 +778,7 @@ packages: cpu: [arm] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-ia32@0.16.8: @@ -779,6 +796,7 @@ packages: cpu: [ia32] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-loong64@0.16.8: @@ -796,6 +814,7 @@ packages: cpu: [loong64] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-mips64el@0.16.8: @@ -813,6 +832,7 @@ packages: cpu: [mips64el] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-ppc64@0.16.8: @@ -830,6 +850,7 @@ packages: cpu: [ppc64] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-riscv64@0.16.8: @@ -847,6 +868,7 @@ packages: cpu: [riscv64] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-s390x@0.16.8: @@ -864,6 +886,7 @@ packages: cpu: [s390x] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/linux-x64@0.16.8: @@ -881,6 +904,7 @@ packages: cpu: [x64] os: [linux] requiresBuild: true + dev: true optional: true /@esbuild/netbsd-x64@0.16.8: @@ -898,6 +922,7 @@ packages: cpu: [x64] os: [netbsd] requiresBuild: true + dev: true optional: true /@esbuild/openbsd-x64@0.16.8: @@ -915,6 +940,7 @@ packages: cpu: [x64] os: [openbsd] requiresBuild: true + dev: true optional: true /@esbuild/sunos-x64@0.16.8: @@ -932,6 +958,7 @@ packages: cpu: [x64] os: [sunos] requiresBuild: true + dev: true optional: true /@esbuild/win32-arm64@0.16.8: @@ -949,6 +976,7 @@ packages: cpu: [arm64] os: [win32] requiresBuild: true + dev: true optional: true /@esbuild/win32-ia32@0.16.8: @@ -966,6 +994,7 @@ packages: cpu: [ia32] os: [win32] requiresBuild: true + dev: true optional: true /@esbuild/win32-x64@0.16.8: @@ -983,6 +1012,7 @@ packages: cpu: [x64] os: [win32] requiresBuild: true + dev: true optional: true /@eslint-community/eslint-utils@4.4.0(eslint@8.45.0): @@ -1078,7 +1108,7 @@ packages: dependencies: '@jridgewell/set-array': 1.1.2 '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.17 + '@jridgewell/trace-mapping': 0.3.18 /@jridgewell/resolve-uri@3.1.0: resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} @@ -1099,6 +1129,13 @@ packages: dependencies: '@jridgewell/resolve-uri': 3.1.0 '@jridgewell/sourcemap-codec': 1.4.14 + dev: true + + /@jridgewell/trace-mapping@0.3.18: + resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==} + dependencies: + '@jridgewell/resolve-uri': 3.1.0 + '@jridgewell/sourcemap-codec': 1.4.14 /@jridgewell/trace-mapping@0.3.9: resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} @@ -1131,14 +1168,14 @@ packages: lucia-auth: 1.8.0 dev: false - /@lucia-auth/adapter-prisma@2.0.0(@prisma/client@4.16.1)(lucia-auth@1.8.0): - resolution: {integrity: sha512-8qxEcoVNJDbK8zXzyMK/4SHnLTaih0oNjTfp7l4ndRg5WI+eMgP3N0OUGQVaq3C5N0iIfkXxgj/ZGH8ZidwVeQ==} + /@lucia-auth/adapter-prisma@3.0.0(@prisma/client@4.16.2)(lucia@2.0.0): + resolution: {integrity: sha512-qrFA5IID4AulINQbLQLQPIXqE9+M3zjmN558VDhrS3Y7Fdn5dyObPbHijUWw7lGYgOrhxDox9UUG8oyZ3+D1MA==} peerDependencies: - '@prisma/client': ^4.2.0 - lucia-auth: ^1.3.0 + '@prisma/client': ^4.2.0 || ^5.0.0 + lucia: ^2.0.0 dependencies: - '@prisma/client': 4.16.1(prisma@4.16.2) - lucia-auth: 1.8.0 + '@prisma/client': 4.16.2(prisma@4.16.2) + lucia: 2.0.0 dev: false /@lukeed/csprng@1.1.0: @@ -1189,22 +1226,23 @@ packages: '@nodelib/fs.scandir': 2.1.5 fastq: 1.15.0 - /@playwright/test@1.36.1: - resolution: {integrity: sha512-YK7yGWK0N3C2QInPU6iaf/L3N95dlGdbsezLya4n0ZCh3IL7VgPGxC6Gnznh9ApWdOmkJeleT2kMTcWPRZvzqg==} + /@playwright/test@1.36.2: + resolution: {integrity: sha512-2rVZeyPRjxfPH6J0oGJqE8YxiM1IBRyM8hyrXYK7eSiAqmbNhxwcLa7dZ7fy9Kj26V7FYia5fh9XJRq4Dqme+g==} engines: {node: '>=16'} hasBin: true dependencies: - '@types/node': 18.16.19 - playwright-core: 1.36.1 + '@types/node': 18.17.1 + playwright-core: 1.36.2 optionalDependencies: fsevents: 2.3.2 dev: true /@polka/url@1.0.0-next.21: resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==} + dev: true - /@prisma/client@4.16.1(prisma@4.16.2): - resolution: {integrity: sha512-CoDHu7Bt+NuDo40ijoeHP79EHtECsPBTy3yte5Yo3op8TqXt/kV0OT5OrsWewKvQGKFMHhYQ+ePed3zzjYdGAw==} + /@prisma/client@4.16.2(prisma@4.16.2): + resolution: {integrity: sha512-qCoEyxv1ZrQ4bKy39GnylE8Zq31IRmm8bNhNbZx7bF2cU5aiCCnSa93J2imF88MBjn7J9eUQneNxUQVJdl/rPQ==} engines: {node: '>=14.17'} requiresBuild: true peerDependencies: @@ -1213,12 +1251,12 @@ packages: prisma: optional: true dependencies: - '@prisma/engines-version': 4.16.0-66.b20ead4d3ab9e78ac112966e242ded703f4a052c + '@prisma/engines-version': 4.16.1-1.4bc8b6e1b66cb932731fb1bdbbc550d1e010de81 prisma: 4.16.2 dev: false - /@prisma/engines-version@4.16.0-66.b20ead4d3ab9e78ac112966e242ded703f4a052c: - resolution: {integrity: sha512-tMWAF/qF00fbUH1HB4Yjmz6bjh7fzkb7Y3NRoUfMlHu6V+O45MGvqwYxqwBjn1BIUXkl3r04W351D4qdJjrgvA==} + /@prisma/engines-version@4.16.1-1.4bc8b6e1b66cb932731fb1bdbbc550d1e010de81: + resolution: {integrity: sha512-q617EUWfRIDTriWADZ4YiWRZXCa/WuhNgLTVd+HqWLffjMSPzyM5uOWoauX91wvQClSKZU4pzI4JJLQ9Kl62Qg==} dev: false /@prisma/engines@4.16.2: @@ -1238,7 +1276,7 @@ packages: peerDependencies: '@sveltejs/kit': ^1.0.0 dependencies: - '@sveltejs/kit': 1.22.3(svelte@3.59.2)(vite@4.4.4) + '@sveltejs/kit': 1.22.3(svelte@4.1.1)(vite@4.4.7) import-meta-resolve: 2.2.0 dev: true @@ -1247,7 +1285,7 @@ packages: peerDependencies: '@sveltejs/kit': ^1.0.0 dependencies: - '@sveltejs/kit': 1.22.3(svelte@3.59.2)(vite@4.4.4) + '@sveltejs/kit': 1.22.3(svelte@4.1.1)(vite@4.4.7) '@vercel/nft': 0.22.6 esbuild: 0.16.8 transitivePeerDependencies: @@ -1255,7 +1293,7 @@ packages: - supports-color dev: true - /@sveltejs/kit@1.22.3(svelte@3.59.2)(vite@4.4.4): + /@sveltejs/kit@1.22.3(svelte@4.1.1)(vite@4.4.7): resolution: {integrity: sha512-IpHD5wvuoOIHYaHQUBJ1zERD2Iz+fB/rBXhXjl8InKw6X4VKE9BSus+ttHhE7Ke+Ie9ecfilzX8BnWE3FeQyng==} engines: {node: ^16.14 || >=18} hasBin: true @@ -1264,7 +1302,7 @@ packages: svelte: ^3.54.0 || ^4.0.0-next.0 vite: ^4.0.0 dependencies: - '@sveltejs/vite-plugin-svelte': 2.4.1(svelte@3.59.2)(vite@4.4.4) + '@sveltejs/vite-plugin-svelte': 2.4.1(svelte@4.1.1)(vite@4.4.7) '@types/cookie': 0.5.1 cookie: 0.5.0 devalue: 4.3.1 @@ -1275,13 +1313,14 @@ packages: sade: 1.8.1 set-cookie-parser: 2.6.0 sirv: 2.0.2 - svelte: 3.59.2 + svelte: 4.1.1 undici: 5.22.0 - vite: 4.4.4(@types/node@18.16.19)(sass@1.63.6) + vite: 4.4.7(@types/node@18.17.1)(sass@1.64.1) transitivePeerDependencies: - supports-color + dev: true - /@sveltejs/vite-plugin-svelte-inspector@1.0.2(@sveltejs/vite-plugin-svelte@2.4.1)(svelte@3.59.2)(vite@4.4.4): + /@sveltejs/vite-plugin-svelte-inspector@1.0.2(@sveltejs/vite-plugin-svelte@2.4.1)(svelte@4.1.1)(vite@4.4.7): resolution: {integrity: sha512-Cy1dUMcYCnDVV/hPLXa43YZJ2jGKVW5rA0xuNL9dlmYhT0yoS1g7+FOFSRlgk0BXKk/Oc7grs+8BVA5Iz2fr8A==} engines: {node: ^14.18.0 || >= 16} peerDependencies: @@ -1289,31 +1328,33 @@ packages: svelte: ^3.54.0 || ^4.0.0-next.0 vite: ^4.0.0 dependencies: - '@sveltejs/vite-plugin-svelte': 2.4.1(svelte@3.59.2)(vite@4.4.4) + '@sveltejs/vite-plugin-svelte': 2.4.1(svelte@4.1.1)(vite@4.4.7) debug: 4.3.4 - svelte: 3.59.2 - vite: 4.4.4(@types/node@18.16.19)(sass@1.63.6) + svelte: 4.1.1 + vite: 4.4.7(@types/node@18.17.1)(sass@1.64.1) transitivePeerDependencies: - supports-color + dev: true - /@sveltejs/vite-plugin-svelte@2.4.1(svelte@3.59.2)(vite@4.4.4): + /@sveltejs/vite-plugin-svelte@2.4.1(svelte@4.1.1)(vite@4.4.7): resolution: {integrity: sha512-bNNKvoRY89ptY7udeBSCmTdCVwkjmMcZ0j/z9J5MuedT8jPjq0zrknAo/jF1sToAza4NVaAgR9AkZoD9oJJmnA==} engines: {node: ^14.18.0 || >= 16} peerDependencies: svelte: ^3.54.0 || ^4.0.0-next.0 vite: ^4.0.0 dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 1.0.2(@sveltejs/vite-plugin-svelte@2.4.1)(svelte@3.59.2)(vite@4.4.4) + '@sveltejs/vite-plugin-svelte-inspector': 1.0.2(@sveltejs/vite-plugin-svelte@2.4.1)(svelte@4.1.1)(vite@4.4.7) debug: 4.3.4 deepmerge: 4.3.1 kleur: 4.1.5 magic-string: 0.30.0 - svelte: 3.59.2 - svelte-hmr: 0.15.2(svelte@3.59.2) - vite: 4.4.4(@types/node@18.16.19)(sass@1.63.6) - vitefu: 0.2.4(vite@4.4.4) + svelte: 4.1.1 + svelte-hmr: 0.15.2(svelte@4.1.1) + vite: 4.4.7(@types/node@18.17.1)(sass@1.64.1) + vitefu: 0.2.4(vite@4.4.7) transitivePeerDependencies: - supports-color + dev: true /@tsconfig/node10@1.0.9: resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} @@ -1339,6 +1380,10 @@ packages: /@types/cookie@0.5.1: resolution: {integrity: sha512-COUnqfB2+ckwXXSFInsFdOAWQzCCx+a5hq2ruyj+Vjund94RJQd4LG2u9hnvJrTgunKAaax7ancBYlDrNYxA0g==} + dev: true + + /@types/estree@1.0.1: + resolution: {integrity: sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==} /@types/feather-icons@4.29.1: resolution: {integrity: sha512-8+PdenCN8UWTfyIHNaJdmk/oPg6zyw7S9kHtT8PdkmHEwfTHSrSWEHpNZJzbuWmZBXQKA/+dLVXjrloX9XixPg==} @@ -1348,19 +1393,13 @@ packages: resolution: {integrity: sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==} dev: true - /@types/node@18.16.19: - resolution: {integrity: sha512-IXl7o+R9iti9eBW4Wg2hx1xQDig183jj7YLn8F7udNceyfkbn1ZxmzZXuak20gR40D7pIkIY1kYGx5VIGbaHKA==} + /@types/node@18.17.1: + resolution: {integrity: sha512-xlR1jahfizdplZYRU59JlUx9uzF1ARa8jbhM11ccpCJya8kvos5jwdm2ZAgxSCwOl0fq21svP18EVwPBXMQudw==} /@types/pug@2.0.6: resolution: {integrity: sha512-SnHmG9wN1UVmagJOnyo/qkk0Z7gejYxOYYmaAwr5u2yFYfsupN3sg10kyzN8Hep/2zbHxCnsumxOoRIRMBwKCg==} dev: true - /@types/sass@1.43.1: - resolution: {integrity: sha512-BPdoIt1lfJ6B7rw35ncdwBZrAssjcwzI5LByIrYs+tpXlj/CAkuVdRsgZDdP4lq5EjyWzwxZCqAoFyHKFwp32g==} - dependencies: - '@types/node': 18.16.19 - dev: true - /@types/semver@7.5.0: resolution: {integrity: sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==} dev: true @@ -1369,7 +1408,7 @@ packages: resolution: {integrity: sha512-txGIh+0eDFzKGC25zORnswy+br1Ha7hj5cMVwKIU7+s0U2AxxJru/jZSMU6OC9MJWP6+pc/hc6ZjyZShpsyY2g==} dev: false - /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.45.0)(typescript@4.9.5): + /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.45.0)(typescript@5.1.6): resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -1381,23 +1420,23 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.5.0 - '@typescript-eslint/parser': 5.62.0(eslint@8.45.0)(typescript@4.9.5) + '@typescript-eslint/parser': 5.62.0(eslint@8.45.0)(typescript@5.1.6) '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/type-utils': 5.62.0(eslint@8.45.0)(typescript@4.9.5) - '@typescript-eslint/utils': 5.62.0(eslint@8.45.0)(typescript@4.9.5) + '@typescript-eslint/type-utils': 5.62.0(eslint@8.45.0)(typescript@5.1.6) + '@typescript-eslint/utils': 5.62.0(eslint@8.45.0)(typescript@5.1.6) debug: 4.3.4 eslint: 8.45.0 graphemer: 1.4.0 ignore: 5.2.1 natural-compare-lite: 1.4.0 semver: 7.3.8 - tsutils: 3.21.0(typescript@4.9.5) - typescript: 4.9.5 + tsutils: 3.21.0(typescript@5.1.6) + typescript: 5.1.6 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@5.62.0(eslint@8.45.0)(typescript@4.9.5): + /@typescript-eslint/parser@5.62.0(eslint@8.45.0)(typescript@5.1.6): resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -1409,10 +1448,10 @@ packages: dependencies: '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.1.6) debug: 4.3.4 eslint: 8.45.0 - typescript: 4.9.5 + typescript: 5.1.6 transitivePeerDependencies: - supports-color dev: true @@ -1425,7 +1464,7 @@ packages: '@typescript-eslint/visitor-keys': 5.62.0 dev: true - /@typescript-eslint/type-utils@5.62.0(eslint@8.45.0)(typescript@4.9.5): + /@typescript-eslint/type-utils@5.62.0(eslint@8.45.0)(typescript@5.1.6): resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -1435,12 +1474,12 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) - '@typescript-eslint/utils': 5.62.0(eslint@8.45.0)(typescript@4.9.5) + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.1.6) + '@typescript-eslint/utils': 5.62.0(eslint@8.45.0)(typescript@5.1.6) debug: 4.3.4 eslint: 8.45.0 - tsutils: 3.21.0(typescript@4.9.5) - typescript: 4.9.5 + tsutils: 3.21.0(typescript@5.1.6) + typescript: 5.1.6 transitivePeerDependencies: - supports-color dev: true @@ -1450,7 +1489,7 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /@typescript-eslint/typescript-estree@5.62.0(typescript@4.9.5): + /@typescript-eslint/typescript-estree@5.62.0(typescript@5.1.6): resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -1465,13 +1504,13 @@ packages: globby: 11.1.0 is-glob: 4.0.3 semver: 7.5.4 - tsutils: 3.21.0(typescript@4.9.5) - typescript: 4.9.5 + tsutils: 3.21.0(typescript@5.1.6) + typescript: 5.1.6 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils@5.62.0(eslint@8.45.0)(typescript@4.9.5): + /@typescript-eslint/utils@5.62.0(eslint@8.45.0)(typescript@5.1.6): resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -1482,7 +1521,7 @@ packages: '@types/semver': 7.5.0 '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.1.6) eslint: 8.45.0 eslint-scope: 5.1.1 semver: 7.3.8 @@ -1506,7 +1545,7 @@ packages: dependencies: '@mapbox/node-pre-gyp': 1.0.10 '@rollup/pluginutils': 4.2.1 - acorn: 8.9.0 + acorn: 8.10.0 async-sema: 3.1.1 bindings: 1.5.0 estree-walker: 2.0.2 @@ -1524,18 +1563,24 @@ packages: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} dev: true - /acorn-jsx@5.3.2(acorn@8.9.0): + /acorn-jsx@5.3.2(acorn@8.10.0): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - acorn: 8.9.0 + acorn: 8.10.0 dev: true /acorn-walk@8.2.0: resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} engines: {node: '>=0.4.0'} + /acorn@8.10.0: + resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + /acorn@8.8.1: resolution: {integrity: sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==} engines: {node: '>=0.4.0'} @@ -1551,7 +1596,6 @@ packages: resolution: {integrity: sha512-jaVNAFBHNLXspO543WnNNPZFRtavh3skAkITqD0/2aeMkKZTN+254PyhwxFYrk3vQ1xfY+2wbesJMs/JC8/PwQ==} engines: {node: '>=0.4.0'} hasBin: true - dev: true /agent-base@6.0.2: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} @@ -1615,6 +1659,11 @@ packages: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} dev: true + /aria-query@5.3.0: + resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} + dependencies: + dequal: 2.0.3 + /array-union@2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} @@ -1632,7 +1681,7 @@ packages: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} dev: false - /autoprefixer@10.4.14(postcss@8.4.26): + /autoprefixer@10.4.14(postcss@8.4.27): resolution: {integrity: sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==} engines: {node: ^10 || ^12 || >=14} hasBin: true @@ -1644,14 +1693,14 @@ packages: fraction.js: 4.2.0 normalize-range: 0.1.2 picocolors: 1.0.0 - postcss: 8.4.26 + postcss: 8.4.27 postcss-value-parser: 4.2.0 dev: true - /axios-retry@3.5.0: - resolution: {integrity: sha512-g48qNrLX30VU6ECWltpFCPegKK6dWzMDYv2o83W2zUL/Zh/SLXbT6ksGoKqYZHtghzqeeXhZBcSXJkO1fPbCcw==} + /axios-retry@3.6.0: + resolution: {integrity: sha512-jtH4qWTKZ2a17dH6tjq52Y1ssNV0lKge6/Z9Lw67s9Wt01nGTg4hg7/LJBGYfDci44NTANJQlCPHPOT/TSFm9w==} dependencies: - '@babel/runtime': 7.22.3 + '@babel/runtime': 7.22.6 is-retry-allowed: 2.2.0 dev: false @@ -1665,6 +1714,11 @@ packages: - debug dev: false + /axobject-query@3.2.1: + resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==} + dependencies: + dequal: 2.0.3 + /balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} @@ -1725,6 +1779,7 @@ packages: engines: {node: '>=10.16.0'} dependencies: streamsearch: 1.1.0 + dev: true /callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} @@ -1806,6 +1861,15 @@ packages: engines: {node: '>=6'} dev: false + /code-red@1.0.3: + resolution: {integrity: sha512-kVwJELqiILQyG5aeuyKFbdsI1fmQy1Cmf7dQ8eGmVuJoaRVdwey7WaMknr2ZFeVSYSKT0rExsa8EGw0aoI/1QQ==} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + '@types/estree': 1.0.1 + acorn: 8.9.0 + estree-walker: 3.0.3 + periscopic: 3.1.0 + /color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} @@ -1861,37 +1925,44 @@ packages: which: 2.0.2 dev: true - /css-blank-pseudo@5.0.2(postcss@8.4.26): + /css-blank-pseudo@5.0.2(postcss@8.4.27): resolution: {integrity: sha512-aCU4AZ7uEcVSUzagTlA9pHciz7aWPKA/YzrEkpdSopJ2pvhIxiQ5sYeMz1/KByxlIo4XBdvMNJAVKMg/GRnhfw==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: - postcss: 8.4.26 + postcss: 8.4.27 postcss-selector-parser: 6.0.13 dev: true - /css-has-pseudo@5.0.2(postcss@8.4.26): + /css-has-pseudo@5.0.2(postcss@8.4.27): resolution: {integrity: sha512-q+U+4QdwwB7T9VEW/LyO6CFrLAeLqOykC5mDqJXc7aKZAhDbq7BvGT13VGJe+IwBfdN2o3Xdw2kJ5IxwV1Sc9Q==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: '@csstools/selector-specificity': 2.2.0(postcss-selector-parser@6.0.13) - postcss: 8.4.26 + postcss: 8.4.27 postcss-selector-parser: 6.0.13 postcss-value-parser: 4.2.0 dev: true - /css-prefers-color-scheme@8.0.2(postcss@8.4.26): + /css-prefers-color-scheme@8.0.2(postcss@8.4.27): resolution: {integrity: sha512-OvFghizHJ45x7nsJJUSYLyQNTzsCU8yWjxAc/nhPQg1pbs18LMoET8N3kOweFDPy0JV0OSXN2iqRFhPBHYOeMA==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: - postcss: 8.4.26 + postcss: 8.4.27 dev: true + /css-tree@2.3.1: + resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + dependencies: + mdn-data: 2.0.30 + source-map-js: 1.0.2 + /cssdb@7.6.0: resolution: {integrity: sha512-Nna7rph8V0jC6+JBY4Vk4ndErUmfJfV6NJCaZdurL0omggabiy+QB2HCQtu5c/ACLZ0I7REv7A4QyPIoYzZx0w==} dev: true @@ -1911,6 +1982,7 @@ packages: optional: true dependencies: ms: 2.1.2 + dev: true /deep-eql@4.1.3: resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} @@ -1926,6 +1998,7 @@ packages: /deepmerge@4.3.1: resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} engines: {node: '>=0.10.0'} + dev: true /delayed-stream@1.0.0: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} @@ -1936,6 +2009,10 @@ packages: resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} dev: true + /dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + /detect-indent@6.1.0: resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} engines: {node: '>=8'} @@ -1948,6 +2025,7 @@ packages: /devalue@4.3.1: resolution: {integrity: sha512-Kc0TSP9IUU9eg55au5Q3YtqaYI2cgntVpunJV9Exbm9nvlBeTE5p2NqYHfpuXK6+VF2hF5PI+BPFPUti7e2N1g==} + dev: true /didyoumean@1.2.2: resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} @@ -2047,6 +2125,7 @@ packages: '@esbuild/win32-arm64': 0.18.11 '@esbuild/win32-ia32': 0.18.11 '@esbuild/win32-x64': 0.18.11 + dev: true /escalade@3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} @@ -2067,8 +2146,8 @@ packages: eslint: 8.45.0 dev: true - /eslint-plugin-svelte@2.32.2(eslint@8.45.0)(svelte@3.59.2)(ts-node@10.9.1): - resolution: {integrity: sha512-Jgbop2fNZsoxxkklZAIbDNhwAPynvnCtUXLsEC6O2qax7N/pfe2cNqT0ZoBbubXKJitQQDEyVDQ1rZs4ZWcrTA==} + /eslint-plugin-svelte@2.32.4(eslint@8.45.0)(svelte@4.1.1)(ts-node@10.9.1): + resolution: {integrity: sha512-VJ12i2Iogug1jvhwxSlognnfGj76P5gks/V4pUD4SCSVQOp14u47MNP0zAG8AQR3LT0Fi1iUvIFnY4l9z5Rwbg==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0-0 @@ -2082,14 +2161,14 @@ packages: debug: 4.3.4 eslint: 8.45.0 esutils: 2.0.3 - known-css-properties: 0.27.0 - postcss: 8.4.26 - postcss-load-config: 3.1.4(postcss@8.4.26)(ts-node@10.9.1) - postcss-safe-parser: 6.0.0(postcss@8.4.26) + known-css-properties: 0.28.0 + postcss: 8.4.27 + postcss-load-config: 3.1.4(postcss@8.4.27)(ts-node@10.9.1) + postcss-safe-parser: 6.0.0(postcss@8.4.27) postcss-selector-parser: 6.0.13 semver: 7.5.3 - svelte: 3.59.2 - svelte-eslint-parser: 0.32.0(svelte@3.59.2) + svelte: 4.1.1 + svelte-eslint-parser: 0.32.2(svelte@4.1.1) transitivePeerDependencies: - supports-color - ts-node @@ -2111,6 +2190,14 @@ packages: estraverse: 5.3.0 dev: true + /eslint-scope@7.2.1: + resolution: {integrity: sha512-CvefSOsDdaYYvxChovdrPo/ZGt8d5lrJWleAc1diXRKhHGiTYEI26cvo8Kle/wGnsizoCJjK73FMg1/IkIwiNA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + dev: true + /eslint-visitor-keys@3.4.1: resolution: {integrity: sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -2164,13 +2251,23 @@ packages: /esm-env@1.0.0: resolution: {integrity: sha512-Cf6VksWPsTuW01vU9Mk/3vRue91Zevka5SjyNf3nEpokFRuqt/KjUQoGAwq9qMmhpLTHmXzSIrFRw8zxWzmFBA==} + dev: true /espree@9.6.0: resolution: {integrity: sha512-1FH/IiruXZ84tpUlm0aCUEwMl2Ho5ilqVh0VvQXw+byAz/4SAciyHLlfmL5WYqsvD38oymdUwBss0LtK8m4s/A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: - acorn: 8.9.0 - acorn-jsx: 5.3.2(acorn@8.9.0) + acorn: 8.10.0 + acorn-jsx: 5.3.2(acorn@8.10.0) + eslint-visitor-keys: 3.4.1 + dev: true + + /espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + acorn: 8.10.0 + acorn-jsx: 5.3.2(acorn@8.10.0) eslint-visitor-keys: 3.4.1 dev: true @@ -2202,6 +2299,11 @@ packages: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} dev: true + /estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + dependencies: + '@types/estree': 1.0.1 + /esutils@2.0.3: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} @@ -2458,6 +2560,7 @@ packages: /immutable@4.1.0: resolution: {integrity: sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==} + dev: true /import-fresh@3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} @@ -2520,6 +2623,11 @@ packages: engines: {node: '>=8'} dev: true + /is-reference@3.0.1: + resolution: {integrity: sha512-baJJdQLiYaJdvFbJqXrcGv3WU3QCzBlUcI5QhbesIm6/xPsvmO+2CDoi/GMOFBQEQm+PXkwOPrp9KK5ozZsp2w==} + dependencies: + '@types/estree': 1.0.1 + /is-retry-allowed@2.2.0: resolution: {integrity: sha512-XVm7LOeLpTW4jV19QSH38vkswxoLud8sQ57YwJVTPWdiaI9I8keEhGFpBlslyVsgdQy4Opg8QOLb8YRgsyZiQg==} engines: {node: '>=10'} @@ -2563,9 +2671,10 @@ packages: /kleur@4.1.5: resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} engines: {node: '>=6'} + dev: true - /known-css-properties@0.27.0: - resolution: {integrity: sha512-uMCj6+hZYDoffuvAJjFAPz56E9uoowFHmTkqRtRq5WyC5Q6Cu/fTZKNQpX/RbzChBYLLl3lo8CjFZBAZXq9qFg==} + /known-css-properties@0.28.0: + resolution: {integrity: sha512-9pSL5XB4J+ifHP0e0jmmC98OGC1nL8/JjS+fi6mnTlIf//yt/MfVLtKg7S6nCtj/8KTcWX7nRlY0XywoYY1ISQ==} dev: true /levn@0.4.1: @@ -2596,6 +2705,9 @@ packages: engines: {node: '>=14'} dev: true + /locate-character@3.0.0: + resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==} + /locate-path@6.0.0: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} @@ -2619,7 +2731,7 @@ packages: fecha: 4.2.3 ms: 2.1.2 safe-stable-stringify: 2.4.3 - triple-beam: 1.3.0 + triple-beam: 1.4.1 dev: false /loupe@2.3.6: @@ -2639,20 +2751,18 @@ packages: resolution: {integrity: sha512-zI8gT2AOpxTPIxYzToEdgoht+GOflrduZiHPsOEmg4/2pThOyCW3o3lXh+Uwh20tJ9QoXwQe9/Omn6PlUG6efw==} dev: false - /lucide-svelte@0.256.1(svelte@3.59.2): + /lucia@2.0.0: + resolution: {integrity: sha512-WRBMoZIgTHH6y2bAEHZWgWcMH6tDsQ+wf45juUgmn3ycjipn/e6OGpWki4XSjEuRm50WXghH+2EF9LCjCHUsUw==} + dev: false + + /lucide-svelte@0.256.1(svelte@4.1.1): resolution: {integrity: sha512-Fk8kQ5Xal9lxvX7T4fkyo592so3zzBtwfAfCOtptEh68jOKery/DyMlhY5m/Bh0M0pvb87soakYchighTBzPLQ==} peerDependencies: svelte: '>=3 <5' dependencies: - svelte: 3.59.2 + svelte: 4.1.1 dev: false - /magic-string@0.25.9: - resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} - dependencies: - sourcemap-codec: 1.4.8 - dev: true - /magic-string@0.27.0: resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==} engines: {node: '>=12'} @@ -2676,6 +2786,9 @@ packages: /make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + /mdn-data@2.0.30: + resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} + /merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} @@ -2703,6 +2816,7 @@ packages: resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} engines: {node: '>=10.0.0'} hasBin: true + dev: true /min-indent@1.0.1: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} @@ -2756,10 +2870,12 @@ packages: /mri@1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} engines: {node: '>=4'} + dev: true /mrmime@1.0.1: resolution: {integrity: sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==} engines: {node: '>=10'} + dev: true /ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} @@ -2911,6 +3027,13 @@ packages: resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} dev: true + /periscopic@3.1.0: + resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==} + dependencies: + '@types/estree': 1.0.1 + estree-walker: 3.0.3 + is-reference: 3.0.1 + /picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} @@ -2926,64 +3049,64 @@ packages: resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} engines: {node: '>= 6'} - /playwright-core@1.36.1: - resolution: {integrity: sha512-7+tmPuMcEW4xeCL9cp9KxmYpQYHKkyjwoXRnoeTowaeNat8PoBMk/HwCYhqkH2fRkshfKEOiVus/IhID2Pg8kg==} + /playwright-core@1.36.2: + resolution: {integrity: sha512-sQYZt31dwkqxOrP7xy2ggDfEzUxM1lodjhsQ3NMMv5uGTRDsLxU0e4xf4wwMkF2gplIxf17QMBCodSFgm6bFVQ==} engines: {node: '>=16'} hasBin: true dev: true - /postcss-attribute-case-insensitive@6.0.2(postcss@8.4.26): + /postcss-attribute-case-insensitive@6.0.2(postcss@8.4.27): resolution: {integrity: sha512-IRuCwwAAQbgaLhxQdQcIIK0dCVXg3XDUnzgKD8iwdiYdwU4rMWRWyl/W9/0nA4ihVpq5pyALiHB2veBJ0292pw==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: - postcss: 8.4.26 + postcss: 8.4.27 postcss-selector-parser: 6.0.13 dev: true - /postcss-clamp@4.1.0(postcss@8.4.26): + /postcss-clamp@4.1.0(postcss@8.4.27): resolution: {integrity: sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==} engines: {node: '>=7.6.0'} peerDependencies: postcss: ^8.4.6 dependencies: - postcss: 8.4.26 + postcss: 8.4.27 postcss-value-parser: 4.2.0 dev: true - /postcss-color-functional-notation@5.1.0(postcss@8.4.26): + /postcss-color-functional-notation@5.1.0(postcss@8.4.27): resolution: {integrity: sha512-w2R4py6zrVE1U7FwNaAc76tNQlG9GLkrBbcFw+VhUjyDDiV28vfZG+l4LyPmpoQpeSJVtu8VgNjE8Jv5SpC7dQ==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: - '@csstools/postcss-progressive-custom-properties': 2.3.0(postcss@8.4.26) - postcss: 8.4.26 + '@csstools/postcss-progressive-custom-properties': 2.3.0(postcss@8.4.27) + postcss: 8.4.27 postcss-value-parser: 4.2.0 dev: true - /postcss-color-hex-alpha@9.0.2(postcss@8.4.26): + /postcss-color-hex-alpha@9.0.2(postcss@8.4.27): resolution: {integrity: sha512-SfPjgr//VQ/DOCf80STIAsdAs7sbIbxATvVmd+Ec7JvR8onz9pjawhq3BJM3Pie40EE3TyB0P6hft16D33Nlyg==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: - postcss: 8.4.26 + postcss: 8.4.27 postcss-value-parser: 4.2.0 dev: true - /postcss-color-rebeccapurple@8.0.2(postcss@8.4.26): + /postcss-color-rebeccapurple@8.0.2(postcss@8.4.27): resolution: {integrity: sha512-xWf/JmAxVoB5bltHpXk+uGRoGFwu4WDAR7210el+iyvTdqiKpDhtcT8N3edXMoVJY0WHFMrKMUieql/wRNiXkw==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: - postcss: 8.4.26 + postcss: 8.4.27 postcss-value-parser: 4.2.0 dev: true - /postcss-custom-media@9.1.5(postcss@8.4.26): + /postcss-custom-media@9.1.5(postcss@8.4.27): resolution: {integrity: sha512-GStyWMz7Qbo/Gtw1xVspzVSX8eipgNg4lpsO3CAeY4/A1mzok+RV6MCv3fg62trWijh/lYEj6vps4o8JcBBpDA==} engines: {node: ^14 || ^16 || >=18} peerDependencies: @@ -2993,10 +3116,10 @@ packages: '@csstools/css-parser-algorithms': 2.2.0(@csstools/css-tokenizer@2.1.1) '@csstools/css-tokenizer': 2.1.1 '@csstools/media-query-list-parser': 2.1.1(@csstools/css-parser-algorithms@2.2.0)(@csstools/css-tokenizer@2.1.1) - postcss: 8.4.26 + postcss: 8.4.27 dev: true - /postcss-custom-properties@13.2.0(postcss@8.4.26): + /postcss-custom-properties@13.2.0(postcss@8.4.27): resolution: {integrity: sha512-UYiPqbqmVayyv56y0mtGhvUKZClflwE9cTTmPaqEX8fOVjVwsotqKGYtJXSLxrJLwf9tt7ka+Luyh1ZAOhGHWA==} engines: {node: ^14 || ^16 || >=18} peerDependencies: @@ -3005,11 +3128,11 @@ packages: '@csstools/cascade-layer-name-parser': 1.0.2(@csstools/css-parser-algorithms@2.1.1)(@csstools/css-tokenizer@2.1.1) '@csstools/css-parser-algorithms': 2.1.1(@csstools/css-tokenizer@2.1.1) '@csstools/css-tokenizer': 2.1.1 - postcss: 8.4.26 + postcss: 8.4.27 postcss-value-parser: 4.2.0 dev: true - /postcss-custom-selectors@7.1.3(postcss@8.4.26): + /postcss-custom-selectors@7.1.3(postcss@8.4.27): resolution: {integrity: sha512-GTVscax6O/8s7agFF0HsOoIyjrnAbLjgCUle8tn+0oDGJuVx7p56U7ClSRoC49poxFuMfu2B4Q8GnxSCOeuFKw==} engines: {node: ^14 || ^16 || >=18} peerDependencies: @@ -3018,107 +3141,107 @@ packages: '@csstools/cascade-layer-name-parser': 1.0.2(@csstools/css-parser-algorithms@2.1.1)(@csstools/css-tokenizer@2.1.1) '@csstools/css-parser-algorithms': 2.1.1(@csstools/css-tokenizer@2.1.1) '@csstools/css-tokenizer': 2.1.1 - postcss: 8.4.26 + postcss: 8.4.27 postcss-selector-parser: 6.0.13 dev: true - /postcss-dir-pseudo-class@7.0.2(postcss@8.4.26): + /postcss-dir-pseudo-class@7.0.2(postcss@8.4.27): resolution: {integrity: sha512-cMnslilYxBf9k3qejnovrUONZx1rXeUZJw06fgIUBzABJe3D2LiLL5WAER7Imt3nrkaIgG05XZBztueLEf5P8w==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: - postcss: 8.4.26 + postcss: 8.4.27 postcss-selector-parser: 6.0.13 dev: true - /postcss-double-position-gradients@4.0.4(postcss@8.4.26): + /postcss-double-position-gradients@4.0.4(postcss@8.4.27): resolution: {integrity: sha512-nUAbUXURemLXIrl4Xoia2tiu5z/n8sY+BVDZApoeT9BlpByyrp02P/lFCRrRvZ/zrGRE+MOGLhk8o7VcMCtPtQ==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: - '@csstools/postcss-progressive-custom-properties': 2.3.0(postcss@8.4.26) - postcss: 8.4.26 + '@csstools/postcss-progressive-custom-properties': 2.3.0(postcss@8.4.27) + postcss: 8.4.27 postcss-value-parser: 4.2.0 dev: true - /postcss-focus-visible@8.0.2(postcss@8.4.26): + /postcss-focus-visible@8.0.2(postcss@8.4.27): resolution: {integrity: sha512-f/Vd+EC/GaKElknU59esVcRYr/Y3t1ZAQyL4u2xSOgkDy4bMCmG7VP5cGvj3+BTLNE9ETfEuz2nnt4qkZwTTeA==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: - postcss: 8.4.26 + postcss: 8.4.27 postcss-selector-parser: 6.0.13 dev: true - /postcss-focus-within@7.0.2(postcss@8.4.26): + /postcss-focus-within@7.0.2(postcss@8.4.27): resolution: {integrity: sha512-AHAJ89UQBcqBvFgQJE9XasGuwMNkKsGj4D/f9Uk60jFmEBHpAL14DrnSk3Rj+SwZTr/WUG+mh+Rvf8fid/346w==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: - postcss: 8.4.26 + postcss: 8.4.27 postcss-selector-parser: 6.0.13 dev: true - /postcss-font-variant@5.0.0(postcss@8.4.26): + /postcss-font-variant@5.0.0(postcss@8.4.27): resolution: {integrity: sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.26 + postcss: 8.4.27 dev: true - /postcss-gap-properties@4.0.1(postcss@8.4.26): + /postcss-gap-properties@4.0.1(postcss@8.4.27): resolution: {integrity: sha512-V5OuQGw4lBumPlwHWk/PRfMKjaq/LTGR4WDTemIMCaMevArVfCCA9wBJiL1VjDAd+rzuCIlkRoRvDsSiAaZ4Fg==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: - postcss: 8.4.26 + postcss: 8.4.27 dev: true - /postcss-image-set-function@5.0.2(postcss@8.4.26): + /postcss-image-set-function@5.0.2(postcss@8.4.27): resolution: {integrity: sha512-Sszjwo0ubETX0Fi5MvpYzsONwrsjeabjMoc5YqHvURFItXgIu3HdCjcVuVKGMPGzKRhgaknmdM5uVWInWPJmeg==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: - postcss: 8.4.26 + postcss: 8.4.27 postcss-value-parser: 4.2.0 dev: true - /postcss-import@15.1.0(postcss@8.4.26): + /postcss-import@15.1.0(postcss@8.4.27): resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} engines: {node: '>=14.0.0'} peerDependencies: postcss: ^8.0.0 dependencies: - postcss: 8.4.26 + postcss: 8.4.27 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.1 - /postcss-initial@4.0.1(postcss@8.4.26): + /postcss-initial@4.0.1(postcss@8.4.27): resolution: {integrity: sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==} peerDependencies: postcss: ^8.0.0 dependencies: - postcss: 8.4.26 + postcss: 8.4.27 dev: true - /postcss-js@4.0.1(postcss@8.4.26): + /postcss-js@4.0.1(postcss@8.4.27): resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} engines: {node: ^12 || ^14 || >= 16} peerDependencies: postcss: ^8.4.21 dependencies: camelcase-css: 2.0.1 - postcss: 8.4.26 + postcss: 8.4.27 - /postcss-lab-function@5.2.3(postcss@8.4.26): + /postcss-lab-function@5.2.3(postcss@8.4.27): resolution: {integrity: sha512-fi32AYKzji5/rvgxo5zXHFvAYBw0u0OzELbeCNjEZVLUir18Oj+9RmNphtM8QdLUaUnrfx8zy8vVYLmFLkdmrQ==} engines: {node: ^14 || ^16 || >=18} peerDependencies: @@ -3127,11 +3250,11 @@ packages: '@csstools/css-color-parser': 1.2.0(@csstools/css-parser-algorithms@2.1.1)(@csstools/css-tokenizer@2.1.1) '@csstools/css-parser-algorithms': 2.1.1(@csstools/css-tokenizer@2.1.1) '@csstools/css-tokenizer': 2.1.1 - '@csstools/postcss-progressive-custom-properties': 2.3.0(postcss@8.4.26) - postcss: 8.4.26 + '@csstools/postcss-progressive-custom-properties': 2.3.0(postcss@8.4.27) + postcss: 8.4.27 dev: true - /postcss-load-config@3.1.4(postcss@8.4.26)(ts-node@10.9.1): + /postcss-load-config@3.1.4(postcss@8.4.27)(ts-node@10.9.1): resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} engines: {node: '>= 10'} peerDependencies: @@ -3144,12 +3267,12 @@ packages: optional: true dependencies: lilconfig: 2.1.0 - postcss: 8.4.26 - ts-node: 10.9.1(@types/node@18.16.19)(typescript@4.9.5) + postcss: 8.4.27 + ts-node: 10.9.1(@types/node@18.17.1)(typescript@5.1.6) yaml: 1.10.2 dev: true - /postcss-load-config@4.0.1(postcss@8.4.26)(ts-node@10.9.1): + /postcss-load-config@4.0.1(postcss@8.4.27)(ts-node@10.9.1): resolution: {integrity: sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==} engines: {node: '>= 14'} peerDependencies: @@ -3162,185 +3285,185 @@ packages: optional: true dependencies: lilconfig: 2.0.6 - postcss: 8.4.26 - ts-node: 10.9.1(@types/node@18.16.19)(typescript@4.9.5) + postcss: 8.4.27 + ts-node: 10.9.1(@types/node@18.17.1)(typescript@5.1.6) yaml: 2.1.3 - /postcss-logical@6.2.0(postcss@8.4.26): + /postcss-logical@6.2.0(postcss@8.4.27): resolution: {integrity: sha512-aqlfKGaY0nnbgI9jwUikp4gJKBqcH5noU/EdnIVceghaaDPYhZuyJVxlvWNy55tlTG5tunRKCTAX9yljLiFgmw==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: - postcss: 8.4.26 + postcss: 8.4.27 postcss-value-parser: 4.2.0 dev: true - /postcss-nested@6.0.1(postcss@8.4.26): + /postcss-nested@6.0.1(postcss@8.4.27): resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.2.14 dependencies: - postcss: 8.4.26 + postcss: 8.4.27 postcss-selector-parser: 6.0.13 - /postcss-nesting@11.3.0(postcss@8.4.26): + /postcss-nesting@11.3.0(postcss@8.4.27): resolution: {integrity: sha512-JlS10AQm/RzyrUGgl5irVkAlZYTJ99mNueUl+Qab+TcHhVedLiylWVkKBhRale+rS9yWIJK48JVzQlq3LcSdeA==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: '@csstools/selector-specificity': 2.2.0(postcss-selector-parser@6.0.13) - postcss: 8.4.26 + postcss: 8.4.27 postcss-selector-parser: 6.0.13 dev: true - /postcss-opacity-percentage@2.0.0(postcss@8.4.26): + /postcss-opacity-percentage@2.0.0(postcss@8.4.27): resolution: {integrity: sha512-lyDrCOtntq5Y1JZpBFzIWm2wG9kbEdujpNt4NLannF+J9c8CgFIzPa80YQfdza+Y+yFfzbYj/rfoOsYsooUWTQ==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.2 dependencies: - postcss: 8.4.26 + postcss: 8.4.27 dev: true - /postcss-overflow-shorthand@4.0.1(postcss@8.4.26): + /postcss-overflow-shorthand@4.0.1(postcss@8.4.27): resolution: {integrity: sha512-HQZ0qi/9iSYHW4w3ogNqVNr2J49DHJAl7r8O2p0Meip38jsdnRPgiDW7r/LlLrrMBMe3KHkvNtAV2UmRVxzLIg==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: - postcss: 8.4.26 + postcss: 8.4.27 postcss-value-parser: 4.2.0 dev: true - /postcss-page-break@3.0.4(postcss@8.4.26): + /postcss-page-break@3.0.4(postcss@8.4.27): resolution: {integrity: sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==} peerDependencies: postcss: ^8 dependencies: - postcss: 8.4.26 + postcss: 8.4.27 dev: true - /postcss-place@8.0.1(postcss@8.4.26): + /postcss-place@8.0.1(postcss@8.4.27): resolution: {integrity: sha512-Ow2LedN8sL4pq8ubukO77phSVt4QyCm35ZGCYXKvRFayAwcpgB0sjNJglDoTuRdUL32q/ZC1VkPBo0AOEr4Uiw==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: - postcss: 8.4.26 + postcss: 8.4.27 postcss-value-parser: 4.2.0 dev: true - /postcss-preset-env@8.5.1(postcss@8.4.26): + /postcss-preset-env@8.5.1(postcss@8.4.27): resolution: {integrity: sha512-qhWnJJjP6ArLUINWJ38t6Aftxnv9NW6cXK0NuwcLCcRilbuw72dSFLkCVUJeCfHGgJiKzX+pnhkGiki0PEynWg==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: - '@csstools/postcss-cascade-layers': 3.0.1(postcss@8.4.26) - '@csstools/postcss-color-function': 2.2.3(postcss@8.4.26) - '@csstools/postcss-color-mix-function': 1.0.3(postcss@8.4.26) - '@csstools/postcss-font-format-keywords': 2.0.2(postcss@8.4.26) - '@csstools/postcss-gradients-interpolation-method': 3.0.6(postcss@8.4.26) - '@csstools/postcss-hwb-function': 2.2.2(postcss@8.4.26) - '@csstools/postcss-ic-unit': 2.0.4(postcss@8.4.26) - '@csstools/postcss-is-pseudo-class': 3.2.1(postcss@8.4.26) - '@csstools/postcss-logical-float-and-clear': 1.0.1(postcss@8.4.26) - '@csstools/postcss-logical-resize': 1.0.1(postcss@8.4.26) - '@csstools/postcss-logical-viewport-units': 1.0.3(postcss@8.4.26) - '@csstools/postcss-media-minmax': 1.0.4(postcss@8.4.26) - '@csstools/postcss-media-queries-aspect-ratio-number-values': 1.0.4(postcss@8.4.26) - '@csstools/postcss-nested-calc': 2.0.2(postcss@8.4.26) - '@csstools/postcss-normalize-display-values': 2.0.1(postcss@8.4.26) - '@csstools/postcss-oklab-function': 2.2.3(postcss@8.4.26) - '@csstools/postcss-progressive-custom-properties': 2.3.0(postcss@8.4.26) - '@csstools/postcss-relative-color-syntax': 1.0.2(postcss@8.4.26) - '@csstools/postcss-scope-pseudo-class': 2.0.2(postcss@8.4.26) - '@csstools/postcss-stepped-value-functions': 2.1.1(postcss@8.4.26) - '@csstools/postcss-text-decoration-shorthand': 2.2.4(postcss@8.4.26) - '@csstools/postcss-trigonometric-functions': 2.1.1(postcss@8.4.26) - '@csstools/postcss-unset-value': 2.0.1(postcss@8.4.26) - autoprefixer: 10.4.14(postcss@8.4.26) + '@csstools/postcss-cascade-layers': 3.0.1(postcss@8.4.27) + '@csstools/postcss-color-function': 2.2.3(postcss@8.4.27) + '@csstools/postcss-color-mix-function': 1.0.3(postcss@8.4.27) + '@csstools/postcss-font-format-keywords': 2.0.2(postcss@8.4.27) + '@csstools/postcss-gradients-interpolation-method': 3.0.6(postcss@8.4.27) + '@csstools/postcss-hwb-function': 2.2.2(postcss@8.4.27) + '@csstools/postcss-ic-unit': 2.0.4(postcss@8.4.27) + '@csstools/postcss-is-pseudo-class': 3.2.1(postcss@8.4.27) + '@csstools/postcss-logical-float-and-clear': 1.0.1(postcss@8.4.27) + '@csstools/postcss-logical-resize': 1.0.1(postcss@8.4.27) + '@csstools/postcss-logical-viewport-units': 1.0.3(postcss@8.4.27) + '@csstools/postcss-media-minmax': 1.0.4(postcss@8.4.27) + '@csstools/postcss-media-queries-aspect-ratio-number-values': 1.0.4(postcss@8.4.27) + '@csstools/postcss-nested-calc': 2.0.2(postcss@8.4.27) + '@csstools/postcss-normalize-display-values': 2.0.1(postcss@8.4.27) + '@csstools/postcss-oklab-function': 2.2.3(postcss@8.4.27) + '@csstools/postcss-progressive-custom-properties': 2.3.0(postcss@8.4.27) + '@csstools/postcss-relative-color-syntax': 1.0.2(postcss@8.4.27) + '@csstools/postcss-scope-pseudo-class': 2.0.2(postcss@8.4.27) + '@csstools/postcss-stepped-value-functions': 2.1.1(postcss@8.4.27) + '@csstools/postcss-text-decoration-shorthand': 2.2.4(postcss@8.4.27) + '@csstools/postcss-trigonometric-functions': 2.1.1(postcss@8.4.27) + '@csstools/postcss-unset-value': 2.0.1(postcss@8.4.27) + autoprefixer: 10.4.14(postcss@8.4.27) browserslist: 4.21.9 - css-blank-pseudo: 5.0.2(postcss@8.4.26) - css-has-pseudo: 5.0.2(postcss@8.4.26) - css-prefers-color-scheme: 8.0.2(postcss@8.4.26) + css-blank-pseudo: 5.0.2(postcss@8.4.27) + css-has-pseudo: 5.0.2(postcss@8.4.27) + css-prefers-color-scheme: 8.0.2(postcss@8.4.27) cssdb: 7.6.0 - postcss: 8.4.26 - postcss-attribute-case-insensitive: 6.0.2(postcss@8.4.26) - postcss-clamp: 4.1.0(postcss@8.4.26) - postcss-color-functional-notation: 5.1.0(postcss@8.4.26) - postcss-color-hex-alpha: 9.0.2(postcss@8.4.26) - postcss-color-rebeccapurple: 8.0.2(postcss@8.4.26) - postcss-custom-media: 9.1.5(postcss@8.4.26) - postcss-custom-properties: 13.2.0(postcss@8.4.26) - postcss-custom-selectors: 7.1.3(postcss@8.4.26) - postcss-dir-pseudo-class: 7.0.2(postcss@8.4.26) - postcss-double-position-gradients: 4.0.4(postcss@8.4.26) - postcss-focus-visible: 8.0.2(postcss@8.4.26) - postcss-focus-within: 7.0.2(postcss@8.4.26) - postcss-font-variant: 5.0.0(postcss@8.4.26) - postcss-gap-properties: 4.0.1(postcss@8.4.26) - postcss-image-set-function: 5.0.2(postcss@8.4.26) - postcss-initial: 4.0.1(postcss@8.4.26) - postcss-lab-function: 5.2.3(postcss@8.4.26) - postcss-logical: 6.2.0(postcss@8.4.26) - postcss-nesting: 11.3.0(postcss@8.4.26) - postcss-opacity-percentage: 2.0.0(postcss@8.4.26) - postcss-overflow-shorthand: 4.0.1(postcss@8.4.26) - postcss-page-break: 3.0.4(postcss@8.4.26) - postcss-place: 8.0.1(postcss@8.4.26) - postcss-pseudo-class-any-link: 8.0.2(postcss@8.4.26) - postcss-replace-overflow-wrap: 4.0.0(postcss@8.4.26) - postcss-selector-not: 7.0.1(postcss@8.4.26) + postcss: 8.4.27 + postcss-attribute-case-insensitive: 6.0.2(postcss@8.4.27) + postcss-clamp: 4.1.0(postcss@8.4.27) + postcss-color-functional-notation: 5.1.0(postcss@8.4.27) + postcss-color-hex-alpha: 9.0.2(postcss@8.4.27) + postcss-color-rebeccapurple: 8.0.2(postcss@8.4.27) + postcss-custom-media: 9.1.5(postcss@8.4.27) + postcss-custom-properties: 13.2.0(postcss@8.4.27) + postcss-custom-selectors: 7.1.3(postcss@8.4.27) + postcss-dir-pseudo-class: 7.0.2(postcss@8.4.27) + postcss-double-position-gradients: 4.0.4(postcss@8.4.27) + postcss-focus-visible: 8.0.2(postcss@8.4.27) + postcss-focus-within: 7.0.2(postcss@8.4.27) + postcss-font-variant: 5.0.0(postcss@8.4.27) + postcss-gap-properties: 4.0.1(postcss@8.4.27) + postcss-image-set-function: 5.0.2(postcss@8.4.27) + postcss-initial: 4.0.1(postcss@8.4.27) + postcss-lab-function: 5.2.3(postcss@8.4.27) + postcss-logical: 6.2.0(postcss@8.4.27) + postcss-nesting: 11.3.0(postcss@8.4.27) + postcss-opacity-percentage: 2.0.0(postcss@8.4.27) + postcss-overflow-shorthand: 4.0.1(postcss@8.4.27) + postcss-page-break: 3.0.4(postcss@8.4.27) + postcss-place: 8.0.1(postcss@8.4.27) + postcss-pseudo-class-any-link: 8.0.2(postcss@8.4.27) + postcss-replace-overflow-wrap: 4.0.0(postcss@8.4.27) + postcss-selector-not: 7.0.1(postcss@8.4.27) postcss-value-parser: 4.2.0 dev: true - /postcss-pseudo-class-any-link@8.0.2(postcss@8.4.26): + /postcss-pseudo-class-any-link@8.0.2(postcss@8.4.27): resolution: {integrity: sha512-FYTIuRE07jZ2CW8POvctRgArQJ43yxhr5vLmImdKUvjFCkR09kh8pIdlCwdx/jbFm7MiW4QP58L4oOUv3grQYA==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: - postcss: 8.4.26 + postcss: 8.4.27 postcss-selector-parser: 6.0.13 dev: true - /postcss-replace-overflow-wrap@4.0.0(postcss@8.4.26): + /postcss-replace-overflow-wrap@4.0.0(postcss@8.4.27): resolution: {integrity: sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==} peerDependencies: postcss: ^8.0.3 dependencies: - postcss: 8.4.26 + postcss: 8.4.27 dev: true - /postcss-safe-parser@6.0.0(postcss@8.4.26): + /postcss-safe-parser@6.0.0(postcss@8.4.27): resolution: {integrity: sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.3.3 dependencies: - postcss: 8.4.26 + postcss: 8.4.27 dev: true - /postcss-scss@4.0.6(postcss@8.4.26): + /postcss-scss@4.0.6(postcss@8.4.27): resolution: {integrity: sha512-rLDPhJY4z/i4nVFZ27j9GqLxj1pwxE80eAzUNRMXtcpipFYIeowerzBgG3yJhMtObGEXidtIgbUpQ3eLDsf5OQ==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.4.19 dependencies: - postcss: 8.4.26 + postcss: 8.4.27 dev: true - /postcss-selector-not@7.0.1(postcss@8.4.26): + /postcss-selector-not@7.0.1(postcss@8.4.27): resolution: {integrity: sha512-1zT5C27b/zeJhchN7fP0kBr16Cc61mu7Si9uWWLoA3Px/D9tIJPKchJCkUH3tPO5D0pCFmGeApAv8XpXBQJ8SQ==} engines: {node: ^14 || ^16 || >=18} peerDependencies: postcss: ^8.4 dependencies: - postcss: 8.4.26 + postcss: 8.4.27 postcss-selector-parser: 6.0.13 dev: true @@ -3354,8 +3477,8 @@ packages: /postcss-value-parser@4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - /postcss@8.4.26: - resolution: {integrity: sha512-jrXHFF8iTloAenySjM/ob3gSj7pCu0Ji49hnjqzsgSRa50hkWCKD0HQ+gMNJkW38jBI68MpAAg7ZWwHwX8NMMw==} + /postcss@8.4.27: + resolution: {integrity: sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.6 @@ -3367,14 +3490,14 @@ packages: engines: {node: '>= 0.8.0'} dev: true - /prettier-plugin-svelte@2.10.1(prettier@2.8.8)(svelte@3.59.2): + /prettier-plugin-svelte@2.10.1(prettier@2.8.8)(svelte@4.1.1): resolution: {integrity: sha512-Wlq7Z5v2ueCubWo0TZzKc9XHcm7TDxqcuzRuGd0gcENfzfT4JZ9yDlCbEgxWgiPmLHkBjfOtpAWkcT28MCDpUQ==} peerDependencies: prettier: ^1.16.4 || ^2.0.0 svelte: ^3.2.0 || ^4.0.0-next.0 dependencies: prettier: 2.8.8 - svelte: 3.59.2 + svelte: 4.1.1 dev: true /prettier@2.8.8: @@ -3412,14 +3535,14 @@ packages: /queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - /radix-svelte@0.8.0(svelte@3.59.2): + /radix-svelte@0.8.0(svelte@4.1.1): resolution: {integrity: sha512-VweSd96EiLCml9wA6krPQFxyZfci+A7phAPl9J6QH4nivKroFV2EUSGo9wAnqM2u04nI2mxGKa+wfMhNy84GVg==} peerDependencies: svelte: ^3.58.0 dependencies: '@floating-ui/core': 1.3.1 '@floating-ui/dom': 1.4.2 - svelte: 3.59.2 + svelte: 4.1.1 dev: false /read-cache@1.0.0: @@ -3495,6 +3618,7 @@ packages: hasBin: true optionalDependencies: fsevents: 2.3.2 + dev: true /run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} @@ -3506,6 +3630,7 @@ packages: engines: {node: '>=6'} dependencies: mri: 1.2.0 + dev: true /safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} @@ -3524,14 +3649,15 @@ packages: rimraf: 2.7.1 dev: true - /sass@1.63.6: - resolution: {integrity: sha512-MJuxGMHzaOW7ipp+1KdELtqKbfAWbH7OLIdoSMnVe3EXPMTmxTmlaZDCTsgIpPCs3w99lLo9/zDKkOrJuT5byw==} + /sass@1.64.1: + resolution: {integrity: sha512-16rRACSOFEE8VN7SCgBu1MpYCyN7urj9At898tyzdXFhC+a+yOX5dXwAR7L8/IdPJ1NB8OYoXmD55DM30B2kEQ==} engines: {node: '>=14.0.0'} hasBin: true dependencies: chokidar: 3.5.3 immutable: 4.1.0 source-map-js: 1.0.2 + dev: true /semver@6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} @@ -3568,6 +3694,7 @@ packages: /set-cookie-parser@2.6.0: resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==} + dev: true /shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} @@ -3592,22 +3719,13 @@ packages: '@polka/url': 1.0.0-next.21 mrmime: 1.0.1 totalist: 3.0.0 + dev: true /slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} dev: true - /sorcery@0.10.0: - resolution: {integrity: sha512-R5ocFmKZQFfSTstfOtHjJuAwbpGyf9qjQa1egyhvXSbM7emjrtLXtGdZsDJDABC85YBfVvrOiGWKSYXPKdvP1g==} - hasBin: true - dependencies: - buffer-crc32: 0.2.13 - minimist: 1.2.7 - sander: 0.5.1 - sourcemap-codec: 1.4.8 - dev: true - /sorcery@0.11.0: resolution: {integrity: sha512-J69LQ22xrQB1cIFJhPfgtLuI6BpWRiWu1Y3vSsIwK/eAScqJxd/+CJlUuHQRdX2C9NGFamq+KqNywGgaThwfHw==} hasBin: true @@ -3627,14 +3745,10 @@ packages: engines: {node: '>=0.10.0'} dev: true - /sourcemap-codec@1.4.8: - resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} - deprecated: Please use @jridgewell/sourcemap-codec instead - dev: true - /streamsearch@1.1.0: resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} engines: {node: '>=10.0.0'} + dev: true /string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} @@ -3699,26 +3813,25 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - /svelte-check@2.10.3(postcss-load-config@4.0.1)(postcss@8.4.26)(sass@1.63.6)(svelte@3.59.2): - resolution: {integrity: sha512-Nt1aWHTOKFReBpmJ1vPug0aGysqPwJh2seM1OvICfM2oeyaA62mOiy5EvkXhltGfhCcIQcq2LoE0l1CwcWPjlw==} + /svelte-check@3.4.6(postcss-load-config@4.0.1)(postcss@8.4.27)(sass@1.64.1)(svelte@4.1.1): + resolution: {integrity: sha512-OBlY8866Zh1zHQTkBMPS6psPi7o2umTUyj6JWm4SacnIHXpWFm658pG32m3dKvKFL49V4ntAkfFHKo4ztH07og==} hasBin: true peerDependencies: - svelte: ^3.24.0 + svelte: ^3.55.0 || ^4.0.0-next.0 || ^4.0.0 dependencies: '@jridgewell/trace-mapping': 0.3.17 chokidar: 3.5.3 - fast-glob: 3.2.12 + fast-glob: 3.3.0 import-fresh: 3.3.0 picocolors: 1.0.0 sade: 1.8.1 - svelte: 3.59.2 - svelte-preprocess: 4.10.7(postcss-load-config@4.0.1)(postcss@8.4.26)(sass@1.63.6)(svelte@3.59.2)(typescript@4.9.5) - typescript: 4.9.5 + svelte: 4.1.1 + svelte-preprocess: 5.0.4(postcss-load-config@4.0.1)(postcss@8.4.27)(sass@1.64.1)(svelte@4.1.1)(typescript@5.1.6) + typescript: 5.1.6 transitivePeerDependencies: - '@babel/core' - coffeescript - less - - node-sass - postcss - postcss-load-config - pug @@ -3727,8 +3840,8 @@ packages: - sugarss dev: true - /svelte-eslint-parser@0.32.0(svelte@3.59.2): - resolution: {integrity: sha512-Q8Nh3GHHoWZMv3Ej4zw+3+gyWPR8I5pPTJXEOvW+JOgwhGXqGKh7mOKNlVcEPtk+PCGiK9TPaRtvRkKoJR327A==} + /svelte-eslint-parser@0.32.2(svelte@4.1.1): + resolution: {integrity: sha512-Ok9D3A4b23iLQsONrjqtXtYDu5ZZ/826Blaw2LeFZVTg1pwofKDG4mz3/GYTax8fQ0plRGHI6j+d9VQYy5Lo/A==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: svelte: ^3.37.0 || ^4.0.0 @@ -3736,35 +3849,36 @@ packages: svelte: optional: true dependencies: - eslint-scope: 7.2.0 + eslint-scope: 7.2.1 eslint-visitor-keys: 3.4.1 - espree: 9.6.0 - postcss: 8.4.26 - postcss-scss: 4.0.6(postcss@8.4.26) - svelte: 3.59.2 + espree: 9.6.1 + postcss: 8.4.27 + postcss-scss: 4.0.6(postcss@8.4.27) + svelte: 4.1.1 dev: true - /svelte-hmr@0.15.2(svelte@3.59.2): + /svelte-hmr@0.15.2(svelte@4.1.1): resolution: {integrity: sha512-q/bAruCvFLwvNbeE1x3n37TYFb3mTBJ6TrCq6p2CoFbSTNhDE9oAtEfpy+wmc9So8AG0Tja+X0/mJzX9tSfvIg==} engines: {node: ^12.20 || ^14.13.1 || >= 16} peerDependencies: svelte: ^3.19.0 || ^4.0.0-next.0 dependencies: - svelte: 3.59.2 + svelte: 4.1.1 + dev: true /svelte-lazy-loader@1.0.0: resolution: {integrity: sha512-AZD6R60vksyojn21FgXLglmBiBB9K5Dkdu0hdGrLbCaRCYT68IsWkZfRUqKhMx1IfzqWcZQ8X9y/f+Ih0oNQkQ==} dev: false - /svelte-lazy@1.2.1(svelte@3.59.2): + /svelte-lazy@1.2.1(svelte@4.1.1): resolution: {integrity: sha512-8L+GrU5p0ia/nLDeGDMTC+DtmbXlFcoaTPoSf8jIy1NoKicqSJXz5tjiu6GUsD7ra0RjgIvhQiLcdZYR9VECeA==} peerDependencies: svelte: 3.x dependencies: - svelte: 3.59.2 + svelte: 4.1.1 dev: false - /svelte-legos@0.2.1(svelte@3.59.2): + /svelte-legos@0.2.1(svelte@4.1.1): resolution: {integrity: sha512-M7IncWP2e8FaHzQN1DSzxLSoq/6aQYWZ93REZam9bYlvLEjdPGWLAYdpPNnnZtXlHco+o3zrgYTdwsyyS9beUQ==} peerDependencies: svelte: ^3.54.0 @@ -3772,64 +3886,10 @@ packages: canvas-confetti: 1.6.0 prism-svelte: 0.5.0 prismjs: 1.29.0 - svelte: 3.59.2 + svelte: 4.1.1 dev: false - /svelte-preprocess@4.10.7(postcss-load-config@4.0.1)(postcss@8.4.26)(sass@1.63.6)(svelte@3.59.2)(typescript@4.9.5): - resolution: {integrity: sha512-sNPBnqYD6FnmdBrUmBCaqS00RyCsCpj2BG58A1JBswNF7b0OKviwxqVrOL/CKyJrLSClrSeqQv5BXNg2RUbPOw==} - engines: {node: '>= 9.11.2'} - requiresBuild: true - peerDependencies: - '@babel/core': ^7.10.2 - coffeescript: ^2.5.1 - less: ^3.11.3 || ^4.0.0 - node-sass: '*' - postcss: ^7 || ^8 - postcss-load-config: ^2.1.0 || ^3.0.0 || ^4.0.0 - pug: ^3.0.0 - sass: ^1.26.8 - stylus: ^0.55.0 - sugarss: ^2.0.0 - svelte: ^3.23.0 - typescript: ^3.9.5 || ^4.0.0 - peerDependenciesMeta: - '@babel/core': - optional: true - coffeescript: - optional: true - less: - optional: true - node-sass: - optional: true - postcss: - optional: true - postcss-load-config: - optional: true - pug: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - typescript: - optional: true - dependencies: - '@types/pug': 2.0.6 - '@types/sass': 1.43.1 - detect-indent: 6.1.0 - magic-string: 0.25.9 - postcss: 8.4.26 - postcss-load-config: 4.0.1(postcss@8.4.26)(ts-node@10.9.1) - sass: 1.63.6 - sorcery: 0.10.0 - strip-indent: 3.0.0 - svelte: 3.59.2 - typescript: 4.9.5 - dev: true - - /svelte-preprocess@5.0.4(postcss-load-config@4.0.1)(postcss@8.4.26)(sass@1.63.6)(svelte@3.59.2)(typescript@4.9.5): + /svelte-preprocess@5.0.4(postcss-load-config@4.0.1)(postcss@8.4.27)(sass@1.64.1)(svelte@4.1.1)(typescript@5.1.6): resolution: {integrity: sha512-ABia2QegosxOGsVlsSBJvoWeXy1wUKSfF7SWJdTjLAbx/Y3SrVevvvbFNQqrSJw89+lNSsM58SipmZJ5SRi5iw==} engines: {node: '>= 14.10.0'} requiresBuild: true @@ -3870,38 +3930,52 @@ packages: '@types/pug': 2.0.6 detect-indent: 6.1.0 magic-string: 0.27.0 - postcss: 8.4.26 - postcss-load-config: 4.0.1(postcss@8.4.26)(ts-node@10.9.1) - sass: 1.63.6 + postcss: 8.4.27 + postcss-load-config: 4.0.1(postcss@8.4.27)(ts-node@10.9.1) + sass: 1.64.1 sorcery: 0.11.0 strip-indent: 3.0.0 - svelte: 3.59.2 - typescript: 4.9.5 + svelte: 4.1.1 + typescript: 5.1.6 dev: true - /svelte@3.59.2: - resolution: {integrity: sha512-vzSyuGr3eEoAtT/A6bmajosJZIUWySzY2CzB3w2pgPvnkUjGqlDnsNnA0PMO+mMAhuyMul6C2uuZzY6ELSkzyA==} - engines: {node: '>= 8'} - - /sveltekit-flash-message@0.11.3(@sveltejs/kit@1.22.3)(svelte@3.59.2): - resolution: {integrity: sha512-tMKBobVFLYth0z2Kq9M+pi7Ip2OBhOrzivzx64v9+D2bWRwnZ3pmdWStYfQYxlz5CayozRQsmtipNg1vM+JN9Q==} - peerDependencies: - '@sveltejs/kit': ^1.0.0 - svelte: ^3 + /svelte@4.1.1: + resolution: {integrity: sha512-Enick5fPFISLoVy0MFK45cG+YlQt6upw8skEK9zzTpJnH1DqEv8xOZwizCGSo3Q6HZ7KrZTM0J18poF7aQg5zw==} + engines: {node: '>=16'} dependencies: - '@sveltejs/kit': 1.22.3(svelte@3.59.2)(vite@4.4.4) - svelte: 3.59.2 - dev: false + '@ampproject/remapping': 2.2.1 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.18 + acorn: 8.9.0 + aria-query: 5.3.0 + axobject-query: 3.2.1 + code-red: 1.0.3 + css-tree: 2.3.1 + estree-walker: 3.0.3 + is-reference: 3.0.1 + locate-character: 3.0.0 + magic-string: 0.30.0 + periscopic: 3.1.0 - /sveltekit-superforms@1.3.0(@sveltejs/kit@1.22.3)(svelte@3.59.2)(zod@3.21.4): - resolution: {integrity: sha512-4bkTxuy7nr+7qSqtJVCv+CJjiGrLR2Qvy2fIelEF5qvWNkvokOZkEwEtDC2bMVgOILebhGANI3RYOVtGA/qH1w==} + /sveltekit-flash-message@2.1.0(@sveltejs/kit@1.22.3)(svelte@4.1.1): + resolution: {integrity: sha512-I9UOYsFpONLu9erXHG8CeHW1tQVZguRUDXV3NHbi6kVA4jPG12R2ypJBrcYW7UyZOLBp3Y3FdVyemkaAmfwr/w==} + peerDependencies: + '@sveltejs/kit': 1.x + svelte: 3.x || 4.x + dependencies: + '@sveltejs/kit': 1.22.3(svelte@4.1.1)(vite@4.4.7) + svelte: 4.1.1 + dev: true + + /sveltekit-superforms@1.5.0(@sveltejs/kit@1.22.3)(svelte@4.1.1)(zod@3.21.4): + resolution: {integrity: sha512-c/2v6zN9rtIAsOfsd6rBV7Kf0lB2+/o6sAFaOuMrYPlTBro5lpbz3iN/3nM5D3EuLE2Xt/iDdZYpkQdH8rq4nQ==} peerDependencies: '@sveltejs/kit': 1.x svelte: 3.x || 4.x zod: 3.x dependencies: - '@sveltejs/kit': 1.22.3(svelte@3.59.2)(vite@4.4.4) - svelte: 3.59.2 + '@sveltejs/kit': 1.22.3(svelte@4.1.1)(vite@4.4.7) + svelte: 4.1.1 zod: 3.21.4 dev: true @@ -3936,11 +4010,11 @@ packages: normalize-path: 3.0.0 object-hash: 3.0.0 picocolors: 1.0.0 - postcss: 8.4.26 - postcss-import: 15.1.0(postcss@8.4.26) - postcss-js: 4.0.1(postcss@8.4.26) - postcss-load-config: 4.0.1(postcss@8.4.26)(ts-node@10.9.1) - postcss-nested: 6.0.1(postcss@8.4.26) + postcss: 8.4.27 + postcss-import: 15.1.0(postcss@8.4.27) + postcss-js: 4.0.1(postcss@8.4.27) + postcss-load-config: 4.0.1(postcss@8.4.27)(ts-node@10.9.1) + postcss-nested: 6.0.1(postcss@8.4.27) postcss-selector-parser: 6.0.13 resolve: 1.22.2 sucrase: 3.32.0 @@ -4003,19 +4077,21 @@ packages: /totalist@3.0.0: resolution: {integrity: sha512-eM+pCBxXO/njtF7vdFsHuqb+ElbxqtI4r5EAvk6grfAFyJ6IvWlSkfZ5T9ozC6xWw3Fj1fGoSmrl0gUs46JVIw==} engines: {node: '>=6'} + dev: true /tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} dev: true - /triple-beam@1.3.0: - resolution: {integrity: sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==} + /triple-beam@1.4.1: + resolution: {integrity: sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==} + engines: {node: '>= 14.0.0'} dev: false /ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - /ts-node@10.9.1(@types/node@18.16.19)(typescript@4.9.5): + /ts-node@10.9.1(@types/node@18.17.1)(typescript@5.1.6): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -4034,14 +4110,14 @@ packages: '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 18.16.19 + '@types/node': 18.17.1 acorn: 8.8.2 acorn-walk: 8.2.0 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 4.9.5 + typescript: 5.1.6 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 @@ -4049,18 +4125,18 @@ packages: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} dev: true - /tslib@2.6.0: - resolution: {integrity: sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==} + /tslib@2.6.1: + resolution: {integrity: sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==} dev: true - /tsutils@3.21.0(typescript@4.9.5): + /tsutils@3.21.0(typescript@5.1.6): resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: tslib: 1.14.1 - typescript: 4.9.5 + typescript: 5.1.6 dev: true /type-check@0.4.0: @@ -4080,9 +4156,9 @@ packages: engines: {node: '>=10'} dev: true - /typescript@4.9.5: - resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} - engines: {node: '>=4.2.0'} + /typescript@5.1.6: + resolution: {integrity: sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==} + engines: {node: '>=14.17'} hasBin: true /undici@5.22.0: @@ -4090,6 +4166,7 @@ packages: engines: {node: '>=14.0'} dependencies: busboy: 1.6.0 + dev: true /update-browserslist-db@1.0.11(browserslist@4.21.5): resolution: {integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==} @@ -4125,8 +4202,8 @@ packages: /v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} - /vite@4.4.4(@types/node@18.16.19)(sass@1.63.6): - resolution: {integrity: sha512-4mvsTxjkveWrKDJI70QmelfVqTm+ihFAb6+xf4sjEU2TmUCTlVX87tmg/QooPEMQb/lM9qGHT99ebqPziEd3wg==} + /vite@4.4.7(@types/node@18.17.1)(sass@1.64.1): + resolution: {integrity: sha512-6pYf9QJ1mHylfVh39HpuSfMPojPSKVxZvnclX1K1FyZ1PXDOcLBibdq5t1qxJSnL63ca8Wf4zts6mD8u8oc9Fw==} engines: {node: ^14.18.0 || >=16.0.0} hasBin: true peerDependencies: @@ -4153,15 +4230,16 @@ packages: terser: optional: true dependencies: - '@types/node': 18.16.19 + '@types/node': 18.17.1 esbuild: 0.18.11 - postcss: 8.4.26 + postcss: 8.4.27 rollup: 3.26.2 - sass: 1.63.6 + sass: 1.64.1 optionalDependencies: fsevents: 2.3.2 + dev: true - /vitefu@0.2.4(vite@4.4.4): + /vitefu@0.2.4(vite@4.4.7): resolution: {integrity: sha512-fanAXjSaf9xXtOOeno8wZXIhgia+CZury481LsDaV++lSvcU2R9Ch2bPh3PYFyoHW+w9LqAeYRISVQjUIew14g==} peerDependencies: vite: ^3.0.0 || ^4.0.0 @@ -4169,9 +4247,10 @@ packages: vite: optional: true dependencies: - vite: 4.4.4(@types/node@18.16.19)(sass@1.63.6) + vite: 4.4.7(@types/node@18.17.1)(sass@1.64.1) + dev: true - /vitest@0.25.8(sass@1.63.6): + /vitest@0.25.8(sass@1.64.1): resolution: {integrity: sha512-X75TApG2wZTJn299E/TIYevr4E9/nBo1sUtZzn0Ci5oK8qnpZAZyhwg0qCeMSakGIWtc6oRwcQFyFfW14aOFWg==} engines: {node: '>=v14.16.0'} hasBin: true @@ -4195,7 +4274,7 @@ packages: dependencies: '@types/chai': 4.3.4 '@types/chai-subset': 1.3.3 - '@types/node': 18.16.19 + '@types/node': 18.17.1 acorn: 8.8.1 acorn-walk: 8.2.0 chai: 4.3.7 @@ -4206,7 +4285,7 @@ packages: tinybench: 2.3.1 tinypool: 0.3.0 tinyspy: 1.0.2 - vite: 4.4.4(@types/node@18.16.19)(sass@1.63.6) + vite: 4.4.7(@types/node@18.17.1)(sass@1.64.1) transitivePeerDependencies: - less - lightningcss @@ -4248,7 +4327,7 @@ packages: dependencies: logform: 2.5.1 readable-stream: 3.6.0 - triple-beam: 1.3.0 + triple-beam: 1.4.1 dev: false /wrappy@1.0.2: diff --git a/prisma/schema.prisma b/prisma/schema.prisma index e851be7..78807e1 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -22,10 +22,10 @@ model Role { model UserRole { id String @id @default(cuid()) - user AuthUser @relation(fields: [user_id], references: [id]) - user_id String + user User @relation(fields: [user_id], references: [id]) + user_id String role Role @relation(fields: [role_id], references: [id]) - role_id String + role_id String created_at DateTime @default(now()) @db.Timestamp(6) updated_at DateTime @updatedAt @db.Timestamp(6) @@ -35,7 +35,7 @@ model UserRole { @@map("user_roles") } -model AuthUser { +model User { id String @id @default(cuid()) username String @unique email String? @unique @@ -50,39 +50,37 @@ model AuthUser { theme String @default("system") created_at DateTime @default(now()) @db.Timestamp(6) updated_at DateTime @updatedAt @db.Timestamp(6) - auth_session AuthSession[] - auth_key AuthKey[] + auth_session Session[] + auth_key Key[] - @@map("auth_user") + @@map("users") } -model AuthSession { +model Session { id String @id @unique user_id String active_expires BigInt idle_expires BigInt - auth_user AuthUser @relation(references: [id], fields: [user_id], onDelete: Cascade) + user User @relation(references: [id], fields: [user_id], onDelete: Cascade) @@index([user_id]) - @@map("auth_session") + @@map("sessions") } -model AuthKey { +model Key { id String @id @unique hashed_password String? user_id String - primary_key Boolean - expires BigInt? - auth_user AuthUser @relation(references: [id], fields: [user_id], onDelete: Cascade) + user User @relation(references: [id], fields: [user_id], onDelete: Cascade) @@index([user_id]) - @@map("auth_key") + @@map("keys") } model Collection { id String @id @default(cuid()) user_id String @unique - auth_user AuthUser @relation(references: [id], fields: [user_id]) + user User @relation(references: [id], fields: [user_id]) items CollectionItem[] @@index([user_id]) @@ -105,7 +103,7 @@ model Wishlist { id String @id @default(cuid()) name String user_id String @unique - auth_user AuthUser @relation(references: [id], fields: [user_id]) + user User @relation(references: [id], fields: [user_id]) items WishlistItem[] @@index([user_id]) diff --git a/src/app.d.ts b/src/app.d.ts index f5c0da5..77fc2c3 100644 --- a/src/app.d.ts +++ b/src/app.d.ts @@ -2,9 +2,9 @@ // for information about these interfaces // and what to do when importing types -import type { AuthUser } from '@prisma/client'; +import type { User } from '@prisma/client'; -type User = Omit; +type User = Omit; // src/app.d.ts declare global { @@ -13,7 +13,7 @@ declare global { flash?: { type: 'success' | 'error'; message: string }; } interface Locals { - auth: import('lucia-auth').AuthRequest; + auth: import('lucia').AuthRequest; prisma: PrismaClient; user: Lucia.UserAttributes; startTimer: number; @@ -34,11 +34,12 @@ declare global { // interface Error {} // interface Platform {} -/// +/// declare global { namespace Lucia { - type Auth = import('$lib/lucia').Auth; - type UserAttributes = User; + type Auth = import('$lib/server/lucia').Auth; + type DatabaseUserAttributes = User; + type DatabaseSessionAttributes = {}; } } diff --git a/src/db/users.ts b/src/db/users.ts index 60daed4..bf39518 100644 --- a/src/db/users.ts +++ b/src/db/users.ts @@ -1,18 +1,18 @@ import { auth } from '$lib/server/lucia'; import prisma from '$lib/prisma'; -import type { AuthUser } from '@prisma/client'; +import type { User } from '@prisma/client'; import { add_user_to_role } from './roles'; -export function create_user(user: AuthUser) { - return prisma.authUser.create({ +export function create_user(user: User) { + return prisma.user.create({ data: { username: user.username } }); } -export async function find_or_create_user(user: AuthUser) { - const existing_user = await prisma.authUser.findUnique({ +export async function find_or_create_user(user: User) { + const existing_user = await prisma.user.findUnique({ where: { username: user.username } @@ -27,7 +27,7 @@ export async function find_or_create_user(user: AuthUser) { } export async function find_user_with_roles(user_id: string) { - const user_with_roles = await prisma.authUser.findUnique({ + const user_with_roles = await prisma.user.findUnique({ where: { id: user_id }, diff --git a/src/hooks.server.ts b/src/hooks.server.ts index 6e0ae89..c612357 100644 --- a/src/hooks.server.ts +++ b/src/hooks.server.ts @@ -1,9 +1,8 @@ import { sequence } from '@sveltejs/kit/hooks'; -import { redirect, type HandleServerError, type Handle } from '@sveltejs/kit'; +import { type HandleServerError, type Handle } from '@sveltejs/kit'; import { dev } from '$app/environment'; import { auth } from '$lib/server/lucia'; import log from '$lib/server/log'; -import prisma from '$lib/config/prisma'; export const handleError: HandleServerError = async ({ error, event }) => { const errorId = crypto.randomUUID(); @@ -36,13 +35,21 @@ export const authentication: Handle = async function ({ event, resolve }) { event.locals.startTimer = startTimer; event.locals.auth = auth.handleRequest(event); - if (event.locals?.auth) { - const { user } = await event.locals.auth.validateUser(); - event.locals.user = user; - // if (event.route.id?.startsWith('/(protected)')) { - // if (!user) throw redirect(302, '/auth/sign-in'); - // if (!user.verified) throw redirect(302, '/auth/verify/email'); - // } + if (event?.locals?.auth) { + console.log('auth not empty'); + try { + const session = await event.locals.auth.validate(); + console.log('user', session?.user); + event.locals.user = session?.user; + // if (event.route.id?.startsWith('/(protected)')) { + // if (!user) throw redirect(302, '/auth/sign-in'); + // if (!user.verified) throw redirect(302, '/auth/verify/email'); + // } + } catch (error) { + console.error('Error validating user', error); + } + } else { + console.log('auth empty'); } const response = await resolve(event); diff --git a/src/lib/components/game/index.svelte b/src/lib/components/game/index.svelte index bfe6874..8c965b3 100644 --- a/src/lib/components/game/index.svelte +++ b/src/lib/components/game/index.svelte @@ -20,21 +20,22 @@ import type { ListGameSchema } from '$lib/zodValidation'; import type { CollectionItem } from '@prisma/client'; - export let data: SuperValidated; + // export let data: SuperValidated; export let game: GameType | CollectionItem; export let detailed: boolean = false; - const { form, errors, enhance, delayed } = superForm(data); + // const { form, errors, enhance, delayed } = superForm(data); + // data={modifyListForm} - const dispatch = createEventDispatcher(); + // const dispatch = createEventDispatcher(); - function removeGameFromWishlist() { - dispatch('handleRemoveWishlist', game); - } + // function removeGameFromWishlist() { + // dispatch('handleRemoveWishlist', game); + // } - function removeGameFromCollection() { - dispatch('handleRemoveCollection', game); - } + // function removeGameFromCollection() { + // dispatch('handleRemoveCollection', game); + // } function onCollectionClick() { if (existsInCollection) { @@ -88,16 +89,16 @@
- {game.game_name} + {game.name} - {`Image + {`Image
{#if game?.players}

Players: {game.players}

@@ -114,7 +115,7 @@
-
+
-
+