diff --git a/docker/nginx.conf b/docker/nginx.conf index 3ff25e185..7f7313e00 100644 --- a/docker/nginx.conf +++ b/docker/nginx.conf @@ -7,7 +7,6 @@ map $sent_http_content_type $expires { server { listen 80; - listen [::]:80; server_name localhost; # serve compressed file if filename.gz exists diff --git a/package.json b/package.json index d32370db7..b3f8880c8 100644 --- a/package.json +++ b/package.json @@ -23,12 +23,12 @@ "@appwrite.io/pink": "0.25.0", "@appwrite.io/pink-icons": "0.25.0", "@popperjs/core": "^2.11.8", - "@sentry/sveltekit": "^8.26.0", + "@sentry/sveltekit": "^8.31.0", "@stripe/stripe-js": "^3.5.0", "ai": "^2.2.37", "analytics": "^0.8.14", "cron-parser": "^4.9.0", - "dayjs": "^1.11.12", + "dayjs": "^1.11.13", "deep-equal": "^2.2.3", "echarts": "^5.5.1", "envfile": "^7.1.0", @@ -42,12 +42,12 @@ "devDependencies": { "@melt-ui/pp": "^0.3.2", "@melt-ui/svelte": "^0.83.0", - "@playwright/test": "^1.46.0", - "@sveltejs/adapter-static": "^3.0.4", - "@sveltejs/kit": "^2.5.22", - "@sveltejs/vite-plugin-svelte": "^3.1.1", + "@playwright/test": "^1.47.2", + "@sveltejs/adapter-static": "^3.0.5", + "@sveltejs/kit": "^2.5.28", + "@sveltejs/vite-plugin-svelte": "^3.1.2", "@testing-library/dom": "^10.4.0", - "@testing-library/jest-dom": "^6.4.8", + "@testing-library/jest-dom": "^6.5.0", "@testing-library/svelte": "^5.2.1", "@testing-library/user-event": "^14.5.2", "@types/deep-equal": "^1.0.4", @@ -55,22 +55,22 @@ "@typescript-eslint/eslint-plugin": "^7.18.0", "@typescript-eslint/parser": "^7.18.0", "@vitest/ui": "^1.6.0", - "eslint": "^8.57.0", + "eslint": "^8.57.1", "eslint-config-prettier": "^9.1.0", - "eslint-plugin-svelte": "^2.43.0", + "eslint-plugin-svelte": "^2.44.0", "jsdom": "^22.1.0", "kleur": "^4.1.5", "prettier": "^3.3.3", "prettier-plugin-svelte": "^3.2.6", - "sass": "^1.77.8", - "svelte": "^4.2.18", - "svelte-check": "^3.8.5", + "sass": "^1.79.3", + "svelte": "^4.2.19", + "svelte-check": "^3.8.6", "svelte-jester": "^2.3.2", "svelte-preprocess": "^6.0.2", "svelte-sequential-preprocessor": "^2.0.1", - "tslib": "^2.6.3", - "typescript": "^5.5.4", - "vite": "^5.4.0", + "tslib": "^2.7.0", + "typescript": "^5.6.2", + "vite": "^5.4.7", "vitest": "^1.6.0" }, "type": "module", diff --git a/playwright.config.ts b/playwright.config.ts index b03afb942..0d8c2beda 100644 --- a/playwright.config.ts +++ b/playwright.config.ts @@ -12,7 +12,7 @@ const config: PlaywrightTestConfig = { webServer: { timeout: 120000, env: { - PUBLIC_APPWRITE_ENDPOINT: 'http://console-tests.appwrite.org/v1', + PUBLIC_APPWRITE_ENDPOINT: 'https://dlbilling.appwrite.org/v1', PUBLIC_CONSOLE_MODE: 'cloud', PUBLIC_STRIPE_KEY: 'pk_test_51LT5nsGYD1ySxNCyd7b304wPD8Y1XKKWR6hqo6cu3GIRwgvcVNzoZv4vKt5DfYXL1gRGw4JOqE19afwkJYJq1g3K004eVfpdWn' diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f1c2dcaf3..4515d3778 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -21,14 +21,14 @@ importers: specifier: ^2.11.8 version: 2.11.8 '@sentry/sveltekit': - specifier: ^8.26.0 - version: 8.28.0(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.52.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.27.0)(@sveltejs/kit@2.5.24(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.4.1(@types/node@22.4.1)(sass@1.77.8)))(svelte@4.2.18)(vite@5.4.1(@types/node@22.4.1)(sass@1.77.8)))(svelte@4.2.18)(vite@5.4.1(@types/node@22.4.1)(sass@1.77.8)) + specifier: ^8.31.0 + version: 8.31.0(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.53.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.27.0)(@sveltejs/kit@2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.19)(vite@5.4.7(@types/node@22.6.1)(sass@1.79.3)))(svelte@4.2.19)(vite@5.4.7(@types/node@22.6.1)(sass@1.79.3)))(svelte@4.2.19)(vite@5.4.7(@types/node@22.6.1)(sass@1.79.3)) '@stripe/stripe-js': specifier: ^3.5.0 version: 3.5.0 ai: specifier: ^2.2.37 - version: 2.2.37(react@18.3.1)(solid-js@1.8.21)(svelte@4.2.18)(vue@3.4.38(typescript@5.5.4)) + version: 2.2.37(react@18.3.1)(solid-js@1.8.23)(svelte@4.2.19)(vue@3.5.8(typescript@5.6.2)) analytics: specifier: ^0.8.14 version: 0.8.14(@types/dlv@1.1.4) @@ -36,8 +36,8 @@ importers: specifier: ^4.9.0 version: 4.9.0 dayjs: - specifier: ^1.11.12 - version: 1.11.12 + specifier: ^1.11.13 + version: 1.11.13 deep-equal: specifier: ^2.2.3 version: 2.2.3 @@ -61,38 +61,38 @@ importers: version: 1.29.0 svelte-confetti: specifier: ^1.4.0 - version: 1.4.0(svelte@4.2.18) + version: 1.4.0(svelte@4.2.19) tippy.js: specifier: ^6.3.7 version: 6.3.7 devDependencies: '@melt-ui/pp': specifier: ^0.3.2 - version: 0.3.2(@melt-ui/svelte@0.83.0(svelte@4.2.18))(svelte@4.2.18) + version: 0.3.2(@melt-ui/svelte@0.83.0(svelte@4.2.19))(svelte@4.2.19) '@melt-ui/svelte': specifier: ^0.83.0 - version: 0.83.0(svelte@4.2.18) + version: 0.83.0(svelte@4.2.19) '@playwright/test': - specifier: ^1.46.0 - version: 1.46.1 + specifier: ^1.47.2 + version: 1.47.2 '@sveltejs/adapter-static': - specifier: ^3.0.4 - version: 3.0.4(@sveltejs/kit@2.5.24(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.4.1(@types/node@22.4.1)(sass@1.77.8)))(svelte@4.2.18)(vite@5.4.1(@types/node@22.4.1)(sass@1.77.8))) + specifier: ^3.0.5 + version: 3.0.5(@sveltejs/kit@2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.19)(vite@5.4.7(@types/node@22.6.1)(sass@1.79.3)))(svelte@4.2.19)(vite@5.4.7(@types/node@22.6.1)(sass@1.79.3))) '@sveltejs/kit': - specifier: ^2.5.22 - version: 2.5.24(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.4.1(@types/node@22.4.1)(sass@1.77.8)))(svelte@4.2.18)(vite@5.4.1(@types/node@22.4.1)(sass@1.77.8)) + specifier: ^2.5.28 + version: 2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.19)(vite@5.4.7(@types/node@22.6.1)(sass@1.79.3)))(svelte@4.2.19)(vite@5.4.7(@types/node@22.6.1)(sass@1.79.3)) '@sveltejs/vite-plugin-svelte': - specifier: ^3.1.1 - version: 3.1.1(svelte@4.2.18)(vite@5.4.1(@types/node@22.4.1)(sass@1.77.8)) + specifier: ^3.1.2 + version: 3.1.2(svelte@4.2.19)(vite@5.4.7(@types/node@22.6.1)(sass@1.79.3)) '@testing-library/dom': specifier: ^10.4.0 version: 10.4.0 '@testing-library/jest-dom': - specifier: ^6.4.8 - version: 6.4.8 + specifier: ^6.5.0 + version: 6.5.0 '@testing-library/svelte': specifier: ^5.2.1 - version: 5.2.1(svelte@4.2.18)(vite@5.4.1(@types/node@22.4.1)(sass@1.77.8))(vitest@1.6.0(@types/node@22.4.1)(@vitest/ui@1.6.0)(jsdom@22.1.0)(sass@1.77.8)) + version: 5.2.1(svelte@4.2.19)(vite@5.4.7(@types/node@22.6.1)(sass@1.79.3))(vitest@1.6.0(@types/node@22.6.1)(@vitest/ui@1.6.0)(jsdom@22.1.0)(sass@1.79.3)) '@testing-library/user-event': specifier: ^14.5.2 version: 14.5.2(@testing-library/dom@10.4.0) @@ -104,22 +104,22 @@ importers: version: 1.26.4 '@typescript-eslint/eslint-plugin': specifier: ^7.18.0 - version: 7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4) + version: 7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1)(typescript@5.6.2) '@typescript-eslint/parser': specifier: ^7.18.0 - version: 7.18.0(eslint@8.57.0)(typescript@5.5.4) + version: 7.18.0(eslint@8.57.1)(typescript@5.6.2) '@vitest/ui': specifier: ^1.6.0 version: 1.6.0(vitest@1.6.0) eslint: - specifier: ^8.57.0 - version: 8.57.0 + specifier: ^8.57.1 + version: 8.57.1 eslint-config-prettier: specifier: ^9.1.0 - version: 9.1.0(eslint@8.57.0) + version: 9.1.0(eslint@8.57.1) eslint-plugin-svelte: - specifier: ^2.43.0 - version: 2.43.0(eslint@8.57.0)(svelte@4.2.18) + specifier: ^2.44.0 + version: 2.44.0(eslint@8.57.1)(svelte@4.2.19) jsdom: specifier: ^22.1.0 version: 22.1.0 @@ -131,37 +131,37 @@ importers: version: 3.3.3 prettier-plugin-svelte: specifier: ^3.2.6 - version: 3.2.6(prettier@3.3.3)(svelte@4.2.18) + version: 3.2.6(prettier@3.3.3)(svelte@4.2.19) sass: - specifier: ^1.77.8 - version: 1.77.8 + specifier: ^1.79.3 + version: 1.79.3 svelte: - specifier: ^4.2.18 - version: 4.2.18 + specifier: ^4.2.19 + version: 4.2.19 svelte-check: - specifier: ^3.8.5 - version: 3.8.5(@babel/core@7.25.2)(postcss-load-config@3.1.4(postcss@8.4.41))(postcss@8.4.41)(sass@1.77.8)(svelte@4.2.18) + specifier: ^3.8.6 + version: 3.8.6(@babel/core@7.25.2)(postcss-load-config@3.1.4(postcss@8.4.47))(postcss@8.4.47)(sass@1.79.3)(svelte@4.2.19) svelte-jester: specifier: ^2.3.2 - version: 2.3.2(jest@29.7.0(@types/node@22.4.1))(svelte@4.2.18) + version: 2.3.2(jest@29.7.0(@types/node@22.6.1))(svelte@4.2.19) svelte-preprocess: specifier: ^6.0.2 - version: 6.0.2(@babel/core@7.25.2)(postcss-load-config@3.1.4(postcss@8.4.41))(postcss@8.4.41)(sass@1.77.8)(svelte@4.2.18)(typescript@5.5.4) + version: 6.0.2(@babel/core@7.25.2)(postcss-load-config@3.1.4(postcss@8.4.47))(postcss@8.4.47)(sass@1.79.3)(svelte@4.2.19)(typescript@5.6.2) svelte-sequential-preprocessor: specifier: ^2.0.1 version: 2.0.1 tslib: - specifier: ^2.6.3 - version: 2.6.3 + specifier: ^2.7.0 + version: 2.7.0 typescript: - specifier: ^5.5.4 - version: 5.5.4 + specifier: ^5.6.2 + version: 5.6.2 vite: - specifier: ^5.4.0 - version: 5.4.1(@types/node@22.4.1)(sass@1.77.8) + specifier: ^5.4.7 + version: 5.4.7(@types/node@22.6.1)(sass@1.79.3) vitest: specifier: ^1.6.0 - version: 1.6.0(@types/node@22.4.1)(@vitest/ui@1.6.0)(jsdom@22.1.0)(sass@1.77.8) + version: 1.6.0(@types/node@22.6.1)(@vitest/ui@1.6.0)(jsdom@22.1.0)(sass@1.79.3) packages: @@ -206,16 +206,16 @@ packages: resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} engines: {node: '>=6.9.0'} - '@babel/compat-data@7.25.2': - resolution: {integrity: sha512-bYcppcpKBvX4znYaPEeFau03bp89ShqNMLs+rmdptMw+heSZh9+z84d2YG+K7cYLbWwzdjtDoW/uqZmPjulClQ==} + '@babel/compat-data@7.25.4': + resolution: {integrity: sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==} engines: {node: '>=6.9.0'} '@babel/core@7.25.2': resolution: {integrity: sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==} engines: {node: '>=6.9.0'} - '@babel/generator@7.25.0': - resolution: {integrity: sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw==} + '@babel/generator@7.25.6': + resolution: {integrity: sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==} engines: {node: '>=6.9.0'} '@babel/helper-compilation-targets@7.25.2': @@ -252,16 +252,16 @@ packages: resolution: {integrity: sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==} engines: {node: '>=6.9.0'} - '@babel/helpers@7.25.0': - resolution: {integrity: sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw==} + '@babel/helpers@7.25.6': + resolution: {integrity: sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q==} engines: {node: '>=6.9.0'} '@babel/highlight@7.24.7': resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} engines: {node: '>=6.9.0'} - '@babel/parser@7.25.3': - resolution: {integrity: sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw==} + '@babel/parser@7.25.6': + resolution: {integrity: sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==} engines: {node: '>=6.0.0'} hasBin: true @@ -286,8 +286,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-import-attributes@7.24.7': - resolution: {integrity: sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==} + '@babel/plugin-syntax-import-attributes@7.25.6': + resolution: {integrity: sha512-sXaDXaJN9SNLymBdlWFA+bjzBhFD617ZaFiY13dGt7TVslVvVgA6fkZOP7Ki3IGElC45lwHdOTrCtKZGVAWeLQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -350,26 +350,26 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-syntax-typescript@7.24.7': - resolution: {integrity: sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==} + '@babel/plugin-syntax-typescript@7.25.4': + resolution: {integrity: sha512-uMOCoHVU52BsSWxPOMVv5qKRdeSlPuImUCB2dlPuBSU+W2/ROE7/Zg8F2Kepbk+8yBa68LlRKxO+xgEVWorsDg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/runtime@7.25.0': - resolution: {integrity: sha512-7dRy4DwXwtzBrPbZflqxnvfxLF8kdZXPkhymtDeFoFqE6ldzjQFgYTtYIFARcLEYDrqfBfYcZt1WqFxRoyC9Rw==} + '@babel/runtime@7.25.6': + resolution: {integrity: sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ==} engines: {node: '>=6.9.0'} '@babel/template@7.25.0': resolution: {integrity: sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.25.3': - resolution: {integrity: sha512-HefgyP1x754oGCsKmV5reSmtV7IXj/kpaE1XYY+D9G5PvKKoFfSbiS4M77MdjuwlZKDIKFCffq9rPU+H/s3ZdQ==} + '@babel/traverse@7.25.6': + resolution: {integrity: sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==} engines: {node: '>=6.9.0'} - '@babel/types@7.25.2': - resolution: {integrity: sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==} + '@babel/types@7.25.6': + resolution: {integrity: sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==} engines: {node: '>=6.9.0'} '@bcoe/v8-coverage@0.2.3': @@ -519,29 +519,29 @@ packages: peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - '@eslint-community/regexpp@4.11.0': - resolution: {integrity: sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==} + '@eslint-community/regexpp@4.11.1': + resolution: {integrity: sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} '@eslint/eslintrc@2.1.4': resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - '@eslint/js@8.57.0': - resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} + '@eslint/js@8.57.1': + resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - '@floating-ui/core@1.6.7': - resolution: {integrity: sha512-yDzVT/Lm101nQ5TCVeK65LtdN7Tj4Qpr9RTXJ2vPFLqtLxwOrpoxAHAJI8J3yYWUc40J0BDBheaitK5SJmno2g==} + '@floating-ui/core@1.6.8': + resolution: {integrity: sha512-7XJ9cPU+yI2QeLS+FCSlqNFZJq8arvswefkZrYI1yQBbftw6FyrZOxYSh+9S7z7TpeWlRt9zJ5IhM1WIL334jA==} - '@floating-ui/dom@1.6.10': - resolution: {integrity: sha512-fskgCFv8J8OamCmyun8MfjB1Olfn+uZKjOKZ0vhYF3gRmEUXcGOjxWL8bBr7i4kIuPZ2KD2S3EUIOxnjC8kl2A==} + '@floating-ui/dom@1.6.11': + resolution: {integrity: sha512-qkMCxSR24v2vGkhYDo/UzxfJN3D4syqSjyuTFz6C7XcpU1pASPRieNI0Kj5VP3/503mOfYiGY891ugBX1GlABQ==} - '@floating-ui/utils@0.2.7': - resolution: {integrity: sha512-X8R8Oj771YRl/w+c1HqAC1szL8zWQRwFvgDwT129k9ACdBoud/+/rX9V0qiMl6LWUdP9voC2nDVZYPMQQsb6eA==} + '@floating-ui/utils@0.2.8': + resolution: {integrity: sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==} - '@humanwhocodes/config-array@0.11.14': - resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} + '@humanwhocodes/config-array@0.13.0': + resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} engines: {node: '>=10.10.0'} deprecated: Use @eslint/config-array instead @@ -675,6 +675,10 @@ packages: resolution: {integrity: sha512-qnSqB2DQ9TPP96dl8cDubDvrUyWc0/sK81xHTK8eSUspzDM3bsewX903qclQFvVhgStjRWdC5bLb3kQqMkfV5A==} engines: {node: '>=14'} + '@opentelemetry/api-logs@0.53.0': + resolution: {integrity: sha512-8HArjKx+RaAI8uEIgcORbZIPklyh1YLjPSBus8hjRmvLi6DeFzgOcdZ7KwPabKj8mXF8dX0hyfAyGfycz0DbFw==} + engines: {node: '>=14'} + '@opentelemetry/api@1.9.0': resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==} engines: {node: '>=8.0.0'} @@ -685,126 +689,144 @@ packages: peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.10.0' - '@opentelemetry/core@1.25.1': - resolution: {integrity: sha512-GeT/l6rBYWVQ4XArluLVB6WWQ8flHbdb6r2FCHC3smtdOAbrJBIv35tpV/yp9bmYUJf+xmZpu9DRTIeJVhFbEQ==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.10.0' - '@opentelemetry/core@1.26.0': resolution: {integrity: sha512-1iKxXXE8415Cdv0yjG3G6hQnB5eVEsJce3QaawX8SjDn0mAS0ZM8fAbZZJD4ajvhC15cePvosSCut404KrIIvQ==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.10.0' - '@opentelemetry/instrumentation-connect@0.38.0': - resolution: {integrity: sha512-2/nRnx3pjYEmdPIaBwtgtSviTKHWnDZN3R+TkRUnhIVrvBKVcq+I5B2rtd6mr6Fe9cHlZ9Ojcuh7pkNh/xdWWg==} + '@opentelemetry/instrumentation-connect@0.39.0': + resolution: {integrity: sha512-pGBiKevLq7NNglMgqzmeKczF4XQMTOUOTkK8afRHMZMnrK3fcETyTH7lVaSozwiOM3Ws+SuEmXZT7DYrrhxGlg==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/instrumentation-express@0.41.1': - resolution: {integrity: sha512-uRx0V3LPGzjn2bxAnV8eUsDT82vT7NTwI0ezEuPMBOTOsnPpGhWdhcdNdhH80sM4TrWrOfXm9HGEdfWE3TRIww==} + '@opentelemetry/instrumentation-dataloader@0.12.0': + resolution: {integrity: sha512-pnPxatoFE0OXIZDQhL2okF//dmbiWFzcSc8pUg9TqofCLYZySSxDCgQc69CJBo5JnI3Gz1KP+mOjS4WAeRIH4g==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/instrumentation-fastify@0.38.0': - resolution: {integrity: sha512-HBVLpTSYpkQZ87/Df3N0gAw7VzYZV3n28THIBrJWfuqw3Or7UqdhnjeuMIPQ04BKk3aZc0cWn2naSQObbh5vXw==} + '@opentelemetry/instrumentation-express@0.42.0': + resolution: {integrity: sha512-YNcy7ZfGnLsVEqGXQPT+S0G1AE46N21ORY7i7yUQyfhGAL4RBjnZUqefMI0NwqIl6nGbr1IpF0rZGoN8Q7x12Q==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/instrumentation-fs@0.14.0': - resolution: {integrity: sha512-pVc8P5AgliC1DphyyBUgsxXlm2XaPH4BpYvt7rAZDMIqUpRk8gs19SioABtKqqxvFzg5jPtgJfJsdxq0Y+maLw==} + '@opentelemetry/instrumentation-fastify@0.39.0': + resolution: {integrity: sha512-SS9uSlKcsWZabhBp2szErkeuuBDgxOUlllwkS92dVaWRnMmwysPhcEgHKB8rUe3BHg/GnZC1eo1hbTZv4YhfoA==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/instrumentation-graphql@0.42.0': - resolution: {integrity: sha512-N8SOwoKL9KQSX7z3gOaw5UaTeVQcfDO1c21csVHnmnmGUoqsXbArK2B8VuwPWcv6/BC/i3io+xTo7QGRZ/z28Q==} + '@opentelemetry/instrumentation-fs@0.15.0': + resolution: {integrity: sha512-JWVKdNLpu1skqZQA//jKOcKdJC66TWKqa2FUFq70rKohvaSq47pmXlnabNO+B/BvLfmidfiaN35XakT5RyMl2Q==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/instrumentation-hapi@0.40.0': - resolution: {integrity: sha512-8U/w7Ifumtd2bSN1OLaSwAAFhb9FyqWUki3lMMB0ds+1+HdSxYBe9aspEJEgvxAqOkrQnVniAPTEGf1pGM7SOw==} + '@opentelemetry/instrumentation-generic-pool@0.39.0': + resolution: {integrity: sha512-y4v8Y+tSfRB3NNBvHjbjrn7rX/7sdARG7FuK6zR8PGb28CTa0kHpEGCJqvL9L8xkTNvTXo+lM36ajFGUaK1aNw==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/instrumentation-http@0.52.1': - resolution: {integrity: sha512-dG/aevWhaP+7OLv4BQQSEKMJv8GyeOp3Wxl31NHqE8xo9/fYMfEljiZphUHIfyg4gnZ9swMyWjfOQs5GUQe54Q==} + '@opentelemetry/instrumentation-graphql@0.43.0': + resolution: {integrity: sha512-aI3YMmC2McGd8KW5du1a2gBA0iOMOGLqg4s9YjzwbjFwjlmMNFSK1P3AIg374GWg823RPUGfVTIgZ/juk9CVOA==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/instrumentation-ioredis@0.42.0': - resolution: {integrity: sha512-P11H168EKvBB9TUSasNDOGJCSkpT44XgoM6d3gRIWAa9ghLpYhl0uRkS8//MqPzcJVHr3h3RmfXIpiYLjyIZTw==} + '@opentelemetry/instrumentation-hapi@0.41.0': + resolution: {integrity: sha512-jKDrxPNXDByPlYcMdZjNPYCvw0SQJjN+B1A+QH+sx+sAHsKSAf9hwFiJSrI6C4XdOls43V/f/fkp9ITkHhKFbQ==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/instrumentation-koa@0.42.0': - resolution: {integrity: sha512-H1BEmnMhho8o8HuNRq5zEI4+SIHDIglNB7BPKohZyWG4fWNuR7yM4GTlR01Syq21vODAS7z5omblScJD/eZdKw==} + '@opentelemetry/instrumentation-http@0.53.0': + resolution: {integrity: sha512-H74ErMeDuZfj7KgYCTOFGWF5W9AfaPnqLQQxeFq85+D29wwV2yqHbz2IKLYpkOh7EI6QwDEl7rZCIxjJLyc/CQ==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/instrumentation-mongodb@0.46.0': - resolution: {integrity: sha512-VF/MicZ5UOBiXrqBslzwxhN7TVqzu1/LN/QDpkskqM0Zm0aZ4CVRbUygL8d7lrjLn15x5kGIe8VsSphMfPJzlA==} + '@opentelemetry/instrumentation-ioredis@0.43.0': + resolution: {integrity: sha512-i3Dke/LdhZbiUAEImmRG3i7Dimm/BD7t8pDDzwepSvIQ6s2X6FPia7561gw+64w+nx0+G9X14D7rEfaMEmmjig==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/instrumentation-mongoose@0.40.0': - resolution: {integrity: sha512-niRi5ZUnkgzRhIGMOozTyoZIvJKNJyhijQI4nF4iFSb+FUx2v5fngfR+8XLmdQAO7xmsD8E5vEGdDVYVtKbZew==} + '@opentelemetry/instrumentation-kafkajs@0.3.0': + resolution: {integrity: sha512-UnkZueYK1ise8FXQeKlpBd7YYUtC7mM8J0wzUSccEfc/G8UqHQqAzIyYCUOUPUKp8GsjLnWOOK/3hJc4owb7Jg==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/instrumentation-mysql2@0.40.0': - resolution: {integrity: sha512-0xfS1xcqUmY7WE1uWjlmI67Xg3QsSUlNT+AcXHeA4BDUPwZtWqF4ezIwLgpVZfHOnkAEheqGfNSWd1PIu3Wnfg==} + '@opentelemetry/instrumentation-koa@0.43.0': + resolution: {integrity: sha512-lDAhSnmoTIN6ELKmLJBplXzT/Jqs5jGZehuG22EdSMaTwgjMpxMDI1YtlKEhiWPWkrz5LUsd0aOO0ZRc9vn3AQ==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/instrumentation-mysql@0.40.0': - resolution: {integrity: sha512-d7ja8yizsOCNMYIJt5PH/fKZXjb/mS48zLROO4BzZTtDfhNCl2UM/9VIomP2qkGIFVouSJrGr/T00EzY7bPtKA==} + '@opentelemetry/instrumentation-mongodb@0.47.0': + resolution: {integrity: sha512-yqyXRx2SulEURjgOQyJzhCECSh5i1uM49NUaq9TqLd6fA7g26OahyJfsr9NE38HFqGRHpi4loyrnfYGdrsoVjQ==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/instrumentation-nestjs-core@0.39.0': - resolution: {integrity: sha512-mewVhEXdikyvIZoMIUry8eb8l3HUjuQjSjVbmLVTt4NQi35tkpnHQrG9bTRBrl3403LoWZ2njMPJyg4l6HfKvA==} + '@opentelemetry/instrumentation-mongoose@0.42.0': + resolution: {integrity: sha512-AnWv+RaR86uG3qNEMwt3plKX1ueRM7AspfszJYVkvkehiicC3bHQA6vWdb6Zvy5HAE14RyFbu9+2hUUjR2NSyg==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/instrumentation-pg@0.43.0': - resolution: {integrity: sha512-og23KLyoxdnAeFs1UWqzSonuCkePUzCX30keSYigIzJe/6WSYA8rnEI5lobcxPEzg+GcU06J7jzokuEHbjVJNw==} + '@opentelemetry/instrumentation-mysql2@0.41.0': + resolution: {integrity: sha512-REQB0x+IzVTpoNgVmy5b+UnH1/mDByrneimP6sbDHkp1j8QOl1HyWOrBH/6YWR0nrbU3l825Em5PlybjT3232g==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/instrumentation-redis-4@0.41.0': - resolution: {integrity: sha512-H7IfGTqW2reLXqput4yzAe8YpDC0fmVNal95GHMLOrS89W+qWUKIqxolSh63hJyfmwPSFwXASzj7wpSk8Az+Dg==} + '@opentelemetry/instrumentation-mysql@0.41.0': + resolution: {integrity: sha512-jnvrV6BsQWyHS2qb2fkfbfSb1R/lmYwqEZITwufuRl37apTopswu9izc0b1CYRp/34tUG/4k/V39PND6eyiNvw==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 - '@opentelemetry/instrumentation@0.46.0': - resolution: {integrity: sha512-a9TijXZZbk0vI5TGLZl+0kxyFfrXHhX6Svtz7Pp2/VBlCSKrazuULEyoJQrOknJyFWNMEmbbJgOciHCCpQcisw==} + '@opentelemetry/instrumentation-nestjs-core@0.40.0': + resolution: {integrity: sha512-WF1hCUed07vKmf5BzEkL0wSPinqJgH7kGzOjjMAiTGacofNXjb/y4KQ8loj2sNsh5C/NN7s1zxQuCgbWbVTGKg==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 + '@opentelemetry/instrumentation-pg@0.44.0': + resolution: {integrity: sha512-oTWVyzKqXud1BYEGX1loo2o4k4vaU1elr3vPO8NZolrBtFvQ34nx4HgUaexUDuEog00qQt+MLR5gws/p+JXMLQ==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + + '@opentelemetry/instrumentation-redis-4@0.42.0': + resolution: {integrity: sha512-NaD+t2JNcOzX/Qa7kMy68JbmoVIV37fT/fJYzLKu2Wwd+0NCxt+K2OOsOakA8GVg8lSpFdbx4V/suzZZ2Pvdjg==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + + '@opentelemetry/instrumentation-undici@0.6.0': + resolution: {integrity: sha512-ABJBhm5OdhGmbh0S/fOTE4N69IZ00CsHC5ijMYfzbw3E5NwLgpQk5xsljaECrJ8wz1SfXbO03FiSuu5AyRAkvQ==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': ^1.7.0 + '@opentelemetry/instrumentation@0.52.1': resolution: {integrity: sha512-uXJbYU/5/MBHjMp1FqrILLRuiJCs3Ofk0MeRDk8g1S1gD47U8X3JnSwcMO1rtRo1x1a7zKaQHaoYu49p/4eSKw==} engines: {node: '>=14'} peerDependencies: '@opentelemetry/api': ^1.3.0 + '@opentelemetry/instrumentation@0.53.0': + resolution: {integrity: sha512-DMwg0hy4wzf7K73JJtl95m/e0boSoWhH07rfvHvYzQtBD3Bmv0Wc1x733vyZBqmFm8OjJD0/pfiUg1W3JjFX0A==} + engines: {node: '>=14'} + peerDependencies: + '@opentelemetry/api': ^1.3.0 + '@opentelemetry/redis-common@0.36.2': resolution: {integrity: sha512-faYX1N0gpLhej/6nyp6bgRjzAKXn5GOEMYY7YhciSfCoITAktLUtQ36d24QEWNA1/WA1y6qQunCe0OhHRkVl9g==} engines: {node: '>=14'} @@ -827,10 +849,6 @@ packages: peerDependencies: '@opentelemetry/api': '>=1.0.0 <1.10.0' - '@opentelemetry/semantic-conventions@1.25.1': - resolution: {integrity: sha512-ZDjMJJQRlyk8A1KZFCc+bCbsyrn1wTwdNt56F7twdfUfnHUZUq77/WfONCj8p72NZOyP7pNTdUWSTYC3GTbuuQ==} - engines: {node: '>=14'} - '@opentelemetry/semantic-conventions@1.27.0': resolution: {integrity: sha512-sAay1RrB+ONOem0OZanAR1ZI/k7yDpnOQSQmTMuGImUQb2y8EbSaCJ94FQluM74xoU03vlb2d2U90hZluL6nQg==} engines: {node: '>=14'} @@ -841,200 +859,200 @@ packages: peerDependencies: '@opentelemetry/api': ^1.1.0 - '@playwright/test@1.46.1': - resolution: {integrity: sha512-Fq6SwLujA/DOIvNC2EL/SojJnkKf/rAwJ//APpJJHRyMi1PdKrY3Az+4XNQ51N4RTbItbIByQ0jgd1tayq1aeA==} + '@playwright/test@1.47.2': + resolution: {integrity: sha512-jTXRsoSPONAs8Za9QEQdyjFn+0ZQFjCiIztAIF6bi1HqhBzG9Ma7g1WotyiGqFSBRZjIEqMdT8RUlbk1QVhzCQ==} engines: {node: '>=18'} hasBin: true - '@polka/url@1.0.0-next.25': - resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==} + '@polka/url@1.0.0-next.28': + resolution: {integrity: sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==} '@popperjs/core@2.11.8': resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} - '@prisma/instrumentation@5.18.0': - resolution: {integrity: sha512-r074avGkpPXItk+josQPhufZEmGhUCb16PQx4ITPS40vWTpTPET4VsgCBZB2alIN6SS7pRFod2vz2M2HHEEylQ==} + '@prisma/instrumentation@5.19.1': + resolution: {integrity: sha512-VLnzMQq7CWroL5AeaW0Py2huiNKeoMfCH3SUxstdzPrlWQi6UQ9UrfcbUkNHlVFqOMacqy8X/8YtE0kuKDpD9w==} - '@rollup/rollup-android-arm-eabi@4.21.0': - resolution: {integrity: sha512-WTWD8PfoSAJ+qL87lE7votj3syLavxunWhzCnx3XFxFiI/BA/r3X7MUM8dVrH8rb2r4AiO8jJsr3ZjdaftmnfA==} + '@rollup/rollup-android-arm-eabi@4.22.4': + resolution: {integrity: sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.21.0': - resolution: {integrity: sha512-a1sR2zSK1B4eYkiZu17ZUZhmUQcKjk2/j9Me2IDjk1GHW7LB5Z35LEzj9iJch6gtUfsnvZs1ZNyDW2oZSThrkA==} + '@rollup/rollup-android-arm64@4.22.4': + resolution: {integrity: sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.21.0': - resolution: {integrity: sha512-zOnKWLgDld/svhKO5PD9ozmL6roy5OQ5T4ThvdYZLpiOhEGY+dp2NwUmxK0Ld91LrbjrvtNAE0ERBwjqhZTRAA==} + '@rollup/rollup-darwin-arm64@4.22.4': + resolution: {integrity: sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.21.0': - resolution: {integrity: sha512-7doS8br0xAkg48SKE2QNtMSFPFUlRdw9+votl27MvT46vo44ATBmdZdGysOevNELmZlfd+NEa0UYOA8f01WSrg==} + '@rollup/rollup-darwin-x64@4.22.4': + resolution: {integrity: sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==} cpu: [x64] os: [darwin] - '@rollup/rollup-linux-arm-gnueabihf@4.21.0': - resolution: {integrity: sha512-pWJsfQjNWNGsoCq53KjMtwdJDmh/6NubwQcz52aEwLEuvx08bzcy6tOUuawAOncPnxz/3siRtd8hiQ32G1y8VA==} + '@rollup/rollup-linux-arm-gnueabihf@4.22.4': + resolution: {integrity: sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.21.0': - resolution: {integrity: sha512-efRIANsz3UHZrnZXuEvxS9LoCOWMGD1rweciD6uJQIx2myN3a8Im1FafZBzh7zk1RJ6oKcR16dU3UPldaKd83w==} + '@rollup/rollup-linux-arm-musleabihf@4.22.4': + resolution: {integrity: sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.21.0': - resolution: {integrity: sha512-ZrPhydkTVhyeGTW94WJ8pnl1uroqVHM3j3hjdquwAcWnmivjAwOYjTEAuEDeJvGX7xv3Z9GAvrBkEzCgHq9U1w==} + '@rollup/rollup-linux-arm64-gnu@4.22.4': + resolution: {integrity: sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.21.0': - resolution: {integrity: sha512-cfaupqd+UEFeURmqNP2eEvXqgbSox/LHOyN9/d2pSdV8xTrjdg3NgOFJCtc1vQ/jEke1qD0IejbBfxleBPHnPw==} + '@rollup/rollup-linux-arm64-musl@4.22.4': + resolution: {integrity: sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.21.0': - resolution: {integrity: sha512-ZKPan1/RvAhrUylwBXC9t7B2hXdpb/ufeu22pG2psV7RN8roOfGurEghw1ySmX/CmDDHNTDDjY3lo9hRlgtaHg==} + '@rollup/rollup-linux-powerpc64le-gnu@4.22.4': + resolution: {integrity: sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.21.0': - resolution: {integrity: sha512-H1eRaCwd5E8eS8leiS+o/NqMdljkcb1d6r2h4fKSsCXQilLKArq6WS7XBLDu80Yz+nMqHVFDquwcVrQmGr28rg==} + '@rollup/rollup-linux-riscv64-gnu@4.22.4': + resolution: {integrity: sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.21.0': - resolution: {integrity: sha512-zJ4hA+3b5tu8u7L58CCSI0A9N1vkfwPhWd/puGXwtZlsB5bTkwDNW/+JCU84+3QYmKpLi+XvHdmrlwUwDA6kqw==} + '@rollup/rollup-linux-s390x-gnu@4.22.4': + resolution: {integrity: sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.21.0': - resolution: {integrity: sha512-e2hrvElFIh6kW/UNBQK/kzqMNY5mO+67YtEh9OA65RM5IJXYTWiXjX6fjIiPaqOkBthYF1EqgiZ6OXKcQsM0hg==} + '@rollup/rollup-linux-x64-gnu@4.22.4': + resolution: {integrity: sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.21.0': - resolution: {integrity: sha512-1vvmgDdUSebVGXWX2lIcgRebqfQSff0hMEkLJyakQ9JQUbLDkEaMsPTLOmyccyC6IJ/l3FZuJbmrBw/u0A0uCQ==} + '@rollup/rollup-linux-x64-musl@4.22.4': + resolution: {integrity: sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.21.0': - resolution: {integrity: sha512-s5oFkZ/hFcrlAyBTONFY1TWndfyre1wOMwU+6KCpm/iatybvrRgmZVM+vCFwxmC5ZhdlgfE0N4XorsDpi7/4XQ==} + '@rollup/rollup-win32-arm64-msvc@4.22.4': + resolution: {integrity: sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.21.0': - resolution: {integrity: sha512-G9+TEqRnAA6nbpqyUqgTiopmnfgnMkR3kMukFBDsiyy23LZvUCpiUwjTRx6ezYCjJODXrh52rBR9oXvm+Fp5wg==} + '@rollup/rollup-win32-ia32-msvc@4.22.4': + resolution: {integrity: sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.21.0': - resolution: {integrity: sha512-2jsCDZwtQvRhejHLfZ1JY6w6kEuEtfF9nzYsZxzSlNVKDX+DpsDJ+Rbjkm74nvg2rdx0gwBS+IMdvwJuq3S9pQ==} + '@rollup/rollup-win32-x64-msvc@4.22.4': + resolution: {integrity: sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q==} cpu: [x64] os: [win32] - '@sentry-internal/browser-utils@8.28.0': - resolution: {integrity: sha512-tE9++KEy8SlqibTmYymuxFVAnutsXBqrwQ936WJbjaMfkqXiro7C1El0ybkprskd0rKS7kln20Q6nQlNlMEoTA==} + '@sentry-internal/browser-utils@8.31.0': + resolution: {integrity: sha512-Bq7TFMhPr1PixRGYkB/6ar9ws7sj224XzQ+hgpz6OxGEc9fQakvD8t/Nn7dp14k3FI/hcBRA6BBvpOKUUuPgGA==} engines: {node: '>=14.18'} - '@sentry-internal/feedback@8.28.0': - resolution: {integrity: sha512-5vYunPCDBLCJ8QNnhepacdYheiN+UtYxpGAIaC/zjBC1nDuBgWs+TfKPo1UlO/1sesfgs9ibpxtShOweucL61g==} + '@sentry-internal/feedback@8.31.0': + resolution: {integrity: sha512-R3LcC2IaTe8lgi5AU9h0rMgyVPpaTiMSLRhRlVeQPVmAKCz8pSG/um13q37t0BsXpTaImW9yYQ71Aj6h6IrShQ==} engines: {node: '>=14.18'} - '@sentry-internal/replay-canvas@8.28.0': - resolution: {integrity: sha512-RfpYHDHMUKGeEdx41QtHITjEn6P3tGaDPHvatqdrD3yv4j+wbJ6laX1PrIxCpGFUtjdzkqi/KUcvUd2kzbH/FA==} + '@sentry-internal/replay-canvas@8.31.0': + resolution: {integrity: sha512-ConyrhWozx4HluRj0+9teN4XTC1ndXjxMdJQvDnbLFsQhCCEdwUfaZVshV1CFe9T08Bfyjruaw33yR7pDXYktw==} engines: {node: '>=14.18'} - '@sentry-internal/replay@8.28.0': - resolution: {integrity: sha512-70jvzzOL5O74gahgXKyRkZgiYN93yly5gq+bbj4/6NRQ+EtPd285+ccy0laExdfyK0ugvvwD4v+1MQit52OAsg==} + '@sentry-internal/replay@8.31.0': + resolution: {integrity: sha512-r8hmFDwWxeAxpdzBCRWTKQ/QHl8QanFw8XfM0fvFes/H1d/b43Vwc/IiUnsYoMOdooIP8hJFGDKlfq+Y5uVVGA==} engines: {node: '>=14.18'} '@sentry/babel-plugin-component-annotate@2.22.3': resolution: {integrity: sha512-OlHA+i+vnQHRIdry4glpiS/xTOtgjmpXOt6IBOUqynx5Jd/iK1+fj+t8CckqOx9wRacO/hru2wfW/jFq0iViLg==} engines: {node: '>= 14'} - '@sentry/browser@8.28.0': - resolution: {integrity: sha512-i/gjMYzIGQiPFH1pCbdnTwH9xs9mTAqzN+goP3GWX5a58frc7h8vxyA/5z0yMd0aCW6U8mVxnoAT72vGbKbx0g==} + '@sentry/browser@8.31.0': + resolution: {integrity: sha512-LZK0uLPGB4Al+qWc1eaad+H/1SR6CY9a0V2XWpUbNAT3+VkEo0Z/78bW1kb43N0cok87hNPOe+c66SfwdxphVQ==} engines: {node: '>=14.18'} '@sentry/bundler-plugin-core@2.22.3': resolution: {integrity: sha512-DeoUl0WffcqZZRl5Wy9aHvX4WfZbbWt0QbJ7NJrcEViq+dRAI2FQTYECFLwdZi5Gtb3oyqZICO+P7k8wDnzsjQ==} engines: {node: '>= 14'} - '@sentry/cli-darwin@2.34.1': - resolution: {integrity: sha512-SqlCunwhweMDJNKVf3kabiN6FwpvCIffn2cjfaZD0zqZQ3M1tWMJ/kSA0TGfe7lWu9JloNmVm+ArcudGitvX3w==} + '@sentry/cli-darwin@2.36.2': + resolution: {integrity: sha512-To64Pq+pcmecEr+gFXiqaZy8oKhyLQLXO/SVDdf16CUL2qpuahE3bO5h9kFacMxPPxOWcgc2btF+4gYa1+bQTA==} engines: {node: '>=10'} os: [darwin] - '@sentry/cli-linux-arm64@2.34.1': - resolution: {integrity: sha512-iSl/uNWjKbVPb6ll12SmHG9iGcC3oN8jjzdycm/mD3H/d8DLMloEiaz8lHQnsYCaPiNKwap1ThKlPvnKOU4SNg==} + '@sentry/cli-linux-arm64@2.36.2': + resolution: {integrity: sha512-g+FFmj1oJ2iRMsfs1ORz6THOO6MiAR55K9YxdZUBvqfoHLjSMt7Jst43sbZ3O0u55hnfixSKLNzDaTGaM/jxIQ==} engines: {node: '>=10'} cpu: [arm64] os: [linux, freebsd] - '@sentry/cli-linux-arm@2.34.1': - resolution: {integrity: sha512-CDhtFbUs16CoU10wEbxnn/pEuenFIMosTcxI7v0gWp3Wo0B2h0bOsLEk9dlT0YsqRTAldKUzef9AVX82m5Svwg==} + '@sentry/cli-linux-arm@2.36.2': + resolution: {integrity: sha512-cRSvOQK97WM0m03k/c+LVAWT042Qz887WP/2Gy64eUi/PfArwb+QZZnsu4FCygxK9jnzgLTo4+ewoJVi17xaLQ==} engines: {node: '>=10'} cpu: [arm] os: [linux, freebsd] - '@sentry/cli-linux-i686@2.34.1': - resolution: {integrity: sha512-jq5o49pgzJFv/CQtvx4FLVO1xra22gzP76FtmvPwEhZQhJT6QduW9fpnvVDnOaY8YLzC7GAeszUV6sqZ0MZUqg==} + '@sentry/cli-linux-i686@2.36.2': + resolution: {integrity: sha512-rjxTw/CMd0Q7qlOb7gWFiwn3hJIxNkhbn1bOU54xj9CZvQSCvh10l7l4Y9o8znJLl41c5kMXVq8yuYws9A7AGQ==} engines: {node: '>=10'} cpu: [x86, ia32] os: [linux, freebsd] - '@sentry/cli-linux-x64@2.34.1': - resolution: {integrity: sha512-O99RAkrcMErWLPRdza6HaG7kmHCx9MYFNDX6FLrAgSP3oz+X3ral1oDTIrMs4hVbPDK287ZGAqCJtk+1iOjEBg==} + '@sentry/cli-linux-x64@2.36.2': + resolution: {integrity: sha512-cF8IPFTlwiC7JgVvSW4rS99sxb1W1N//iANxuzqaDswUnmJLi0AJy/jES87qE5GRB6ljaPVMvH7Kq0OCp3bvPA==} engines: {node: '>=10'} cpu: [x64] os: [linux, freebsd] - '@sentry/cli-win32-i686@2.34.1': - resolution: {integrity: sha512-yEeuneEVmExCbWlnSauhIg8wZDfKxRaou8XRfM6oPlSBu0XO5HUI3uRK5t2xT0zX8Syzh2kCZpdVE1KLavVeKA==} + '@sentry/cli-win32-i686@2.36.2': + resolution: {integrity: sha512-YDH/Kcd8JAo1Bg4jtSwF8dr7FZZ8QbYLMx8q/5eenHpq6VdOgPENsTvayLW3cAjWLcm44u8Ed/gcEK0z1IxQmQ==} engines: {node: '>=10'} cpu: [x86, ia32] os: [win32] - '@sentry/cli-win32-x64@2.34.1': - resolution: {integrity: sha512-mU48VpDTwRgt7/Pf3vk/P87m4kM3XEXHHHfq9EvHCTspFF6GtMfL9njZ7+5Z+7ko852JS4kpunjZtsxmoP4/zA==} + '@sentry/cli-win32-x64@2.36.2': + resolution: {integrity: sha512-Kac8WPbkFSVAJqPAVRBiW0uij9PVoXo0owf+EDeIIDLs9yxZat0d1xgyQPlUWrCGdxowMSbDvaSUz1YnE7MUmg==} engines: {node: '>=10'} cpu: [x64] os: [win32] - '@sentry/cli@2.34.1': - resolution: {integrity: sha512-hAHvu+XH1kn1ee2NUWvuqAZenK/MrxqQzeIrIYATqF2XGjtSOr7irjAKWjd97/vXdLHA6TBnMW1wHwLcuJK2tg==} + '@sentry/cli@2.36.2': + resolution: {integrity: sha512-QoijP9TnO1UVNnRKtH718jlu/F9bBki6ffrOfmcjxkvLT6Q3nBMmqhYNH/AJV/RcgqLd6noWss4fbDMXZLzgIQ==} engines: {node: '>= 10'} hasBin: true - '@sentry/core@8.28.0': - resolution: {integrity: sha512-+If9uubvpZpvaQQw4HLiKPhrSS9/KcoA/AcdQkNm+5CVwAoOmDPtyYfkPBgfo2hLZnZQqR1bwkz/PrNoOm+gqA==} + '@sentry/core@8.31.0': + resolution: {integrity: sha512-5zsMBOML18e5a/ZoR5XpcYF59e2kSxb6lTg13u52f/+NA27EPgxKgXim5dz6L/6+0cizgwwmFaZFGJiFc2qoAA==} engines: {node: '>=14.18'} - '@sentry/node@8.28.0': - resolution: {integrity: sha512-444hx0S7EAYDdq3g2U37qHFC/WFErgf8ZvXqhWfoCI4RweHHntdFbz3azexYnO61iUsmSAnFAX6htJtAG2zNdA==} + '@sentry/node@8.31.0': + resolution: {integrity: sha512-S4UFpomNruEkBhPgAdHeFrtKfIJp3s4VbIvWIuKsft+SoA3J19a4ozCqijoKu+y6sa++osAYi4S9M7fA7nO0bg==} engines: {node: '>=14.18'} - '@sentry/opentelemetry@8.28.0': - resolution: {integrity: sha512-xClK/fa2Y9AMoaV6f7sWfoHAz56actn2RN3UuYAfxlgmNEfZEa0tc78x4XygCT+2b83QbUb+qf1q4+1ft+HEsQ==} + '@sentry/opentelemetry@8.31.0': + resolution: {integrity: sha512-aAbUMlyZ6EMc3IRcRcr2d5nuNevUgpXpSfhzo9pJbSEfhMe4drJEBnhyAYgPm0HeZtKomWnlXAyrjwSU8weTXg==} engines: {node: '>=14.18'} peerDependencies: '@opentelemetry/api': ^1.9.0 '@opentelemetry/core': ^1.25.1 - '@opentelemetry/instrumentation': ^0.52.1 - '@opentelemetry/sdk-trace-base': ^1.25.1 - '@opentelemetry/semantic-conventions': ^1.25.1 + '@opentelemetry/instrumentation': ^0.53.0 + '@opentelemetry/sdk-trace-base': ^1.26.0 + '@opentelemetry/semantic-conventions': ^1.27.0 - '@sentry/svelte@8.28.0': - resolution: {integrity: sha512-4J0KVT1FwUE4YafWAB1C5vwR4xve6l4Plvt7BFIedqU7B/bEbNdLIFRDIPWnE9VQn9kSOM0PzKpe6KMD1mXxdA==} + '@sentry/svelte@8.31.0': + resolution: {integrity: sha512-IYdyiRXIvt/+0+GDt7nwkQecNIP7HAtjHjIFsd7L5ZYjKwv3mZP8RPIEghSCkPi7bARaEX3utb1v0jUZSc/T/Q==} engines: {node: '>=14.18'} peerDependencies: svelte: 3.x || 4.x || 5.x - '@sentry/sveltekit@8.28.0': - resolution: {integrity: sha512-xarKpr6oz6YiJL5MhIz+Nh83775hAPcdGEty9uX2osg1bChu2MaRSzxdRgbTBleHiI8n/YX9ADOAeP8COHMIFw==} + '@sentry/sveltekit@8.31.0': + resolution: {integrity: sha512-r8FO1b0HtDIMTBiUmlsZ+G2gnldqr8Hse6+75Tg8QyZhp5HewEHtYRK5orgvhU1xuzyc7yYuRQNOV77p8Ph1Og==} engines: {node: '>=16'} peerDependencies: '@sveltejs/kit': 1.x || 2.x @@ -1043,12 +1061,12 @@ packages: vite: optional: true - '@sentry/types@8.28.0': - resolution: {integrity: sha512-hOfqfd92/AzBrEdMgmmV1VfOXJbIfleFTnerRl0mg/+CcNgP/6+Fdonp354TD56ouWNF2WkOM6sEKSXMWp6SEQ==} + '@sentry/types@8.31.0': + resolution: {integrity: sha512-prRM/n5nlP+xQZSpdEkSR8BwwZtgsLk0NbI8eCjTMu2isVlrlggop8pVaJb7y9HmElVtDA1Q6y4u8TD2htQKFQ==} engines: {node: '>=14.18'} - '@sentry/utils@8.28.0': - resolution: {integrity: sha512-smhk7PJpvDMQ2DB5p2qn9UeoUHdU41IgjMmS2xklZpa8tjzBTxDeWpGvrX2fuH67D9bAJuLC/XyZjJCHLoEW5g==} + '@sentry/utils@8.31.0': + resolution: {integrity: sha512-9W2LZ9QIHKc0HSyH/7UmTolc01Q4vX/qMSZk7i1noinlkQtnRUmTP39r1DSITjKCrDHj6zvB/J1RPDUoRcTXxQ==} engines: {node: '>=14.18'} '@sentry/vite-plugin@2.22.3': @@ -1068,13 +1086,13 @@ packages: resolution: {integrity: sha512-pKS3wZnJoL1iTyGBXAvCwduNNeghJHY6QSRSNNvpYnrrQrLZ6Owsazjyynu0e0ObRgks0i7Rv+pe2M7/MBTZpQ==} engines: {node: '>=12.16'} - '@sveltejs/adapter-static@3.0.4': - resolution: {integrity: sha512-Qm4GAHCnRXwfWG9/AtnQ7mqjyjTs7i0Opyb8H2KH9rMR7fLxqiPx/tXeoE6HHo66+72CjyOb4nFH3lrejY4vzA==} + '@sveltejs/adapter-static@3.0.5': + resolution: {integrity: sha512-kFJR7RxeB6FBvrKZWAEzIALatgy11ISaaZbcPup8JdWUdrmmfUHHTJ738YHJTEfnCiiXi6aX8Q6ePY7tnSMD6Q==} peerDependencies: '@sveltejs/kit': ^2.0.0 - '@sveltejs/kit@2.5.24': - resolution: {integrity: sha512-Nr2oxsCsDfEkdS/zzQQQbsPYTbu692Qs3/iE3L7VHzCVjG2+WujF9oMUozWI7GuX98KxYSoPMlAsfmDLSg44hQ==} + '@sveltejs/kit@2.5.28': + resolution: {integrity: sha512-/O7pvFGBsQPcFa9UrW8eUC5uHTOXLsUp3SN0dY6YmRAL9nfPSrJsSJk//j5vMpinSshzUjteAFcfQTU+04Ka1w==} engines: {node: '>=18.13'} hasBin: true peerDependencies: @@ -1090,22 +1108,22 @@ packages: svelte: ^4.0.0 || ^5.0.0-next.0 vite: ^5.0.0 - '@sveltejs/vite-plugin-svelte@3.1.1': - resolution: {integrity: sha512-rimpFEAboBBHIlzISibg94iP09k/KYdHgVhJlcsTfn7KMBhc70jFX/GRWkRdFCc2fdnk+4+Bdfej23cMDnJS6A==} + '@sveltejs/vite-plugin-svelte@3.1.2': + resolution: {integrity: sha512-Txsm1tJvtiYeLUVRNqxZGKR/mI+CzuIQuc2gn+YCs9rMTowpNZ2Nqt53JdL8KF9bLhAf2ruR/dr9eZCwdTriRA==} engines: {node: ^18.0.0 || >=20} peerDependencies: svelte: ^4.0.0 || ^5.0.0-next.0 vite: ^5.0.0 - '@swc/helpers@0.5.12': - resolution: {integrity: sha512-KMZNXiGibsW9kvZAO1Pam2JPTDBm+KSHMMHWdsyI/1DbIZjT2A6Gy3hblVXUMEDvUAKq+e0vL0X0o54owWji7g==} + '@swc/helpers@0.5.13': + resolution: {integrity: sha512-UoKGxQ3r5kYI9dALKJapMmuK+1zWM/H17Z1+iwnNmzcJRnfFuevZs375TA5rW31pu4BS4NoSy1fRsexDXfWn5w==} '@testing-library/dom@10.4.0': resolution: {integrity: sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==} engines: {node: '>=18'} - '@testing-library/jest-dom@6.4.8': - resolution: {integrity: sha512-JD0G+Zc38f5MBHA4NgxQMR5XtO5Jx9g86jqturNTt2WUfRmLDIY7iKkWHDCCTiDuFMre6nxAD5wHw9W5kI4rGw==} + '@testing-library/jest-dom@6.5.0': + resolution: {integrity: sha512-xGGHpBXYSHUUr6XsKBfs85TWlYKpTc37cSBBVrXcib2MkHLboWlkClhWF37JKlDb9KEq3dHs+f2xR7XJEWGBxA==} engines: {node: '>=14', npm: '>=6', yarn: '>=1'} '@testing-library/svelte@5.2.1': @@ -1161,6 +1179,9 @@ packages: '@types/estree@1.0.5': resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + '@types/estree@1.0.6': + resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} + '@types/graceful-fs@4.1.9': resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} @@ -1173,14 +1194,14 @@ packages: '@types/istanbul-reports@3.0.4': resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} - '@types/mysql@2.15.22': - resolution: {integrity: sha512-wK1pzsJVVAjYCSZWQoWHziQZbNggXFDUEIGf54g4ZM/ERuP86uGdWeKZWMYlqTPMZfHJJvLPyogXGvCOg87yLQ==} + '@types/mysql@2.15.26': + resolution: {integrity: sha512-DSLCOXhkvfS5WNNPbfn2KdICAmk8lLc+/PNvnPnF7gOdMZCxopXduqv0OQ13y/yA/zXTSikZZqVgybUxOEg6YQ==} - '@types/node@22.4.1': - resolution: {integrity: sha512-1tbpb9325+gPnKK0dMm+/LMriX0vKxf6RnB0SZUqfyVkQ4fMgUSySqhxE/y8Jvs4NyF1yHzTfG9KlnkIODxPKg==} + '@types/node@22.6.1': + resolution: {integrity: sha512-V48tCfcKb/e6cVUigLAaJDAILdMP0fUW6BidkPK4GpGjXcfbnoHasCZDwz3N3yVt5we2RHm4XTQCpv0KJz9zqw==} - '@types/pg-pool@2.0.4': - resolution: {integrity: sha512-qZAvkv1K3QbmHHFYSNRYPkRjOWRLBYrL4B9c+wG0GSVGBw0NtJwPcgx/DSddeDJvRGMHCEQ4VMEVfuJ/0gZ3XQ==} + '@types/pg-pool@2.0.6': + resolution: {integrity: sha512-TaAUE5rq2VQYxab5Ts7WZhKNmuN78Q6PiFonTDdpbx8a1H0M1vhy3rhiMjl+e2iHmogyMw7jZF4FrE6eJUy5HQ==} '@types/pg@8.6.1': resolution: {integrity: sha512-1Kc4oAGzAl7uqUStZCDvaLFqZrW9qWSjXOmBfdgyBP5La7Us6Mg4GBvRlSoaZMhQF/zSj1C8CtKMBkoiT8eL8w==} @@ -1284,44 +1305,39 @@ packages: '@vitest/utils@1.6.0': resolution: {integrity: sha512-21cPiuGMoMZwiOHa2i4LXkMkMkCGzA+MVFV70jRwHo95dL4x/ts5GZhML1QWuy7yfp3WzK3lRvZi3JnXTYqrBw==} - '@vue/compiler-core@3.4.38': - resolution: {integrity: sha512-8IQOTCWnLFqfHzOGm9+P8OPSEDukgg3Huc92qSG49if/xI2SAwLHQO2qaPQbjCWPBcQoO1WYfXfTACUrWV3c5A==} + '@vue/compiler-core@3.5.8': + resolution: {integrity: sha512-Uzlxp91EPjfbpeO5KtC0KnXPkuTfGsNDeaKQJxQN718uz+RqDYarEf7UhQJGK+ZYloD2taUbHTI2J4WrUaZQNA==} - '@vue/compiler-dom@3.4.38': - resolution: {integrity: sha512-Osc/c7ABsHXTsETLgykcOwIxFktHfGSUDkb05V61rocEfsFDcjDLH/IHJSNJP+/Sv9KeN2Lx1V6McZzlSb9EhQ==} + '@vue/compiler-dom@3.5.8': + resolution: {integrity: sha512-GUNHWvoDSbSa5ZSHT9SnV5WkStWfzJwwTd6NMGzilOE/HM5j+9EB9zGXdtu/fCNEmctBqMs6C9SvVPpVPuk1Eg==} - '@vue/compiler-sfc@3.4.38': - resolution: {integrity: sha512-s5QfZ+9PzPh3T5H4hsQDJtI8x7zdJaew/dCGgqZ2630XdzaZ3AD8xGZfBqpT8oaD/p2eedd+pL8tD5vvt5ZYJQ==} + '@vue/compiler-sfc@3.5.8': + resolution: {integrity: sha512-taYpngQtSysrvO9GULaOSwcG5q821zCoIQBtQQSx7Uf7DxpR6CIHR90toPr9QfDD2mqHQPCSgoWBvJu0yV9zjg==} - '@vue/compiler-ssr@3.4.38': - resolution: {integrity: sha512-YXznKFQ8dxYpAz9zLuVvfcXhc31FSPFDcqr0kyujbOwNhlmaNvL2QfIy+RZeJgSn5Fk54CWoEUeW+NVBAogGaw==} + '@vue/compiler-ssr@3.5.8': + resolution: {integrity: sha512-W96PtryNsNG9u0ZnN5Q5j27Z/feGrFV6zy9q5tzJVyJaLiwYxvC0ek4IXClZygyhjm+XKM7WD9pdKi/wIRVC/Q==} - '@vue/reactivity@3.4.38': - resolution: {integrity: sha512-4vl4wMMVniLsSYYeldAKzbk72+D3hUnkw9z8lDeJacTxAkXeDAP1uE9xr2+aKIN0ipOL8EG2GPouVTH6yF7Gnw==} + '@vue/reactivity@3.5.8': + resolution: {integrity: sha512-mlgUyFHLCUZcAYkqvzYnlBRCh0t5ZQfLYit7nukn1GR96gc48Bp4B7OIcSfVSvlG1k3BPfD+p22gi1t2n9tsXg==} - '@vue/runtime-core@3.4.38': - resolution: {integrity: sha512-21z3wA99EABtuf+O3IhdxP0iHgkBs1vuoCAsCKLVJPEjpVqvblwBnTj42vzHRlWDCyxu9ptDm7sI2ZMcWrQqlA==} + '@vue/runtime-core@3.5.8': + resolution: {integrity: sha512-fJuPelh64agZ8vKkZgp5iCkPaEqFJsYzxLk9vSC0X3G8ppknclNDr61gDc45yBGTaN5Xqc1qZWU3/NoaBMHcjQ==} - '@vue/runtime-dom@3.4.38': - resolution: {integrity: sha512-afZzmUreU7vKwKsV17H1NDThEEmdYI+GCAK/KY1U957Ig2NATPVjCROv61R19fjZNzMmiU03n79OMnXyJVN0UA==} + '@vue/runtime-dom@3.5.8': + resolution: {integrity: sha512-DpAUz+PKjTZPUOB6zJgkxVI3GuYc2iWZiNeeHQUw53kdrparSTG6HeXUrYDjaam8dVsCdvQxDz6ZWxnyjccUjQ==} - '@vue/server-renderer@3.4.38': - resolution: {integrity: sha512-NggOTr82FbPEkkUvBm4fTGcwUY8UuTsnWC/L2YZBmvaQ4C4Jl/Ao4HHTB+l7WnFCt5M/dN3l0XLuyjzswGYVCA==} + '@vue/server-renderer@3.5.8': + resolution: {integrity: sha512-7AmC9/mEeV9mmXNVyUIm1a1AjUhyeeGNbkLh39J00E7iPeGks8OGRB5blJiMmvqSh8SkaS7jkLWSpXtxUCeagA==} peerDependencies: - vue: 3.4.38 + vue: 3.5.8 - '@vue/shared@3.4.38': - resolution: {integrity: sha512-q0xCiLkuWWQLzVrecPb0RMsNWyxICOjPrcrwxTUEHb1fsnvni4dcuyG7RT/Ie7VPTvnjzIaWzRMUBsrqNj/hhw==} + '@vue/shared@3.5.8': + resolution: {integrity: sha512-mJleSWbAGySd2RJdX1RBtcrUBX6snyOc0qHpgk3lGi4l9/P/3ny3ELqFWqYdkXIwwNN/kdm8nD9ky8o6l/Lx2A==} abab@2.0.6: resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} deprecated: Use your platform's native atob() and btoa() methods instead - acorn-import-assertions@1.9.0: - resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} - peerDependencies: - acorn: ^8 - acorn-import-attributes@1.9.5: resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==} peerDependencies: @@ -1332,8 +1348,8 @@ packages: peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - acorn-walk@8.3.3: - resolution: {integrity: sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==} + acorn-walk@8.3.4: + resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} engines: {node: '>=0.4.0'} acorn@8.12.1: @@ -1407,6 +1423,10 @@ packages: aria-query@5.3.0: resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} + aria-query@5.3.2: + resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==} + engines: {node: '>= 0.4'} + array-buffer-byte-length@1.0.1: resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} engines: {node: '>= 0.4'} @@ -1483,9 +1503,6 @@ packages: bser@2.1.1: resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} - buffer-crc32@0.2.13: - resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} - buffer-crc32@1.0.0: resolution: {integrity: sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==} engines: {node: '>=8.0.0'} @@ -1513,8 +1530,8 @@ packages: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} - caniuse-lite@1.0.30001651: - resolution: {integrity: sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg==} + caniuse-lite@1.0.30001663: + resolution: {integrity: sha512-o9C3X27GLKbLeTYZ6HBOLU1tsAcBZsLis28wrVzddShCS16RujjHp9GDHKZqrB3meE0YjhawvMFsGb/igqiPzA==} chai@4.5.0: resolution: {integrity: sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==} @@ -1543,12 +1560,16 @@ packages: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} + chokidar@4.0.1: + resolution: {integrity: sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==} + engines: {node: '>= 14.16.0'} + ci-info@3.9.0: resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} - cjs-module-lexer@1.3.1: - resolution: {integrity: sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q==} + cjs-module-lexer@1.4.1: + resolution: {integrity: sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA==} cliui@8.0.1: resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} @@ -1630,11 +1651,11 @@ packages: resolution: {integrity: sha512-/mMTei/JXPqvFqQtfyTowxmJVwr2PVAeCcDxyFf6LhoOu/09TX2OX3kb2wzi4DMXcfj4OItwDOnhl5oziPnT6g==} engines: {node: '>=14'} - dayjs@1.11.12: - resolution: {integrity: sha512-Rt2g+nTbLlDWZTwwrIXjy9MeiZmSDI375FvZs72ngxx8PDC6YXOeR3q5LAuPzjZQxhiWdRKac7RKV+YyQYfYIg==} + dayjs@1.11.13: + resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==} - debug@4.3.6: - resolution: {integrity: sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==} + debug@4.3.7: + resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -1728,8 +1749,8 @@ packages: echarts@5.5.1: resolution: {integrity: sha512-Fce8upazaAXUVUVsjgV6mBnGuqgO+JNDlcgF79Dksy4+wgGpQB2lmYoO4TSweFg/mZITdpGHomw/cNBJZj1icA==} - electron-to-chromium@1.5.12: - resolution: {integrity: sha512-tIhPkdlEoCL1Y+PToq3zRNehUaKp3wBX/sr7aclAWdIWjvqAe/Im/H0SiCM4c1Q8BLPHCdoJTol+ZblflydehA==} + electron-to-chromium@1.5.28: + resolution: {integrity: sha512-VufdJl+rzaKZoYVUijN13QcXVF5dWPZANeFTLNy+OSpHdDL5ynXTF35+60RSBbaQYB1ae723lQXHCrf4pyLsMw==} emittery@0.13.1: resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} @@ -1769,8 +1790,8 @@ packages: engines: {node: '>=12'} hasBin: true - escalade@3.1.2: - resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} escape-string-regexp@1.0.5: @@ -1797,8 +1818,8 @@ packages: peerDependencies: eslint: '>=7.0.0' - eslint-plugin-svelte@2.43.0: - resolution: {integrity: sha512-REkxQWvg2pp7QVLxQNa+dJ97xUqRe7Y2JJbSWkHSuszu0VcblZtXkPBPckkivk99y5CdLw4slqfPylL2d/X4jQ==} + eslint-plugin-svelte@2.44.0: + resolution: {integrity: sha512-wav4MOs02vBb1WjvTCYItwJCxMkuk2Z4p+K/eyjL0N/z7ahXLP+0LtQQjiKc2ezuif7GnZLbD1F3o1VHzSvdVg==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0-0 || ^9.0.0-0 @@ -1815,8 +1836,8 @@ packages: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint@8.57.0: - resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} + eslint@8.57.1: + resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true @@ -1919,8 +1940,8 @@ packages: flatted@3.3.1: resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} - focus-trap@7.5.4: - resolution: {integrity: sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==} + focus-trap@7.6.0: + resolution: {integrity: sha512-1td0l3pMkWJLFipobUcGaf+5DTY4PLDDrcqoSaKP8ediO/CoWCCYk/fT/Y2A4e6TNB+Sh6clRJCjOPPnKoNHnQ==} for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} @@ -2089,9 +2110,6 @@ packages: import-in-the-middle@1.11.0: resolution: {integrity: sha512-5DimNQGoe0pLUHbR9qK84iWaWjjbsxiqXnw6Qz64+azRgleqv9k2kTt5fw7QsOpmaGYtuxxursnPPsnTKEx10Q==} - import-in-the-middle@1.7.1: - resolution: {integrity: sha512-1LrZPDtW+atAxH42S6288qyDFNQ2YCty+2mxEPRtfazH6Z5QwkaBSTS2ods7hnVJioF6rkRfNoA6A/MstpFXLg==} - import-local@3.2.0: resolution: {integrity: sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==} engines: {node: '>=8'} @@ -2145,8 +2163,8 @@ packages: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} - is-core-module@2.15.0: - resolution: {integrity: sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==} + is-core-module@2.15.1: + resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} engines: {node: '>= 0.4'} is-date-object@1.0.5: @@ -2533,8 +2551,8 @@ packages: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - micromatch@4.0.7: - resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==} + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} mime-db@1.52.0: @@ -2597,8 +2615,8 @@ packages: resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==} engines: {node: '>=10'} - ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} nanoid@3.3.6: resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} @@ -2678,12 +2696,6 @@ packages: resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} engines: {node: '>=12'} - opentelemetry-instrumentation-fetch-node@1.2.3: - resolution: {integrity: sha512-Qb11T7KvoCevMaSeuamcLsAD+pZnavkhDnlVL0kRozfhl42dKG5Q3anUklAFKJZjY3twLR+BnRa6DlwwkIE/+A==} - engines: {node: '>18.0.0'} - peerDependencies: - '@opentelemetry/api': ^1.6.0 - optionator@0.9.4: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} @@ -2763,15 +2775,15 @@ packages: resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} engines: {node: '>=4.0.0'} - pg-protocol@1.6.1: - resolution: {integrity: sha512-jPIlvgoD63hrEuihvIg+tJhoGjUsLPn6poJY9N5CnlPd91c2T18T/9zBtLxZSb1EhYxBRoZJtzScCaWlYLtktg==} + pg-protocol@1.7.0: + resolution: {integrity: sha512-hTK/mE36i8fDDhgDFjy6xNOG+LCorxLG3WO17tku+ij6sVHXh1jQUJ8hYAnRhNla4QVD2H8er/FOjc/+EgC6yQ==} pg-types@2.2.0: resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} engines: {node: '>=4'} - picocolors@1.0.1: - resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} + picocolors@1.1.0: + resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} @@ -2785,20 +2797,20 @@ packages: resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} engines: {node: '>=8'} - pkg-types@1.1.3: - resolution: {integrity: sha512-+JrgthZG6m3ckicaOB74TwQ+tBWsFl3qVQg7mN8ulwSOElJ7gBhKzj2VkCPnZ4NlF6kEquYU+RIYNVAvzd54UA==} + pkg-types@1.2.0: + resolution: {integrity: sha512-+ifYuSSqOQ8CqP4MbZA5hDpb97n3E8SVWdJe+Wms9kj745lmd3b7EZJiqvmLwAlmRfjrI7Hi5z3kdBJ93lFNPA==} plausible-tracker@0.3.9: resolution: {integrity: sha512-hMhneYm3GCPyQon88SZrVJx+LlqhM1kZFQbuAgXPoh/Az2YvO1B6bitT9qlhpiTdJlsT5lsr3gPmzoVjb5CDXA==} engines: {node: '>=10'} - playwright-core@1.46.1: - resolution: {integrity: sha512-h9LqIQaAv+CYvWzsZ+h3RsrqCStkBHlgo6/TJlFst3cOTlLghBQlJwPOZKQJTKNaD3QIB7aAVQ+gfWbN3NXB7A==} + playwright-core@1.47.2: + resolution: {integrity: sha512-3JvMfF+9LJfe16l7AbSmU555PaTl2tPyQsVInqm3id16pdDfvZ8TTZ/pyzmkbDrZTQefyzU7AIHlZqQnxpqHVQ==} engines: {node: '>=18'} hasBin: true - playwright@1.46.1: - resolution: {integrity: sha512-oPcr1yqoXLCkgKtD5eNUPLiN40rYEM39odNpIb6VE6S7/15gJmA1NzVv6zJYusV0e7tzvkU/utBFNa/Kpxmwng==} + playwright@1.47.2: + resolution: {integrity: sha512-nx1cLMmQWqmA3UsnjaaokyoUpdVaaDhJhMoxX2qj3McpjnsqFHs516QAKYhqHAgOP+oCFTEOCOAaD1RgD/RQfA==} engines: {node: '>=18'} hasBin: true @@ -2834,8 +2846,8 @@ packages: resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} engines: {node: '>=4'} - postcss@8.4.41: - resolution: {integrity: sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==} + postcss@8.4.47: + resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==} engines: {node: ^10 || ^12 || >=14} postgres-array@2.0.0: @@ -2926,6 +2938,10 @@ packages: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} + readdirp@4.0.1: + resolution: {integrity: sha512-GkMg9uOTpIWWKbSsgwb5fA4EavTR+SG/PMPoAY8hkhHfEEY0/vqljY+XHqtDf2cr2IJtoNRDbrrEpZUiZCkYRw==} + engines: {node: '>= 14.16.0'} + recast@0.23.9: resolution: {integrity: sha512-Hx/BGIbwj+Des3+xy5uAtAbdCyqK9y9wbBcDFDYanLS9JnMqf7OeF87HQwUimE87OEc72mr6tkKUKMBBL+hF9Q==} engines: {node: '>= 4'} @@ -2986,8 +3002,8 @@ packages: deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true - rollup@4.21.0: - resolution: {integrity: sha512-vo+S/lfA2lMS7rZ2Qoubi6I5hwZwzXeUIctILZLbHI+laNtvhhOIon2S1JksA5UEDQ7l3vberd0fxK44lTYjbQ==} + rollup@4.22.4: + resolution: {integrity: sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -3007,8 +3023,8 @@ packages: sander@0.5.1: resolution: {integrity: sha512-3lVqBir7WuKDHGrKRDn/1Ye3kwpXaDOMsiRP1wd6wpZW56gJhsbp5RqQpA6JG/P+pkXizygnr1dKR8vzWaVsfA==} - sass@1.77.8: - resolution: {integrity: sha512-4UHg6prsrycW20fqLGPShtEvo/WyHRVRHwOP4DzkUrObWoWI05QBSfzU71TVB7PFaL104TwNaHpjlWXAZbQiNQ==} + sass@1.79.3: + resolution: {integrity: sha512-m7dZxh0W9EZ3cw50Me5GOuYm/tVAJAn91SUnohLRo9cXBixGUOdvmryN+dXpwR831bhoY3Zv7rEFt85PUwTmzA==} engines: {node: '>=14.0.0'} hasBin: true @@ -3082,8 +3098,8 @@ packages: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} - solid-js@1.8.21: - resolution: {integrity: sha512-FHUGdoo7GVa1BTpGh/4UtwIISde0vSXoqNB6KFpHiTgkIY959tmCJ7NYQAWDfScBfnpoMGZR8lFz0DiwW/gFlw==} + solid-js@1.8.23: + resolution: {integrity: sha512-0jKzMgxmU/b3k4iJmIZJW2BIArrHN+Mug0n7m7MeHvGHWiS57ZdyTmnqNMSbGRvE73QBnTiGFJc90cPPieawaA==} solid-swr-store@0.10.7: resolution: {integrity: sha512-A6d68aJmRP471aWqKKPE2tpgOiR5fH4qXQNfKIec+Vap+MGQm3tvXlT8n0I8UgJSlNAsSAUuw2VTviH2h3Vv5g==} @@ -3092,16 +3108,16 @@ packages: solid-js: ^1.2 swr-store: ^0.10 - sorcery@0.11.0: - resolution: {integrity: sha512-J69LQ22xrQB1cIFJhPfgtLuI6BpWRiWu1Y3vSsIwK/eAScqJxd/+CJlUuHQRdX2C9NGFamq+KqNywGgaThwfHw==} - hasBin: true - sorcery@0.11.1: resolution: {integrity: sha512-o7npfeJE6wi6J9l0/5LKshFzZ2rMatRiCDwYeDQaOzqdzRJwALhX7mk/A/ecg6wjMu7wdZbmXfD2S/vpOg0bdQ==} hasBin: true - source-map-js@1.2.0: - resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + sorcery@1.0.0: + resolution: {integrity: sha512-5ay9oJE+7sNmhzl3YNG18jEEEf4AOQCM/FAqR5wMmzqd1FtRorFbJXn3w3SKOhbiQaVgHM+Q1lszZspjri7bpA==} + hasBin: true + + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} source-map-support@0.5.13: @@ -3184,8 +3200,8 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - svelte-check@3.8.5: - resolution: {integrity: sha512-3OGGgr9+bJ/+1nbPgsvulkLC48xBsqsgtc8Wam281H4G9F5v3mYGa2bHRsPuwHC5brKl4AxJH95QF73kmfihGQ==} + svelte-check@3.8.6: + resolution: {integrity: sha512-ij0u4Lw/sOTREP13BdWZjiXD/BlHE6/e2e34XzmVmsp5IN4kVa3PWP65NM32JAgwjZlwBg/+JtiNV1MM8khu0Q==} hasBin: true peerDependencies: svelte: ^3.55.0 || ^4.0.0-next.0 || ^4.0.0 || ^5.0.0-next.0 @@ -3195,8 +3211,8 @@ packages: peerDependencies: svelte: ^4.0.0 - svelte-eslint-parser@0.41.0: - resolution: {integrity: sha512-L6f4hOL+AbgfBIB52Z310pg1d2QjRqm7wy3kI1W6hhdhX5bvu7+f0R6w4ykp5HoDdzq+vGhIJmsisaiJDGmVfA==} + svelte-eslint-parser@0.41.1: + resolution: {integrity: sha512-08ndI6zTghzI8SuJAFpvMbA/haPSGn3xz19pjre19yYMw8Nw/wQJ2PrZBI/L8ijGTgtkWCQQiLLy+Z1tfaCwNA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: svelte: ^3.37.0 || ^4.0.0 || ^5.0.0-next.191 @@ -3295,8 +3311,8 @@ packages: resolution: {integrity: sha512-N5JqlBni6BzElxmuFrOPxOJnjsxh1cFDACLEVKs8OHBcx8ZNRO1p5SxuQex1m3qbLzAC8G99EHeWcxGkjyKjLQ==} engines: {node: '>=16'} - svelte@4.2.18: - resolution: {integrity: sha512-d0FdzYIiAePqRJEb90WlJDkjUEx42xhivxN8muUBmfZnP+tzUgz12DJ2hRJi8sIHCME7jeK1PTMgKPSfTd8JrA==} + svelte@4.2.19: + resolution: {integrity: sha512-IY1rnGr6izd10B0A8LqsBfmlT5OILVuZ7XsI0vdGPEvuonFV7NYEUK4dAkm9Zg2q0Um92kYjTpS1CAP3Nh/KWw==} engines: {node: '>=16'} swr-store@0.10.6: @@ -3329,8 +3345,8 @@ packages: text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - the-new-css-reset@1.11.2: - resolution: {integrity: sha512-m/JQ/srn+e5SAI7MVCZOJ1hoxoE1w1uA96birT52Y9769GN9e0M4K1PBxlz05Vq4HprX11ASBjM2TcQs4WXnXg==} + the-new-css-reset@1.11.3: + resolution: {integrity: sha512-61SB81vu9foUyEIqoU1CeqxrdlsVjJojj/CBXoG8BdvlKFsllB0Rza63DblnRqH+3uttPj3FGWo7+c9nu7MT+A==} tiny-glob@0.2.9: resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==} @@ -3390,6 +3406,9 @@ packages: tslib@2.6.3: resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==} + tslib@2.7.0: + resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} + type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} @@ -3410,8 +3429,8 @@ packages: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} - typescript@5.5.4: - resolution: {integrity: sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==} + typescript@5.6.2: + resolution: {integrity: sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==} engines: {node: '>=14.17'} hasBin: true @@ -3457,8 +3476,8 @@ packages: engines: {node: ^18.0.0 || >=20.0.0} hasBin: true - vite@5.4.1: - resolution: {integrity: sha512-1oE6yuNXssjrZdblI9AfBbHCC41nnyoVoEZxQnID6yvQZAFBzxxkqoFLtHUMkYunL8hwOLEjgTuxpkRxvba3kA==} + vite@5.4.7: + resolution: {integrity: sha512-5l2zxqMEPVENgvzTuBpHer2awaetimj2BGkhBPdnwKbPNOlHsODU+oiazEZzLK7KhAnOrO+XGYJYn4ZlUhDtDQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -3521,8 +3540,8 @@ packages: jsdom: optional: true - vue@3.4.38: - resolution: {integrity: sha512-f0ZgN+mZ5KFgVv9wz0f4OgVKukoXtS3nwET4c2vLBGQR50aI8G0cqbFtLlX9Yiyg3LFGBitruPHt2PxwTduJEw==} + vue@3.5.8: + resolution: {integrity: sha512-hvuvuCy51nP/1fSRvrrIqTLSvrSyz2Pq+KQ8S8SXCxTWVE0nMaOnSDnSOxV1eYmGfvK7mqiwvd1C59CEEz7dAQ==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -3705,45 +3724,45 @@ snapshots: dependencies: '@appwrite.io/pink-icons': 0.25.0 normalize.css: 8.0.1 - the-new-css-reset: 1.11.2 + the-new-css-reset: 1.11.3 '@babel/code-frame@7.24.7': dependencies: '@babel/highlight': 7.24.7 - picocolors: 1.0.1 + picocolors: 1.1.0 - '@babel/compat-data@7.25.2': {} + '@babel/compat-data@7.25.4': {} '@babel/core@7.25.2': dependencies: '@ampproject/remapping': 2.3.0 '@babel/code-frame': 7.24.7 - '@babel/generator': 7.25.0 + '@babel/generator': 7.25.6 '@babel/helper-compilation-targets': 7.25.2 '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) - '@babel/helpers': 7.25.0 - '@babel/parser': 7.25.3 + '@babel/helpers': 7.25.6 + '@babel/parser': 7.25.6 '@babel/template': 7.25.0 - '@babel/traverse': 7.25.3 - '@babel/types': 7.25.2 + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 convert-source-map: 2.0.0 - debug: 4.3.6 + debug: 4.3.7 gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 transitivePeerDependencies: - supports-color - '@babel/generator@7.25.0': + '@babel/generator@7.25.6': dependencies: - '@babel/types': 7.25.2 + '@babel/types': 7.25.6 '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 jsesc: 2.5.2 '@babel/helper-compilation-targets@7.25.2': dependencies: - '@babel/compat-data': 7.25.2 + '@babel/compat-data': 7.25.4 '@babel/helper-validator-option': 7.24.8 browserslist: 4.23.3 lru-cache: 5.1.1 @@ -3751,8 +3770,8 @@ snapshots: '@babel/helper-module-imports@7.24.7': dependencies: - '@babel/traverse': 7.25.3 - '@babel/types': 7.25.2 + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 transitivePeerDependencies: - supports-color @@ -3762,7 +3781,7 @@ snapshots: '@babel/helper-module-imports': 7.24.7 '@babel/helper-simple-access': 7.24.7 '@babel/helper-validator-identifier': 7.24.7 - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.6 transitivePeerDependencies: - supports-color @@ -3770,8 +3789,8 @@ snapshots: '@babel/helper-simple-access@7.24.7': dependencies: - '@babel/traverse': 7.25.3 - '@babel/types': 7.25.2 + '@babel/traverse': 7.25.6 + '@babel/types': 7.25.6 transitivePeerDependencies: - supports-color @@ -3781,21 +3800,21 @@ snapshots: '@babel/helper-validator-option@7.24.8': {} - '@babel/helpers@7.25.0': + '@babel/helpers@7.25.6': dependencies: '@babel/template': 7.25.0 - '@babel/types': 7.25.2 + '@babel/types': 7.25.6 '@babel/highlight@7.24.7': dependencies: '@babel/helper-validator-identifier': 7.24.7 chalk: 2.4.2 js-tokens: 4.0.0 - picocolors: 1.0.1 + picocolors: 1.1.0 - '@babel/parser@7.25.3': + '@babel/parser@7.25.6': dependencies: - '@babel/types': 7.25.2 + '@babel/types': 7.25.6 '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.25.2)': dependencies: @@ -3817,7 +3836,7 @@ snapshots: '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-import-attributes@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-syntax-import-attributes@7.25.6(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 @@ -3877,34 +3896,34 @@ snapshots: '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-typescript@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-syntax-typescript@7.25.4(@babel/core@7.25.2)': dependencies: '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 - '@babel/runtime@7.25.0': + '@babel/runtime@7.25.6': dependencies: regenerator-runtime: 0.14.1 '@babel/template@7.25.0': dependencies: '@babel/code-frame': 7.24.7 - '@babel/parser': 7.25.3 - '@babel/types': 7.25.2 + '@babel/parser': 7.25.6 + '@babel/types': 7.25.6 - '@babel/traverse@7.25.3': + '@babel/traverse@7.25.6': dependencies: '@babel/code-frame': 7.24.7 - '@babel/generator': 7.25.0 - '@babel/parser': 7.25.3 + '@babel/generator': 7.25.6 + '@babel/parser': 7.25.6 '@babel/template': 7.25.0 - '@babel/types': 7.25.2 - debug: 4.3.6 + '@babel/types': 7.25.6 + debug: 4.3.7 globals: 11.12.0 transitivePeerDependencies: - supports-color - '@babel/types@7.25.2': + '@babel/types@7.25.6': dependencies: '@babel/helper-string-parser': 7.24.8 '@babel/helper-validator-identifier': 7.24.7 @@ -3981,17 +4000,17 @@ snapshots: '@esbuild/win32-x64@0.21.5': optional: true - '@eslint-community/eslint-utils@4.4.0(eslint@8.57.0)': + '@eslint-community/eslint-utils@4.4.0(eslint@8.57.1)': dependencies: - eslint: 8.57.0 + eslint: 8.57.1 eslint-visitor-keys: 3.4.3 - '@eslint-community/regexpp@4.11.0': {} + '@eslint-community/regexpp@4.11.1': {} '@eslint/eslintrc@2.1.4': dependencies: ajv: 6.12.6 - debug: 4.3.6 + debug: 4.3.7 espree: 9.6.1 globals: 13.24.0 ignore: 5.3.2 @@ -4002,23 +4021,23 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@8.57.0': {} + '@eslint/js@8.57.1': {} - '@floating-ui/core@1.6.7': + '@floating-ui/core@1.6.8': dependencies: - '@floating-ui/utils': 0.2.7 + '@floating-ui/utils': 0.2.8 - '@floating-ui/dom@1.6.10': + '@floating-ui/dom@1.6.11': dependencies: - '@floating-ui/core': 1.6.7 - '@floating-ui/utils': 0.2.7 + '@floating-ui/core': 1.6.8 + '@floating-ui/utils': 0.2.8 - '@floating-ui/utils@0.2.7': {} + '@floating-ui/utils@0.2.8': {} - '@humanwhocodes/config-array@0.11.14': + '@humanwhocodes/config-array@0.13.0': dependencies: '@humanwhocodes/object-schema': 2.0.3 - debug: 4.3.6 + debug: 4.3.7 minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -4029,7 +4048,7 @@ snapshots: '@internationalized/date@3.5.5': dependencies: - '@swc/helpers': 0.5.12 + '@swc/helpers': 0.5.13 '@istanbuljs/load-nyc-config@1.1.0': dependencies: @@ -4044,7 +4063,7 @@ snapshots: '@jest/console@29.7.0': dependencies: '@jest/types': 29.6.3 - '@types/node': 22.4.1 + '@types/node': 22.6.1 chalk: 4.1.2 jest-message-util: 29.7.0 jest-util: 29.7.0 @@ -4057,14 +4076,14 @@ snapshots: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.4.1 + '@types/node': 22.6.1 ansi-escapes: 4.3.2 chalk: 4.1.2 ci-info: 3.9.0 exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@22.4.1) + jest-config: 29.7.0(@types/node@22.6.1) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -4076,7 +4095,7 @@ snapshots: jest-util: 29.7.0 jest-validate: 29.7.0 jest-watcher: 29.7.0 - micromatch: 4.0.7 + micromatch: 4.0.8 pretty-format: 29.7.0 slash: 3.0.0 strip-ansi: 6.0.1 @@ -4089,7 +4108,7 @@ snapshots: dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.4.1 + '@types/node': 22.6.1 jest-mock: 29.7.0 '@jest/expect-utils@29.7.0': @@ -4107,7 +4126,7 @@ snapshots: dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 22.4.1 + '@types/node': 22.6.1 jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -4129,7 +4148,7 @@ snapshots: '@jest/transform': 29.7.0 '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.25 - '@types/node': 22.4.1 + '@types/node': 22.6.1 chalk: 4.1.2 collect-v8-coverage: 1.0.2 exit: 0.1.2 @@ -4187,7 +4206,7 @@ snapshots: jest-haste-map: 29.7.0 jest-regex-util: 29.6.3 jest-util: 29.7.0 - micromatch: 4.0.7 + micromatch: 4.0.8 pirates: 4.0.6 slash: 3.0.0 write-file-atomic: 4.0.2 @@ -4199,7 +4218,7 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 22.4.1 + '@types/node': 22.6.1 '@types/yargs': 17.0.33 chalk: 4.1.2 @@ -4220,22 +4239,22 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 - '@melt-ui/pp@0.3.2(@melt-ui/svelte@0.83.0(svelte@4.2.18))(svelte@4.2.18)': + '@melt-ui/pp@0.3.2(@melt-ui/svelte@0.83.0(svelte@4.2.19))(svelte@4.2.19)': dependencies: - '@melt-ui/svelte': 0.83.0(svelte@4.2.18) + '@melt-ui/svelte': 0.83.0(svelte@4.2.19) estree-walker: 3.0.3 magic-string: 0.30.11 - svelte: 4.2.18 + svelte: 4.2.19 - '@melt-ui/svelte@0.83.0(svelte@4.2.18)': + '@melt-ui/svelte@0.83.0(svelte@4.2.19)': dependencies: - '@floating-ui/core': 1.6.7 - '@floating-ui/dom': 1.6.10 + '@floating-ui/core': 1.6.8 + '@floating-ui/dom': 1.6.11 '@internationalized/date': 3.5.5 dequal: 2.0.3 - focus-trap: 7.5.4 + focus-trap: 7.6.0 nanoid: 5.0.7 - svelte: 4.2.18 + svelte: 4.2.19 '@nodelib/fs.scandir@2.1.5': dependencies: @@ -4253,177 +4272,194 @@ snapshots: dependencies: '@opentelemetry/api': 1.9.0 + '@opentelemetry/api-logs@0.53.0': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/api@1.9.0': {} '@opentelemetry/context-async-hooks@1.26.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core@1.25.1(@opentelemetry/api@1.9.0)': - dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/semantic-conventions': 1.25.1 - '@opentelemetry/core@1.26.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/semantic-conventions': 1.27.0 - '@opentelemetry/instrumentation-connect@0.38.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/instrumentation-connect@0.39.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 1.26.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.27.0 '@types/connect': 3.4.36 transitivePeerDependencies: - supports-color - '@opentelemetry/instrumentation-express@0.41.1(@opentelemetry/api@1.9.0)': + '@opentelemetry/instrumentation-dataloader@0.12.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) + transitivePeerDependencies: + - supports-color + + '@opentelemetry/instrumentation-express@0.42.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 1.26.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.27.0 transitivePeerDependencies: - supports-color - '@opentelemetry/instrumentation-fastify@0.38.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/instrumentation-fastify@0.39.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 1.26.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.27.0 transitivePeerDependencies: - supports-color - '@opentelemetry/instrumentation-fs@0.14.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/instrumentation-fs@0.15.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 1.26.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) transitivePeerDependencies: - supports-color - '@opentelemetry/instrumentation-graphql@0.42.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/instrumentation-generic-pool@0.39.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) transitivePeerDependencies: - supports-color - '@opentelemetry/instrumentation-hapi@0.40.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/instrumentation-graphql@0.43.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) + transitivePeerDependencies: + - supports-color + + '@opentelemetry/instrumentation-hapi@0.41.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 1.26.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.27.0 transitivePeerDependencies: - supports-color - '@opentelemetry/instrumentation-http@0.52.1(@opentelemetry/api@1.9.0)': + '@opentelemetry/instrumentation-http@0.53.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.25.1(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.25.1 + '@opentelemetry/core': 1.26.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.27.0 semver: 7.6.3 transitivePeerDependencies: - supports-color - '@opentelemetry/instrumentation-ioredis@0.42.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/instrumentation-ioredis@0.43.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) '@opentelemetry/redis-common': 0.36.2 '@opentelemetry/semantic-conventions': 1.27.0 transitivePeerDependencies: - supports-color - '@opentelemetry/instrumentation-koa@0.42.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/instrumentation-kafkajs@0.3.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.26.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.27.0 transitivePeerDependencies: - supports-color - '@opentelemetry/instrumentation-mongodb@0.46.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/instrumentation-koa@0.43.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/core': 1.26.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) + '@opentelemetry/semantic-conventions': 1.27.0 + transitivePeerDependencies: + - supports-color + + '@opentelemetry/instrumentation-mongodb@0.47.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-metrics': 1.26.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.27.0 transitivePeerDependencies: - supports-color - '@opentelemetry/instrumentation-mongoose@0.40.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/instrumentation-mongoose@0.42.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 1.26.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.27.0 transitivePeerDependencies: - supports-color - '@opentelemetry/instrumentation-mysql2@0.40.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/instrumentation-mysql2@0.41.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.27.0 '@opentelemetry/sql-common': 0.40.1(@opentelemetry/api@1.9.0) transitivePeerDependencies: - supports-color - '@opentelemetry/instrumentation-mysql@0.40.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/instrumentation-mysql@0.41.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.27.0 - '@types/mysql': 2.15.22 + '@types/mysql': 2.15.26 transitivePeerDependencies: - supports-color - '@opentelemetry/instrumentation-nestjs-core@0.39.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/instrumentation-nestjs-core@0.40.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.27.0 transitivePeerDependencies: - supports-color - '@opentelemetry/instrumentation-pg@0.43.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/instrumentation-pg@0.44.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.27.0 '@opentelemetry/sql-common': 0.40.1(@opentelemetry/api@1.9.0) '@types/pg': 8.6.1 - '@types/pg-pool': 2.0.4 + '@types/pg-pool': 2.0.6 transitivePeerDependencies: - supports-color - '@opentelemetry/instrumentation-redis-4@0.41.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/instrumentation-redis-4@0.42.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) '@opentelemetry/redis-common': 0.36.2 '@opentelemetry/semantic-conventions': 1.27.0 transitivePeerDependencies: - supports-color - '@opentelemetry/instrumentation@0.46.0(@opentelemetry/api@1.9.0)': + '@opentelemetry/instrumentation-undici@0.6.0(@opentelemetry/api@1.9.0)': dependencies: '@opentelemetry/api': 1.9.0 - '@types/shimmer': 1.2.0 - import-in-the-middle: 1.7.1 - require-in-the-middle: 7.4.0 - semver: 7.6.3 - shimmer: 1.2.1 + '@opentelemetry/core': 1.26.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) transitivePeerDependencies: - supports-color - optional: true '@opentelemetry/instrumentation@0.52.1(@opentelemetry/api@1.9.0)': dependencies: @@ -4437,6 +4473,18 @@ snapshots: transitivePeerDependencies: - supports-color + '@opentelemetry/instrumentation@0.53.0(@opentelemetry/api@1.9.0)': + dependencies: + '@opentelemetry/api': 1.9.0 + '@opentelemetry/api-logs': 0.53.0 + '@types/shimmer': 1.2.0 + import-in-the-middle: 1.11.0 + require-in-the-middle: 7.4.0 + semver: 7.6.3 + shimmer: 1.2.1 + transitivePeerDependencies: + - supports-color + '@opentelemetry/redis-common@0.36.2': {} '@opentelemetry/resources@1.26.0(@opentelemetry/api@1.9.0)': @@ -4458,8 +4506,6 @@ snapshots: '@opentelemetry/resources': 1.26.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.27.0 - '@opentelemetry/semantic-conventions@1.25.1': {} - '@opentelemetry/semantic-conventions@1.27.0': {} '@opentelemetry/sql-common@0.40.1(@opentelemetry/api@1.9.0)': @@ -4467,15 +4513,15 @@ snapshots: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 1.26.0(@opentelemetry/api@1.9.0) - '@playwright/test@1.46.1': + '@playwright/test@1.47.2': dependencies: - playwright: 1.46.1 + playwright: 1.47.2 - '@polka/url@1.0.0-next.25': {} + '@polka/url@1.0.0-next.28': {} '@popperjs/core@2.11.8': {} - '@prisma/instrumentation@5.18.0': + '@prisma/instrumentation@5.19.1': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0) @@ -4483,97 +4529,97 @@ snapshots: transitivePeerDependencies: - supports-color - '@rollup/rollup-android-arm-eabi@4.21.0': + '@rollup/rollup-android-arm-eabi@4.22.4': optional: true - '@rollup/rollup-android-arm64@4.21.0': + '@rollup/rollup-android-arm64@4.22.4': optional: true - '@rollup/rollup-darwin-arm64@4.21.0': + '@rollup/rollup-darwin-arm64@4.22.4': optional: true - '@rollup/rollup-darwin-x64@4.21.0': + '@rollup/rollup-darwin-x64@4.22.4': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.21.0': + '@rollup/rollup-linux-arm-gnueabihf@4.22.4': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.21.0': + '@rollup/rollup-linux-arm-musleabihf@4.22.4': optional: true - '@rollup/rollup-linux-arm64-gnu@4.21.0': + '@rollup/rollup-linux-arm64-gnu@4.22.4': optional: true - '@rollup/rollup-linux-arm64-musl@4.21.0': + '@rollup/rollup-linux-arm64-musl@4.22.4': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.21.0': + '@rollup/rollup-linux-powerpc64le-gnu@4.22.4': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.21.0': + '@rollup/rollup-linux-riscv64-gnu@4.22.4': optional: true - '@rollup/rollup-linux-s390x-gnu@4.21.0': + '@rollup/rollup-linux-s390x-gnu@4.22.4': optional: true - '@rollup/rollup-linux-x64-gnu@4.21.0': + '@rollup/rollup-linux-x64-gnu@4.22.4': optional: true - '@rollup/rollup-linux-x64-musl@4.21.0': + '@rollup/rollup-linux-x64-musl@4.22.4': optional: true - '@rollup/rollup-win32-arm64-msvc@4.21.0': + '@rollup/rollup-win32-arm64-msvc@4.22.4': optional: true - '@rollup/rollup-win32-ia32-msvc@4.21.0': + '@rollup/rollup-win32-ia32-msvc@4.22.4': optional: true - '@rollup/rollup-win32-x64-msvc@4.21.0': + '@rollup/rollup-win32-x64-msvc@4.22.4': optional: true - '@sentry-internal/browser-utils@8.28.0': + '@sentry-internal/browser-utils@8.31.0': dependencies: - '@sentry/core': 8.28.0 - '@sentry/types': 8.28.0 - '@sentry/utils': 8.28.0 + '@sentry/core': 8.31.0 + '@sentry/types': 8.31.0 + '@sentry/utils': 8.31.0 - '@sentry-internal/feedback@8.28.0': + '@sentry-internal/feedback@8.31.0': dependencies: - '@sentry/core': 8.28.0 - '@sentry/types': 8.28.0 - '@sentry/utils': 8.28.0 + '@sentry/core': 8.31.0 + '@sentry/types': 8.31.0 + '@sentry/utils': 8.31.0 - '@sentry-internal/replay-canvas@8.28.0': + '@sentry-internal/replay-canvas@8.31.0': dependencies: - '@sentry-internal/replay': 8.28.0 - '@sentry/core': 8.28.0 - '@sentry/types': 8.28.0 - '@sentry/utils': 8.28.0 + '@sentry-internal/replay': 8.31.0 + '@sentry/core': 8.31.0 + '@sentry/types': 8.31.0 + '@sentry/utils': 8.31.0 - '@sentry-internal/replay@8.28.0': + '@sentry-internal/replay@8.31.0': dependencies: - '@sentry-internal/browser-utils': 8.28.0 - '@sentry/core': 8.28.0 - '@sentry/types': 8.28.0 - '@sentry/utils': 8.28.0 + '@sentry-internal/browser-utils': 8.31.0 + '@sentry/core': 8.31.0 + '@sentry/types': 8.31.0 + '@sentry/utils': 8.31.0 '@sentry/babel-plugin-component-annotate@2.22.3': {} - '@sentry/browser@8.28.0': + '@sentry/browser@8.31.0': dependencies: - '@sentry-internal/browser-utils': 8.28.0 - '@sentry-internal/feedback': 8.28.0 - '@sentry-internal/replay': 8.28.0 - '@sentry-internal/replay-canvas': 8.28.0 - '@sentry/core': 8.28.0 - '@sentry/types': 8.28.0 - '@sentry/utils': 8.28.0 + '@sentry-internal/browser-utils': 8.31.0 + '@sentry-internal/feedback': 8.31.0 + '@sentry-internal/replay': 8.31.0 + '@sentry-internal/replay-canvas': 8.31.0 + '@sentry/core': 8.31.0 + '@sentry/types': 8.31.0 + '@sentry/utils': 8.31.0 '@sentry/bundler-plugin-core@2.22.3': dependencies: '@babel/core': 7.25.2 '@sentry/babel-plugin-component-annotate': 2.22.3 - '@sentry/cli': 2.34.1 + '@sentry/cli': 2.36.2 dotenv: 16.4.5 find-up: 5.0.0 glob: 9.3.5 @@ -4583,28 +4629,28 @@ snapshots: - encoding - supports-color - '@sentry/cli-darwin@2.34.1': + '@sentry/cli-darwin@2.36.2': optional: true - '@sentry/cli-linux-arm64@2.34.1': + '@sentry/cli-linux-arm64@2.36.2': optional: true - '@sentry/cli-linux-arm@2.34.1': + '@sentry/cli-linux-arm@2.36.2': optional: true - '@sentry/cli-linux-i686@2.34.1': + '@sentry/cli-linux-i686@2.36.2': optional: true - '@sentry/cli-linux-x64@2.34.1': + '@sentry/cli-linux-x64@2.36.2': optional: true - '@sentry/cli-win32-i686@2.34.1': + '@sentry/cli-win32-i686@2.36.2': optional: true - '@sentry/cli-win32-x64@2.34.1': + '@sentry/cli-win32-x64@2.36.2': optional: true - '@sentry/cli@2.34.1': + '@sentry/cli@2.36.2': dependencies: https-proxy-agent: 5.0.1 node-fetch: 2.7.0 @@ -4612,93 +4658,95 @@ snapshots: proxy-from-env: 1.1.0 which: 2.0.2 optionalDependencies: - '@sentry/cli-darwin': 2.34.1 - '@sentry/cli-linux-arm': 2.34.1 - '@sentry/cli-linux-arm64': 2.34.1 - '@sentry/cli-linux-i686': 2.34.1 - '@sentry/cli-linux-x64': 2.34.1 - '@sentry/cli-win32-i686': 2.34.1 - '@sentry/cli-win32-x64': 2.34.1 + '@sentry/cli-darwin': 2.36.2 + '@sentry/cli-linux-arm': 2.36.2 + '@sentry/cli-linux-arm64': 2.36.2 + '@sentry/cli-linux-i686': 2.36.2 + '@sentry/cli-linux-x64': 2.36.2 + '@sentry/cli-win32-i686': 2.36.2 + '@sentry/cli-win32-x64': 2.36.2 transitivePeerDependencies: - encoding - supports-color - '@sentry/core@8.28.0': + '@sentry/core@8.31.0': dependencies: - '@sentry/types': 8.28.0 - '@sentry/utils': 8.28.0 + '@sentry/types': 8.31.0 + '@sentry/utils': 8.31.0 - '@sentry/node@8.28.0': + '@sentry/node@8.31.0': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/context-async-hooks': 1.26.0(@opentelemetry/api@1.9.0) '@opentelemetry/core': 1.26.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-connect': 0.38.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-express': 0.41.1(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-fastify': 0.38.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-fs': 0.14.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-graphql': 0.42.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-hapi': 0.40.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-http': 0.52.1(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-ioredis': 0.42.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-koa': 0.42.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-mongodb': 0.46.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-mongoose': 0.40.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-mysql': 0.40.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-mysql2': 0.40.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-nestjs-core': 0.39.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-pg': 0.43.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation-redis-4': 0.41.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-connect': 0.39.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-dataloader': 0.12.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-express': 0.42.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-fastify': 0.39.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-fs': 0.15.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-generic-pool': 0.39.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-graphql': 0.43.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-hapi': 0.41.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-http': 0.53.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-ioredis': 0.43.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-kafkajs': 0.3.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-koa': 0.43.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-mongodb': 0.47.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-mongoose': 0.42.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-mysql': 0.41.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-mysql2': 0.41.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-nestjs-core': 0.40.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-pg': 0.44.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-redis-4': 0.42.0(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation-undici': 0.6.0(@opentelemetry/api@1.9.0) '@opentelemetry/resources': 1.26.0(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-trace-base': 1.26.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.27.0 - '@prisma/instrumentation': 5.18.0 - '@sentry/core': 8.28.0 - '@sentry/opentelemetry': 8.28.0(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.52.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.27.0) - '@sentry/types': 8.28.0 - '@sentry/utils': 8.28.0 + '@prisma/instrumentation': 5.19.1 + '@sentry/core': 8.31.0 + '@sentry/opentelemetry': 8.31.0(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.53.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.27.0) + '@sentry/types': 8.31.0 + '@sentry/utils': 8.31.0 import-in-the-middle: 1.11.0 - optionalDependencies: - opentelemetry-instrumentation-fetch-node: 1.2.3(@opentelemetry/api@1.9.0) transitivePeerDependencies: - supports-color - '@sentry/opentelemetry@8.28.0(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.52.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.27.0)': + '@sentry/opentelemetry@8.31.0(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.53.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.27.0)': dependencies: '@opentelemetry/api': 1.9.0 '@opentelemetry/core': 1.26.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0) + '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) '@opentelemetry/sdk-trace-base': 1.26.0(@opentelemetry/api@1.9.0) '@opentelemetry/semantic-conventions': 1.27.0 - '@sentry/core': 8.28.0 - '@sentry/types': 8.28.0 - '@sentry/utils': 8.28.0 + '@sentry/core': 8.31.0 + '@sentry/types': 8.31.0 + '@sentry/utils': 8.31.0 - '@sentry/svelte@8.28.0(svelte@4.2.18)': + '@sentry/svelte@8.31.0(svelte@4.2.19)': dependencies: - '@sentry/browser': 8.28.0 - '@sentry/core': 8.28.0 - '@sentry/types': 8.28.0 - '@sentry/utils': 8.28.0 - magic-string: 0.30.11 - svelte: 4.2.18 + '@sentry/browser': 8.31.0 + '@sentry/core': 8.31.0 + '@sentry/types': 8.31.0 + '@sentry/utils': 8.31.0 + magic-string: 0.30.7 + svelte: 4.2.19 - '@sentry/sveltekit@8.28.0(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.52.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.27.0)(@sveltejs/kit@2.5.24(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.4.1(@types/node@22.4.1)(sass@1.77.8)))(svelte@4.2.18)(vite@5.4.1(@types/node@22.4.1)(sass@1.77.8)))(svelte@4.2.18)(vite@5.4.1(@types/node@22.4.1)(sass@1.77.8))': + '@sentry/sveltekit@8.31.0(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.53.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.27.0)(@sveltejs/kit@2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.19)(vite@5.4.7(@types/node@22.6.1)(sass@1.79.3)))(svelte@4.2.19)(vite@5.4.7(@types/node@22.6.1)(sass@1.79.3)))(svelte@4.2.19)(vite@5.4.7(@types/node@22.6.1)(sass@1.79.3))': dependencies: - '@sentry/core': 8.28.0 - '@sentry/node': 8.28.0 - '@sentry/opentelemetry': 8.28.0(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.52.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.27.0) - '@sentry/svelte': 8.28.0(svelte@4.2.18) - '@sentry/types': 8.28.0 - '@sentry/utils': 8.28.0 + '@sentry/core': 8.31.0 + '@sentry/node': 8.31.0 + '@sentry/opentelemetry': 8.31.0(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.53.0(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.26.0(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.27.0) + '@sentry/svelte': 8.31.0(svelte@4.2.19) + '@sentry/types': 8.31.0 + '@sentry/utils': 8.31.0 '@sentry/vite-plugin': 2.22.3 - '@sveltejs/kit': 2.5.24(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.4.1(@types/node@22.4.1)(sass@1.77.8)))(svelte@4.2.18)(vite@5.4.1(@types/node@22.4.1)(sass@1.77.8)) + '@sveltejs/kit': 2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.19)(vite@5.4.7(@types/node@22.6.1)(sass@1.79.3)))(svelte@4.2.19)(vite@5.4.7(@types/node@22.6.1)(sass@1.79.3)) magic-string: 0.30.7 magicast: 0.2.8 - sorcery: 0.11.0 + sorcery: 1.0.0 optionalDependencies: - vite: 5.4.1(@types/node@22.4.1)(sass@1.77.8) + vite: 5.4.7(@types/node@22.6.1)(sass@1.79.3) transitivePeerDependencies: - '@opentelemetry/api' - '@opentelemetry/core' @@ -4709,11 +4757,11 @@ snapshots: - supports-color - svelte - '@sentry/types@8.28.0': {} + '@sentry/types@8.31.0': {} - '@sentry/utils@8.28.0': + '@sentry/utils@8.31.0': dependencies: - '@sentry/types': 8.28.0 + '@sentry/types': 8.31.0 '@sentry/vite-plugin@2.22.3': dependencies: @@ -4735,13 +4783,13 @@ snapshots: '@stripe/stripe-js@3.5.0': {} - '@sveltejs/adapter-static@3.0.4(@sveltejs/kit@2.5.24(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.4.1(@types/node@22.4.1)(sass@1.77.8)))(svelte@4.2.18)(vite@5.4.1(@types/node@22.4.1)(sass@1.77.8)))': + '@sveltejs/adapter-static@3.0.5(@sveltejs/kit@2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.19)(vite@5.4.7(@types/node@22.6.1)(sass@1.79.3)))(svelte@4.2.19)(vite@5.4.7(@types/node@22.6.1)(sass@1.79.3)))': dependencies: - '@sveltejs/kit': 2.5.24(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.4.1(@types/node@22.4.1)(sass@1.77.8)))(svelte@4.2.18)(vite@5.4.1(@types/node@22.4.1)(sass@1.77.8)) + '@sveltejs/kit': 2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.19)(vite@5.4.7(@types/node@22.6.1)(sass@1.79.3)))(svelte@4.2.19)(vite@5.4.7(@types/node@22.6.1)(sass@1.79.3)) - '@sveltejs/kit@2.5.24(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.4.1(@types/node@22.4.1)(sass@1.77.8)))(svelte@4.2.18)(vite@5.4.1(@types/node@22.4.1)(sass@1.77.8))': + '@sveltejs/kit@2.5.28(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.19)(vite@5.4.7(@types/node@22.6.1)(sass@1.79.3)))(svelte@4.2.19)(vite@5.4.7(@types/node@22.6.1)(sass@1.79.3))': dependencies: - '@sveltejs/vite-plugin-svelte': 3.1.1(svelte@4.2.18)(vite@5.4.1(@types/node@22.4.1)(sass@1.77.8)) + '@sveltejs/vite-plugin-svelte': 3.1.2(svelte@4.2.19)(vite@5.4.7(@types/node@22.6.1)(sass@1.79.3)) '@types/cookie': 0.6.0 cookie: 0.6.0 devalue: 5.0.0 @@ -4753,41 +4801,41 @@ snapshots: sade: 1.8.1 set-cookie-parser: 2.7.0 sirv: 2.0.4 - svelte: 4.2.18 + svelte: 4.2.19 tiny-glob: 0.2.9 - vite: 5.4.1(@types/node@22.4.1)(sass@1.77.8) + vite: 5.4.7(@types/node@22.6.1)(sass@1.79.3) - '@sveltejs/vite-plugin-svelte-inspector@2.1.0(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.4.1(@types/node@22.4.1)(sass@1.77.8)))(svelte@4.2.18)(vite@5.4.1(@types/node@22.4.1)(sass@1.77.8))': + '@sveltejs/vite-plugin-svelte-inspector@2.1.0(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.19)(vite@5.4.7(@types/node@22.6.1)(sass@1.79.3)))(svelte@4.2.19)(vite@5.4.7(@types/node@22.6.1)(sass@1.79.3))': dependencies: - '@sveltejs/vite-plugin-svelte': 3.1.1(svelte@4.2.18)(vite@5.4.1(@types/node@22.4.1)(sass@1.77.8)) - debug: 4.3.6 - svelte: 4.2.18 - vite: 5.4.1(@types/node@22.4.1)(sass@1.77.8) + '@sveltejs/vite-plugin-svelte': 3.1.2(svelte@4.2.19)(vite@5.4.7(@types/node@22.6.1)(sass@1.79.3)) + debug: 4.3.7 + svelte: 4.2.19 + vite: 5.4.7(@types/node@22.6.1)(sass@1.79.3) transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.4.1(@types/node@22.4.1)(sass@1.77.8))': + '@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.19)(vite@5.4.7(@types/node@22.6.1)(sass@1.79.3))': dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 2.1.0(@sveltejs/vite-plugin-svelte@3.1.1(svelte@4.2.18)(vite@5.4.1(@types/node@22.4.1)(sass@1.77.8)))(svelte@4.2.18)(vite@5.4.1(@types/node@22.4.1)(sass@1.77.8)) - debug: 4.3.6 + '@sveltejs/vite-plugin-svelte-inspector': 2.1.0(@sveltejs/vite-plugin-svelte@3.1.2(svelte@4.2.19)(vite@5.4.7(@types/node@22.6.1)(sass@1.79.3)))(svelte@4.2.19)(vite@5.4.7(@types/node@22.6.1)(sass@1.79.3)) + debug: 4.3.7 deepmerge: 4.3.1 kleur: 4.1.5 magic-string: 0.30.11 - svelte: 4.2.18 - svelte-hmr: 0.16.0(svelte@4.2.18) - vite: 5.4.1(@types/node@22.4.1)(sass@1.77.8) - vitefu: 0.2.5(vite@5.4.1(@types/node@22.4.1)(sass@1.77.8)) + svelte: 4.2.19 + svelte-hmr: 0.16.0(svelte@4.2.19) + vite: 5.4.7(@types/node@22.6.1)(sass@1.79.3) + vitefu: 0.2.5(vite@5.4.7(@types/node@22.6.1)(sass@1.79.3)) transitivePeerDependencies: - supports-color - '@swc/helpers@0.5.12': + '@swc/helpers@0.5.13': dependencies: - tslib: 2.6.3 + tslib: 2.7.0 '@testing-library/dom@10.4.0': dependencies: '@babel/code-frame': 7.24.7 - '@babel/runtime': 7.25.0 + '@babel/runtime': 7.25.6 '@types/aria-query': 5.0.4 aria-query: 5.3.0 chalk: 4.1.2 @@ -4795,24 +4843,23 @@ snapshots: lz-string: 1.5.0 pretty-format: 27.5.1 - '@testing-library/jest-dom@6.4.8': + '@testing-library/jest-dom@6.5.0': dependencies: '@adobe/css-tools': 4.4.0 - '@babel/runtime': 7.25.0 - aria-query: 5.3.0 + aria-query: 5.3.2 chalk: 3.0.0 css.escape: 1.5.1 dom-accessibility-api: 0.6.3 lodash: 4.17.21 redent: 3.0.0 - '@testing-library/svelte@5.2.1(svelte@4.2.18)(vite@5.4.1(@types/node@22.4.1)(sass@1.77.8))(vitest@1.6.0(@types/node@22.4.1)(@vitest/ui@1.6.0)(jsdom@22.1.0)(sass@1.77.8))': + '@testing-library/svelte@5.2.1(svelte@4.2.19)(vite@5.4.7(@types/node@22.6.1)(sass@1.79.3))(vitest@1.6.0(@types/node@22.6.1)(@vitest/ui@1.6.0)(jsdom@22.1.0)(sass@1.79.3))': dependencies: '@testing-library/dom': 10.4.0 - svelte: 4.2.18 + svelte: 4.2.19 optionalDependencies: - vite: 5.4.1(@types/node@22.4.1)(sass@1.77.8) - vitest: 1.6.0(@types/node@22.4.1)(@vitest/ui@1.6.0)(jsdom@22.1.0)(sass@1.77.8) + vite: 5.4.7(@types/node@22.6.1)(sass@1.79.3) + vitest: 1.6.0(@types/node@22.6.1)(@vitest/ui@1.6.0)(jsdom@22.1.0)(sass@1.79.3) '@testing-library/user-event@14.5.2(@testing-library/dom@10.4.0)': dependencies: @@ -4824,28 +4871,28 @@ snapshots: '@types/babel__core@7.20.5': dependencies: - '@babel/parser': 7.25.3 - '@babel/types': 7.25.2 + '@babel/parser': 7.25.6 + '@babel/types': 7.25.6 '@types/babel__generator': 7.6.8 '@types/babel__template': 7.4.4 '@types/babel__traverse': 7.20.6 '@types/babel__generator@7.6.8': dependencies: - '@babel/types': 7.25.2 + '@babel/types': 7.25.6 '@types/babel__template@7.4.4': dependencies: - '@babel/parser': 7.25.3 - '@babel/types': 7.25.2 + '@babel/parser': 7.25.6 + '@babel/types': 7.25.6 '@types/babel__traverse@7.20.6': dependencies: - '@babel/types': 7.25.2 + '@babel/types': 7.25.6 '@types/connect@3.4.36': dependencies: - '@types/node': 22.4.1 + '@types/node': 22.6.1 '@types/cookie@0.6.0': {} @@ -4855,9 +4902,11 @@ snapshots: '@types/estree@1.0.5': {} + '@types/estree@1.0.6': {} + '@types/graceful-fs@4.1.9': dependencies: - '@types/node': 22.4.1 + '@types/node': 22.6.1 '@types/istanbul-lib-coverage@2.0.6': {} @@ -4869,22 +4918,22 @@ snapshots: dependencies: '@types/istanbul-lib-report': 3.0.3 - '@types/mysql@2.15.22': + '@types/mysql@2.15.26': dependencies: - '@types/node': 22.4.1 + '@types/node': 22.6.1 - '@types/node@22.4.1': + '@types/node@22.6.1': dependencies: undici-types: 6.19.8 - '@types/pg-pool@2.0.4': + '@types/pg-pool@2.0.6': dependencies: '@types/pg': 8.6.1 '@types/pg@8.6.1': dependencies: - '@types/node': 22.4.1 - pg-protocol: 1.6.1 + '@types/node': 22.6.1 + pg-protocol: 1.7.0 pg-types: 2.2.0 '@types/prismjs@1.26.4': {} @@ -4901,34 +4950,34 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.3 - '@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4))(eslint@8.57.0)(typescript@5.5.4)': + '@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.6.2))(eslint@8.57.1)(typescript@5.6.2)': dependencies: - '@eslint-community/regexpp': 4.11.0 - '@typescript-eslint/parser': 7.18.0(eslint@8.57.0)(typescript@5.5.4) + '@eslint-community/regexpp': 4.11.1 + '@typescript-eslint/parser': 7.18.0(eslint@8.57.1)(typescript@5.6.2) '@typescript-eslint/scope-manager': 7.18.0 - '@typescript-eslint/type-utils': 7.18.0(eslint@8.57.0)(typescript@5.5.4) - '@typescript-eslint/utils': 7.18.0(eslint@8.57.0)(typescript@5.5.4) + '@typescript-eslint/type-utils': 7.18.0(eslint@8.57.1)(typescript@5.6.2) + '@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@5.6.2) '@typescript-eslint/visitor-keys': 7.18.0 - eslint: 8.57.0 + eslint: 8.57.1 graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 - ts-api-utils: 1.3.0(typescript@5.5.4) + ts-api-utils: 1.3.0(typescript@5.6.2) optionalDependencies: - typescript: 5.5.4 + typescript: 5.6.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.5.4)': + '@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.6.2)': dependencies: '@typescript-eslint/scope-manager': 7.18.0 '@typescript-eslint/types': 7.18.0 - '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.5.4) + '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.6.2) '@typescript-eslint/visitor-keys': 7.18.0 - debug: 4.3.6 - eslint: 8.57.0 + debug: 4.3.7 + eslint: 8.57.1 optionalDependencies: - typescript: 5.5.4 + typescript: 5.6.2 transitivePeerDependencies: - supports-color @@ -4937,42 +4986,42 @@ snapshots: '@typescript-eslint/types': 7.18.0 '@typescript-eslint/visitor-keys': 7.18.0 - '@typescript-eslint/type-utils@7.18.0(eslint@8.57.0)(typescript@5.5.4)': + '@typescript-eslint/type-utils@7.18.0(eslint@8.57.1)(typescript@5.6.2)': dependencies: - '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.5.4) - '@typescript-eslint/utils': 7.18.0(eslint@8.57.0)(typescript@5.5.4) - debug: 4.3.6 - eslint: 8.57.0 - ts-api-utils: 1.3.0(typescript@5.5.4) + '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.6.2) + '@typescript-eslint/utils': 7.18.0(eslint@8.57.1)(typescript@5.6.2) + debug: 4.3.7 + eslint: 8.57.1 + ts-api-utils: 1.3.0(typescript@5.6.2) optionalDependencies: - typescript: 5.5.4 + typescript: 5.6.2 transitivePeerDependencies: - supports-color '@typescript-eslint/types@7.18.0': {} - '@typescript-eslint/typescript-estree@7.18.0(typescript@5.5.4)': + '@typescript-eslint/typescript-estree@7.18.0(typescript@5.6.2)': dependencies: '@typescript-eslint/types': 7.18.0 '@typescript-eslint/visitor-keys': 7.18.0 - debug: 4.3.6 + debug: 4.3.7 globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.6.3 - ts-api-utils: 1.3.0(typescript@5.5.4) + ts-api-utils: 1.3.0(typescript@5.6.2) optionalDependencies: - typescript: 5.5.4 + typescript: 5.6.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@7.18.0(eslint@8.57.0)(typescript@5.5.4)': + '@typescript-eslint/utils@7.18.0(eslint@8.57.1)(typescript@5.6.2)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) '@typescript-eslint/scope-manager': 7.18.0 '@typescript-eslint/types': 7.18.0 - '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.5.4) - eslint: 8.57.0 + '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.6.2) + eslint: 8.57.1 transitivePeerDependencies: - supports-color - typescript @@ -5013,9 +5062,9 @@ snapshots: fflate: 0.8.2 flatted: 3.3.1 pathe: 1.1.2 - picocolors: 1.0.1 + picocolors: 1.1.0 sirv: 2.0.4 - vitest: 1.6.0(@types/node@22.4.1)(@vitest/ui@1.6.0)(jsdom@22.1.0)(sass@1.77.8) + vitest: 1.6.0(@types/node@22.6.1)(@vitest/ui@1.6.0)(jsdom@22.1.0)(sass@1.79.3) '@vitest/utils@1.6.0': dependencies: @@ -5024,67 +5073,62 @@ snapshots: loupe: 2.3.7 pretty-format: 29.7.0 - '@vue/compiler-core@3.4.38': + '@vue/compiler-core@3.5.8': dependencies: - '@babel/parser': 7.25.3 - '@vue/shared': 3.4.38 + '@babel/parser': 7.25.6 + '@vue/shared': 3.5.8 entities: 4.5.0 estree-walker: 2.0.2 - source-map-js: 1.2.0 + source-map-js: 1.2.1 - '@vue/compiler-dom@3.4.38': + '@vue/compiler-dom@3.5.8': dependencies: - '@vue/compiler-core': 3.4.38 - '@vue/shared': 3.4.38 + '@vue/compiler-core': 3.5.8 + '@vue/shared': 3.5.8 - '@vue/compiler-sfc@3.4.38': + '@vue/compiler-sfc@3.5.8': dependencies: - '@babel/parser': 7.25.3 - '@vue/compiler-core': 3.4.38 - '@vue/compiler-dom': 3.4.38 - '@vue/compiler-ssr': 3.4.38 - '@vue/shared': 3.4.38 + '@babel/parser': 7.25.6 + '@vue/compiler-core': 3.5.8 + '@vue/compiler-dom': 3.5.8 + '@vue/compiler-ssr': 3.5.8 + '@vue/shared': 3.5.8 estree-walker: 2.0.2 magic-string: 0.30.11 - postcss: 8.4.41 - source-map-js: 1.2.0 + postcss: 8.4.47 + source-map-js: 1.2.1 - '@vue/compiler-ssr@3.4.38': + '@vue/compiler-ssr@3.5.8': dependencies: - '@vue/compiler-dom': 3.4.38 - '@vue/shared': 3.4.38 + '@vue/compiler-dom': 3.5.8 + '@vue/shared': 3.5.8 - '@vue/reactivity@3.4.38': + '@vue/reactivity@3.5.8': dependencies: - '@vue/shared': 3.4.38 + '@vue/shared': 3.5.8 - '@vue/runtime-core@3.4.38': + '@vue/runtime-core@3.5.8': dependencies: - '@vue/reactivity': 3.4.38 - '@vue/shared': 3.4.38 + '@vue/reactivity': 3.5.8 + '@vue/shared': 3.5.8 - '@vue/runtime-dom@3.4.38': + '@vue/runtime-dom@3.5.8': dependencies: - '@vue/reactivity': 3.4.38 - '@vue/runtime-core': 3.4.38 - '@vue/shared': 3.4.38 + '@vue/reactivity': 3.5.8 + '@vue/runtime-core': 3.5.8 + '@vue/shared': 3.5.8 csstype: 3.1.3 - '@vue/server-renderer@3.4.38(vue@3.4.38(typescript@5.5.4))': + '@vue/server-renderer@3.5.8(vue@3.5.8(typescript@5.6.2))': dependencies: - '@vue/compiler-ssr': 3.4.38 - '@vue/shared': 3.4.38 - vue: 3.4.38(typescript@5.5.4) + '@vue/compiler-ssr': 3.5.8 + '@vue/shared': 3.5.8 + vue: 3.5.8(typescript@5.6.2) - '@vue/shared@3.4.38': {} + '@vue/shared@3.5.8': {} abab@2.0.6: {} - acorn-import-assertions@1.9.0(acorn@8.12.1): - dependencies: - acorn: 8.12.1 - optional: true - acorn-import-attributes@1.9.5(acorn@8.12.1): dependencies: acorn: 8.12.1 @@ -5093,7 +5137,7 @@ snapshots: dependencies: acorn: 8.12.1 - acorn-walk@8.3.3: + acorn-walk@8.3.4: dependencies: acorn: 8.12.1 @@ -5101,24 +5145,24 @@ snapshots: agent-base@6.0.2: dependencies: - debug: 4.3.6 + debug: 4.3.7 transitivePeerDependencies: - supports-color - ai@2.2.37(react@18.3.1)(solid-js@1.8.21)(svelte@4.2.18)(vue@3.4.38(typescript@5.5.4)): + ai@2.2.37(react@18.3.1)(solid-js@1.8.23)(svelte@4.2.19)(vue@3.5.8(typescript@5.6.2)): dependencies: eventsource-parser: 1.0.0 nanoid: 3.3.6 - solid-swr-store: 0.10.7(solid-js@1.8.21)(swr-store@0.10.6) - sswr: 2.0.0(svelte@4.2.18) + solid-swr-store: 0.10.7(solid-js@1.8.23)(swr-store@0.10.6) + sswr: 2.0.0(svelte@4.2.19) swr: 2.2.0(react@18.3.1) swr-store: 0.10.6 - swrv: 1.0.4(vue@3.4.38(typescript@5.5.4)) + swrv: 1.0.4(vue@3.5.8(typescript@5.6.2)) optionalDependencies: react: 18.3.1 - solid-js: 1.8.21 - svelte: 4.2.18 - vue: 3.4.38(typescript@5.5.4) + solid-js: 1.8.23 + svelte: 4.2.19 + vue: 3.5.8(typescript@5.6.2) ajv@6.12.6: dependencies: @@ -5171,6 +5215,8 @@ snapshots: dependencies: dequal: 2.0.3 + aria-query@5.3.2: {} + array-buffer-byte-length@1.0.1: dependencies: call-bind: 1.0.7 @@ -5182,7 +5228,7 @@ snapshots: ast-types@0.16.1: dependencies: - tslib: 2.6.3 + tslib: 2.7.0 asynckit@0.4.0: {} @@ -5218,7 +5264,7 @@ snapshots: babel-plugin-jest-hoist@29.6.3: dependencies: '@babel/template': 7.25.0 - '@babel/types': 7.25.2 + '@babel/types': 7.25.6 '@types/babel__core': 7.20.5 '@types/babel__traverse': 7.20.6 @@ -5229,7 +5275,7 @@ snapshots: '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.25.2) '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.25.2) '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.25.2) - '@babel/plugin-syntax-import-attributes': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-syntax-import-attributes': 7.25.6(@babel/core@7.25.2) '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.25.2) '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.25.2) '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.25.2) @@ -5266,8 +5312,8 @@ snapshots: browserslist@4.23.3: dependencies: - caniuse-lite: 1.0.30001651 - electron-to-chromium: 1.5.12 + caniuse-lite: 1.0.30001663 + electron-to-chromium: 1.5.28 node-releases: 2.0.18 update-browserslist-db: 1.1.0(browserslist@4.23.3) @@ -5275,8 +5321,6 @@ snapshots: dependencies: node-int64: 0.4.0 - buffer-crc32@0.2.13: {} - buffer-crc32@1.0.0: {} buffer-from@1.1.2: {} @@ -5297,7 +5341,7 @@ snapshots: camelcase@6.3.0: {} - caniuse-lite@1.0.30001651: {} + caniuse-lite@1.0.30001663: {} chai@4.5.0: dependencies: @@ -5343,9 +5387,13 @@ snapshots: optionalDependencies: fsevents: 2.3.3 + chokidar@4.0.1: + dependencies: + readdirp: 4.0.1 + ci-info@3.9.0: {} - cjs-module-lexer@1.3.1: {} + cjs-module-lexer@1.4.1: {} cliui@8.0.1: dependencies: @@ -5358,7 +5406,7 @@ snapshots: code-red@1.0.4: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 acorn: 8.12.1 estree-walker: 3.0.3 periscopic: 3.1.0 @@ -5389,13 +5437,13 @@ snapshots: cookie@0.6.0: {} - create-jest@29.7.0(@types/node@22.4.1): + create-jest@29.7.0(@types/node@22.6.1): dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@22.4.1) + jest-config: 29.7.0(@types/node@22.6.1) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -5417,7 +5465,7 @@ snapshots: css-tree@2.3.1: dependencies: mdn-data: 2.0.30 - source-map-js: 1.2.0 + source-map-js: 1.2.1 css.escape@1.5.1: {} @@ -5435,11 +5483,11 @@ snapshots: whatwg-mimetype: 3.0.0 whatwg-url: 12.0.1 - dayjs@1.11.12: {} + dayjs@1.11.13: {} - debug@4.3.6: + debug@4.3.7: dependencies: - ms: 2.1.2 + ms: 2.1.3 decimal.js@10.4.3: {} @@ -5523,7 +5571,7 @@ snapshots: tslib: 2.3.0 zrender: 5.6.0 - electron-to-chromium@1.5.12: {} + electron-to-chromium@1.5.28: {} emittery@0.13.1: {} @@ -5583,7 +5631,7 @@ snapshots: '@esbuild/win32-ia32': 0.21.5 '@esbuild/win32-x64': 0.21.5 - escalade@3.1.2: {} + escalade@3.2.0: {} escape-string-regexp@1.0.5: {} @@ -5591,31 +5639,31 @@ snapshots: escape-string-regexp@4.0.0: {} - eslint-compat-utils@0.5.1(eslint@8.57.0): + eslint-compat-utils@0.5.1(eslint@8.57.1): dependencies: - eslint: 8.57.0 + eslint: 8.57.1 semver: 7.6.3 - eslint-config-prettier@9.1.0(eslint@8.57.0): + eslint-config-prettier@9.1.0(eslint@8.57.1): dependencies: - eslint: 8.57.0 + eslint: 8.57.1 - eslint-plugin-svelte@2.43.0(eslint@8.57.0)(svelte@4.2.18): + eslint-plugin-svelte@2.44.0(eslint@8.57.1)(svelte@4.2.19): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) '@jridgewell/sourcemap-codec': 1.5.0 - eslint: 8.57.0 - eslint-compat-utils: 0.5.1(eslint@8.57.0) + eslint: 8.57.1 + eslint-compat-utils: 0.5.1(eslint@8.57.1) esutils: 2.0.3 known-css-properties: 0.34.0 - postcss: 8.4.41 - postcss-load-config: 3.1.4(postcss@8.4.41) - postcss-safe-parser: 6.0.0(postcss@8.4.41) + postcss: 8.4.47 + postcss-load-config: 3.1.4(postcss@8.4.47) + postcss-safe-parser: 6.0.0(postcss@8.4.47) postcss-selector-parser: 6.1.2 semver: 7.6.3 - svelte-eslint-parser: 0.41.0(svelte@4.2.18) + svelte-eslint-parser: 0.41.1(svelte@4.2.19) optionalDependencies: - svelte: 4.2.18 + svelte: 4.2.19 transitivePeerDependencies: - ts-node @@ -5626,20 +5674,20 @@ snapshots: eslint-visitor-keys@3.4.3: {} - eslint@8.57.0: + eslint@8.57.1: dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@eslint-community/regexpp': 4.11.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) + '@eslint-community/regexpp': 4.11.1 '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.57.0 - '@humanwhocodes/config-array': 0.11.14 + '@eslint/js': 8.57.1 + '@humanwhocodes/config-array': 0.13.0 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 '@ungap/structured-clone': 1.2.0 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.6 + debug: 4.3.7 doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.2.2 @@ -5693,7 +5741,7 @@ snapshots: estree-walker@3.0.3: dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 esutils@2.0.3: {} @@ -5741,7 +5789,7 @@ snapshots: '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.7 + micromatch: 4.0.8 fast-json-stable-stringify@2.1.0: {} @@ -5783,7 +5831,7 @@ snapshots: flatted@3.3.1: {} - focus-trap@7.5.4: + focus-trap@7.6.0: dependencies: tabbable: 6.2.0 @@ -5912,14 +5960,14 @@ snapshots: dependencies: '@tootallnate/once': 2.0.0 agent-base: 6.0.2 - debug: 4.3.6 + debug: 4.3.7 transitivePeerDependencies: - supports-color https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 - debug: 4.3.6 + debug: 4.3.7 transitivePeerDependencies: - supports-color @@ -5944,17 +5992,9 @@ snapshots: dependencies: acorn: 8.12.1 acorn-import-attributes: 1.9.5(acorn@8.12.1) - cjs-module-lexer: 1.3.1 + cjs-module-lexer: 1.4.1 module-details-from-path: 1.0.3 - import-in-the-middle@1.7.1: - dependencies: - acorn: 8.12.1 - acorn-import-assertions: 1.9.0(acorn@8.12.1) - cjs-module-lexer: 1.3.1 - module-details-from-path: 1.0.3 - optional: true - import-local@3.2.0: dependencies: pkg-dir: 4.2.0 @@ -6006,7 +6046,7 @@ snapshots: is-callable@1.2.7: {} - is-core-module@2.15.0: + is-core-module@2.15.1: dependencies: hasown: 2.0.2 @@ -6038,7 +6078,7 @@ snapshots: is-reference@3.0.2: dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 is-regex@1.1.4: dependencies: @@ -6079,7 +6119,7 @@ snapshots: istanbul-lib-instrument@5.2.1: dependencies: '@babel/core': 7.25.2 - '@babel/parser': 7.25.3 + '@babel/parser': 7.25.6 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 semver: 6.3.1 @@ -6089,7 +6129,7 @@ snapshots: istanbul-lib-instrument@6.0.3: dependencies: '@babel/core': 7.25.2 - '@babel/parser': 7.25.3 + '@babel/parser': 7.25.6 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 semver: 7.6.3 @@ -6104,7 +6144,7 @@ snapshots: istanbul-lib-source-maps@4.0.1: dependencies: - debug: 4.3.6 + debug: 4.3.7 istanbul-lib-coverage: 3.2.2 source-map: 0.6.1 transitivePeerDependencies: @@ -6127,7 +6167,7 @@ snapshots: '@jest/expect': 29.7.0 '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.4.1 + '@types/node': 22.6.1 chalk: 4.1.2 co: 4.6.0 dedent: 1.5.3 @@ -6147,16 +6187,16 @@ snapshots: - babel-plugin-macros - supports-color - jest-cli@29.7.0(@types/node@22.4.1): + jest-cli@29.7.0(@types/node@22.6.1): dependencies: '@jest/core': 29.7.0 '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@22.4.1) + create-jest: 29.7.0(@types/node@22.6.1) exit: 0.1.2 import-local: 3.2.0 - jest-config: 29.7.0(@types/node@22.4.1) + jest-config: 29.7.0(@types/node@22.6.1) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -6166,7 +6206,7 @@ snapshots: - supports-color - ts-node - jest-config@29.7.0(@types/node@22.4.1): + jest-config@29.7.0(@types/node@22.6.1): dependencies: '@babel/core': 7.25.2 '@jest/test-sequencer': 29.7.0 @@ -6185,13 +6225,13 @@ snapshots: jest-runner: 29.7.0 jest-util: 29.7.0 jest-validate: 29.7.0 - micromatch: 4.0.7 + micromatch: 4.0.8 parse-json: 5.2.0 pretty-format: 29.7.0 slash: 3.0.0 strip-json-comments: 3.1.1 optionalDependencies: - '@types/node': 22.4.1 + '@types/node': 22.6.1 transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -6220,7 +6260,7 @@ snapshots: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.4.1 + '@types/node': 22.6.1 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -6230,14 +6270,14 @@ snapshots: dependencies: '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.9 - '@types/node': 22.4.1 + '@types/node': 22.6.1 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 jest-regex-util: 29.6.3 jest-util: 29.7.0 jest-worker: 29.7.0 - micromatch: 4.0.7 + micromatch: 4.0.8 walker: 1.0.8 optionalDependencies: fsevents: 2.3.3 @@ -6261,7 +6301,7 @@ snapshots: '@types/stack-utils': 2.0.3 chalk: 4.1.2 graceful-fs: 4.2.11 - micromatch: 4.0.7 + micromatch: 4.0.8 pretty-format: 29.7.0 slash: 3.0.0 stack-utils: 2.0.6 @@ -6269,7 +6309,7 @@ snapshots: jest-mock@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 22.4.1 + '@types/node': 22.6.1 jest-util: 29.7.0 jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): @@ -6304,7 +6344,7 @@ snapshots: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.4.1 + '@types/node': 22.6.1 chalk: 4.1.2 emittery: 0.13.1 graceful-fs: 4.2.11 @@ -6332,9 +6372,9 @@ snapshots: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.4.1 + '@types/node': 22.6.1 chalk: 4.1.2 - cjs-module-lexer: 1.3.1 + cjs-module-lexer: 1.4.1 collect-v8-coverage: 1.0.2 glob: 7.2.3 graceful-fs: 4.2.11 @@ -6353,10 +6393,10 @@ snapshots: jest-snapshot@29.7.0: dependencies: '@babel/core': 7.25.2 - '@babel/generator': 7.25.0 + '@babel/generator': 7.25.6 '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-syntax-typescript': 7.24.7(@babel/core@7.25.2) - '@babel/types': 7.25.2 + '@babel/plugin-syntax-typescript': 7.25.4(@babel/core@7.25.2) + '@babel/types': 7.25.6 '@jest/expect-utils': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 @@ -6378,7 +6418,7 @@ snapshots: jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 22.4.1 + '@types/node': 22.6.1 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -6397,7 +6437,7 @@ snapshots: dependencies: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 22.4.1 + '@types/node': 22.6.1 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 @@ -6406,17 +6446,17 @@ snapshots: jest-worker@29.7.0: dependencies: - '@types/node': 22.4.1 + '@types/node': 22.6.1 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 - jest@29.7.0(@types/node@22.4.1): + jest@29.7.0(@types/node@22.6.1): dependencies: '@jest/core': 29.7.0 '@jest/types': 29.6.3 import-local: 3.2.0 - jest-cli: 29.7.0(@types/node@22.4.1) + jest-cli: 29.7.0(@types/node@22.6.1) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -6502,7 +6542,7 @@ snapshots: local-pkg@0.5.0: dependencies: mlly: 1.7.1 - pkg-types: 1.1.3 + pkg-types: 1.2.0 locate-character@3.0.0: {} @@ -6550,8 +6590,8 @@ snapshots: magicast@0.2.8: dependencies: - '@babel/parser': 7.25.3 - '@babel/types': 7.25.2 + '@babel/parser': 7.25.6 + '@babel/types': 7.25.6 recast: 0.23.9 make-dir@4.0.0: @@ -6568,7 +6608,7 @@ snapshots: merge2@1.4.1: {} - micromatch@4.0.7: + micromatch@4.0.8: dependencies: braces: 3.0.3 picomatch: 2.3.1 @@ -6611,7 +6651,7 @@ snapshots: dependencies: acorn: 8.12.1 pathe: 1.1.2 - pkg-types: 1.1.3 + pkg-types: 1.2.0 ufo: 1.5.4 module-details-from-path@1.0.3: {} @@ -6620,7 +6660,7 @@ snapshots: mrmime@2.0.0: {} - ms@2.1.2: {} + ms@2.1.3: {} nanoid@3.3.6: {} @@ -6680,15 +6720,6 @@ snapshots: dependencies: mimic-fn: 4.0.0 - opentelemetry-instrumentation-fetch-node@1.2.3(@opentelemetry/api@1.9.0): - dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/instrumentation': 0.46.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.27.0 - transitivePeerDependencies: - - supports-color - optional: true - optionator@0.9.4: dependencies: deep-is: 0.1.4 @@ -6758,13 +6789,13 @@ snapshots: periscopic@3.1.0: dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 estree-walker: 3.0.3 is-reference: 3.0.2 pg-int8@1.0.1: {} - pg-protocol@1.6.1: {} + pg-protocol@1.7.0: {} pg-types@2.2.0: dependencies: @@ -6774,7 +6805,7 @@ snapshots: postgres-date: 1.0.7 postgres-interval: 1.2.0 - picocolors@1.0.1: {} + picocolors@1.1.0: {} picomatch@2.3.1: {} @@ -6784,7 +6815,7 @@ snapshots: dependencies: find-up: 4.1.0 - pkg-types@1.1.3: + pkg-types@1.2.0: dependencies: confbox: 0.1.7 mlly: 1.7.1 @@ -6792,41 +6823,41 @@ snapshots: plausible-tracker@0.3.9: {} - playwright-core@1.46.1: {} + playwright-core@1.47.2: {} - playwright@1.46.1: + playwright@1.47.2: dependencies: - playwright-core: 1.46.1 + playwright-core: 1.47.2 optionalDependencies: fsevents: 2.3.2 possible-typed-array-names@1.0.0: {} - postcss-load-config@3.1.4(postcss@8.4.41): + postcss-load-config@3.1.4(postcss@8.4.47): dependencies: lilconfig: 2.1.0 yaml: 1.10.2 optionalDependencies: - postcss: 8.4.41 + postcss: 8.4.47 - postcss-safe-parser@6.0.0(postcss@8.4.41): + postcss-safe-parser@6.0.0(postcss@8.4.47): dependencies: - postcss: 8.4.41 + postcss: 8.4.47 - postcss-scss@4.0.9(postcss@8.4.41): + postcss-scss@4.0.9(postcss@8.4.47): dependencies: - postcss: 8.4.41 + postcss: 8.4.47 postcss-selector-parser@6.1.2: dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 - postcss@8.4.41: + postcss@8.4.47: dependencies: nanoid: 3.3.7 - picocolors: 1.0.1 - source-map-js: 1.2.0 + picocolors: 1.1.0 + source-map-js: 1.2.1 postgres-array@2.0.0: {} @@ -6840,10 +6871,10 @@ snapshots: prelude-ls@1.2.1: {} - prettier-plugin-svelte@3.2.6(prettier@3.3.3)(svelte@4.2.18): + prettier-plugin-svelte@3.2.6(prettier@3.3.3)(svelte@4.2.19): dependencies: prettier: 3.3.3 - svelte: 4.2.18 + svelte: 4.2.19 prettier@3.3.3: {} @@ -6894,13 +6925,15 @@ snapshots: dependencies: picomatch: 2.3.1 + readdirp@4.0.1: {} + recast@0.23.9: dependencies: ast-types: 0.16.1 esprima: 4.0.1 source-map: 0.6.1 tiny-invariant: 1.3.3 - tslib: 2.6.3 + tslib: 2.7.0 redent@3.0.0: dependencies: @@ -6920,7 +6953,7 @@ snapshots: require-in-the-middle@7.4.0: dependencies: - debug: 4.3.6 + debug: 4.3.7 module-details-from-path: 1.0.3 resolve: 1.22.8 transitivePeerDependencies: @@ -6940,7 +6973,7 @@ snapshots: resolve@1.22.8: dependencies: - is-core-module: 2.15.0 + is-core-module: 2.15.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 @@ -6954,26 +6987,26 @@ snapshots: dependencies: glob: 7.2.3 - rollup@4.21.0: + rollup@4.22.4: dependencies: '@types/estree': 1.0.5 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.21.0 - '@rollup/rollup-android-arm64': 4.21.0 - '@rollup/rollup-darwin-arm64': 4.21.0 - '@rollup/rollup-darwin-x64': 4.21.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.21.0 - '@rollup/rollup-linux-arm-musleabihf': 4.21.0 - '@rollup/rollup-linux-arm64-gnu': 4.21.0 - '@rollup/rollup-linux-arm64-musl': 4.21.0 - '@rollup/rollup-linux-powerpc64le-gnu': 4.21.0 - '@rollup/rollup-linux-riscv64-gnu': 4.21.0 - '@rollup/rollup-linux-s390x-gnu': 4.21.0 - '@rollup/rollup-linux-x64-gnu': 4.21.0 - '@rollup/rollup-linux-x64-musl': 4.21.0 - '@rollup/rollup-win32-arm64-msvc': 4.21.0 - '@rollup/rollup-win32-ia32-msvc': 4.21.0 - '@rollup/rollup-win32-x64-msvc': 4.21.0 + '@rollup/rollup-android-arm-eabi': 4.22.4 + '@rollup/rollup-android-arm64': 4.22.4 + '@rollup/rollup-darwin-arm64': 4.22.4 + '@rollup/rollup-darwin-x64': 4.22.4 + '@rollup/rollup-linux-arm-gnueabihf': 4.22.4 + '@rollup/rollup-linux-arm-musleabihf': 4.22.4 + '@rollup/rollup-linux-arm64-gnu': 4.22.4 + '@rollup/rollup-linux-arm64-musl': 4.22.4 + '@rollup/rollup-linux-powerpc64le-gnu': 4.22.4 + '@rollup/rollup-linux-riscv64-gnu': 4.22.4 + '@rollup/rollup-linux-s390x-gnu': 4.22.4 + '@rollup/rollup-linux-x64-gnu': 4.22.4 + '@rollup/rollup-linux-x64-musl': 4.22.4 + '@rollup/rollup-win32-arm64-msvc': 4.22.4 + '@rollup/rollup-win32-ia32-msvc': 4.22.4 + '@rollup/rollup-win32-x64-msvc': 4.22.4 fsevents: 2.3.3 rrweb-cssom@0.6.0: {} @@ -6995,11 +7028,11 @@ snapshots: mkdirp: 0.5.6 rimraf: 2.7.1 - sass@1.77.8: + sass@1.79.3: dependencies: - chokidar: 3.6.0 + chokidar: 4.0.1 immutable: 4.3.7 - source-map-js: 1.2.0 + source-map-js: 1.2.1 saxes@6.0.0: dependencies: @@ -7056,7 +7089,7 @@ snapshots: sirv@2.0.4: dependencies: - '@polka/url': 1.0.0-next.25 + '@polka/url': 1.0.0-next.28 mrmime: 2.0.0 totalist: 3.0.1 @@ -7064,24 +7097,17 @@ snapshots: slash@3.0.0: {} - solid-js@1.8.21: + solid-js@1.8.23: dependencies: csstype: 3.1.3 seroval: 1.1.1 seroval-plugins: 1.1.1(seroval@1.1.1) - solid-swr-store@0.10.7(solid-js@1.8.21)(swr-store@0.10.6): + solid-swr-store@0.10.7(solid-js@1.8.23)(swr-store@0.10.6): dependencies: - solid-js: 1.8.21 + solid-js: 1.8.23 swr-store: 0.10.6 - sorcery@0.11.0: - dependencies: - '@jridgewell/sourcemap-codec': 1.5.0 - buffer-crc32: 0.2.13 - minimist: 1.2.8 - sander: 0.5.1 - sorcery@0.11.1: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 @@ -7089,7 +7115,13 @@ snapshots: minimist: 1.2.8 sander: 0.5.1 - source-map-js@1.2.0: {} + sorcery@1.0.0: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.0 + minimist: 1.2.8 + tiny-glob: 0.2.9 + + source-map-js@1.2.1: {} source-map-support@0.5.13: dependencies: @@ -7100,9 +7132,9 @@ snapshots: sprintf-js@1.0.3: {} - sswr@2.0.0(svelte@4.2.18): + sswr@2.0.0(svelte@4.2.19): dependencies: - svelte: 4.2.18 + svelte: 4.2.19 swrev: 4.0.0 stack-utils@2.0.6: @@ -7162,15 +7194,15 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - svelte-check@3.8.5(@babel/core@7.25.2)(postcss-load-config@3.1.4(postcss@8.4.41))(postcss@8.4.41)(sass@1.77.8)(svelte@4.2.18): + svelte-check@3.8.6(@babel/core@7.25.2)(postcss-load-config@3.1.4(postcss@8.4.47))(postcss@8.4.47)(sass@1.79.3)(svelte@4.2.19): dependencies: '@jridgewell/trace-mapping': 0.3.25 chokidar: 3.6.0 - picocolors: 1.0.1 + picocolors: 1.1.0 sade: 1.8.1 - svelte: 4.2.18 - svelte-preprocess: 5.1.4(@babel/core@7.25.2)(postcss-load-config@3.1.4(postcss@8.4.41))(postcss@8.4.41)(sass@1.77.8)(svelte@4.2.18)(typescript@5.5.4) - typescript: 5.5.4 + svelte: 4.2.19 + svelte-preprocess: 5.1.4(@babel/core@7.25.2)(postcss-load-config@3.1.4(postcss@8.4.47))(postcss@8.4.47)(sass@1.79.3)(svelte@4.2.19)(typescript@5.6.2) + typescript: 5.6.2 transitivePeerDependencies: - '@babel/core' - coffeescript @@ -7182,67 +7214,67 @@ snapshots: - stylus - sugarss - svelte-confetti@1.4.0(svelte@4.2.18): + svelte-confetti@1.4.0(svelte@4.2.19): dependencies: - svelte: 4.2.18 + svelte: 4.2.19 - svelte-eslint-parser@0.41.0(svelte@4.2.18): + svelte-eslint-parser@0.41.1(svelte@4.2.19): dependencies: eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 espree: 9.6.1 - postcss: 8.4.41 - postcss-scss: 4.0.9(postcss@8.4.41) + postcss: 8.4.47 + postcss-scss: 4.0.9(postcss@8.4.47) optionalDependencies: - svelte: 4.2.18 + svelte: 4.2.19 - svelte-hmr@0.16.0(svelte@4.2.18): + svelte-hmr@0.16.0(svelte@4.2.19): dependencies: - svelte: 4.2.18 + svelte: 4.2.19 - svelte-jester@2.3.2(jest@29.7.0(@types/node@22.4.1))(svelte@4.2.18): + svelte-jester@2.3.2(jest@29.7.0(@types/node@22.6.1))(svelte@4.2.19): dependencies: - jest: 29.7.0(@types/node@22.4.1) - svelte: 4.2.18 + jest: 29.7.0(@types/node@22.6.1) + svelte: 4.2.19 - svelte-preprocess@5.1.4(@babel/core@7.25.2)(postcss-load-config@3.1.4(postcss@8.4.41))(postcss@8.4.41)(sass@1.77.8)(svelte@4.2.18)(typescript@5.5.4): + svelte-preprocess@5.1.4(@babel/core@7.25.2)(postcss-load-config@3.1.4(postcss@8.4.47))(postcss@8.4.47)(sass@1.79.3)(svelte@4.2.19)(typescript@5.6.2): dependencies: '@types/pug': 2.0.10 detect-indent: 6.1.0 magic-string: 0.30.11 sorcery: 0.11.1 strip-indent: 3.0.0 - svelte: 4.2.18 + svelte: 4.2.19 optionalDependencies: '@babel/core': 7.25.2 - postcss: 8.4.41 - postcss-load-config: 3.1.4(postcss@8.4.41) - sass: 1.77.8 - typescript: 5.5.4 + postcss: 8.4.47 + postcss-load-config: 3.1.4(postcss@8.4.47) + sass: 1.79.3 + typescript: 5.6.2 - svelte-preprocess@6.0.2(@babel/core@7.25.2)(postcss-load-config@3.1.4(postcss@8.4.41))(postcss@8.4.41)(sass@1.77.8)(svelte@4.2.18)(typescript@5.5.4): + svelte-preprocess@6.0.2(@babel/core@7.25.2)(postcss-load-config@3.1.4(postcss@8.4.47))(postcss@8.4.47)(sass@1.79.3)(svelte@4.2.19)(typescript@5.6.2): dependencies: - svelte: 4.2.18 + svelte: 4.2.19 optionalDependencies: '@babel/core': 7.25.2 - postcss: 8.4.41 - postcss-load-config: 3.1.4(postcss@8.4.41) - sass: 1.77.8 - typescript: 5.5.4 + postcss: 8.4.47 + postcss-load-config: 3.1.4(postcss@8.4.47) + sass: 1.79.3 + typescript: 5.6.2 svelte-sequential-preprocessor@2.0.1: dependencies: - svelte: 4.2.18 + svelte: 4.2.19 tslib: 2.6.3 - svelte@4.2.18: + svelte@4.2.19: dependencies: '@ampproject/remapping': 2.3.0 '@jridgewell/sourcemap-codec': 1.5.0 '@jridgewell/trace-mapping': 0.3.25 - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 acorn: 8.12.1 - aria-query: 5.3.0 + aria-query: 5.3.2 axobject-query: 4.1.0 code-red: 1.0.4 css-tree: 2.3.1 @@ -7263,9 +7295,9 @@ snapshots: swrev@4.0.0: {} - swrv@1.0.4(vue@3.4.38(typescript@5.5.4)): + swrv@1.0.4(vue@3.5.8(typescript@5.6.2)): dependencies: - vue: 3.4.38(typescript@5.5.4) + vue: 3.5.8(typescript@5.6.2) symbol-tree@3.2.4: {} @@ -7279,7 +7311,7 @@ snapshots: text-table@0.2.0: {} - the-new-css-reset@1.11.2: {} + the-new-css-reset@1.11.3: {} tiny-glob@0.2.9: dependencies: @@ -7321,14 +7353,16 @@ snapshots: dependencies: punycode: 2.3.1 - ts-api-utils@1.3.0(typescript@5.5.4): + ts-api-utils@1.3.0(typescript@5.6.2): dependencies: - typescript: 5.5.4 + typescript: 5.6.2 tslib@2.3.0: {} tslib@2.6.3: {} + tslib@2.7.0: {} + type-check@0.4.0: dependencies: prelude-ls: 1.2.1 @@ -7341,7 +7375,7 @@ snapshots: type-fest@0.21.3: {} - typescript@5.5.4: {} + typescript@5.6.2: {} ufo@1.5.4: {} @@ -7359,8 +7393,8 @@ snapshots: update-browserslist-db@1.1.0(browserslist@4.23.3): dependencies: browserslist: 4.23.3 - escalade: 3.1.2 - picocolors: 1.0.1 + escalade: 3.2.0 + picocolors: 1.1.0 uri-js@4.4.1: dependencies: @@ -7383,13 +7417,13 @@ snapshots: '@types/istanbul-lib-coverage': 2.0.6 convert-source-map: 2.0.0 - vite-node@1.6.0(@types/node@22.4.1)(sass@1.77.8): + vite-node@1.6.0(@types/node@22.6.1)(sass@1.79.3): dependencies: cac: 6.7.14 - debug: 4.3.6 + debug: 4.3.7 pathe: 1.1.2 - picocolors: 1.0.1 - vite: 5.4.1(@types/node@22.4.1)(sass@1.77.8) + picocolors: 1.1.0 + vite: 5.4.7(@types/node@22.6.1)(sass@1.79.3) transitivePeerDependencies: - '@types/node' - less @@ -7401,44 +7435,44 @@ snapshots: - supports-color - terser - vite@5.4.1(@types/node@22.4.1)(sass@1.77.8): + vite@5.4.7(@types/node@22.6.1)(sass@1.79.3): dependencies: esbuild: 0.21.5 - postcss: 8.4.41 - rollup: 4.21.0 + postcss: 8.4.47 + rollup: 4.22.4 optionalDependencies: - '@types/node': 22.4.1 + '@types/node': 22.6.1 fsevents: 2.3.3 - sass: 1.77.8 + sass: 1.79.3 - vitefu@0.2.5(vite@5.4.1(@types/node@22.4.1)(sass@1.77.8)): + vitefu@0.2.5(vite@5.4.7(@types/node@22.6.1)(sass@1.79.3)): optionalDependencies: - vite: 5.4.1(@types/node@22.4.1)(sass@1.77.8) + vite: 5.4.7(@types/node@22.6.1)(sass@1.79.3) - vitest@1.6.0(@types/node@22.4.1)(@vitest/ui@1.6.0)(jsdom@22.1.0)(sass@1.77.8): + vitest@1.6.0(@types/node@22.6.1)(@vitest/ui@1.6.0)(jsdom@22.1.0)(sass@1.79.3): dependencies: '@vitest/expect': 1.6.0 '@vitest/runner': 1.6.0 '@vitest/snapshot': 1.6.0 '@vitest/spy': 1.6.0 '@vitest/utils': 1.6.0 - acorn-walk: 8.3.3 + acorn-walk: 8.3.4 chai: 4.5.0 - debug: 4.3.6 + debug: 4.3.7 execa: 8.0.1 local-pkg: 0.5.0 magic-string: 0.30.11 pathe: 1.1.2 - picocolors: 1.0.1 + picocolors: 1.1.0 std-env: 3.7.0 strip-literal: 2.1.0 tinybench: 2.9.0 tinypool: 0.8.4 - vite: 5.4.1(@types/node@22.4.1)(sass@1.77.8) - vite-node: 1.6.0(@types/node@22.4.1)(sass@1.77.8) + vite: 5.4.7(@types/node@22.6.1)(sass@1.79.3) + vite-node: 1.6.0(@types/node@22.6.1)(sass@1.79.3) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 22.4.1 + '@types/node': 22.6.1 '@vitest/ui': 1.6.0(vitest@1.6.0) jsdom: 22.1.0 transitivePeerDependencies: @@ -7451,15 +7485,15 @@ snapshots: - supports-color - terser - vue@3.4.38(typescript@5.5.4): + vue@3.5.8(typescript@5.6.2): dependencies: - '@vue/compiler-dom': 3.4.38 - '@vue/compiler-sfc': 3.4.38 - '@vue/runtime-dom': 3.4.38 - '@vue/server-renderer': 3.4.38(vue@3.4.38(typescript@5.5.4)) - '@vue/shared': 3.4.38 + '@vue/compiler-dom': 3.5.8 + '@vue/compiler-sfc': 3.5.8 + '@vue/runtime-dom': 3.5.8 + '@vue/server-renderer': 3.5.8(vue@3.5.8(typescript@5.6.2)) + '@vue/shared': 3.5.8 optionalDependencies: - typescript: 5.5.4 + typescript: 5.6.2 w3c-xmlserializer@4.0.0: dependencies: @@ -7559,7 +7593,7 @@ snapshots: yargs@17.7.2: dependencies: cliui: 8.0.1 - escalade: 3.1.2 + escalade: 3.2.0 get-caller-file: 2.0.5 require-directory: 2.1.1 string-width: 4.2.3 diff --git a/src/lib/actions/analytics.ts b/src/lib/actions/analytics.ts index 7f04541a4..0ce5f5cf5 100644 --- a/src/lib/actions/analytics.ts +++ b/src/lib/actions/analytics.ts @@ -184,6 +184,7 @@ export enum Submit { ProjectUpdateSMTP = 'submit_project_update_smtp', MemberCreate = 'submit_member_create', MemberDelete = 'submit_member_delete', + MembershipUpdate = 'submit_membership_update', MembershipUpdateStatus = 'submit_membership_update_status', ProviderUpdate = 'submit_provider_update', TeamCreate = 'submit_team_create', diff --git a/src/lib/components/billing/estimatedTotalBox.svelte b/src/lib/components/billing/estimatedTotalBox.svelte index 303e8de23..4945598e1 100644 --- a/src/lib/components/billing/estimatedTotalBox.svelte +++ b/src/lib/components/billing/estimatedTotalBox.svelte @@ -19,7 +19,7 @@ let budgetEnabled = false; $: currentPlan = $plansInfo.get(billingPlan); - $: extraSeatsCost = (collaborators?.length ?? 0) * (currentPlan?.addons?.member?.price ?? 0); + $: extraSeatsCost = 0; // 0 untile trial period later replace (collaborators?.length ?? 0) * (currentPlan?.addons?.member?.price ?? 0); $: grossCost = currentPlan.price + extraSeatsCost; $: estimatedTotal = couponData?.status === 'active' diff --git a/src/lib/components/bottomModalAlert.svelte b/src/lib/components/bottomModalAlert.svelte new file mode 100644 index 000000000..c0623b24d --- /dev/null +++ b/src/lib/components/bottomModalAlert.svelte @@ -0,0 +1,414 @@ + + +{#if filteredModalAlerts.length > 0 && currentModalAlert} + {@const shouldShowUpgrade = showUpgrade()} +
+
+
+ {#key currentModalAlert.id} + + +
+ {#if $app.themeInUse === 'dark'} + {currentModalAlert.title} + {:else} + {currentModalAlert.title} + {/if} + + {#if filteredModalAlerts.length > 1} +
+ + Feature {currentIndex + 1} of {filteredModalAlerts.length} + + +
+
+
+ {/if} + +
+

{currentModalAlert.title}

+ + + {#if currentModalAlert.isHtml} + {@html currentModalAlert.message} + {:else} + {currentModalAlert.message} + {/if} + +
+ +
+ + + {#if currentModalAlert.learnMore} + + {/if} +
+
+ {/key} +
+
+
+ +
+ {#if openModalOnMobile} +
+
+ {#key currentModalAlert.id} + + +
+ {#if $app.themeInUse === 'dark'} + {currentModalAlert.title} + {:else} + {currentModalAlert.title} + {/if} + + {#if filteredModalAlerts.length > 1} +
+ + Feature {currentIndex + 1} of {filteredModalAlerts.length} + + +
+
+
+ {/if} + +
+

{currentModalAlert.title}

+ + + {#if currentModalAlert.isHtml} + {@html currentModalAlert.message} + {:else} + {currentModalAlert.message} + {/if} + +
+ +
+ + + {#if currentModalAlert.learnMore} + + {/if} +
+
+ {/key} +
+
+ {:else} + +
+ + + Explore new features to enhance your projects and improve security. + + + + {/if} + +{/if} + + diff --git a/src/lib/components/cardContainer.svelte b/src/lib/components/cardContainer.svelte index 35357f1ef..0590e6182 100644 --- a/src/lib/components/cardContainer.svelte +++ b/src/lib/components/cardContainer.svelte @@ -7,6 +7,7 @@ import { isCloud } from '$lib/system'; import CardPlanLimit from './cardPlanLimit.svelte'; + export let showEmpty = true; export let offset = 0; export let total = 0; export let event: string = null; @@ -27,7 +28,7 @@ {#if total > 3 ? total < limit + offset : total % 2 !== 0} {#if isCloud && serviceId && total >= planLimit} - {:else} + {:else if showEmpty} diff --git a/src/lib/components/empty.svelte b/src/lib/components/empty.svelte index 475dc4016..a91c0eb51 100644 --- a/src/lib/components/empty.svelte +++ b/src/lib/components/empty.svelte @@ -5,14 +5,28 @@ import EmptyDark from '$lib/images/empty-dark.svg'; import { Heading } from '.'; import { trackEvent } from '$lib/actions/analytics'; + import { createEventDispatcher } from 'svelte'; export let single = false; export let noMedia = false; export let target: string = null; export let href: string = null; export let marginTop = false; + export let allowCreate = true; + + const dispatch = createEventDispatcher(); + + function onClick(event) { + if (!allowCreate) { + return; + } + dispatch('click', event); + } function track() { + if (!allowCreate) { + return; + } if (target) { trackEvent(`click_create_${target}`, { from: 'empty' @@ -28,8 +42,8 @@ {#if !noMedia} - + {#if allowCreate} + + {/if} diff --git a/src/lib/components/feedback/feedback.svelte b/src/lib/components/feedback/feedback.svelte index db063755a..0a3d17b7c 100644 --- a/src/lib/components/feedback/feedback.svelte +++ b/src/lib/components/feedback/feedback.svelte @@ -6,7 +6,10 @@ feedbackOptions, feedbackData } from '$lib/stores/feedback'; + import { user } from '$lib/stores/user'; + import { organization } from '$lib/stores/organization'; import { addNotification } from '$lib/stores/notifications'; + import { page } from '$app/stores'; $: $selectedFeedback = feedbackOptions.find((option) => option.type === $feedback.type); @@ -15,8 +18,11 @@ await feedback.submitFeedback( `feedback-${$feedback.type}`, $feedbackData.message, - $feedbackData.name, - $feedbackData.email + $user.name, + $user.email, + $organization.billingPlan, + $page.url.href, + $feedbackData.value ); addNotification({ type: 'success', diff --git a/src/lib/components/feedback/feedbackGeneral.svelte b/src/lib/components/feedback/feedbackGeneral.svelte index 183921a56..642cbf6bb 100644 --- a/src/lib/components/feedback/feedbackGeneral.svelte +++ b/src/lib/components/feedback/feedbackGeneral.svelte @@ -1,15 +1,9 @@ - - - import { FormList, InputTextarea, InputText, InputEmail } from '$lib/elements/forms'; + import { FormList, InputTextarea } from '$lib/elements/forms'; import { feedbackData } from '$lib/stores/feedback'; import Evaluation from './evaluation.svelte'; @@ -16,15 +16,5 @@ required bind:value={$feedbackData.message} showLabel={false} /> - - {/if} diff --git a/src/lib/components/index.ts b/src/lib/components/index.ts index be9f955e9..265d605c1 100644 --- a/src/lib/components/index.ts +++ b/src/lib/components/index.ts @@ -75,3 +75,4 @@ export { default as ModalSideCol } from './modalSideCol.svelte'; export { default as EmptyCardImageCloud } from './emptyCardImageCloud.svelte'; export { default as ImagePreview } from './imagePreview.svelte'; export { default as MfaChallengeFormList } from './mfaChallengeFormList.svelte'; +export { default as BottomModalAlert } from './bottomModalAlert.svelte'; diff --git a/src/lib/components/mfaChallengeFormList.svelte b/src/lib/components/mfaChallengeFormList.svelte index 4cb2f1062..8cbb2bcc3 100644 --- a/src/lib/components/mfaChallengeFormList.svelte +++ b/src/lib/components/mfaChallengeFormList.svelte @@ -1,4 +1,6 @@
- {#if currentValue !== undefined && currentUnit !== undefined && progress !== undefined && maxValue !== undefined && maxUnit !== undefined} + {#if currentValue !== undefined && currentUnit !== undefined && progress !== undefined && maxValue !== undefined}

@@ -26,7 +26,7 @@

{maxValue} - {maxUnit} + {maxUnit && maxUnit}

{/if} diff --git a/src/lib/components/progressbar/ProgressBar.svelte b/src/lib/components/progressbar/ProgressBar.svelte index 575c782c0..4c03e2883 100644 --- a/src/lib/components/progressbar/ProgressBar.svelte +++ b/src/lib/components/progressbar/ProgressBar.svelte @@ -64,6 +64,7 @@ display: flex; flex-direction: row; gap: 2px; + margin-top: 1rem; } &__content { diff --git a/src/lib/components/roles/base.svelte b/src/lib/components/roles/base.svelte new file mode 100644 index 000000000..9e37e47b5 --- /dev/null +++ b/src/lib/components/roles/base.svelte @@ -0,0 +1,21 @@ +
+ +
+ + diff --git a/src/lib/components/roles/default.svelte b/src/lib/components/roles/default.svelte new file mode 100644 index 000000000..9fbd42950 --- /dev/null +++ b/src/lib/components/roles/default.svelte @@ -0,0 +1,19 @@ + + + +
+

+ By default, all members are assigned a Developer role. You can + change this at any time from your organization settings. +

+

+ Learn more about roles. +

+
+ diff --git a/src/lib/components/roles/roles.svelte b/src/lib/components/roles/roles.svelte new file mode 100644 index 000000000..79d1b1d83 --- /dev/null +++ b/src/lib/components/roles/roles.svelte @@ -0,0 +1,17 @@ + + + +
+

Roles

+

Owner, Developer, Editor, Analyst and Billing.

+

+ Learn more about roles. +

+
+ diff --git a/src/lib/components/roles/upgrade.svelte b/src/lib/components/roles/upgrade.svelte new file mode 100644 index 000000000..9e5487476 --- /dev/null +++ b/src/lib/components/roles/upgrade.svelte @@ -0,0 +1,62 @@ + + + + {#if isCloud} + {#if $organization?.billingPlan !== BillingPlan.FREE} +
+

+ Roles + {#if $organization?.billingPlan === BillingPlan.FREE} + Pro plan + {/if} +

+

Owner, Developer, Editor, Analyst and Billing.

+
+

+ about roles. +

+ {:else} +
+

+ Roles + {#if $organization?.billingPlan === BillingPlan.FREE} + Pro plan + {/if} +

+

+ Upgrade to Pro to assign new roles to members such as Owner, Developer, Editor + or Analyst. +

+
+

+ + +

+ {/if} + {:else} +
+

+ Roles + Appwrite Cloud +

+

+ Upgrade to Cloud to assign new roles to members or ask us about our entriprise self + hosted offering. +

+
+

+ + +

+ {/if} + diff --git a/src/lib/constants.ts b/src/lib/constants.ts index 707d0f66f..02d7a2768 100644 --- a/src/lib/constants.ts +++ b/src/lib/constants.ts @@ -61,6 +61,65 @@ export enum Dependencies { MESSAGING_TOPIC_SUBSCRIBERS = 'dependency:messaging_topic_subscribers' } +export const defaultScopes: string[] = [ + 'global', + 'public', + 'home', + 'console', + 'graphql', + 'sessions.write', + 'account', + 'teams.read', + 'teams.write', + 'documents.read', + 'documents.write', + 'files.read', + 'files.write', + 'projects.read', + 'projects.write', + 'locale.read', + 'avatars.read', + 'execution.read', + 'execution.write', + 'targets.read', + 'targets.write', + 'subscribers.write', + 'subscribers.read', + 'assistant.read', + 'users.read', + 'users.write', + 'databases.read', + 'databases.write', + 'collections.read', + 'collections.write', + 'buckets.read', + 'buckets.write', + 'functions.read', + 'functions.write', + 'platforms.read', + 'platforms.write', + 'keys.read', + 'keys.write', + 'webhooks.read', + 'webhooks.write', + 'rules.read', + 'rules.write', + 'migrations.read', + 'migrations.write', + 'vcs.read', + 'vcs.write', + 'providers.read', + 'providers.write', + 'messages.read', + 'messages.write', + 'topics.read', + 'topics.write', + 'billing.read', + 'billing.write' +]; + +export const defaultRoles: string[] = ['owner']; + export const scopes: { scope: string; description: string; diff --git a/src/lib/elements/forms/inputDigits.svelte b/src/lib/elements/forms/inputDigits.svelte index c822d50bb..71b330027 100644 --- a/src/lib/elements/forms/inputDigits.svelte +++ b/src/lib/elements/forms/inputDigits.svelte @@ -38,6 +38,21 @@ } }); + /** + * Clears the input fields and moves the focus to the first input. + * Usually used when resetting fields on auth fails, etc. + */ + export function clearInputsAndRefocus() { + value = ''; + autoSubmitted = false; + + if (element) { + const inputs = element.querySelectorAll('input'); + inputs.forEach((input) => (input.value = '')); + if (autofocus) inputs[0].focus(); + } + } + onMount(() => { const interval = setInterval(() => { const input = element.querySelector('input'); diff --git a/src/lib/elements/forms/inputSelect.svelte b/src/lib/elements/forms/inputSelect.svelte index 6db208a9f..9e4c12c7e 100644 --- a/src/lib/elements/forms/inputSelect.svelte +++ b/src/lib/elements/forms/inputSelect.svelte @@ -1,6 +1,8 @@ {#if $organization?.$id} @@ -108,7 +111,7 @@ {$organization.name} {#if isCloud && $organization?.billingPlan === BillingPlan.FREE} - FREE + FREE {/if} {#if isCloud && $organization?.billingTrialStartDate && $daysLeftInTrial > 0 && $organization.billingPlan !== BillingPlan.FREE && $plansInfo.get($organization.billingPlan)?.trialDays}
- TRIAL + TRIAL
{/if} @@ -160,16 +163,19 @@ } plan`, disabled: !areMembersLimited }}> - + {#if $isOwner} + + {/if}
- + + {#each tabs as tab} import { page } from '$app/stores'; import { Submit, trackError, trackEvent } from '$lib/actions/analytics'; - import { AvatarInitials, PaginationWithLimit } from '$lib/components'; + import { AvatarInitials, DropList, DropListItem, PaginationWithLimit } from '$lib/components'; import { Pill } from '$lib/elements'; - import { Button } from '$lib/elements/forms'; import { TableBody, TableCell, @@ -15,17 +14,25 @@ } from '$lib/elements/table'; import { Container, ContainerHeader } from '$lib/layout'; import { addNotification } from '$lib/stores/notifications'; - import { members, newMemberModal, organization } from '$lib/stores/organization'; + import { newMemberModal, organization } from '$lib/stores/organization'; import { sdk } from '$lib/stores/sdk'; import type { Models } from '@appwrite.io/console'; import type { PageData } from './$types'; import Delete from '../deleteMember.svelte'; import { base } from '$app/paths'; + import { isOwner } from '$lib/stores/roles'; + import Edit from './edit.svelte'; + import { getRoleLabel } from '$lib/stores/billing'; + import { Drop } from '$lib/components'; + import Upgrade from '$lib/components/roles/upgrade.svelte'; export let data: PageData; let selectedMember: Models.Membership; let showDelete = false; + let showEdit = false; + let showDropdown = []; + let showPopover = false; const url = `${$page.url.origin}/${base}/`; const resend = async (member: Models.Membership) => { try { @@ -58,7 +65,7 @@ newMemberModal.set(true)} showAlert={false} /> @@ -66,15 +73,43 @@ Name Email +
+ + Role + +   + +
+ +
+
+
+
+
+ 2FA - - + {#if $isOwner} + + {/if}
- {#each data.organizationMembers.memberships as member} + {#each data.organizationMembers.memberships as member, index}
@@ -88,6 +123,10 @@
{member.userEmail} + {member.roles + .map((role) => getRoleLabel(role)) + .join(', ')} {#if member.mfa} @@ -100,26 +139,53 @@ {/if} - - {#if member.invited && !member.joined} - - {/if} - - - - + {#if $isOwner} + + + + + { + selectedMember = member; + showEdit = true; + showDropdown[index] = false; + }}> + Edit role + + {#if member.invited && !member.joined} + { + resend(member); + showDropdown[index] = false; + }}> + Resend + + {/if} + { + selectedMember = member; + showDelete = true; + showDropdown[index] = false; + }}> + Remove + + + + + {/if}
{/each}
@@ -134,3 +200,4 @@ + diff --git a/src/routes/(console)/organization-[organization]/members/edit.svelte b/src/routes/(console)/organization-[organization]/members/edit.svelte new file mode 100644 index 000000000..687404c74 --- /dev/null +++ b/src/routes/(console)/organization-[organization]/members/edit.svelte @@ -0,0 +1,94 @@ + + + + + + + + + + + diff --git a/src/routes/(console)/organization-[organization]/usage/[[invoice]]/+page.svelte b/src/routes/(console)/organization-[organization]/usage/[[invoice]]/+page.svelte index 8a220599e..cfa038e9f 100644 --- a/src/routes/(console)/organization-[organization]/usage/[[invoice]]/+page.svelte +++ b/src/routes/(console)/organization-[organization]/usage/[[invoice]]/+page.svelte @@ -9,7 +9,7 @@ } from '$lib/stores/billing'; import { organization } from '$lib/stores/organization'; import { Button } from '$lib/elements/forms'; - import { bytesToSize, humanFileSize } from '$lib/helpers/sizeConvertion'; + import { bytesToSize, humanFileSize, mbSecondsToGBHours } from '$lib/helpers/sizeConvertion'; import { BarChart } from '$lib/charts'; import ProjectBreakdown from './ProjectBreakdown.svelte'; import { formatNum } from '$lib/helpers/string'; @@ -119,36 +119,40 @@ - - value - ? `${humanFileSize(+value).value} ${ - humanFileSize(+value).unit - }` - : '0' +
+ + value + ? `${humanFileSize(+value).value} ${ + humanFileSize(+value).unit + }` + : '0' + } } - } - }} - series={[ - { - name: 'Bandwidth', - data: [ - ...data.organizationUsage.bandwidth.map((e) => [e.date, e.value]) - ], - tooltip: { - valueFormatter: (value) => - `${humanFileSize(+value).value} ${humanFileSize(+value).unit}` + }} + series={[ + { + name: 'Bandwidth', + data: [ + ...data.organizationUsage.bandwidth.map((e) => [ + e.date, + e.value + ]) + ], + tooltip: { + valueFormatter: (value) => + `${humanFileSize(+value).value} ${humanFileSize(+value).unit}` + } } - } - ]} /> + ]} /> +
{#if project?.length > 0} {/if} @@ -178,28 +182,30 @@ - + + }} + series={[ + { + name: 'Users', + data: accumulateFromEndingTotal( + data.organizationUsage.users, + data.organizationUsage.usersTotal + ) + } + ]} /> + {#if project?.length > 0} {/if} @@ -231,27 +237,31 @@ - + [e.date, e.value]) - ] - } - ]} /> + }} + series={[ + { + name: 'Executions', + data: [ + ...data.organizationUsage.executions.map((e) => [ + e.date, + e.value + ]) + ] + } + ]} /> + {#if project?.length > 0} {/if} @@ -311,8 +321,7 @@ @@ -332,6 +341,66 @@ {/if} + + GB hours + +

+ GB hours represent the memory usage (in gigabytes) of your function executions and + builds, multiplied by the total execution time (in hours). +

+ + + {#if data.organizationUsage.storageTotal} + {@const totalGbHours = mbSecondsToGBHours( + data.organizationUsage.executionsMBSecondsTotal + + data.organizationUsage.buildsMBSecondsTotal + )} + {@const progressBarStorageDate = [ + { + size: mbSecondsToGBHours(data.organizationUsage.executionsMBSecondsTotal), + color: '#85DBD8', + tooltip: { + title: 'Executions', + label: `${(Math.round(mbSecondsToGBHours(data.organizationUsage.executionsMBSecondsTotal) * 100) / 100).toLocaleString('en-US')} GB hours` + } + }, + { + size: mbSecondsToGBHours(data.organizationUsage.buildsMBSecondsTotal), + color: '#FE9567', + tooltip: { + title: 'Deployments', + label: `${(Math.round(mbSecondsToGBHours(data.organizationUsage.buildsMBSecondsTotal) * 100) / 100).toLocaleString('en-US')} GB hours` + } + } + ]} +
+
+

+ {(Math.ceil(totalGbHours * 100) / 100).toLocaleString( + 'en-US' + )} + {`GB hours`} +

+
+
+ + {:else} + +
+
+
+ {/if} +
+

diff --git a/src/routes/(console)/organization-[organization]/usage/[[invoice]]/+page.ts b/src/routes/(console)/organization-[organization]/usage/[[invoice]]/+page.ts index 75b9d65c2..9f548dd0e 100644 --- a/src/routes/(console)/organization-[organization]/usage/[[invoice]]/+page.ts +++ b/src/routes/(console)/organization-[organization]/usage/[[invoice]]/+page.ts @@ -24,7 +24,9 @@ export const load: PageLoad = async ({ params, parent }) => { deploymentsStorageTotal: null, executions: null, executionsTotal: null, - projects: null + projects: null, + executionsMBSecondsTotal: null, + buildsMBSecondsTotal: null } }; } diff --git a/src/routes/(console)/organization-[organization]/usage/[[invoice]]/ProjectBreakdown.svelte b/src/routes/(console)/organization-[organization]/usage/[[invoice]]/ProjectBreakdown.svelte index 99a829376..3b922bc98 100644 --- a/src/routes/(console)/organization-[organization]/usage/[[invoice]]/ProjectBreakdown.svelte +++ b/src/routes/(console)/organization-[organization]/usage/[[invoice]]/ProjectBreakdown.svelte @@ -14,6 +14,7 @@ import { humanFileSize } from '$lib/helpers/sizeConvertion'; import type { OrganizationUsage } from '$lib/sdk/billing'; import { base } from '$app/paths'; + import { canSeeProjects } from '$lib/stores/roles'; type Metric = 'users' | 'storage' | 'bandwidth' | 'executions'; export let data: PageData; @@ -60,7 +61,9 @@ Project Usage - + {#if $canSeeProjects} + + {/if} {#each groupByProject(metric).sort((a, b) => b.usage - a.usage) as project} @@ -69,11 +72,13 @@ {getProjectName(project.projectId)} {format(project.usage)} - - View project usage - + {#if $canSeeProjects} + + View project usage + + {/if} {/each} diff --git a/src/routes/(console)/project-[project]/+layout.svelte b/src/routes/(console)/project-[project]/+layout.svelte index a168e58f3..d7c8ef963 100644 --- a/src/routes/(console)/project-[project]/+layout.svelte +++ b/src/routes/(console)/project-[project]/+layout.svelte @@ -1,5 +1,5 @@ diff --git a/src/routes/(console)/project-[project]/auth/teams/+page.svelte b/src/routes/(console)/project-[project]/auth/teams/+page.svelte index ccb1d354b..d73d42584 100644 --- a/src/routes/(console)/project-[project]/auth/teams/+page.svelte +++ b/src/routes/(console)/project-[project]/auth/teams/+page.svelte @@ -32,6 +32,7 @@ import { writable } from 'svelte/store'; import { readOnly } from '$lib/stores/billing'; import { isCloud } from '$lib/system'; + import { canWriteTeams } from '$lib/stores/roles'; export let data: PageData; @@ -49,19 +50,21 @@ buttonDisabled={isCloud && $readOnly} let:isButtonDisabled> -

- -
+ {#if $canWriteTeams} +
+ +
+ {/if}
@@ -109,6 +112,7 @@ {:else} ($showCreateTeam = true)} href="https://appwrite.io/docs/references/cloud/client-web/teams" target="team" /> diff --git a/src/routes/(console)/project-[project]/databases/+page.svelte b/src/routes/(console)/project-[project]/databases/+page.svelte index d11e8d95b..9f8faa535 100644 --- a/src/routes/(console)/project-[project]/databases/+page.svelte +++ b/src/routes/(console)/project-[project]/databases/+page.svelte @@ -14,6 +14,7 @@ import Table from './table.svelte'; import { registerCommands } from '$lib/commandCenter'; import { tooltip } from '$lib/actions/tooltip'; + import { canWriteDatabases } from '$lib/stores/roles'; export let data: PageData; @@ -33,7 +34,7 @@ showCreate = true; }, keys: ['c'], - disabled: showCreate || isCreationDisabled, + disabled: showCreate || isCreationDisabled || !$canWriteDatabases, icon: 'plus', group: 'databases', rank: 10 @@ -55,19 +56,21 @@ view={data.view} hideColumns={!data.databases.total} hideView={!data.databases.total} /> -
- -
+ {#if $canWriteDatabases} +
+ +
+ {/if} @@ -89,6 +92,7 @@ single href="https://appwrite.io/docs/products/databases/databases" target="database" + allowCreate={$canWriteDatabases} on:click={() => (showCreate = true)} /> {/if} diff --git a/src/routes/(console)/project-[project]/databases/database-[database]/+layout.svelte b/src/routes/(console)/project-[project]/databases/database-[database]/+layout.svelte index fbfa94777..50273e999 100644 --- a/src/routes/(console)/project-[project]/databases/database-[database]/+layout.svelte +++ b/src/routes/(console)/project-[project]/databases/database-[database]/+layout.svelte @@ -14,6 +14,7 @@ import CreateCollection from './createCollection.svelte'; import { showCreate } from './store'; import { CollectionsPanel } from '$lib/commandCenter/panels'; + import { canWriteCollections, canWriteDatabases } from '$lib/stores/roles'; const project = $page.params.project; const databaseId = $page.params.database; @@ -36,7 +37,7 @@ } }, keys: $page.url.pathname.endsWith(databaseId) ? ['c'] : ['c', 'c'], - disabled: $page.url.pathname.includes('collection-'), + disabled: $page.url.pathname.includes('collection-') || !$canWriteCollections, group: 'collections', icon: 'plus' }, @@ -68,7 +69,8 @@ }, disabled: $page.url.pathname.includes('/settings') || - $page.url.pathname.includes('collection-'), + $page.url.pathname.includes('collection-') || + !$canWriteDatabases, keys: ['g', 's'], group: 'collections' }, diff --git a/src/routes/(console)/project-[project]/databases/database-[database]/+page.svelte b/src/routes/(console)/project-[project]/databases/database-[database]/+page.svelte index 5c60a73bf..22fb35e11 100644 --- a/src/routes/(console)/project-[project]/databases/database-[database]/+page.svelte +++ b/src/routes/(console)/project-[project]/databases/database-[database]/+page.svelte @@ -6,6 +6,7 @@ import Table from './table.svelte'; import Grid from './grid.svelte'; import type { PageData } from './$types'; + import { canWriteCollections } from '$lib/stores/roles'; export let data: PageData; @@ -17,10 +18,12 @@ view={data.view} hideColumns={!data.collections.total} hideView={!data.collections.total}> - + {#if $canWriteCollections} + + {/if} {#if data.collections.total} @@ -38,6 +41,7 @@ {:else} ($showCreate = true)} /> diff --git a/src/routes/(console)/project-[project]/databases/database-[database]/collection-[collection]/+layout.svelte b/src/routes/(console)/project-[project]/databases/database-[database]/collection-[collection]/+layout.svelte index 09497939b..42e112f94 100644 --- a/src/routes/(console)/project-[project]/databases/database-[database]/collection-[collection]/+layout.svelte +++ b/src/routes/(console)/project-[project]/databases/database-[database]/collection-[collection]/+layout.svelte @@ -32,6 +32,7 @@ import { wizard } from '$lib/stores/wizard'; import CreateDocument from './createDocument.svelte'; import { base } from '$app/paths'; + import { canWriteCollections } from '$lib/stores/roles'; let unsubscribe: { (): void }; @@ -69,7 +70,8 @@ addSubPanel(CreateAttributePanel); }, icon: 'plus', - group: 'attributes' + group: 'attributes', + disabled: !$canWriteCollections }, { label: 'Go to documents', @@ -134,7 +136,7 @@ `${base}/project-${$project?.$id}/databases/database-${$database?.$id}/collection-${$collection?.$id}/settings` ); }, - disabled: $page.url.pathname.endsWith('settings'), + disabled: $page.url.pathname.endsWith('settings') || !$canWriteCollections, group: 'collections' }, { @@ -147,7 +149,8 @@ group: 'collections', disabled: $page.url.pathname.endsWith('display-name') || - $page.url.pathname.endsWith('settings'), + $page.url.pathname.endsWith('settings') || + !$canWriteCollections, icon: 'eye' }, { @@ -160,7 +163,8 @@ group: 'collections', disabled: $page.url.pathname.endsWith('permissions') || - $page.url.pathname.endsWith('settings'), + $page.url.pathname.endsWith('settings') || + !$canWriteCollections, icon: 'puzzle' }, { @@ -173,7 +177,8 @@ group: 'collections', disabled: $page.url.pathname.endsWith('document-security') || - $page.url.pathname.endsWith('settings'), + $page.url.pathname.endsWith('settings') || + !$canWriteCollections, icon: 'lock-closed' }, { @@ -183,7 +188,8 @@ initCreateIndex(); }, icon: 'plus', - group: 'indexes' + group: 'indexes', + disabled: !$canWriteCollections } ]); diff --git a/src/routes/(console)/project-[project]/databases/database-[database]/collection-[collection]/+page.svelte b/src/routes/(console)/project-[project]/databases/database-[database]/collection-[collection]/+page.svelte index 89b73c96b..5a7a96e4b 100644 --- a/src/routes/(console)/project-[project]/databases/database-[database]/collection-[collection]/+page.svelte +++ b/src/routes/(console)/project-[project]/databases/database-[database]/collection-[collection]/+page.svelte @@ -7,6 +7,7 @@ import type { ColumnType } from '$lib/helpers/types'; import { Container } from '$lib/layout'; import { preferences } from '$lib/stores/preferences'; + import { canWriteCollections, canWriteDocuments } from '$lib/stores/roles'; import { wizard } from '$lib/stores/wizard'; import type { PageData } from './$types'; import CreateAttributeDropdown from './attributes/createAttributeDropdown.svelte'; @@ -36,6 +37,7 @@ ); function openWizard() { + if (!$canWriteDocuments) return; wizard.start(Create); } @@ -113,13 +115,18 @@ {:else} {/if} {:else} - (showCreateDropdown = true)}> + (showCreateDropdown = true)}>
Create an attribute to get started.

@@ -133,19 +140,21 @@ text event="empty_documentation" ariaLabel={`create {target}`}>Documentation - - - + {#if $canWriteCollections} + + + + {/if}

{/if} diff --git a/src/routes/(console)/project-[project]/databases/database-[database]/collection-[collection]/attributes/+page.svelte b/src/routes/(console)/project-[project]/databases/database-[database]/collection-[collection]/attributes/+page.svelte index 73896badd..5a827c7fc 100644 --- a/src/routes/(console)/project-[project]/databases/database-[database]/collection-[collection]/attributes/+page.svelte +++ b/src/routes/(console)/project-[project]/databases/database-[database]/collection-[collection]/attributes/+page.svelte @@ -14,6 +14,7 @@ TableRow } from '$lib/elements/table'; import { Container } from '$lib/layout'; + import { canWriteCollections } from '$lib/stores/roles'; import Create from '../createAttribute.svelte'; import { isRelationship } from '../document-[document]/attributes/store'; import FailedModal from '../failedModal.svelte'; @@ -51,7 +52,9 @@
Attributes - + {#if $canWriteCollections} + + {/if}
{#if $attributes.length} @@ -194,7 +197,11 @@

Total results: {$attributes.length}

{:else} - (showEmptyCreateDropdown = true)}> + (showEmptyCreateDropdown = true)}>
Create your first attribute to get started.

@@ -208,19 +215,21 @@ text event="empty_documentation" ariaLabel={`create {target}`}>Documentation - - - + {#if $canWriteCollections} + + + + {/if}

{/if} diff --git a/src/routes/(console)/project-[project]/databases/database-[database]/collection-[collection]/attributes/boolean.svelte b/src/routes/(console)/project-[project]/databases/database-[database]/collection-[collection]/attributes/boolean.svelte index 34cf6fae1..fffeef5a5 100644 --- a/src/routes/(console)/project-[project]/databases/database-[database]/collection-[collection]/attributes/boolean.svelte +++ b/src/routes/(console)/project-[project]/databases/database-[database]/collection-[collection]/attributes/boolean.svelte @@ -26,7 +26,7 @@ await sdk.forProject.databases.updateBooleanAttribute( databaseId, collectionId, - data.key, + originalKey, data.required, data.default, data.key !== originalKey ? data.key : undefined diff --git a/src/routes/(console)/project-[project]/databases/database-[database]/collection-[collection]/attributes/datetime.svelte b/src/routes/(console)/project-[project]/databases/database-[database]/collection-[collection]/attributes/datetime.svelte index a2cd24a12..94d53f1e2 100644 --- a/src/routes/(console)/project-[project]/databases/database-[database]/collection-[collection]/attributes/datetime.svelte +++ b/src/routes/(console)/project-[project]/databases/database-[database]/collection-[collection]/attributes/datetime.svelte @@ -27,7 +27,7 @@ await sdk.forProject.databases.updateDatetimeAttribute( databaseId, collectionId, - data.key, + originalKey, data.required, data.default, data.key !== originalKey ? data.key : undefined diff --git a/src/routes/(console)/project-[project]/databases/database-[database]/collection-[collection]/attributes/edit.svelte b/src/routes/(console)/project-[project]/databases/database-[database]/collection-[collection]/attributes/edit.svelte index a42c7d890..dc8ffbbdd 100644 --- a/src/routes/(console)/project-[project]/databases/database-[database]/collection-[collection]/attributes/edit.svelte +++ b/src/routes/(console)/project-[project]/databases/database-[database]/collection-[collection]/attributes/edit.svelte @@ -52,12 +52,16 @@ } } - $: if (showEdit) { - currentAttr ??= { ...selectedAttribute }; - originalKey = currentAttr.key; - error = null; - } else { - currentAttr = null; + $: onShow(showEdit); + + function onShow(show: boolean) { + if (show) { + currentAttr ??= { ...selectedAttribute }; + originalKey = currentAttr.key; + error = null; + } else { + currentAttr = null; + } } diff --git a/src/routes/(console)/project-[project]/databases/database-[database]/collection-[collection]/attributes/email.svelte b/src/routes/(console)/project-[project]/databases/database-[database]/collection-[collection]/attributes/email.svelte index d7a606fd5..9f9f75726 100644 --- a/src/routes/(console)/project-[project]/databases/database-[database]/collection-[collection]/attributes/email.svelte +++ b/src/routes/(console)/project-[project]/databases/database-[database]/collection-[collection]/attributes/email.svelte @@ -28,7 +28,7 @@ await sdk.forProject.databases.updateEmailAttribute( databaseId, collectionId, - data.key, + originalKey, data.required, data.default, data.key !== originalKey ? data.key : undefined diff --git a/src/routes/(console)/project-[project]/databases/database-[database]/collection-[collection]/attributes/enum.svelte b/src/routes/(console)/project-[project]/databases/database-[database]/collection-[collection]/attributes/enum.svelte index a8fce3f17..a9cb99c02 100644 --- a/src/routes/(console)/project-[project]/databases/database-[database]/collection-[collection]/attributes/enum.svelte +++ b/src/routes/(console)/project-[project]/databases/database-[database]/collection-[collection]/attributes/enum.svelte @@ -28,7 +28,7 @@ await sdk.forProject.databases.updateEnumAttribute( databaseId, collectionId, - data.key, + originalKey, data.elements, data.required, data.default, diff --git a/src/routes/(console)/project-[project]/databases/database-[database]/collection-[collection]/attributes/float.svelte b/src/routes/(console)/project-[project]/databases/database-[database]/collection-[collection]/attributes/float.svelte index 065ac2ecb..880fc9ab4 100644 --- a/src/routes/(console)/project-[project]/databases/database-[database]/collection-[collection]/attributes/float.svelte +++ b/src/routes/(console)/project-[project]/databases/database-[database]/collection-[collection]/attributes/float.svelte @@ -29,7 +29,7 @@ await sdk.forProject.databases.updateFloatAttribute( databaseId, collectionId, - data.key, + originalKey, data.required, data.min, data.max, diff --git a/src/routes/(console)/project-[project]/databases/database-[database]/collection-[collection]/attributes/integer.svelte b/src/routes/(console)/project-[project]/databases/database-[database]/collection-[collection]/attributes/integer.svelte index 532a60222..86c676800 100644 --- a/src/routes/(console)/project-[project]/databases/database-[database]/collection-[collection]/attributes/integer.svelte +++ b/src/routes/(console)/project-[project]/databases/database-[database]/collection-[collection]/attributes/integer.svelte @@ -29,7 +29,7 @@ await sdk.forProject.databases.updateIntegerAttribute( databaseId, collectionId, - data.key, + originalKey, data.required, data.min, data.max, diff --git a/src/routes/(console)/project-[project]/databases/database-[database]/collection-[collection]/attributes/ip.svelte b/src/routes/(console)/project-[project]/databases/database-[database]/collection-[collection]/attributes/ip.svelte index 115deac83..46b9c904c 100644 --- a/src/routes/(console)/project-[project]/databases/database-[database]/collection-[collection]/attributes/ip.svelte +++ b/src/routes/(console)/project-[project]/databases/database-[database]/collection-[collection]/attributes/ip.svelte @@ -26,7 +26,7 @@ await sdk.forProject.databases.updateIpAttribute( databaseId, collectionId, - data.key, + originalKey, data.required, data.default, data.key !== originalKey ? data.key : undefined diff --git a/src/routes/(console)/project-[project]/databases/database-[database]/collection-[collection]/attributes/url.svelte b/src/routes/(console)/project-[project]/databases/database-[database]/collection-[collection]/attributes/url.svelte index 939410756..b058a56b2 100644 --- a/src/routes/(console)/project-[project]/databases/database-[database]/collection-[collection]/attributes/url.svelte +++ b/src/routes/(console)/project-[project]/databases/database-[database]/collection-[collection]/attributes/url.svelte @@ -27,7 +27,7 @@ await sdk.forProject.databases.updateUrlAttribute( databaseId, collectionId, - data.key, + originalKey, data.required, data.default, data.key !== originalKey ? data.key : undefined diff --git a/src/routes/(console)/project-[project]/databases/database-[database]/collection-[collection]/header.svelte b/src/routes/(console)/project-[project]/databases/database-[database]/collection-[collection]/header.svelte index 7fd15fec8..bee3fa5f0 100644 --- a/src/routes/(console)/project-[project]/databases/database-[database]/collection-[collection]/header.svelte +++ b/src/routes/(console)/project-[project]/databases/database-[database]/collection-[collection]/header.svelte @@ -4,6 +4,7 @@ import { Id, Tab, Tabs } from '$lib/components'; import { isTabSelected } from '$lib/helpers/load'; import { Cover, CoverTitle } from '$lib/layout'; + import { canWriteCollections } from '$lib/stores/roles'; import { collection } from './store'; $: projectId = $page.params.project; @@ -42,9 +43,10 @@ { href: `${path}/settings`, title: 'Settings', - event: 'settings' + event: 'settings', + disabled: !$canWriteCollections } - ]; + ].filter((tab) => !tab.disabled); diff --git a/src/routes/(console)/project-[project]/databases/database-[database]/collection-[collection]/indexes/+page.svelte b/src/routes/(console)/project-[project]/databases/database-[database]/collection-[collection]/indexes/+page.svelte index a3d50bb09..9eab3f1a3 100644 --- a/src/routes/(console)/project-[project]/databases/database-[database]/collection-[collection]/indexes/+page.svelte +++ b/src/routes/(console)/project-[project]/databases/database-[database]/collection-[collection]/indexes/+page.svelte @@ -21,6 +21,7 @@ import CreateAttributeDropdown from '../attributes/createAttributeDropdown.svelte'; import type { Option } from '../attributes/store'; import FailedModal from '../failedModal.svelte'; + import { canWriteCollections } from '$lib/stores/roles'; let showDropdown = []; let selectedIndex: Models.Index = null; @@ -38,13 +39,15 @@
Indexes - + {#if $canWriteCollections} + + {/if}
{#if $collection?.attributes?.length} {#if $indexes.length} @@ -130,13 +133,18 @@ {:else} (showCreateIndex = true)} /> {/if} {:else} - (showCreateDropdown = true)}> + (showCreateDropdown = true)}>
Create an attribute to get started.

@@ -150,19 +158,21 @@ text event="empty_documentation" ariaLabel={`create {target}`}>Documentation - - - + {#if $canWriteCollections} + + + + {/if}

{/if} diff --git a/src/routes/(console)/project-[project]/databases/database-[database]/grid.svelte b/src/routes/(console)/project-[project]/databases/database-[database]/grid.svelte index e24c339ca..3c3b124dc 100644 --- a/src/routes/(console)/project-[project]/databases/database-[database]/grid.svelte +++ b/src/routes/(console)/project-[project]/databases/database-[database]/grid.svelte @@ -3,6 +3,7 @@ import { page } from '$app/stores'; import { CardContainer, GridItem1, Id } from '$lib/components'; import { Pill } from '$lib/elements'; + import { canWriteCollections } from '$lib/stores/roles'; import type { PageData } from './$types'; export let data: PageData; export let showCreate = false; @@ -11,6 +12,7 @@ (showCreate = true)} event="collection"> diff --git a/src/routes/(console)/project-[project]/databases/database-[database]/header.svelte b/src/routes/(console)/project-[project]/databases/database-[database]/header.svelte index d575c05fc..512afbd59 100644 --- a/src/routes/(console)/project-[project]/databases/database-[database]/header.svelte +++ b/src/routes/(console)/project-[project]/databases/database-[database]/header.svelte @@ -4,6 +4,7 @@ import { Id, Tab, Tabs } from '$lib/components'; import { isTabSelected } from '$lib/helpers/load'; import { Cover, CoverTitle } from '$lib/layout'; + import { canWriteDatabases } from '$lib/stores/roles'; import { database } from './store'; const projectId = $page.params.project; @@ -25,9 +26,10 @@ { href: `${path}/settings`, event: 'settings', - title: 'Settings' + title: 'Settings', + disabled: !$canWriteDatabases } - ]; + ].filter((tab) => !tab.disabled); diff --git a/src/routes/(console)/project-[project]/databases/database-[database]/table.svelte b/src/routes/(console)/project-[project]/databases/database-[database]/table.svelte index dec85c599..6b95d6e99 100644 --- a/src/routes/(console)/project-[project]/databases/database-[database]/table.svelte +++ b/src/routes/(console)/project-[project]/databases/database-[database]/table.svelte @@ -20,6 +20,7 @@ } from '$lib/elements/table'; import { toLocaleDateTime } from '$lib/helpers/date'; import { addNotification } from '$lib/stores/notifications'; + import { canWriteCollections } from '$lib/stores/roles'; import { sdk } from '$lib/stores/sdk'; import type { PageData } from './$types'; import { columns } from './store'; @@ -61,9 +62,11 @@ - c.$id)} /> + {#if $canWriteCollections} + c.$id)} /> + {/if} {#each $columns as column} {#if column.show} {column.title} @@ -74,7 +77,9 @@ {#each data.collections.collections as collection} - + {#if $canWriteCollections} + + {/if} {#each $columns as column} {#if column.show} {#if column.id === '$id'} diff --git a/src/routes/(console)/project-[project]/databases/grid.svelte b/src/routes/(console)/project-[project]/databases/grid.svelte index d7a4a471e..20de14275 100644 --- a/src/routes/(console)/project-[project]/databases/grid.svelte +++ b/src/routes/(console)/project-[project]/databases/grid.svelte @@ -2,6 +2,7 @@ import { base } from '$app/paths'; import { page } from '$app/stores'; import { CardContainer, GridItem1, Id } from '$lib/components'; + import { canWriteDatabases } from '$lib/stores/roles'; import type { PageData } from './$types'; export let data: PageData; export let showCreate = false; @@ -9,6 +10,7 @@ (showCreate = true)} event="database" diff --git a/src/routes/(console)/project-[project]/databases/table.svelte b/src/routes/(console)/project-[project]/databases/table.svelte index f36b0d65d..aa447973b 100644 --- a/src/routes/(console)/project-[project]/databases/table.svelte +++ b/src/routes/(console)/project-[project]/databases/table.svelte @@ -20,6 +20,7 @@ } from '$lib/elements/table'; import { toLocaleDateTime } from '$lib/helpers/date'; import { addNotification } from '$lib/stores/notifications'; + import { canWriteDatabases } from '$lib/stores/roles'; import { sdk } from '$lib/stores/sdk'; import type { PageData } from './$types'; import { columns } from './store'; @@ -58,9 +59,11 @@ - c.$id)} /> + {#if $canWriteDatabases} + c.$id)} /> + {/if} {#each $columns as column} {#if column.show} {column.title} @@ -70,7 +73,9 @@ {#each data.databases.databases as database} - + {#if $canWriteDatabases} + + {/if} {#each $columns as column} {#if column.show} {#if column.id === '$id'} diff --git a/src/routes/(console)/project-[project]/functions/+layout.svelte b/src/routes/(console)/project-[project]/functions/+layout.svelte index c98134a67..e6ee17f4e 100644 --- a/src/routes/(console)/project-[project]/functions/+layout.svelte +++ b/src/routes/(console)/project-[project]/functions/+layout.svelte @@ -1,6 +1,7 @@ diff --git a/src/routes/(console)/project-[project]/functions/+page.svelte b/src/routes/(console)/project-[project]/functions/+page.svelte index 0a7c1e161..e70f65f21 100644 --- a/src/routes/(console)/project-[project]/functions/+page.svelte +++ b/src/routes/(console)/project-[project]/functions/+page.svelte @@ -26,6 +26,7 @@ import { parseExpression } from 'cron-parser'; import { onMount } from 'svelte'; import { functionsList } from './store'; + import { canWriteFunctions } from '$lib/stores/roles'; import type { Models } from '@appwrite.io/console'; export let data; @@ -73,7 +74,8 @@ keys: ['c'], disabled: $wizard.show || - isServiceLimited('functions', $organization?.billingPlan, $functionsList?.total), + isServiceLimited('functions', $organization?.billingPlan, $functionsList?.total) || + !$canWriteFunctions, icon: 'plus', group: 'functions' } @@ -85,7 +87,7 @@ @@ -93,6 +95,7 @@ {#if data.functions.total} diff --git a/src/routes/(console)/project-[project]/functions/function-[function]/+layout.svelte b/src/routes/(console)/project-[project]/functions/function-[function]/+layout.svelte index e8224a3b5..922bb922c 100644 --- a/src/routes/(console)/project-[project]/functions/function-[function]/+layout.svelte +++ b/src/routes/(console)/project-[project]/functions/function-[function]/+layout.svelte @@ -9,6 +9,7 @@ import { project } from '../../store'; import type { Models } from '@appwrite.io/console'; import { base } from '$app/paths'; + import { canWriteFunctions } from '$lib/stores/roles'; onMount(() => { let previousStatus = null; @@ -47,7 +48,8 @@ }, keys: $page.url.pathname.endsWith($func.$id) ? ['c'] : ['c', 'd'], group: 'functions', - icon: 'plus' + icon: 'plus', + disabled: !$canWriteFunctions }, { label: 'Permissions', @@ -58,7 +60,8 @@ scrollBy({ top: -100 }); }, icon: 'search', - group: 'functions' + group: 'functions', + disabled: !$canWriteFunctions }, { label: 'Events', @@ -69,7 +72,8 @@ scrollBy({ top: -100 }); }, icon: 'calendar', - group: 'functions' + group: 'functions', + disabled: !$canWriteFunctions }, { label: 'Variables', @@ -79,7 +83,8 @@ ); }, icon: 'list', - group: 'functions' + group: 'functions', + disabled: !$canWriteFunctions }, { label: 'Timeout', @@ -89,7 +94,8 @@ ); }, icon: 'x-circle', - group: 'functions' + group: 'functions', + disabled: !$canWriteFunctions }, { label: 'Schedule', @@ -100,7 +106,8 @@ scrollBy({ top: -100 }); }, icon: 'clock', - group: 'functions' + group: 'functions', + disabled: !$canWriteFunctions }, { label: 'Go to deployments', @@ -140,7 +147,7 @@ keys: ['g', 's'], group: 'navigation', rank: 10, - disabled: $page.url.pathname.endsWith('settings') + disabled: $page.url.pathname.endsWith('settings') || !$canWriteFunctions } ]); diff --git a/src/routes/(console)/project-[project]/functions/function-[function]/+page.svelte b/src/routes/(console)/project-[project]/functions/function-[function]/+page.svelte index 25ace1284..fbd5bca71 100644 --- a/src/routes/(console)/project-[project]/functions/function-[function]/+page.svelte +++ b/src/routes/(console)/project-[project]/functions/function-[function]/+page.svelte @@ -27,6 +27,7 @@ import QuickFilters from './quickFilters.svelte'; import { Pill } from '$lib/elements'; import { onMount } from 'svelte'; + import { canWriteFunctions } from '$lib/stores/roles'; export let data; @@ -184,15 +185,17 @@ href={`${base}/project-${$page.params.project}/functions/function-${$page.params.function}/deployment-${activeDeployment.$id}`}> Build logs - + {#if $canWriteFunctions} + + {/if} + {#if $canWriteFunctions} + + {/if} { diff --git a/src/routes/(console)/project-[project]/functions/function-[function]/executions/execute-function/+page.svelte b/src/routes/(console)/project-[project]/functions/function-[function]/executions/execute-function/+page.svelte index 739b1b182..094314487 100644 --- a/src/routes/(console)/project-[project]/functions/function-[function]/executions/execute-function/+page.svelte +++ b/src/routes/(console)/project-[project]/functions/function-[function]/executions/execute-function/+page.svelte @@ -389,12 +389,14 @@ -
-

Domains

- - - -
+ {#if $proxyRuleList?.rules?.length} +
+

Domains

+ + + +
+ {/if}

Updated

diff --git a/src/routes/(console)/project-[project]/functions/function-[function]/header.svelte b/src/routes/(console)/project-[project]/functions/function-[function]/header.svelte index ef0125067..2b2b5e5c7 100644 --- a/src/routes/(console)/project-[project]/functions/function-[function]/header.svelte +++ b/src/routes/(console)/project-[project]/functions/function-[function]/header.svelte @@ -4,6 +4,7 @@ import { Id, Tab, Tabs } from '$lib/components'; import { isTabSelected } from '$lib/helpers/load'; import { Cover, CoverTitle } from '$lib/layout'; + import { canWriteFunctions } from '$lib/stores/roles'; import { func } from './store'; const projectId = $page.params.project; @@ -36,9 +37,10 @@ { href: `${path}/settings`, event: 'settings', - title: 'Settings' + title: 'Settings', + disabled: !$canWriteFunctions } - ]; + ].filter((tab) => !tab.disabled); diff --git a/src/routes/(console)/project-[project]/functions/templates/+page.svelte b/src/routes/(console)/project-[project]/functions/templates/+page.svelte index 221e0fc40..b37a9a8ce 100644 --- a/src/routes/(console)/project-[project]/functions/templates/+page.svelte +++ b/src/routes/(console)/project-[project]/functions/templates/+page.svelte @@ -16,6 +16,7 @@ import { app } from '$lib/stores/app'; import { isServiceLimited } from '$lib/stores/billing'; import { organization } from '$lib/stores/organization'; + import { canWriteFunctions } from '$lib/stores/roles'; import { connectTemplate } from '$lib/wizards/functions/cover.svelte'; import type { Models } from '@appwrite.io/console'; import { functionsList } from '../store'; @@ -226,15 +227,16 @@ text> View details - - connectTemplate(template)} - showIcon={false} - buttonText="Create function" - buttonEvent="create_function" /> + {#if $canWriteFunctions} + connectTemplate(template)} + showIcon={false} + buttonText="Create function" + buttonEvent="create_function" /> + {/if}
diff --git a/src/routes/(console)/project-[project]/functions/templates/template-[template]/+page.svelte b/src/routes/(console)/project-[project]/functions/templates/template-[template]/+page.svelte index e9cdbd646..1137cf318 100644 --- a/src/routes/(console)/project-[project]/functions/templates/template-[template]/+page.svelte +++ b/src/routes/(console)/project-[project]/functions/templates/template-[template]/+page.svelte @@ -12,6 +12,7 @@ import { isServiceLimited } from '$lib/stores/billing'; import { organization } from '$lib/stores/organization'; import { functionsList } from '../../store'; + import { canWriteFunctions } from '$lib/stores/roles'; $: buttonDisabled = isCloud && isServiceLimited('functions', $organization?.billingPlan, $functionsList?.total); @@ -77,13 +78,15 @@ View source - connectTemplate($template)} - showIcon={false} - buttonText="Create function" - buttonEvent="create_function" /> + {#if $canWriteFunctions} + connectTemplate($template)} + showIcon={false} + buttonText="Create function" + buttonEvent="create_function" /> + {/if}
diff --git a/src/routes/(console)/project-[project]/messaging/+layout.svelte b/src/routes/(console)/project-[project]/messaging/+layout.svelte index 5775b672a..50ee249dc 100644 --- a/src/routes/(console)/project-[project]/messaging/+layout.svelte +++ b/src/routes/(console)/project-[project]/messaging/+layout.svelte @@ -12,6 +12,7 @@ import { messagesSearcher } from '$lib/commandCenter/searchers/messages'; import { providersSearcher } from '$lib/commandCenter/searchers/providers'; import { topicsSearcher } from '$lib/commandCenter/searchers/topics'; + import { canWriteMessages } from '$lib/stores/roles'; import { project } from '../store'; // TODO: finalize the commands @@ -23,7 +24,8 @@ addSubPanel(CreateMessagePanel); }, icon: 'plus', - group: 'messaging' + group: 'messaging', + disabled: !$canWriteMessages }, { label: 'Go to Topics', diff --git a/src/routes/(console)/project-[project]/messaging/+page.svelte b/src/routes/(console)/project-[project]/messaging/+page.svelte index 039f9865f..efac29adc 100644 --- a/src/routes/(console)/project-[project]/messaging/+page.svelte +++ b/src/routes/(console)/project-[project]/messaging/+page.svelte @@ -42,6 +42,7 @@ import { addNotification } from '$lib/stores/notifications'; import type { Column } from '$lib/helpers/types'; import { writable } from 'svelte/store'; + import { canWriteMessages } from '$lib/stores/roles'; export let data: PageData; let selected: string[] = []; @@ -93,9 +94,11 @@ -
- -
+ {#if $canWriteMessages} +
+ +
+ {/if}
- + {#if $canWriteMessages} + + {/if}
@@ -133,9 +139,11 @@ {#if data.messages.total} - d.$id)} /> + {#if $canWriteMessages} + d.$id)} /> + {/if} {#each $columns as column} {#if column.show} {column.title} @@ -146,11 +154,12 @@ {#each data.messages.messages as message (message.$id)} - - + {#if $canWriteMessages} + + {/if} {#each $columns as column (column.id)} {#if column.show} {#if column.id === '$id'} @@ -272,14 +281,16 @@ ariaLabel={`create message`}> Documentation - - - + {#if $canWriteMessages} + + + + {/if} {/if} diff --git a/src/routes/(console)/project-[project]/messaging/providers/+page.svelte b/src/routes/(console)/project-[project]/messaging/providers/+page.svelte index e2fd321f0..d75a1464c 100644 --- a/src/routes/(console)/project-[project]/messaging/providers/+page.svelte +++ b/src/routes/(console)/project-[project]/messaging/providers/+page.svelte @@ -17,6 +17,7 @@ import CreateProviderDropdown from './createProviderDropdown.svelte'; import Table from './table.svelte'; import { base } from '$app/paths'; + import { canWriteProviders } from '$lib/stores/roles'; export let data: PageData; @@ -29,9 +30,11 @@
Providers -
- -
+ {#if $canWriteProviders} +
+ +
+ {/if}
@@ -43,7 +46,9 @@ hideView allowNoColumns showColsTextMobile /> - + {#if $canWriteProviders} + + {/if}
@@ -101,14 +106,16 @@ ariaLabel={`create provider`}> Documentation - - - + {#if $canWriteProviders} + + + + {/if}
{/if} diff --git a/src/routes/(console)/project-[project]/messaging/providers/table.svelte b/src/routes/(console)/project-[project]/messaging/providers/table.svelte index 2d8ac4500..938fa84a8 100644 --- a/src/routes/(console)/project-[project]/messaging/providers/table.svelte +++ b/src/routes/(console)/project-[project]/messaging/providers/table.svelte @@ -24,6 +24,7 @@ import { invalidate } from '$app/navigation'; import { Dependencies } from '$lib/constants'; import { sdk } from '$lib/stores/sdk'; + import { canWriteProviders } from '$lib/stores/roles'; export let data: PageData; @@ -63,9 +64,11 @@ - d.$id)} /> + {#if $canWriteProviders} + d.$id)} /> + {/if} {#each $columns as column} {#if column.show} {column.title} @@ -75,8 +78,12 @@ {#each data.providers.providers as provider (provider.$id)} - + href={$canWriteProviders + ? `${base}/project-${$project.$id}/messaging/providers/provider-${provider.$id}` + : '#'}> + {#if $canWriteProviders} + + {/if} {#each $columns as column} {#if column.show} {#if column.id === '$id'} diff --git a/src/routes/(console)/project-[project]/messaging/topics/+page.svelte b/src/routes/(console)/project-[project]/messaging/topics/+page.svelte index 26f7c616f..c30948252 100644 --- a/src/routes/(console)/project-[project]/messaging/topics/+page.svelte +++ b/src/routes/(console)/project-[project]/messaging/topics/+page.svelte @@ -22,6 +22,7 @@ import Table from './table.svelte'; import type { Column } from '$lib/helpers/types'; import { writable } from 'svelte/store'; + import { canWriteTopics } from '$lib/stores/roles'; export let data: PageData; @@ -52,12 +53,14 @@
Topics -
- -
+ {#if $canWriteTopics} +
+ +
+ {/if}
@@ -69,10 +72,12 @@ hideView allowNoColumns showColsTextMobile /> - + {#if $canWriteTopics} + + {/if}
@@ -114,6 +119,7 @@ {:else} ($showCreate = true)} href="https://appwrite.io/docs/products/messaging/topics" target="topic" /> diff --git a/src/routes/(console)/project-[project]/messaging/topics/table.svelte b/src/routes/(console)/project-[project]/messaging/topics/table.svelte index aa1652427..971430a88 100644 --- a/src/routes/(console)/project-[project]/messaging/topics/table.svelte +++ b/src/routes/(console)/project-[project]/messaging/topics/table.svelte @@ -22,6 +22,7 @@ import { toLocaleDateTime } from '$lib/helpers/date'; import type { Column } from '$lib/helpers/types'; import { page } from '$app/stores'; + import { canWriteTopics } from '$lib/stores/roles'; export let columns: Column[]; export let data: PageData; @@ -60,9 +61,11 @@ - d.$id)} /> + {#if $canWriteTopics} + d.$id)} /> + {/if} {#each columns as column} {#if column.show} {column.title} @@ -73,8 +76,9 @@ {#each data.topics.topics as topic (topic.$id)} - - + {#if $canWriteTopics} + + {/if} {#each columns as column (column.id)} {#if column.show} {#if column.id === '$id'} diff --git a/src/routes/(console)/project-[project]/messaging/topics/topic-[topic]/header.svelte b/src/routes/(console)/project-[project]/messaging/topics/topic-[topic]/header.svelte index 69fc5c9bc..d64d26a90 100644 --- a/src/routes/(console)/project-[project]/messaging/topics/topic-[topic]/header.svelte +++ b/src/routes/(console)/project-[project]/messaging/topics/topic-[topic]/header.svelte @@ -4,6 +4,7 @@ import { Id, Tab, Tabs } from '$lib/components'; import { isTabSelected } from '$lib/helpers/load'; import { Cover, CoverTitle } from '$lib/layout'; + import { canWriteTopics } from '$lib/stores/roles'; import { topic } from './store'; const projectId = $page.params.project; @@ -23,9 +24,10 @@ { href: `${path}/settings`, title: 'Settings', - event: 'settings' + event: 'settings', + disabled: !$canWriteTopics } - ]; + ].filter((tab) => !tab.disabled); diff --git a/src/routes/(console)/project-[project]/overview/+layout.svelte b/src/routes/(console)/project-[project]/overview/+layout.svelte index 93d349b54..b837160d9 100644 --- a/src/routes/(console)/project-[project]/overview/+layout.svelte +++ b/src/routes/(console)/project-[project]/overview/+layout.svelte @@ -26,6 +26,7 @@ import { total } from '$lib/helpers/array'; import type { Metric } from '$lib/sdk/usage'; import { periodToDates } from '$lib/layout/usage.svelte'; + import { canWriteProjects } from '$lib/stores/roles'; $: projectId = $page.params.project; $: path = `${base}/project-${projectId}/overview`; @@ -56,7 +57,8 @@ addSubPanel(PlatformsPanel); }, icon: 'plus', - group: 'integrations' + group: 'integrations', + disabled: !$canWriteProjects }, { label: 'Create API Key', @@ -65,7 +67,8 @@ createApiKey(); }, keys: ['c', 'k'], - group: 'integrations' + group: 'integrations', + disabled: !$canWriteProjects } ]); diff --git a/src/routes/(console)/project-[project]/overview/keys/+page.svelte b/src/routes/(console)/project-[project]/overview/keys/+page.svelte index 8730feae9..7a54cf018 100644 --- a/src/routes/(console)/project-[project]/overview/keys/+page.svelte +++ b/src/routes/(console)/project-[project]/overview/keys/+page.svelte @@ -1,5 +1,8 @@ @@ -16,7 +19,9 @@ TableRowLink } from '$lib/elements/table'; import { toLocaleDate, toLocaleDateTime } from '$lib/helpers/date'; + import { canWriteKeys } from '$lib/stores/roles'; import { wizard } from '$lib/stores/wizard'; + import { get } from 'svelte/store'; import type { PageData } from './$types'; import Wizard from './wizard.svelte'; @@ -25,12 +30,14 @@
API keys - - - + {#if $canWriteKeys} + + + + {/if}
{#if data.keys.total} @@ -63,6 +70,7 @@ {:else} diff --git a/src/routes/(console)/project-[project]/overview/onboard.svelte b/src/routes/(console)/project-[project]/overview/onboard.svelte index 995606d82..41c9581ba 100644 --- a/src/routes/(console)/project-[project]/overview/onboard.svelte +++ b/src/routes/(console)/project-[project]/overview/onboard.svelte @@ -11,6 +11,7 @@ import { app } from '$lib/stores/app'; import { wizard } from '$lib/stores/wizard'; import Wizard from './keys/wizard.svelte'; + import { canWriteKeys, canWritePlatforms } from '$lib/stores/roles'; import { base } from '$app/paths'; export let projectId: string; @@ -55,103 +56,111 @@ $app.themeInUse === 'dark' ? OnboardDark2Desktop : OnboardLight2Desktop; -
-
-
-

Getting started

-

- Here are some next steps to start building -

-
-
+{#if $canWriteKeys || $canWritePlatforms} +
+
+
+

Getting started

+

+ Here are some next steps to start building +

+
+
-
-
-

Add a platform

-

- Our SDKs make it possible to easily integrate with any platform. -

-
-
-
    - {#each platforms as platform} -
  • - -
  • - {/each} -
-
-
+ {#if $canWritePlatforms} +
+
+

Add a platform

+

+ Our SDKs make it possible to easily integrate with any platform. +

+
+
+
    + {#each platforms as platform} +
  • + +
  • + {/each} +
+
+
+
+ OR +
+ {/if} -
- OR + {#if $canWriteKeys} +
+
+

Integrate with your server

+

+ Appwrite is designed to adapt to your existing backend. Integrate Appwrite + with your backend code base using Server SDKs or Webhooks. +

+
+
+ +
+
+ {/if}
- -
-
-

Integrate with your server

-

- Appwrite is designed to adapt to your existing backend. Integrate Appwrite with your - backend code base using Server SDKs or Webhooks. -

-
-
- -
-
-
+{/if}
statistics diff --git a/src/routes/(console)/project-[project]/overview/platforms/+page.svelte b/src/routes/(console)/project-[project]/overview/platforms/+page.svelte index 144503b1d..a3c2d6bfd 100644 --- a/src/routes/(console)/project-[project]/overview/platforms/+page.svelte +++ b/src/routes/(console)/project-[project]/overview/platforms/+page.svelte @@ -40,6 +40,7 @@ import { app } from '$lib/stores/app'; import type { PageData } from './$types'; import { ContainerHeader } from '$lib/layout'; + import { canWritePlatforms } from '$lib/stores/roles'; export let data: PageData; @@ -87,10 +88,12 @@ total={data?.platforms?.total} let:isButtonDisabled> - + {#if $canWritePlatforms} + + {/if} addPlatform(Platform.Web)}>Web app addPlatform(Platform.Flutter)}>Flutter app @@ -158,9 +161,13 @@ Documentation - + {#if $canWritePlatforms} + + {/if} addPlatform(Platform.Web)}> Web diff --git a/src/routes/(console)/project-[project]/settings/+layout.svelte b/src/routes/(console)/project-[project]/settings/+layout.svelte index c766f9c7b..da22182b3 100644 --- a/src/routes/(console)/project-[project]/settings/+layout.svelte +++ b/src/routes/(console)/project-[project]/settings/+layout.svelte @@ -1,6 +1,7 @@ diff --git a/src/routes/(console)/project-[project]/settings/migrations/+page.svelte b/src/routes/(console)/project-[project]/settings/migrations/+page.svelte index acd834470..919c19510 100644 --- a/src/routes/(console)/project-[project]/settings/migrations/+page.svelte +++ b/src/routes/(console)/project-[project]/settings/migrations/+page.svelte @@ -25,6 +25,7 @@ import { capitalize } from '$lib/helpers/string'; import { readOnly } from '$lib/stores/billing'; import type { Models } from '@appwrite.io/console'; + import { canWriteProjects } from '$lib/stores/roles'; export let data; let migration: Models.Migration = null; @@ -57,7 +58,8 @@ icon: 'download', keys: ['i', 'd'], callback: openImportWizard, - group: 'migrations' + group: 'migrations', + disabled: !$canWriteProjects }, isSelfHosted ? { diff --git a/src/routes/(console)/project-[project]/settings/migrations/exportModal.svelte b/src/routes/(console)/project-[project]/settings/migrations/exportModal.svelte index 246876a42..1d87b13a2 100644 --- a/src/routes/(console)/project-[project]/settings/migrations/exportModal.svelte +++ b/src/routes/(console)/project-[project]/settings/migrations/exportModal.svelte @@ -55,7 +55,7 @@ await feedback.submitFeedback(`feedback-${$feedback.type}`, message); } catch (error) { console.error( - 'Feedback cound bot be submitted, but we continue to reditect to do export.' + 'Feedback could not be submitted, but we continue to redirect to do export.' ); console.error(error); } diff --git a/src/routes/(console)/project-[project]/settings/updateName.svelte b/src/routes/(console)/project-[project]/settings/updateName.svelte index db404ff3b..231abbf48 100644 --- a/src/routes/(console)/project-[project]/settings/updateName.svelte +++ b/src/routes/(console)/project-[project]/settings/updateName.svelte @@ -10,6 +10,7 @@ import { sdk } from '$lib/stores/sdk'; import { onMount } from 'svelte'; import { project } from '../store'; + import { canWriteProjects } from '$lib/stores/roles'; const endpoint = sdk.forConsole.client.config.endpoint; const projectId = $page.params.project; @@ -60,22 +61,24 @@ - - Name + {#if $canWriteProjects} + + Name - - - - - + + + + + - - - - + + + + + {/if} diff --git a/src/routes/(console)/project-[project]/settings/usage/[[invoice]]/+page.svelte b/src/routes/(console)/project-[project]/settings/usage/[[invoice]]/+page.svelte index 828c5d019..ee2d2af1a 100644 --- a/src/routes/(console)/project-[project]/settings/usage/[[invoice]]/+page.svelte +++ b/src/routes/(console)/project-[project]/settings/usage/[[invoice]]/+page.svelte @@ -13,7 +13,7 @@ import { showUsageRatesModal, tierToPlan, upgradeURL } from '$lib/stores/billing'; import { organization } from '$lib/stores/organization'; import { Button } from '$lib/elements/forms'; - import { bytesToSize, humanFileSize } from '$lib/helpers/sizeConvertion'; + import { bytesToSize, humanFileSize, mbSecondsToGBHours } from '$lib/helpers/sizeConvertion'; import { BarChart } from '$lib/charts'; import { formatNum } from '$lib/helpers/string'; import { total } from '$lib/layout/usage.svelte'; @@ -325,6 +325,64 @@ {/if} + + GB hours + +

+ GB hours represent the memory usage (in gigabytes) of your function executions and + builds, multiplied by the total execution time (in hours). +

+ + {#if data.usage.executionsMbSecondsTotal} + {@const totalGbHours = mbSecondsToGBHours( + data.usage.executionsMbSecondsTotal + data.usage.buildsMbSecondsTotal + )} + {@const progressBarStorageDate = [ + { + size: mbSecondsToGBHours(data.usage.executionsMbSecondsTotal), + color: '#85DBD8', + tooltip: { + title: 'Executions', + label: `${(Math.round(mbSecondsToGBHours(data.usage.executionsMbSecondsTotal) * 100) / 100).toLocaleString('en-US')} GB hours` + } + }, + { + size: mbSecondsToGBHours(data.usage.buildsMbSecondsTotal), + color: '#FE9567', + tooltip: { + title: 'Deployments', + label: `${(Math.round(mbSecondsToGBHours(data.usage.buildsMbSecondsTotal) * 100) / 100).toLocaleString('en-US')} GB hours` + } + } + ]} +
+
+

+ {(Math.ceil(totalGbHours * 100) / 100).toLocaleString( + 'en-US' + )} + {`GB hours`} +

+
+
+ + {:else} + +
+
+
+ {/if} +
+

Metrics are estimates updated every 24 hours and may not accurately reflect your invoice.

diff --git a/src/routes/(console)/project-[project]/settings/webhooks/+page.svelte b/src/routes/(console)/project-[project]/settings/webhooks/+page.svelte index 26304e445..8c2bc4b40 100644 --- a/src/routes/(console)/project-[project]/settings/webhooks/+page.svelte +++ b/src/routes/(console)/project-[project]/settings/webhooks/+page.svelte @@ -1,5 +1,8 @@ @@ -28,6 +31,8 @@ import Create from './createWebhook.svelte'; import FailedModal from './failedModal.svelte'; import MessageStatusPill from './messageStatusPill.svelte'; + import { canWriteWebhooks } from '$lib/stores/roles'; + import { get } from 'svelte/store'; export let data: PageData; @@ -35,6 +40,9 @@ let selectedWebhook: Models.Webhook; function openWizard() { + if (!$canWriteWebhooks) { + return; + } wizard.start(Create); } @@ -49,10 +57,12 @@ - + {#if $canWriteWebhooks} + + {/if} {#if data.webhooks.total} diff --git a/src/routes/(console)/project-[project]/storage/+layout.svelte b/src/routes/(console)/project-[project]/storage/+layout.svelte index 6acf53b7d..2b56ac223 100644 --- a/src/routes/(console)/project-[project]/storage/+layout.svelte +++ b/src/routes/(console)/project-[project]/storage/+layout.svelte @@ -4,6 +4,7 @@ import { page } from '$app/stores'; import { addSubPanel, registerCommands, updateCommandGroupRanks } from '$lib/commandCenter'; import { BucketsPanel } from '$lib/commandCenter/panels'; + import { canWriteBuckets } from '$lib/stores/roles'; import { project } from '../store'; import { showCreateBucket } from './+page.svelte'; @@ -18,7 +19,8 @@ }, keys: $page.url.pathname.endsWith('storage') ? ['c'] : ['c', 'b'], icon: 'plus', - group: 'buckets' + group: 'buckets', + disabled: !$canWriteBuckets }, { label: 'Go to usage', diff --git a/src/routes/(console)/project-[project]/storage/+page.svelte b/src/routes/(console)/project-[project]/storage/+page.svelte index cb6d2dcbe..65ae055b8 100644 --- a/src/routes/(console)/project-[project]/storage/+page.svelte +++ b/src/routes/(console)/project-[project]/storage/+page.svelte @@ -14,6 +14,7 @@ import type { Models } from '@appwrite.io/console'; import { writable } from 'svelte/store'; import type { PageData } from './$types'; + import { canWriteBuckets } from '$lib/stores/roles'; export let data: PageData; @@ -29,11 +30,12 @@ ($showCreateBucket = true)} /> {#if data.buckets.total} !tab.disabled); diff --git a/src/routes/(console)/wizard/feedback/step1.svelte b/src/routes/(console)/wizard/feedback/step1.svelte index c767a19db..17219cc26 100644 --- a/src/routes/(console)/wizard/feedback/step1.svelte +++ b/src/routes/(console)/wizard/feedback/step1.svelte @@ -6,7 +6,10 @@ feedbackOptions, feedback } from '$lib/stores/feedback'; + import { user } from '$lib/stores/user'; + import { organization } from '$lib/stores/organization'; import { addNotification } from '$lib/stores/notifications'; + import { page } from '$app/stores'; $: $selectedFeedback = feedbackOptions.find((option) => option.type === $feedback.type); @@ -15,8 +18,11 @@ await feedback.submitFeedback( `feedback-${$feedback.type}`, $feedbackData.message, - $feedbackData.name, - $feedbackData.email + $user.name, + $user.email, + $organization.billingPlan, + $page.url.href, + $feedbackData.value ); addNotification({ type: 'success', diff --git a/src/routes/(public)/(guest)/login/+page.svelte b/src/routes/(public)/(guest)/login/+page.svelte index fee71f180..a08230da9 100644 --- a/src/routes/(public)/(guest)/login/+page.svelte +++ b/src/routes/(public)/(guest)/login/+page.svelte @@ -51,17 +51,6 @@ await goto(`${base}/apply-credit?campaign=${data.campaign}`); return; } - if ($page.url.searchParams) { - const redirect = $page.url.searchParams.get('redirect'); - $page.url.searchParams.delete('redirect'); - if (redirect) { - await goto(`${redirect}${$page.url.search}`); - } else { - await goto(`${base}${$page.url.search ?? ''}`); - } - } else { - await goto(base); - } } catch (error) { disabled = false; addNotification({ diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 72fa9499e..8368d619f 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -194,4 +194,20 @@ } } } + + /* TODO: remove this block once Pink V2 is incorporated */ + input[type='radio'], + input[type='checkbox']:not([class='switch']), + input[type='switchbox'] { + .theme-dark &:not(:checked) { + background-color: transparent; /* take whatever color is behind */ + border: 1px solid var(--color-mid-neutral-70, #56565c); + } + } + + input[type='checkbox'][class='switch'] { + .theme-dark &:not(:checked) { + background-color: var(--color-mid-neutral-70, #56565c); + } + } diff --git a/static/images/campaigns/CodeWithAntonio/dark.png b/static/images/campaigns/CodeWithAntonio/dark.png new file mode 100644 index 000000000..88b548041 Binary files /dev/null and b/static/images/campaigns/CodeWithAntonio/dark.png differ diff --git a/static/images/campaigns/CodeWithAntonio/light.png b/static/images/campaigns/CodeWithAntonio/light.png new file mode 100644 index 000000000..5f4fe3061 Binary files /dev/null and b/static/images/campaigns/CodeWithAntonio/light.png differ diff --git a/static/images/campaigns/Hacktoberfest2024/dark.png b/static/images/campaigns/Hacktoberfest2024/dark.png new file mode 100644 index 000000000..9a59e5430 Binary files /dev/null and b/static/images/campaigns/Hacktoberfest2024/dark.png differ diff --git a/static/images/campaigns/Hacktoberfest2024/light.png b/static/images/campaigns/Hacktoberfest2024/light.png new file mode 100644 index 000000000..956928377 Binary files /dev/null and b/static/images/campaigns/Hacktoberfest2024/light.png differ diff --git a/static/images/campaigns/NetNinja/dark.png b/static/images/campaigns/NetNinja/dark.png new file mode 100644 index 000000000..88b548041 Binary files /dev/null and b/static/images/campaigns/NetNinja/dark.png differ diff --git a/static/images/campaigns/NetNinja/light.png b/static/images/campaigns/NetNinja/light.png new file mode 100644 index 000000000..5f4fe3061 Binary files /dev/null and b/static/images/campaigns/NetNinja/light.png differ diff --git a/svelte.config.js b/svelte.config.js index fefeaa9fb..6dc507df4 100644 --- a/svelte.config.js +++ b/svelte.config.js @@ -4,10 +4,18 @@ import { preprocessMeltUI, sequence } from '@melt-ui/pp'; /** @type {import('@sveltejs/kit').Config} */ const config = { - preprocess: sequence([sveltePreprocess(), preprocessMeltUI()]), + preprocess: sequence([ + sveltePreprocess({ + scss: { + silenceDeprecations: ['legacy-js-api'] + } + }), + preprocessMeltUI() + ]), compilerOptions: { accessors: !!process.env.VITEST }, + kit: { alias: { $routes: './src/routes' diff --git a/tests/e2e/journeys/upgrade-free-tier.spec.ts b/tests/e2e/journeys/upgrade-free-tier.spec.ts index 056333872..0b7d114b6 100644 --- a/tests/e2e/journeys/upgrade-free-tier.spec.ts +++ b/tests/e2e/journeys/upgrade-free-tier.spec.ts @@ -7,7 +7,7 @@ test('upgrade - free tier', async ({ page }) => { await registerUserStep(page); await createFreeProject(page); await test.step('upgrade project', async () => { - await page.getByRole('link', { name: 'upgrade' }).click(); + await page.getByRole('link', { name: 'Upgrade', exact: true }).click(); await page.waitForURL('./organization-**/change-plan'); await page.locator('input[value="tier-1"]').click(); await page.getByRole('button', { name: 'add' }).first().click(); diff --git a/vite.config.ts b/vite.config.ts index fae0c9bb7..b28699947 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -16,6 +16,13 @@ const config = defineConfig({ optimizeDeps: { include: ['echarts', 'prismjs'] }, + css: { + preprocessorOptions: { + scss: { + silenceDeprecations: ['legacy-js-api'] + } + } + }, ssr: { noExternal: [ '@analytics/google-analytics',