diff --git a/.gitmodules b/.gitmodules index 3be40ab2..30ed139b 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,4 @@ [submodule "packages/svelte-core"] path = packages/svelte-core url = https://github.com/OpenShock/svelte-core.git + branch = feature/svelte-kit-3 diff --git a/package.json b/package.json index 22871ca9..07441483 100644 --- a/package.json +++ b/package.json @@ -26,9 +26,9 @@ "@lucide/svelte": "^1.31.0", "@microsoft/signalr": "^10.0.11", "@playwright/test": "^1.62.1", - "@sveltejs/adapter-cloudflare": "^7.2.9", - "@sveltejs/adapter-node": "^5.5.7", - "@sveltejs/kit": "^2.70.2", + "@sveltejs/adapter-cloudflare": "8.0.0-next.6", + "@sveltejs/adapter-node": "6.0.0-next.10", + "@sveltejs/kit": "3.0.0-next.23", "@sveltejs/vite-plugin-svelte": "^7.3.0", "@tailwindcss/vite": "^4.3.3", "@tanstack/svelte-table": "^9.1.2", @@ -93,5 +93,9 @@ "browserslist": [ "defaults and fully supports es6-module" ], - "packageManager": "pnpm@11.22.0" + "packageManager": "pnpm@11.22.0", + "imports": { + "#lib": "./src/lib/index.js", + "#lib/*": "./src/lib/*" + } } diff --git a/packages/svelte-core b/packages/svelte-core index 718b2e73..ab76b4b4 160000 --- a/packages/svelte-core +++ b/packages/svelte-core @@ -1 +1 @@ -Subproject commit 718b2e732641132adfbd817c6fbe32d4c13e3b52 +Subproject commit ab76b4b4d9766bd48d90c2aea831f3484db5b85c diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index adfb7fcb..7666179b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -82,14 +82,14 @@ importers: specifier: ^1.62.1 version: 1.62.1 '@sveltejs/adapter-cloudflare': - specifier: ^7.2.9 - version: 7.2.9(@sveltejs/kit@2.70.2(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.56.9(@typescript-eslint/types@8.67.0))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(wrangler@4.123.0) + specifier: 8.0.0-next.6 + version: 8.0.0-next.6(@sveltejs/kit@3.0.0-next.23(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.56.9(@typescript-eslint/types@8.67.0))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(wrangler@4.123.0(@cloudflare/workers-types@5.20260817.1)) '@sveltejs/adapter-node': - specifier: ^5.5.7 - version: 5.5.7(@sveltejs/kit@2.70.2(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.56.9(@typescript-eslint/types@8.67.0))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0))) + specifier: 6.0.0-next.10 + version: 6.0.0-next.10(@sveltejs/kit@3.0.0-next.23(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.56.9(@typescript-eslint/types@8.67.0))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0))) '@sveltejs/kit': - specifier: ^2.70.2 - version: 2.70.2(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.56.9(@typescript-eslint/types@8.67.0))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)) + specifier: 3.0.0-next.23 + version: 3.0.0-next.23(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.56.9(@typescript-eslint/types@8.67.0))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)) '@sveltejs/vite-plugin-svelte': specifier: ^7.3.0 version: 7.3.0(svelte@5.56.9(@typescript-eslint/types@8.67.0))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)) @@ -113,7 +113,7 @@ importers: version: typescript@7.0.2 bits-ui: specifier: 2.18.1 - version: 2.18.1(@internationalized/date@3.12.3)(@sveltejs/kit@2.70.2(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.56.9(@typescript-eslint/types@8.67.0))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0)) + version: 2.18.1(@internationalized/date@3.12.3)(@sveltejs/kit@3.0.0-next.23(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.56.9(@typescript-eslint/types@8.67.0))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0)) boxen: specifier: ^8.0.1 version: 8.0.1 @@ -209,7 +209,7 @@ importers: version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@26.2.0)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)) wrangler: specifier: ^4.123.0 - version: 4.123.0 + version: 4.123.0(@cloudflare/workers-types@5.20260817.1) packages/svelte-core: devDependencies: @@ -220,11 +220,11 @@ importers: specifier: ^1.31.0 version: 1.31.0(svelte@5.56.9(@typescript-eslint/types@8.67.0)) '@sveltejs/adapter-auto': - specifier: ^7.0.1 - version: 7.0.1(@sveltejs/kit@2.70.2(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.56.9(@typescript-eslint/types@8.67.0))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0))) + specifier: next + version: 8.0.0-next.3(@sveltejs/kit@3.0.0-next.23(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.56.9(@typescript-eslint/types@8.67.0))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0))) '@sveltejs/kit': - specifier: ^2.70.2 - version: 2.70.2(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.56.9(@typescript-eslint/types@8.67.0))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)) + specifier: next + version: 3.0.0-next.23(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.56.9(@typescript-eslint/types@8.67.0))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)) '@sveltejs/vite-plugin-svelte': specifier: ^7.3.0 version: 7.3.0(svelte@5.56.9(@typescript-eslint/types@8.67.0))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)) @@ -236,7 +236,7 @@ importers: version: typescript@7.0.2 bits-ui: specifier: 2.18.1 - version: 2.18.1(@internationalized/date@3.12.3)(@sveltejs/kit@2.70.2(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.56.9(@typescript-eslint/types@8.67.0))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0)) + version: 2.18.1(@internationalized/date@3.12.3)(@sveltejs/kit@3.0.0-next.23(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.56.9(@typescript-eslint/types@8.67.0))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0)) clsx: specifier: ^2.1.1 version: 2.1.1 @@ -248,7 +248,7 @@ importers: version: 3.23.0(eslint@10.8.1(jiti@2.7.0)(supports-color@10.2.2))(svelte@5.56.9(@typescript-eslint/types@8.67.0)) formsnap: specifier: ^2.0.1 - version: 2.0.1(svelte@5.56.9(@typescript-eslint/types@8.67.0))(sveltekit-superforms@2.30.2(@sveltejs/kit@2.70.2(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.56.9(@typescript-eslint/types@8.67.0))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(@types/json-schema@7.0.15)(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3)) + version: 2.0.1(svelte@5.56.9(@typescript-eslint/types@8.67.0))(sveltekit-superforms@2.30.2(@sveltejs/kit@3.0.0-next.23(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.56.9(@typescript-eslint/types@8.67.0))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(@types/json-schema@7.0.15)(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3)) prettier: specifier: ~3.9.6 version: 3.9.6 @@ -275,7 +275,7 @@ importers: version: 1.2.1(svelte@5.56.9(@typescript-eslint/types@8.67.0)) sveltekit-superforms: specifier: ^2.30.2 - version: 2.30.2(@sveltejs/kit@2.70.2(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.56.9(@typescript-eslint/types@8.67.0))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(@types/json-schema@7.0.15)(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3) + version: 2.30.2(@sveltejs/kit@3.0.0-next.23(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.56.9(@typescript-eslint/types@8.67.0))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(@types/json-schema@7.0.15)(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3) tailwind-merge: specifier: ^3.6.0 version: 3.6.0 @@ -362,8 +362,8 @@ packages: cpu: [x64] os: [win32] - '@cloudflare/workers-types@4.20260702.1': - resolution: {integrity: sha512-mOhf5TUEB1m2vPrxtqoIGfz0fUC9xyxRDx5gWHy5s+OCo6dcV+g7wI1R7gYCMFohhqF/2y2xeKVwMwCJjfn/WA==} + '@cloudflare/workers-types@5.20260817.1': + resolution: {integrity: sha512-5Dv+cyjusBTPLMRedUCiLJu3zqeeupgyn1QcHmpHJV9k/TjQAxx79AO8RVtpjVaO2CB+Oh3ywAp1UuNpbyDjGQ==} '@cspotcode/source-map-support@0.8.1': resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} @@ -1076,51 +1076,6 @@ packages: '@rolldown/pluginutils@1.0.1': resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==} - '@rollup/plugin-commonjs@29.0.3': - resolution: {integrity: sha512-ZaOxZceP7SOUW7Lqw5IRVweSQYWaeIPnXIGLiB690EBA3FGJTO40EEr2L5yZplJWsgTCogILRSpcAe7+U0Otdg==} - engines: {node: '>=16.0.0 || 14 >= 14.17'} - peerDependencies: - rollup: ^2.68.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - - '@rollup/plugin-json@6.1.0': - resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - - '@rollup/plugin-node-resolve@16.0.3': - resolution: {integrity: sha512-lUYM3UBGuM93CnMPG1YocWu7X802BrNF3jW2zny5gQyLQgRFJhV1Sq0Zi74+dh/6NBx1DxFC4b4GXg9wUCG5Qg==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^2.78.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - - '@rollup/plugin-replace@6.0.3': - resolution: {integrity: sha512-J4RZarRvQAm5IF0/LwUUg+obsm+xZhYnbMXmXROyoSE1ATJe3oXSb9L5MMppdxP2ylNSjv6zFBwKYjcKMucVfA==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - - '@rollup/pluginutils@5.4.0': - resolution: {integrity: sha512-MfPp06CjRLfXQ3wY0R8vJDYBy/MvVcc9OulEfR0B8Iv9ko+GCNaRZ+EpJYFl27LhKsZK0o420sYCRHCjfCgeUg==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - '@rollup/rollup-android-arm-eabi@4.62.4': resolution: {integrity: sha512-RrPokAb7dmbxFoeO3TloqHyOjgye8RkBhSqmp4aJMIex4c9r46ZstPnleDQOq1t46VOVjwIuwNogIqbodV1Vvg==} cpu: [arm] @@ -1272,8 +1227,8 @@ packages: resolution: {integrity: sha512-P1Cz1dWaFfR4IR+U13mqqiGsLFf1KbayybWwdd2vfctdV6hDpUkgCY0nKOLLTMSoRd/jJNjtbqzf13K8DCCXQw==} engines: {node: '>=18'} - '@speed-highlight/core@1.2.24': - resolution: {integrity: sha512-qeW2e1l78afw8VhRPfPQ1Gjj+KU5XFQ/OFV5ti6eTa9bruO7mJyZtA4vw0ofqmA3tKCkROE9xLk3VZoeRc98nw==} + '@speed-highlight/core@1.2.23': + resolution: {integrity: sha512-iRoq6i6JDJP6Mt2A5JaPvzw0pgYHH6k92ij+yXiTrB7T2y9N789aWE3EHWj/5ztlJBokcCBja3iYLVdu5wgnkg==} '@standard-schema/spec@1.1.0': resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} @@ -1283,32 +1238,32 @@ packages: peerDependencies: acorn: ^8.9.0 - '@sveltejs/adapter-auto@7.0.1': - resolution: {integrity: sha512-dvuPm1E7M9NI/+canIQ6KKQDU2AkEefEZ2Dp7cY6uKoPq9Z/PhOXABe526UdW2mN986gjVkuSLkOYIBnS/M2LQ==} + '@sveltejs/adapter-auto@8.0.0-next.3': + resolution: {integrity: sha512-IW/aPSgAh3wsjDN7ZmHPaeXZmft+E24j+T4TSq5gO6jdKYn2RX+7JAb/yCmV9BVgdrLNm02vrnBTxA1al917yA==} peerDependencies: - '@sveltejs/kit': ^2.0.0 + '@sveltejs/kit': ^3.0.0-next.0 - '@sveltejs/adapter-cloudflare@7.2.9': - resolution: {integrity: sha512-LEfLRYKZIiNYBPYk9Cu4dFCCIX37NO96jESNRDv7yr3vvblKU4Yh05FPUMRSrOWFKtG6bJcGIvdG/M2DSf4D1w==} + '@sveltejs/adapter-cloudflare@8.0.0-next.6': + resolution: {integrity: sha512-SFj/Fxg7m4bCpwjz7uvTG6vDuDhsnXuwUnH0qyPxeRc2SNHo1HEMoTNBFHlC9A9hXgjfnSJZINn+tJGP08q7IQ==} peerDependencies: - '@sveltejs/kit': ^2.0.0 - wrangler: ^4.0.0 + '@sveltejs/kit': ^3.0.0-next.0 + wrangler: ^4.118.0 - '@sveltejs/adapter-node@5.5.7': - resolution: {integrity: sha512-uOfc9eVlI3A37RRSaKcgrheBYPrfJwC9VMqDp8x/O6tlKdcLLvHThSWD0KNIbjQ/d+7bwLGx3vx6aowAcRfd2g==} + '@sveltejs/adapter-node@6.0.0-next.10': + resolution: {integrity: sha512-eYvk01tqPixXDkw5MCsMJZUU/9gbqWIAE9ASUYDtIaESmUcT/QBXo15Gd5NHy4ow4pelXVP/wJnQKa2RxOg10g==} peerDependencies: - '@sveltejs/kit': ^2.4.0 + '@sveltejs/kit': ^3.0.0-next.0 - '@sveltejs/kit@2.70.2': - resolution: {integrity: sha512-RzRoRpuR2KXqc5yMO0akQHDZeT4AslOlznGITURsqHaVbtyYP4Wn3eE3gxj9JcDyNYO0crkxhdwFHc+2vkVm6w==} - engines: {node: '>=18.13'} + '@sveltejs/kit@3.0.0-next.23': + resolution: {integrity: sha512-vQEp3qR99VrVlRe+jLKUAAelj75xTf/TBdY40LM0fA0JiQiy+rT8vD4GKgMG86WjOk63E3Bas15aQnYApKyfvQ==} + engines: {node: '>=22.17'} hasBin: true peerDependencies: '@opentelemetry/api': ^1.0.0 - '@sveltejs/vite-plugin-svelte': ^3.0.0 || ^4.0.0-next.1 || ^5.0.0 || ^6.0.0-next.0 || ^7.0.0 - svelte: ^4.0.0 || ^5.0.0-next.0 - typescript: ^5.3.3 || ^6.0.0 - vite: ^5.0.3 || ^6.0.0 || ^7.0.0-beta.0 || ^8.0.0 + '@sveltejs/vite-plugin-svelte': ^7.0.0 + svelte: ^5.56.4 + typescript: ^6.0.0 + vite: ^8.0.12 peerDependenciesMeta: '@opentelemetry/api': optional: true @@ -1423,11 +1378,11 @@ packages: peerDependencies: vite: ^5.2.0 || ^6 || ^7 || ^8 - '@tanstack/store@0.11.1': - resolution: {integrity: sha512-mzTOBhypOuDJAy/D8n2MfUZ1HFkXnmSETviRyhqEC8LUE7/IZQExOTxMANj3KjTofYTkFNpBY67qaVrT41YccA==} + '@tanstack/store@0.11.0': + resolution: {integrity: sha512-WlzzCt3xi0G6pCAJu1U+2jiECwabETDpQDi3hfkFZvJii9AuZqEKbOiVarX1/bWhTNjU486yQtJCCasi/0q+Cw==} - '@tanstack/svelte-store@0.12.1': - resolution: {integrity: sha512-ZFj8gyIWHZRYLv8RHp5jhnMhvw15g86KinotrUp9RfY7ygjkU3CcaMUytIdMJ4Xzq/9GqVlAphV9gFIGKRXWSw==} + '@tanstack/svelte-store@0.12.0': + resolution: {integrity: sha512-XhXlU3jIO/WxikfeVczRdsAvRWzsLBh8Ic6sC7nzfzvMbPut7ZSdCbE7/usfm0bMjVGMmZmyzZy2xRu73QYWAA==} peerDependencies: svelte: ^5.0.0 @@ -1444,9 +1399,6 @@ packages: '@types/chai@5.2.3': resolution: {integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==} - '@types/cookie@0.6.0': - resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==} - '@types/deep-eql@4.0.2': resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==} @@ -1462,9 +1414,6 @@ packages: '@types/node@26.2.0': resolution: {integrity: sha512-5IviulTZeRNp2vAJ514cc/HUlY5nZ9fCbq9DMyC52BrhFZACo3nI0R7qBxhQmo/d27NFe96ur/b7Wwxklda+kg==} - '@types/resolve@1.20.2': - resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} - '@types/semver@7.8.0': resolution: {integrity: sha512-1mAINjtQCXXeLkJ9ehXkwOcBpqtLxiVtKhpUf83DdRNdQKV0iXZpaHYqRr7nj+wvxuJzoAmAwXI+sCNMv1CzLQ==} @@ -1742,8 +1691,8 @@ packages: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} - ansi-regex@6.3.0: - resolution: {integrity: sha512-WpDfL7NO6j7tH88IDBNVdUJxDh9nmCteAVW9dsep846XdwF4naCBK+/tGLX3KJgcpgMRXCFlTM2hKGoK9FsdrQ==} + ansi-regex@6.2.2: + resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} engines: {node: '>=12'} ansi-styles@6.2.3: @@ -1785,8 +1734,8 @@ packages: resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} engines: {node: 18 || 20 || >=22} - baseline-browser-mapping@2.11.14: - resolution: {integrity: sha512-JyJ954WzuIR8/FFzX0o5krdSTrBAkcCSRfWSleRsIHSWV+cZe2FI1PKggVkFke1hBldRs+LRxUczzE9iPmgZww==} + baseline-browser-mapping@2.11.12: + resolution: {integrity: sha512-r7WnVImvVCeFpf2DOXfy41aPWzeNg3H/A2X4dKmy1QL0MSyyk/e7z8ihJ3N6Nn2PsdhkVlqnEfnUE4a05P2aTA==} engines: {node: '>=6.0.0'} hasBin: true @@ -1808,8 +1757,8 @@ packages: resolution: {integrity: sha512-ScQ4IuvIEF1TMlP7Zt+vjJ//9zlPb2SDcxWxM3bk8s6t6GGdJ7KO1dCcTidOPJKePW30LE/2cT7wCyPho9/Wxg==} engines: {node: 20 || >=22} - browserslist@4.28.8: - resolution: {integrity: sha512-V2NpofLblG64mfOtSgDhOJESZEGogzDMBv/q+W6oc4LXWP/q75eOXoOaaOu1EOadB9U4Bwx/e0yzbvwKH8zalA==} + browserslist@4.28.7: + resolution: {integrity: sha512-JxV13hNrFxqjOc8alRbq9dK1MM79NEXYpma2B2J4wAtpWS5zIEIKqWPGCl7N4o7Uc7B7itylh7SuDujATRyyTw==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true @@ -1829,8 +1778,8 @@ packages: resolution: {integrity: sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==} engines: {node: '>=16'} - caniuse-lite@1.0.30001809: - resolution: {integrity: sha512-xxWVywk6a6Arlk+hymeycyn/VgqEfLDxupvhH/xiY5SJ/18kmi9o6MiO320DCUzypORHLtvh0I4i04tUhCNHNQ==} + caniuse-lite@1.0.30001806: + resolution: {integrity: sha512-72Cuvd95zbSYPKq6Fhg8eDJRlzgWDf7/mtoZv6Qe/DYNCEBdNxoA3+rZAU2ZhGCpZlns3EssFavaZomckT5Uuw==} chai@6.2.2: resolution: {integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==} @@ -1852,8 +1801,8 @@ packages: resolution: {integrity: sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==} engines: {node: '>= 20.19.0'} - cjs-module-lexer@2.2.1: - resolution: {integrity: sha512-Ca8swihM+/4yKecYHY52kgJd300hi2lADU/a1RxNTRe+RJ9jvqQlESpbz9DnG9mowez8qwXHB8qYdIUw9e+F5Q==} + cjs-module-lexer@2.2.0: + resolution: {integrity: sha512-4bHTS2YuzUvtoLjdy+98ykbNB5jS0+07EvFNXerqZQJ89F7DI6ET7OQo/HJuW6K0aVsKA9hj9/RVb2kQVOrPDQ==} class-validator@0.14.4: resolution: {integrity: sha512-AwNusCCam51q703dW82x95tOqQp6oC9HNUl724KxJJOfnKscI8dOloXFgyez7LbTTKWuRBA37FScqVbJEoq8Yw==} @@ -1877,23 +1826,20 @@ packages: commenting@1.1.0: resolution: {integrity: sha512-YeNK4tavZwtH7jEgK1ZINXzLKm6DZdEMfsaaieOsCAN0S8vsY7UeuO3Q7d/M018EFgE+IeUAuBOKkFccBZsUZA==} - commondir@1.0.1: - resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} - confbox@0.2.4: resolution: {integrity: sha512-ysOGlgTFbN2/Y6Cg3Iye8YKulHw+R2fNXHrgSmXISQdMnomY6eNDprVdW9R5xBguEqI954+S6709UyiO7B+6OQ==} convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - cookie@0.7.2: - resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} - engines: {node: '>= 0.6'} - cookie@1.1.1: resolution: {integrity: sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==} engines: {node: '>=18'} + cookie@2.0.1: + resolution: {integrity: sha512-yuToqVvRrj6pfDXREyQAAv8SkAEk/8GS3jQRTiUMm66TVtBYmqQeoEjL2Lmq8Rpo6271vH76InTChTitEAm65w==} + engines: {node: '>=22'} + cross-env@10.1.0: resolution: {integrity: sha512-GsYosgnACZTADcmEyJctkJIoqAhHjttw7RsFrVoJNXbsWWqaq6Ym+7kZjq6mS45O0jij6vtiReppKQEtqWy6Dw==} engines: {node: '>=20'} @@ -1931,8 +1877,8 @@ packages: resolution: {integrity: sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==} engines: {node: '>=18'} - default-browser@5.5.1: - resolution: {integrity: sha512-m1pAzaJgZ/gssEqlOhJkPJp8Xly7QyW6xcrkUa2KKcDeDSEMP7X8xipU3snUcfisTQx0w1AGae+9UtJSfVnXGw==} + default-browser@5.5.0: + resolution: {integrity: sha512-H9LMLr5zwIbSxrmvikGuI/5KGhZ8E2zH3stkMgM5LpOWDutGM2JZaj460Udnf1a+946zc7YBgrqEWwbk7zHvGw==} engines: {node: '>=18'} define-lazy-prop@3.0.0: @@ -1972,8 +1918,8 @@ packages: effect@3.22.1: resolution: {integrity: sha512-TNoXushmPOBAjJlthF5d2QwnX2xBPEtcNJr5XKNKbRLbDvBcOYkXlYDfvGfSA0zriwLFuCll5MDtNMAdZL17PQ==} - electron-to-chromium@1.5.408: - resolution: {integrity: sha512-SLoprcYpJ/OH2v2ps0+N5biv9H4/KBT3+YmmDew64TwK5y9j2wv7pMOFY7IorVkyMtEyLSCRlXKLsNlakeAlPw==} + electron-to-chromium@1.5.400: + resolution: {integrity: sha512-96EWDNjM59SYflgeV5Ylsf4EMiq1a25YjCnJH7cxn/AF2H3pILRweaUnoLax0yKHWdpOzY6JKEu45e8irqZIHA==} emoji-regex@10.6.0: resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==} @@ -1988,12 +1934,8 @@ packages: error-stack-parser-es@1.0.5: resolution: {integrity: sha512-5qucVt2XcuGMcEGgWI7i+yZpmpByQ8J1lHhcL7PwqCwu9FPP3VUXzT4ltHe5i2z9dePwEHcDVOAfSnHsOlCXRA==} - es-errors@1.3.0: - resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} - engines: {node: '>= 0.4'} - - es-module-lexer@2.3.2: - resolution: {integrity: sha512-poHGpORABojJJucnV9KbOavETW8lBVnphkW77ER5/BQ5Fz7oXSoCNek7IH3vR5nRjdsEz926ibFYX8KtLQmdyw==} + es-module-lexer@2.3.1: + resolution: {integrity: sha512-shc1dbU90Yl/xq1QrC7QRtfcwURZuVRfPhZbDoldJ1cn1gzDvBaBWlv0eFolj5+0znnPJz5TXLxsN77X/12KTA==} esbuild@0.28.1: resolution: {integrity: sha512-HrJrvZv5ayxBzPfwphOoNzkzOIIlifzk0KJrGK2c8R4+LKpMtpYLQeUdjnwjWv/LZlkH2laZk+4w78pi99D4Vw==} @@ -2078,8 +2020,8 @@ packages: resolution: {integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==} engines: {node: '>=0.10'} - esrap@2.3.4: - resolution: {integrity: sha512-CHnJXZDfBeOAjLIGNy/0BEsmDu5+irHgUXRW9pGptxCbO3uyjJ98crilzFgiBqizW94UodjX3GAPLg/dhEnUfA==} + esrap@2.3.0: + resolution: {integrity: sha512-GQ/7RN8uOtEfNpzZzBMTzW9JBcX42oaSVtPzdF+6cEL8pqIL094iUpr9jzYGn4O4P/1S60dJ6izyT8F4LYARng==} peerDependencies: '@typescript-eslint/types': ^8.2.0 peerDependenciesMeta: @@ -2094,9 +2036,6 @@ packages: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} - estree-walker@2.0.2: - resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} - estree-walker@3.0.3: resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} @@ -2176,9 +2115,6 @@ packages: engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] - function-bind@1.1.2: - resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - get-east-asian-width@1.6.0: resolution: {integrity: sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==} engines: {node: '>=18'} @@ -2209,10 +2145,6 @@ packages: graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - hasown@2.0.4: - resolution: {integrity: sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==} - engines: {node: '>= 0.4'} - husky@9.1.7: resolution: {integrity: sha512-5gs5ytaNjBrh5Ow3zrvdUUY+0VxIuWVL4i9irt6friV+BqdCfmV11CQTWMiBYWHbXhco+J1kHfTOUkePhCDvMA==} engines: {node: '>=18'} @@ -2237,10 +2169,6 @@ packages: inline-style-parser@0.2.7: resolution: {integrity: sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==} - is-core-module@2.16.2: - resolution: {integrity: sha512-evOr8xfXKxE6qSR0hSXL2r3sd7ALj8+7jQEUvPYcm5sgZFdJ+AYzT6yNmJenvIYQBgIGwfwz08sL8zoL7yq2BA==} - engines: {node: '>= 0.4'} - is-docker@3.0.0: resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -2267,12 +2195,6 @@ packages: engines: {node: '>=14.16'} hasBin: true - is-module@1.0.0: - resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} - - is-reference@1.2.1: - resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} - is-reference@3.0.3: resolution: {integrity: sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==} @@ -2530,8 +2452,8 @@ packages: ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - nanoid@3.3.18: - resolution: {integrity: sha512-DTg4MJbGMWkfi6VZFdNt2/caMbQy4Ou+Op/hJQvGEWcnVfoA1QA+xzRKAzw9jD6+GVOOeYr/mIcuDSdug6F6+w==} + nanoid@3.3.17: + resolution: {integrity: sha512-xQLf0A3HOMlgHq0n247/LRuAOYmB7dXJ/DvAxGvsSBij45XtBSmQycu+F8ODbHwns/XyFZagyL1+J0Offw1E0g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true @@ -2547,8 +2469,8 @@ packages: encoding: optional: true - node-releases@2.0.53: - resolution: {integrity: sha512-D9UOmYG3UH1V+ENW56t5QXBwJw1YEY18ruVeus89Rw+SyIgjPkCO84bRzO3uNIYosJbNwiabWVn48o3uJLjxFQ==} + node-releases@2.0.52: + resolution: {integrity: sha512-MRlTqhAfoMx/4mhEbPo3Hi02g9LJZaJkka69V6h67Cb1gjrAG0jsTE4CZX1eptNx+VCAwJmfpnDIF4P0Nh1A7A==} engines: {node: '>=18'} normalize-url@8.1.1: @@ -2559,8 +2481,8 @@ packages: resolution: {integrity: sha512-4a+OsYv9UktOJKE+l1A4OufDgdRF9PifWj+tJnHURo/P+WOxpG4GzUFL9qCalmWauao6ogiG+QvnCovwPoyAWA==} engines: {node: '>=12.20.0'} - ohash@2.0.12: - resolution: {integrity: sha512-65S/5gk9YSsaRjcyf7Nfa6h/d3E8/1gslpXfI4W7Dxn/oap8IKRuNT5VXkLQ1YFKIEg4apRY4Pj6aiwFzrDdmw==} + ohash@2.0.11: + resolution: {integrity: sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==} open@11.0.0: resolution: {integrity: sha512-smsWv2LzFjP03xmvFoJ331ss6h+jixfA4UUV/Bsiyuu4YJPfN+FIQGOIiv4w9/+MoHkfkJ22UIaQWRVFRfH6Vw==} @@ -2596,9 +2518,6 @@ packages: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} - path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - path-to-regexp@6.3.0: resolution: {integrity: sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==} @@ -2652,12 +2571,12 @@ packages: peerDependencies: postcss: ^8.4.29 - postcss-selector-parser@7.1.5: - resolution: {integrity: sha512-KvvtD7SrlBP7dlgkBghEE3r84CABm5SmV2aNcG4oCA+qDnJ/tvKonFVvwWAyyWUEwxuNawdfEAZKP9zM3oZ2Uw==} + postcss-selector-parser@7.1.4: + resolution: {integrity: sha512-HeP7D2wyhkR+XaK6v4W8oRF62Dsz4flyuczALJp61GckGm42u1saSSJ/0auvcBqxs3jMRFEcPK34At/0JBKdOg==} engines: {node: '>=4'} - postcss@8.5.26: - resolution: {integrity: sha512-u82N74LFzG8ca+dD8puPnplTXoGH4fTPpVGuIbt36G3qvNlkvfD0lEAZSxaly3KX8TS/L1A1gsCEmvKmBcVbkQ==} + postcss@8.5.25: + resolution: {integrity: sha512-DTPx3RWSSnWyzLxQnlH0rJP+EW5ekl16ZU4/psbIhA0e53kJfdgaN5vKM+xP7yJtXVu+nfdVFmlgFDEKAe4Pyw==} engines: {node: ^10 || ^12 || >=14} powershell-utils@0.1.0: @@ -2777,10 +2696,6 @@ packages: resolution: {integrity: sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==} engines: {node: '>= 20.19.0'} - regexparam@3.0.0: - resolution: {integrity: sha512-RSYAtP31mvYLkAHrOlh25pCNQ5hWnT106VukGaaFfuJrZFkGRX5GhUAdPqpSDXxOhA2c4akmRuplv1mRqnBn6Q==} - engines: {node: '>=8'} - require-in-the-middle@8.0.1: resolution: {integrity: sha512-QT7FVMXfWOYFbeRBF6nu+I6tr2Tf3u0q8RIEjNob/heKY/nh7drD/k7eeMFmSQgnTtCzLDcCu/XEnpW2wk4xCQ==} engines: {node: '>=9.3.0 || >=8.10.0 <9.0.0'} @@ -2791,11 +2706,6 @@ packages: resolve-pkg-maps@1.0.0: resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} - resolve@1.22.12: - resolution: {integrity: sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==} - engines: {node: '>= 0.4'} - hasBin: true - rolldown@1.2.4: resolution: {integrity: sha512-rSr7irW0K7QRWzjdJXqZowkcRdDtjRduh43rBltnVKd0VFq839l1lJoDvGJb6gl7+4rTTCrPWu+YfujUL8Ug7w==} engines: {node: ^20.19.0 || >=22.12.0} @@ -2852,9 +2762,6 @@ packages: set-cookie-parser@2.7.2: resolution: {integrity: sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw==} - set-cookie-parser@3.1.2: - resolution: {integrity: sha512-5/r/lTwbJ3zQ+qwdUFZYeRNqda7P5HD8zQKqlSjdGt1/S0cjLAphHusj4Y58ahDtWn/g32xrIS58/ikOvwl0Lw==} - sharp@0.35.2: resolution: {integrity: sha512-FVtFjtBCMiJS6yb5CX7Sop45WFMpeGw6oRKuJnXYgf/f1ms/D7LE/ZUSNxnW7rZ/dbslQWYkoqFHGPaDBtaK4w==} engines: {node: '>=20.9.0'} @@ -2932,10 +2839,6 @@ packages: resolution: {integrity: sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==} engines: {node: '>=18'} - supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} - svelte-check@4.7.6: resolution: {integrity: sha512-t2scM//ZuVbSY/T2w6FSBw1v9s2NEmh/g+sy1lqtosW5ylBV5AF4wFb1Ts9Kf3MbfPDUDJDZ9L436YT0SPTdvw==} engines: {node: '>= 18.0.0'} @@ -2944,9 +2847,9 @@ packages: svelte: ^4.0.0 || ^5.0.0-next.0 typescript: ^5.0.0 || ^6.0.0 - svelte-eslint-parser@1.8.1: - resolution: {integrity: sha512-5zgKBqAf6V8Jyrmr1jViksyG4NKT8NheYwkdxRaMRDAqpGWi9wR8ktcGrAZbfMn/PHUp1BWzAp0cYQECkWuAMA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0, pnpm: 10.34.5} + svelte-eslint-parser@1.8.0: + resolution: {integrity: sha512-mikR1qwIVy3t5WthUoAXkMwxkXvabZP9FJgdx35Ei7EbGWmctva1Pih16Koeor/bdNNq8NXHlwKGS6NkYTawLg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0, pnpm: 10.34.1} peerDependencies: svelte: ^3.37.0 || ^4.0.0 || ^5.0.0 peerDependenciesMeta: @@ -3128,8 +3031,8 @@ packages: resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} engines: {node: '>= 4.0.0'} - update-browserslist-db@1.3.1: - resolution: {integrity: sha512-ZZ61DsRsOnakl74HAmp3oSN4aXUmEWXf+i/yv0h7tIBfICc3VdrFErQKUUKPgu3AMsTUMbcongALEN4l6GSUrQ==} + update-browserslist-db@1.2.3: + resolution: {integrity: sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' @@ -3297,10 +3200,6 @@ packages: engines: {node: '>=16'} hasBin: true - worktop@0.8.0-next.18: - resolution: {integrity: sha512-+TvsA6VAVoMC3XDKR5MoC/qlLqDixEfOBysDEKnPIPou/NvoPWCAuXHXMsswwlvmEuvX56lQjvELLyLuzTKvRw==} - engines: {node: '>=12'} - wrangler@4.123.0: resolution: {integrity: sha512-VXo2I1oa0x9aGAKIFPRSQPqTh0RBY5Ktl44YOhNmsJQFUdJKDA2vVTU6Xj+FC2koll6orJqWZN8jbXVIk9O67Q==} engines: {node: '>=22.0.0'} @@ -3407,7 +3306,7 @@ snapshots: '@cloudflare/workerd-windows-64@1.20260811.1': optional: true - '@cloudflare/workers-types@4.20260702.1': {} + '@cloudflare/workers-types@5.20260817.1': {} '@cspotcode/source-map-support@0.8.1': dependencies: @@ -3972,49 +3871,6 @@ snapshots: '@rolldown/pluginutils@1.0.1': {} - '@rollup/plugin-commonjs@29.0.3(rollup@4.62.4)': - dependencies: - '@rollup/pluginutils': 5.4.0(rollup@4.62.4) - commondir: 1.0.1 - estree-walker: 2.0.2 - fdir: 6.5.0(picomatch@4.0.5) - is-reference: 1.2.1 - magic-string: 0.30.21 - picomatch: 4.0.5 - optionalDependencies: - rollup: 4.62.4 - - '@rollup/plugin-json@6.1.0(rollup@4.62.4)': - dependencies: - '@rollup/pluginutils': 5.4.0(rollup@4.62.4) - optionalDependencies: - rollup: 4.62.4 - - '@rollup/plugin-node-resolve@16.0.3(rollup@4.62.4)': - dependencies: - '@rollup/pluginutils': 5.4.0(rollup@4.62.4) - '@types/resolve': 1.20.2 - deepmerge: 4.3.1 - is-module: 1.0.0 - resolve: 1.22.12 - optionalDependencies: - rollup: 4.62.4 - - '@rollup/plugin-replace@6.0.3(rollup@4.62.4)': - dependencies: - '@rollup/pluginutils': 5.4.0(rollup@4.62.4) - magic-string: 0.30.21 - optionalDependencies: - rollup: 4.62.4 - - '@rollup/pluginutils@5.4.0(rollup@4.62.4)': - dependencies: - '@types/estree': 1.0.9 - estree-walker: 2.0.2 - picomatch: 4.0.5 - optionalDependencies: - rollup: 4.62.4 - '@rollup/rollup-android-arm-eabi@4.62.4': optional: true @@ -4103,7 +3959,7 @@ snapshots: '@sindresorhus/is@7.2.0': {} - '@speed-highlight/core@1.2.24': {} + '@speed-highlight/core@1.2.23': {} '@standard-schema/spec@1.1.0': {} @@ -4111,40 +3967,33 @@ snapshots: dependencies: acorn: 8.18.0 - '@sveltejs/adapter-auto@7.0.1(@sveltejs/kit@2.70.2(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.56.9(@typescript-eslint/types@8.67.0))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))': + '@sveltejs/adapter-auto@8.0.0-next.3(@sveltejs/kit@3.0.0-next.23(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.56.9(@typescript-eslint/types@8.67.0))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))': dependencies: - '@sveltejs/kit': 2.70.2(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.56.9(@typescript-eslint/types@8.67.0))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)) + '@sveltejs/kit': 3.0.0-next.23(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.56.9(@typescript-eslint/types@8.67.0))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)) - '@sveltejs/adapter-cloudflare@7.2.9(@sveltejs/kit@2.70.2(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.56.9(@typescript-eslint/types@8.67.0))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(wrangler@4.123.0)': + '@sveltejs/adapter-cloudflare@8.0.0-next.6(@sveltejs/kit@3.0.0-next.23(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.56.9(@typescript-eslint/types@8.67.0))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(wrangler@4.123.0(@cloudflare/workers-types@5.20260817.1))': dependencies: - '@cloudflare/workers-types': 4.20260702.1 - '@sveltejs/kit': 2.70.2(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.56.9(@typescript-eslint/types@8.67.0))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)) - worktop: 0.8.0-next.18 - wrangler: 4.123.0 + '@cloudflare/workers-types': 5.20260817.1 + '@sveltejs/kit': 3.0.0-next.23(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.56.9(@typescript-eslint/types@8.67.0))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)) + wrangler: 4.123.0(@cloudflare/workers-types@5.20260817.1) - '@sveltejs/adapter-node@5.5.7(@sveltejs/kit@2.70.2(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.56.9(@typescript-eslint/types@8.67.0))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))': + '@sveltejs/adapter-node@6.0.0-next.10(@sveltejs/kit@3.0.0-next.23(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.56.9(@typescript-eslint/types@8.67.0))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))': dependencies: - '@rollup/plugin-commonjs': 29.0.3(rollup@4.62.4) - '@rollup/plugin-json': 6.1.0(rollup@4.62.4) - '@rollup/plugin-node-resolve': 16.0.3(rollup@4.62.4) - '@rollup/plugin-replace': 6.0.3(rollup@4.62.4) - '@sveltejs/kit': 2.70.2(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.56.9(@typescript-eslint/types@8.67.0))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)) - rollup: 4.62.4 + '@sveltejs/kit': 3.0.0-next.23(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.56.9(@typescript-eslint/types@8.67.0))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)) + rolldown: 1.2.4 - '@sveltejs/kit@2.70.2(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.56.9(@typescript-eslint/types@8.67.0))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0))': + '@sveltejs/kit@3.0.0-next.23(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.56.9(@typescript-eslint/types@8.67.0))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0))': dependencies: + '@rolldown/pluginutils': 1.0.1 '@standard-schema/spec': 1.1.0 '@sveltejs/acorn-typescript': 1.0.13(acorn@8.18.0) '@sveltejs/vite-plugin-svelte': 7.3.0(svelte@5.56.9(@typescript-eslint/types@8.67.0))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)) - '@types/cookie': 0.6.0 acorn: 8.18.0 - cookie: 0.7.2 + cookie: 2.0.1 devalue: 5.9.0 esm-env: 1.2.2 - kleur: 4.1.5 - magic-string: 0.30.21 + magic-string: 1.2.0 mrmime: 2.0.1 - set-cookie-parser: 3.1.2 sirv: 3.0.2 svelte: 5.56.9(@typescript-eslint/types@8.67.0) vite: 8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0) @@ -4235,30 +4084,28 @@ snapshots: tailwindcss: 4.3.3 vite: 8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0) - '@tanstack/store@0.11.1': {} + '@tanstack/store@0.11.0': {} - '@tanstack/svelte-store@0.12.1(svelte@5.56.9(@typescript-eslint/types@8.67.0))': + '@tanstack/svelte-store@0.12.0(svelte@5.56.9(@typescript-eslint/types@8.67.0))': dependencies: - '@tanstack/store': 0.11.1 + '@tanstack/store': 0.11.0 svelte: 5.56.9(@typescript-eslint/types@8.67.0) '@tanstack/svelte-table@9.1.2(svelte@5.56.9(@typescript-eslint/types@8.67.0))': dependencies: - '@tanstack/svelte-store': 0.12.1(svelte@5.56.9(@typescript-eslint/types@8.67.0)) + '@tanstack/svelte-store': 0.12.0(svelte@5.56.9(@typescript-eslint/types@8.67.0)) '@tanstack/table-core': 9.1.2 svelte: 5.56.9(@typescript-eslint/types@8.67.0) '@tanstack/table-core@9.1.2': dependencies: - '@tanstack/store': 0.11.1 + '@tanstack/store': 0.11.0 '@types/chai@5.2.3': dependencies: '@types/deep-eql': 4.0.2 assertion-error: 2.0.1 - '@types/cookie@0.6.0': {} - '@types/deep-eql@4.0.2': {} '@types/esrecurse@4.3.1': {} @@ -4271,8 +4118,6 @@ snapshots: dependencies: undici-types: 8.3.0 - '@types/resolve@1.20.2': {} - '@types/semver@7.8.0': {} '@types/trusted-types@2.0.7': {} @@ -4533,7 +4378,7 @@ snapshots: ansi-regex@5.0.1: {} - ansi-regex@6.3.0: {} + ansi-regex@6.2.2: {} ansi-styles@6.2.3: {} @@ -4567,17 +4412,17 @@ snapshots: balanced-match@4.0.4: {} - baseline-browser-mapping@2.11.14: {} + baseline-browser-mapping@2.11.12: {} - bits-ui@2.18.1(@internationalized/date@3.12.3)(@sveltejs/kit@2.70.2(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.56.9(@typescript-eslint/types@8.67.0))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0)): + bits-ui@2.18.1(@internationalized/date@3.12.3)(@sveltejs/kit@3.0.0-next.23(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.56.9(@typescript-eslint/types@8.67.0))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0)): dependencies: '@floating-ui/core': 1.8.0 '@floating-ui/dom': 1.8.0 '@internationalized/date': 3.12.3 esm-env: 1.2.2 - runed: 0.35.1(@sveltejs/kit@2.70.2(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.56.9(@typescript-eslint/types@8.67.0))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0)) + runed: 0.35.1(@sveltejs/kit@3.0.0-next.23(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.56.9(@typescript-eslint/types@8.67.0))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0)) svelte: 5.56.9(@typescript-eslint/types@8.67.0) - svelte-toolbelt: 0.10.6(@sveltejs/kit@2.70.2(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.56.9(@typescript-eslint/types@8.67.0))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0)) + svelte-toolbelt: 0.10.6(@sveltejs/kit@3.0.0-next.23(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.56.9(@typescript-eslint/types@8.67.0))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0)) tabbable: 6.5.0 transitivePeerDependencies: - '@sveltejs/kit' @@ -4599,13 +4444,13 @@ snapshots: dependencies: balanced-match: 4.0.4 - browserslist@4.28.8: + browserslist@4.28.7: dependencies: - baseline-browser-mapping: 2.11.14 - caniuse-lite: 1.0.30001809 - electron-to-chromium: 1.5.408 - node-releases: 2.0.53 - update-browserslist-db: 1.3.1(browserslist@4.28.8) + baseline-browser-mapping: 2.11.12 + caniuse-lite: 1.0.30001806 + electron-to-chromium: 1.5.400 + node-releases: 2.0.52 + update-browserslist-db: 1.2.3(browserslist@4.28.7) bundle-name@4.1.0: dependencies: @@ -4620,7 +4465,7 @@ snapshots: exsolve: 1.1.1 giget: 3.3.1 jiti: 2.7.0 - ohash: 2.0.12 + ohash: 2.0.11 pathe: 2.0.3 perfect-debounce: 2.1.0 pkg-types: 2.3.1 @@ -4628,7 +4473,7 @@ snapshots: camelcase@8.0.0: {} - caniuse-lite@1.0.30001809: {} + caniuse-lite@1.0.30001806: {} chai@6.2.2: {} @@ -4644,7 +4489,7 @@ snapshots: dependencies: readdirp: 5.0.0 - cjs-module-lexer@2.2.1: {} + cjs-module-lexer@2.2.0: {} class-validator@0.14.4: dependencies: @@ -4663,16 +4508,14 @@ snapshots: commenting@1.1.0: {} - commondir@1.0.1: {} - confbox@0.2.4: {} convert-source-map@2.0.0: {} - cookie@0.7.2: {} - cookie@1.1.1: {} + cookie@2.0.1: {} + cross-env@10.1.0: dependencies: '@epic-web/invariant': 1.0.0 @@ -4701,7 +4544,7 @@ snapshots: default-browser-id@5.0.1: {} - default-browser@5.5.1: + default-browser@5.5.0: dependencies: bundle-name: 4.1.0 default-browser-id: 5.0.1 @@ -4733,7 +4576,7 @@ snapshots: fast-check: 3.23.2 optional: true - electron-to-chromium@1.5.408: {} + electron-to-chromium@1.5.400: {} emoji-regex@10.6.0: {} @@ -4746,9 +4589,7 @@ snapshots: error-stack-parser-es@1.0.5: {} - es-errors@1.3.0: {} - - es-module-lexer@2.3.2: {} + es-module-lexer@2.3.1: {} esbuild@0.28.1: optionalDependencies: @@ -4791,7 +4632,7 @@ snapshots: dependencies: '@mdn/browser-compat-data': 6.1.5 ast-metadata-inferer: 0.8.1 - browserslist: 4.28.8 + browserslist: 4.28.7 eslint: 10.8.1(jiti@2.7.0)(supports-color@10.2.2) find-up: 5.0.0 globals: 15.15.0 @@ -4806,11 +4647,11 @@ snapshots: esutils: 2.0.3 globals: 16.5.0 known-css-properties: 0.37.0 - postcss: 8.5.26 - postcss-load-config: 3.1.4(postcss@8.5.26) - postcss-safe-parser: 7.0.1(postcss@8.5.26) + postcss: 8.5.25 + postcss-load-config: 3.1.4(postcss@8.5.25) + postcss-safe-parser: 7.0.1(postcss@8.5.25) semver: 7.8.5 - svelte-eslint-parser: 1.8.1(svelte@5.56.9(@typescript-eslint/types@8.67.0)) + svelte-eslint-parser: 1.8.0(svelte@5.56.9(@typescript-eslint/types@8.67.0)) optionalDependencies: svelte: 5.56.9(@typescript-eslint/types@8.67.0) transitivePeerDependencies: @@ -4895,7 +4736,7 @@ snapshots: dependencies: estraverse: 5.3.0 - esrap@2.3.4(@typescript-eslint/types@8.67.0): + esrap@2.3.0(@typescript-eslint/types@8.67.0): dependencies: '@jridgewell/sourcemap-codec': 1.5.5 optionalDependencies: @@ -4907,8 +4748,6 @@ snapshots: estraverse@5.3.0: {} - estree-walker@2.0.2: {} - estree-walker@3.0.3: dependencies: '@types/estree': 1.0.9 @@ -4959,11 +4798,11 @@ snapshots: flatted@3.4.4: {} - formsnap@2.0.1(svelte@5.56.9(@typescript-eslint/types@8.67.0))(sveltekit-superforms@2.30.2(@sveltejs/kit@2.70.2(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.56.9(@typescript-eslint/types@8.67.0))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(@types/json-schema@7.0.15)(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3)): + formsnap@2.0.1(svelte@5.56.9(@typescript-eslint/types@8.67.0))(sveltekit-superforms@2.30.2(@sveltejs/kit@3.0.0-next.23(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.56.9(@typescript-eslint/types@8.67.0))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(@types/json-schema@7.0.15)(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3)): dependencies: svelte: 5.56.9(@typescript-eslint/types@8.67.0) svelte-toolbelt: 0.5.0(svelte@5.56.9(@typescript-eslint/types@8.67.0)) - sveltekit-superforms: 2.30.2(@sveltejs/kit@2.70.2(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.56.9(@typescript-eslint/types@8.67.0))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(@types/json-schema@7.0.15)(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3) + sveltekit-superforms: 2.30.2(@sveltejs/kit@3.0.0-next.23(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.56.9(@typescript-eslint/types@8.67.0))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(@types/json-schema@7.0.15)(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3) fsevents@2.3.2: optional: true @@ -4971,8 +4810,6 @@ snapshots: fsevents@2.3.3: optional: true - function-bind@1.1.2: {} - get-east-asian-width@1.6.0: {} get-tsconfig@4.14.0: @@ -4993,10 +4830,6 @@ snapshots: graceful-fs@4.2.11: {} - hasown@2.0.4: - dependencies: - function-bind: 1.1.2 - husky@9.1.7: {} ignore@5.3.2: {} @@ -5005,18 +4838,14 @@ snapshots: import-in-the-middle@3.3.3: dependencies: - cjs-module-lexer: 2.2.1 - es-module-lexer: 2.3.2 + cjs-module-lexer: 2.2.0 + es-module-lexer: 2.3.1 module-details-from-path: 1.0.4 imurmurhash@0.1.4: {} inline-style-parser@0.2.7: {} - is-core-module@2.16.2: - dependencies: - hasown: 2.0.4 - is-docker@3.0.0: {} is-extglob@2.1.1: {} @@ -5033,12 +4862,6 @@ snapshots: dependencies: is-docker: 3.0.0 - is-module@1.0.0: {} - - is-reference@1.2.1: - dependencies: - '@types/estree': 1.0.9 - is-reference@3.0.3: dependencies: '@types/estree': 1.0.9 @@ -5242,7 +5065,7 @@ snapshots: ms@2.1.3: {} - nanoid@3.3.18: {} + nanoid@3.3.17: {} natural-compare@1.4.0: {} @@ -5250,18 +5073,18 @@ snapshots: dependencies: whatwg-url: 5.0.0 - node-releases@2.0.53: {} + node-releases@2.0.52: {} normalize-url@8.1.1: optional: true obug@2.1.4: {} - ohash@2.0.12: {} + ohash@2.0.11: {} open@11.0.0: dependencies: - default-browser: 5.5.1 + default-browser: 5.5.0 define-lazy-prop: 3.0.0 is-in-ssh: 1.0.0 is-inside-container: 1.0.0 @@ -5295,8 +5118,6 @@ snapshots: path-key@3.1.1: {} - path-parse@1.0.7: {} - path-to-regexp@6.3.0: {} pathe@2.0.3: {} @@ -5321,29 +5142,29 @@ snapshots: optionalDependencies: fsevents: 2.3.2 - postcss-load-config@3.1.4(postcss@8.5.26): + postcss-load-config@3.1.4(postcss@8.5.25): dependencies: lilconfig: 2.1.0 yaml: 1.10.3 optionalDependencies: - postcss: 8.5.26 + postcss: 8.5.25 - postcss-safe-parser@7.0.1(postcss@8.5.26): + postcss-safe-parser@7.0.1(postcss@8.5.25): dependencies: - postcss: 8.5.26 + postcss: 8.5.25 - postcss-scss@4.0.9(postcss@8.5.26): + postcss-scss@4.0.9(postcss@8.5.25): dependencies: - postcss: 8.5.26 + postcss: 8.5.25 - postcss-selector-parser@7.1.5: + postcss-selector-parser@7.1.4: dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 - postcss@8.5.26: + postcss@8.5.25: dependencies: - nanoid: 3.3.18 + nanoid: 3.3.17 picocolors: 1.1.1 source-map-js: 1.2.1 @@ -5400,8 +5221,6 @@ snapshots: readdirp@5.0.0: {} - regexparam@3.0.0: {} - require-in-the-middle@8.0.1(supports-color@10.2.2): dependencies: debug: 4.4.3(supports-color@10.2.2) @@ -5413,13 +5232,6 @@ snapshots: resolve-pkg-maps@1.0.0: {} - resolve@1.22.12: - dependencies: - es-errors: 1.3.0 - is-core-module: 2.16.2 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - rolldown@1.2.4: dependencies: '@oxc-project/types': 0.144.0 @@ -5498,14 +5310,14 @@ snapshots: esm-env: 1.2.2 svelte: 5.56.9(@typescript-eslint/types@8.67.0) - runed@0.35.1(@sveltejs/kit@2.70.2(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.56.9(@typescript-eslint/types@8.67.0))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0)): + runed@0.35.1(@sveltejs/kit@3.0.0-next.23(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.56.9(@typescript-eslint/types@8.67.0))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0)): dependencies: dequal: 2.0.3 esm-env: 1.2.2 lz-string: 1.5.0 svelte: 5.56.9(@typescript-eslint/types@8.67.0) optionalDependencies: - '@sveltejs/kit': 2.70.2(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.56.9(@typescript-eslint/types@8.67.0))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)) + '@sveltejs/kit': 3.0.0-next.23(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.56.9(@typescript-eslint/types@8.67.0))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)) sade@1.8.1: dependencies: @@ -5517,8 +5329,6 @@ snapshots: set-cookie-parser@2.7.2: {} - set-cookie-parser@3.1.2: {} - sharp@0.35.2: dependencies: '@img/colour': 1.1.0 @@ -5616,7 +5426,7 @@ snapshots: strip-ansi@7.2.0: dependencies: - ansi-regex: 6.3.0 + ansi-regex: 6.2.2 style-to-object@1.0.14: dependencies: @@ -5627,8 +5437,6 @@ snapshots: supports-color@10.2.2: {} - supports-preserve-symlinks-flag@1.0.0: {} - svelte-check@4.7.6(picomatch@4.0.5)(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3): dependencies: '@jridgewell/trace-mapping': 0.3.31 @@ -5642,14 +5450,14 @@ snapshots: transitivePeerDependencies: - picomatch - svelte-eslint-parser@1.8.1(svelte@5.56.9(@typescript-eslint/types@8.67.0)): + svelte-eslint-parser@1.8.0(svelte@5.56.9(@typescript-eslint/types@8.67.0)): dependencies: eslint-scope: 8.4.0 eslint-visitor-keys: 4.2.1 espree: 10.4.0 - postcss: 8.5.26 - postcss-scss: 4.0.9(postcss@8.5.26) - postcss-selector-parser: 7.1.5 + postcss: 8.5.25 + postcss-scss: 4.0.9(postcss@8.5.25) + postcss-selector-parser: 7.1.4 semver: 7.8.5 optionalDependencies: svelte: 5.56.9(@typescript-eslint/types@8.67.0) @@ -5659,10 +5467,10 @@ snapshots: runed: 0.28.0(svelte@5.56.9(@typescript-eslint/types@8.67.0)) svelte: 5.56.9(@typescript-eslint/types@8.67.0) - svelte-toolbelt@0.10.6(@sveltejs/kit@2.70.2(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.56.9(@typescript-eslint/types@8.67.0))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0)): + svelte-toolbelt@0.10.6(@sveltejs/kit@3.0.0-next.23(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.56.9(@typescript-eslint/types@8.67.0))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0)): dependencies: clsx: 2.1.1 - runed: 0.35.1(@sveltejs/kit@2.70.2(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.56.9(@typescript-eslint/types@8.67.0))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0)) + runed: 0.35.1(@sveltejs/kit@3.0.0-next.23(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.56.9(@typescript-eslint/types@8.67.0))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0)) style-to-object: 1.0.14 svelte: 5.56.9(@typescript-eslint/types@8.67.0) transitivePeerDependencies: @@ -5694,7 +5502,7 @@ snapshots: clsx: 2.1.1 devalue: 5.9.0 esm-env: 1.2.2 - esrap: 2.3.4(@typescript-eslint/types@8.67.0) + esrap: 2.3.0(@typescript-eslint/types@8.67.0) is-reference: 3.0.3 locate-character: 3.0.0 magic-string: 0.30.21 @@ -5702,9 +5510,9 @@ snapshots: transitivePeerDependencies: - '@typescript-eslint/types' - sveltekit-superforms@2.30.2(@sveltejs/kit@2.70.2(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.56.9(@typescript-eslint/types@8.67.0))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(@types/json-schema@7.0.15)(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3): + sveltekit-superforms@2.30.2(@sveltejs/kit@3.0.0-next.23(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.56.9(@typescript-eslint/types@8.67.0))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(@types/json-schema@7.0.15)(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3): dependencies: - '@sveltejs/kit': 2.70.2(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.56.9(@typescript-eslint/types@8.67.0))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)) + '@sveltejs/kit': 3.0.0-next.23(@opentelemetry/api@1.9.1)(@sveltejs/vite-plugin-svelte@7.3.0(svelte@5.56.9(@typescript-eslint/types@8.67.0))(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)))(svelte@5.56.9(@typescript-eslint/types@8.67.0))(typescript@6.0.3)(vite@8.2.1(@types/node@26.2.0)(esbuild@0.28.1)(jiti@2.7.0)) devalue: 5.9.0 memoize-weak: 1.0.2 svelte: 5.56.9(@typescript-eslint/types@8.67.0) @@ -5861,9 +5669,9 @@ snapshots: universalify@0.2.0: {} - update-browserslist-db@1.3.1(browserslist@4.28.8): + update-browserslist-db@1.2.3(browserslist@4.28.7): dependencies: - browserslist: 4.28.8 + browserslist: 4.28.7 escalade: 3.2.0 picocolors: 1.1.1 @@ -5910,7 +5718,7 @@ snapshots: dependencies: lightningcss: 1.33.0 picomatch: 4.0.5 - postcss: 8.5.26 + postcss: 8.5.25 rolldown: 1.2.4 tinyglobby: 0.2.17 optionalDependencies: @@ -5932,7 +5740,7 @@ snapshots: '@vitest/snapshot': 4.1.10 '@vitest/spy': 4.1.10 '@vitest/utils': 4.1.10 - es-module-lexer: 2.3.2 + es-module-lexer: 2.3.1 expect-type: 1.4.0 magic-string: 0.30.21 obug: 2.1.4 @@ -5981,12 +5789,7 @@ snapshots: '@cloudflare/workerd-linux-arm64': 1.20260811.1 '@cloudflare/workerd-windows-64': 1.20260811.1 - worktop@0.8.0-next.18: - dependencies: - mrmime: 2.0.1 - regexparam: 3.0.0 - - wrangler@4.123.0: + wrangler@4.123.0(@cloudflare/workers-types@5.20260817.1): dependencies: '@cloudflare/kv-asset-handler': 0.5.0 '@cloudflare/unenv-preset': 2.16.1(unenv@2.0.0-rc.24)(workerd@1.20260811.1) @@ -5997,6 +5800,7 @@ snapshots: unenv: 2.0.0-rc.24 workerd: 1.20260811.1 optionalDependencies: + '@cloudflare/workers-types': 5.20260817.1 fsevents: 2.3.3 transitivePeerDependencies: - bufferutil @@ -6030,7 +5834,7 @@ snapshots: dependencies: '@poppinss/colors': 4.1.6 '@poppinss/dumper': 0.6.5 - '@speed-highlight/core': 1.2.24 + '@speed-highlight/core': 1.2.23 cookie: 1.1.1 youch-core: 0.3.3 diff --git a/src/app.d.ts b/src/app.d.ts index b8a17814..f1852664 100644 --- a/src/app.d.ts +++ b/src/app.d.ts @@ -1,5 +1,5 @@ /// -import type { TurnstileInstance } from '$lib/types/TurnstileInstance'; +import type { TurnstileInstance } from '#lib/types/TurnstileInstance.js'; // See https://svelte.dev/docs/kit/types#app.d.ts // for information about these interfaces diff --git a/src/env.ts b/src/env.ts new file mode 100644 index 00000000..1c0a9413 --- /dev/null +++ b/src/env.ts @@ -0,0 +1,29 @@ +import { defineEnvVars } from '@sveltejs/kit/env'; + +// The variables below without `static: true` were read through `$env/dynamic/*` before the +// SvelteKit 3 migration, so they were `undefined` when unset. `schema: (input) => input ?? ''` +// keeps that behaviour: every consumer feeds them to `isTruthy()` (or compares to `'true'`), +// for which an empty string is falsy just like `undefined` was. +export const variables = defineEnvVars({ + PRIVATE_BACKEND_TLS_INSECURE: { schema: (input) => input ?? '' }, + PUBLIC_GITHUB_PROJECT_URL: { public: true, static: true }, + PUBLIC_SIGNOZ_DEPLOYMENT_ENVIRONMENT: { public: true, static: true }, + PUBLIC_SIGNOZ_LOGS_ENABLED: { public: true, static: true }, + PUBLIC_SIGNOZ_LOGS_URL: { public: true, static: true }, + PUBLIC_SIGNOZ_TRACES_URL: { public: true, static: true }, + PUBLIC_SITE_NAME: { public: true, static: true }, + PUBLIC_DEVELOPMENT_BANNER: { public: true, static: true }, + PUBLIC_DISCORD_INVITE_URL: { public: true, static: true }, + PUBLIC_DISABLE_SITEMAP: { public: true, schema: (input) => input ?? '' }, + PUBLIC_DENY_ROBOTS: { public: true, schema: (input) => input ?? '' }, + PUBLIC_DISABLE_LLMS_TXT: { public: true, schema: (input) => input ?? '' }, + PUBLIC_SITE_DESCRIPTION: { public: true, static: true }, + PUBLIC_DISABLE_SHOCKER_MAP: { public: true, static: true }, + PUBLIC_BACKEND_API_URL: { public: true, static: true }, + PUBLIC_SITE_SHORT_URL: { public: true, static: true }, + PUBLIC_SITE_URL: { public: true, static: true }, + PUBLIC_DISABLE_ONBOARDING: { public: true, static: true }, + PUBLIC_SIGNOZ_RESOURCE_ATTRIBUTES: { public: true, static: true }, + PUBLIC_SIGNOZ_TRACE_PROPAGATION: { public: true, static: true }, + PUBLIC_TURNSTILE_DEV_BYPASS_VALUE: { public: true, static: true }, +}); diff --git a/src/hooks.client.ts b/src/hooks.client.ts index 2b316bcd..d7740880 100644 --- a/src/hooks.client.ts +++ b/src/hooks.client.ts @@ -1,15 +1,15 @@ +import type { HandleClientError } from '@sveltejs/kit/hooks'; import 'temporal-polyfill/global'; -import { base } from '$app/paths'; -import { versionGetBackendInfo } from '$lib/api'; -import { handleApiError } from '$lib/errorhandling/apiErrorHandling'; -import { authState, startAuthLifecycle } from '$lib/state/auth-state.svelte'; -import { backendMetadata } from '$lib/state/backend-metadata-state.svelte'; -import { userState } from '$lib/state/user-state.svelte'; -import { initTelemetry, log } from '$lib/telemetry/logger'; -import { redirectLegacyHashRoute } from '$lib/utils/legacy-hash-redirect'; +import { versionGetBackendInfo } from '#lib/api/index.js'; +import { handleApiError } from '#lib/errorhandling/apiErrorHandling.js'; +import { authState, startAuthLifecycle } from '#lib/state/auth-state.svelte.js'; +import { backendMetadata } from '#lib/state/backend-metadata-state.svelte.js'; +import { userState } from '#lib/state/user-state.svelte.js'; +import { initTelemetry, log } from '#lib/telemetry/logger.js'; +import { redirectLegacyHashRoute } from '#lib/utils/legacy-hash-redirect.js'; +import { basePath } from '#lib/utils/url.js'; import { initializeColorScheme } from '@openshock/svelte-core/state/color-scheme-state.svelte.js'; -import type { HandleClientError } from '@sveltejs/kit'; /** Best-effort extraction of a message + stack from an unknown thrown value. */ function describeError(value: unknown): { message: string; stack?: string } { @@ -75,7 +75,8 @@ async function clientInit(): Promise { export async function init() { initTelemetry(); registerGlobalErrorCapture(); - redirectLegacyHashRoute(base); + // `basePath()` has no trailing slash — the mapped target already starts with one. + redirectLegacyHashRoute(basePath()); await clientInit().catch(handleApiError); initializeColorScheme(); } @@ -83,13 +84,24 @@ export async function init() { /** * SvelteKit routes errors thrown during rendering, load, and navigation here instead of to * window.onerror — so forward them to telemetry too, otherwise they're silently swallowed. + * + * Since SvelteKit 3 this also receives *expected* errors: `error(...)` thrown by our own code + * (`kind: 'app'`) and SvelteKit's own 404s and the like (`kind: 'framework'`). Those are normal + * responses rather than defects, so they are logged at warn level and only unexpected throws + * are reported as errors. */ -export const handleError: HandleClientError = ({ error, event, status, message }) => { - const { message: errMessage, stack } = describeError(error); - log.error(errMessage, { - stack, - status, - route: event.route?.id ?? undefined, - kitMessage: message, +export const handleError: HandleClientError = ({ kind, error, event }) => { + const route = event.route?.id ?? undefined; + + if (kind === 'unknown') { + const { message, stack } = describeError(error); + log.error(message, { stack, status: 500, route, kind }); + return; + } + + log.warn(error.message, { + status: kind === 'framework' ? error.status : undefined, + route, + kind, }); }; diff --git a/src/hooks.server.ts b/src/hooks.server.ts index 9fb8acee..48ff5e31 100644 --- a/src/hooks.server.ts +++ b/src/hooks.server.ts @@ -1,6 +1,6 @@ -import { env } from '$env/dynamic/private'; -import { PUBLIC_GITHUB_PROJECT_URL } from '$env/static/public'; -import type { Handle, ServerInit } from '@sveltejs/kit'; +import { PRIVATE_BACKEND_TLS_INSECURE } from '$app/env/private'; +import { PUBLIC_GITHUB_PROJECT_URL } from '$app/env/public'; +import type { Handle, ServerInit } from '@sveltejs/kit/hooks'; /** * Security + metadata headers for every dynamically rendered response. @@ -58,7 +58,7 @@ export const handle: Handle = async ({ event, resolve }) => { export const init: ServerInit = () => { // `typeof process` guard: on the Cloudflare adapter there is no Node `process` // and no self-signed-cert scenario, so this is a no-op there. - if (env.PRIVATE_BACKEND_TLS_INSECURE === 'true' && typeof process !== 'undefined') { + if (PRIVATE_BACKEND_TLS_INSECURE === 'true' && typeof process !== 'undefined') { process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0'; console.warn( '[hooks.server] PRIVATE_BACKEND_TLS_INSECURE=true — TLS certificate validation is DISABLED for ' + diff --git a/src/instrumentation.server.ts b/src/instrumentation.server.ts index d96adc6c..23dd4fa0 100644 --- a/src/instrumentation.server.ts +++ b/src/instrumentation.server.ts @@ -1,10 +1,10 @@ -import { version } from '$app/environment'; +import { version } from '$app/env'; import { PUBLIC_SIGNOZ_DEPLOYMENT_ENVIRONMENT, PUBLIC_SIGNOZ_LOGS_ENABLED, PUBLIC_SIGNOZ_LOGS_URL, PUBLIC_SIGNOZ_TRACES_URL, -} from '$env/static/public'; +} from '$app/env/public'; import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http'; import { resourceFromAttributes } from '@opentelemetry/resources'; import { BatchSpanProcessor, NodeTracerProvider } from '@opentelemetry/sdk-trace-node'; diff --git a/src/lib/api/internal/runtime-config.ts b/src/lib/api/internal/runtime-config.ts index 4115af89..2725dfeb 100644 --- a/src/lib/api/internal/runtime-config.ts +++ b/src/lib/api/internal/runtime-config.ts @@ -1,5 +1,5 @@ -import { PUBLIC_BACKEND_API_URL } from '$env/static/public'; -import { getBackendURL } from '$lib/utils/url'; +import { getBackendURL } from '#lib/utils/url.js'; +import { PUBLIC_BACKEND_API_URL } from '$app/env/public'; import type { CreateClientConfig } from './v1/client.gen'; function resolveBaseUrl(): string { diff --git a/src/lib/api/next/base.ts b/src/lib/api/next/base.ts index 7c97fc52..2a4f99f8 100644 --- a/src/lib/api/next/base.ts +++ b/src/lib/api/next/base.ts @@ -1,4 +1,4 @@ -import { getBackendURL, type BackendPath } from '$lib/utils/url'; +import { getBackendURL, type BackendPath } from '#lib/utils/url.js'; import { ResponseError } from './ResponseError'; export async function GetJson( diff --git a/src/lib/api/next/oauth.ts b/src/lib/api/next/oauth.ts index c22a8e78..deda81a0 100644 --- a/src/lib/api/next/oauth.ts +++ b/src/lib/api/next/oauth.ts @@ -1,4 +1,4 @@ -import { getBackendURL } from '$lib/utils/url'; +import { getBackendURL } from '#lib/utils/url.js'; import { GetJson, PostJson } from './base'; import type { LoginOkResponse, OAuthFinalizeRequest, OAuthSignupData } from './models'; import { TransformLoginOkResponse, TransformOAuthSignupData } from './transformers'; diff --git a/src/lib/comparers/ShockerLimitsComparer.ts b/src/lib/comparers/ShockerLimitsComparer.ts index ce167543..5304d968 100644 --- a/src/lib/comparers/ShockerLimitsComparer.ts +++ b/src/lib/comparers/ShockerLimitsComparer.ts @@ -1,4 +1,4 @@ -import type { ShockerLimits } from '$lib/api'; +import type { ShockerLimits } from '#lib/api/index.js'; export default function CompareShockerLimits(a: ShockerLimits, b: ShockerLimits) { // Compare the limits of the two shocker objects diff --git a/src/lib/comparers/ShockerPermissionsComparer.ts b/src/lib/comparers/ShockerPermissionsComparer.ts index 410dcbed..4a93e4f4 100644 --- a/src/lib/comparers/ShockerPermissionsComparer.ts +++ b/src/lib/comparers/ShockerPermissionsComparer.ts @@ -1,4 +1,4 @@ -import type { ShockerPermissions } from '$lib/api'; +import type { ShockerPermissions } from '#lib/api/index.js'; export default function CompareShockerPermissions(a: ShockerPermissions, b: ShockerPermissions) { // Compare the permissions and limits of the two shocker objects diff --git a/src/lib/comparers/UserShareComparer.ts b/src/lib/comparers/UserShareComparer.ts index 1f0d6250..5a8aaff7 100644 --- a/src/lib/comparers/UserShareComparer.ts +++ b/src/lib/comparers/UserShareComparer.ts @@ -1,5 +1,5 @@ -import type { UserShareInfo } from '$lib/api'; -import CompareShockerPermissions from '$lib/comparers/ShockerPermissionsComparer'; +import type { UserShareInfo } from '#lib/api/index.js'; +import CompareShockerPermissions from '#lib/comparers/ShockerPermissionsComparer.js'; import CompareShockerLimits from './ShockerLimitsComparer'; export function ComparePermissionsAndLimits(a: UserShareInfo, b: UserShareInfo) { diff --git a/src/lib/components/ControlModules/ClassicControlModule.svelte b/src/lib/components/ControlModules/ClassicControlModule.svelte index 159b6149..a44ba81e 100644 --- a/src/lib/components/ControlModules/ClassicControlModule.svelte +++ b/src/lib/components/ControlModules/ClassicControlModule.svelte @@ -4,9 +4,9 @@ ControlDurationProps, ControlIntensityDefault, ControlIntensityProps, - } from '$lib/constants/ControlConstants'; - import { ControlType } from '$lib/signalr/models/ControlType'; - import { useShockerEvents } from '$lib/hooks/shocker-events.svelte'; + } from '#lib/constants/ControlConstants.js'; + import { ControlType } from '#lib/signalr/models/ControlType.js'; + import { useShockerEvents } from '#lib/hooks/shocker-events.svelte.js'; import ActionButtons from './impl/ActionButtons.svelte'; import CircleSlider from './impl/CircleSlider.svelte'; import LimitsDisplay from './impl/LimitsDisplay.svelte'; diff --git a/src/lib/components/ControlModules/LiveButton.svelte b/src/lib/components/ControlModules/LiveButton.svelte index 40ad6348..c000427c 100644 --- a/src/lib/components/ControlModules/LiveButton.svelte +++ b/src/lib/components/ControlModules/LiveButton.svelte @@ -6,7 +6,7 @@ getLiveConnection, setHubLiveControl, toggleShockerLiveControl, - } from '$lib/state/live-control-state.svelte'; + } from '#lib/state/live-control-state.svelte.js'; interface Props { hubId: string; diff --git a/src/lib/components/ControlModules/LiveControlModule.svelte b/src/lib/components/ControlModules/LiveControlModule.svelte index 3cf84322..7e0eb2a1 100644 --- a/src/lib/components/ControlModules/LiveControlModule.svelte +++ b/src/lib/components/ControlModules/LiveControlModule.svelte @@ -1,11 +1,11 @@ ')).toBe(false); + // `\u002F` keeps this string from containing a literal ``, which the Svelte + // parser used by `sv migrate` treats as the end of a script block even inside a string. + expect(isValidTokenRedirectUri('data:text/html, diff --git a/src/routes/(app)/+layout.ts b/src/routes/(app)/+layout.ts index da48e638..4828d037 100644 --- a/src/routes/(app)/+layout.ts +++ b/src/routes/(app)/+layout.ts @@ -1,6 +1,6 @@ +import { authState } from '#lib/state/auth-state.svelte.js'; +import { REDIRECT_QUERY_PARAM } from '#lib/utils/url.js'; import { resolve } from '$app/paths'; -import { authState } from '$lib/state/auth-state.svelte'; -import { REDIRECT_QUERY_PARAM } from '$lib/utils/url'; import { redirect } from '@sveltejs/kit'; // The pages below this one will be different from user-to-user so cannot be prerendered and really shouldnt be server rendered @@ -11,6 +11,6 @@ export const prerender = false; export function load({ url }) { if (!authState.isAuthenticated) { const redirectTo = encodeURIComponent(url.pathname + url.search); - redirect(303, `${resolve('/login')}?${REDIRECT_QUERY_PARAM}=${redirectTo}`); + redirect(303, `${resolve('login')}?${REDIRECT_QUERY_PARAM}=${redirectTo}`); } } diff --git a/src/routes/(app)/admin/+layout.svelte b/src/routes/(app)/admin/+layout.svelte index 1f5f5160..30c6a8b2 100644 --- a/src/routes/(app)/admin/+layout.svelte +++ b/src/routes/(app)/admin/+layout.svelte @@ -1,16 +1,16 @@ diff --git a/src/routes/(app)/home/+page.svelte b/src/routes/(app)/home/+page.svelte index b805009b..21feb1f3 100644 --- a/src/routes/(app)/home/+page.svelte +++ b/src/routes/(app)/home/+page.svelte @@ -4,12 +4,12 @@ import { Container } from '@openshock/svelte-core/components'; import * as Card from '@openshock/svelte-core/components/ui/card'; import { Button } from '@openshock/svelte-core/components/ui/button'; - import { registerBreadcrumbs } from '$lib/state/breadcrumbs-state.svelte'; - import { userState } from '$lib/state/user-state.svelte'; - import { onlineHubs, ownHubs, refreshOwnHubs } from '$lib/state/hubs-state.svelte'; + import { registerBreadcrumbs } from '#lib/state/breadcrumbs-state.svelte.js'; + import { userState } from '#lib/state/user-state.svelte.js'; + import { onlineHubs, ownHubs, refreshOwnHubs } from '#lib/state/hubs-state.svelte.js'; import { onMount } from 'svelte'; - registerBreadcrumbs(() => [{ label: 'Home', href: '/home' }]); + registerBreadcrumbs(() => [{ label: 'Home', href: 'home' }]); let shockerCount = $derived(ownHubs.values().reduce((sum, hub) => sum + hub.shockers.length, 0)); let hubCount = $derived(ownHubs.size); @@ -87,7 +87,7 @@ - - + + {:else if shockerCount === 0} @@ -153,12 +153,11 @@ your devices. - - - + + {/if} diff --git a/src/routes/(app)/hubs/+page.svelte b/src/routes/(app)/hubs/+page.svelte index fe2bb77a..3786dce1 100644 --- a/src/routes/(app)/hubs/+page.svelte +++ b/src/routes/(app)/hubs/+page.svelte @@ -1,17 +1,17 @@ diff --git a/src/routes/(app)/hubs/[hubId=guid]/update/+page.svelte b/src/routes/(app)/hubs/[hubId=guid]/update/+page.svelte index 13be05f4..b6eeec61 100644 --- a/src/routes/(app)/hubs/[hubId=guid]/update/+page.svelte +++ b/src/routes/(app)/hubs/[hubId=guid]/update/+page.svelte @@ -1,6 +1,6 @@ diff --git a/src/routes/(app)/settings/+page.server.ts b/src/routes/(app)/settings/+page.server.ts index ece9de1f..65f5aea2 100644 --- a/src/routes/(app)/settings/+page.server.ts +++ b/src/routes/(app)/settings/+page.server.ts @@ -2,5 +2,5 @@ import { resolve } from '$app/paths'; import { redirect } from '@sveltejs/kit'; export function load() { - redirect(307, resolve('/settings/account')); + redirect(307, resolve('settings/account')); } diff --git a/src/routes/(app)/settings/account/+page.svelte b/src/routes/(app)/settings/account/+page.svelte index 14801ea6..e42efb6e 100644 --- a/src/routes/(app)/settings/account/+page.svelte +++ b/src/routes/(app)/settings/account/+page.svelte @@ -3,7 +3,7 @@ import KeyRound from '@lucide/svelte/icons/key-round'; import Mail from '@lucide/svelte/icons/mail'; import User from '@lucide/svelte/icons/user'; - import { PUBLIC_SIGNOZ_LOGS_ENABLED } from '$env/static/public'; + import { PUBLIC_SIGNOZ_LOGS_ENABLED } from '$app/env/public'; import { Container } from '@openshock/svelte-core/components'; import { Button } from '@openshock/svelte-core/components/ui/button'; import { ToggleGroup, ToggleGroupItem } from '@openshock/svelte-core/components/ui/toggle-group'; @@ -11,20 +11,25 @@ telemetryConsent, telemetryPrompted, type TelemetryLevel, - } from '$lib/state/telemetry-consent-state.svelte'; - import { initTelemetry } from '$lib/telemetry/logger'; - import { userState } from '$lib/state/user-state.svelte'; + } from '#lib/state/telemetry-consent-state.svelte.js'; + import { initTelemetry } from '#lib/telemetry/logger.js'; + import { userState } from '#lib/state/user-state.svelte.js'; import ChangeEmailDialog from './dialog-email-change.svelte'; import ChangePasswordDialog from './dialog-password-change.svelte'; import ChangeUsernameDialog from './dialog-username-change.svelte'; - import { registerBreadcrumbs } from '$lib/state/breadcrumbs-state.svelte'; + import { registerBreadcrumbs } from '#lib/state/breadcrumbs-state.svelte.js'; import DangerZone from './DangerZone.svelte'; const errorReportingAvailable = PUBLIC_SIGNOZ_LOGS_ENABLED === 'true'; const telemetryOptions: { value: TelemetryLevel; label: string; description: string }[] = [ { value: 'off', label: 'Off', description: 'Send nothing.' }, - { value: 'errors', label: 'Errors', description: 'Send browser error reports only.' }, + { + value: 'errors', + label: 'Errors', + description: 'Send browser error reports only.', + }, + { value: 'full', label: 'Full', @@ -47,7 +52,7 @@ ); registerBreadcrumbs(() => [ - { label: 'Settings', href: '/settings/account' }, + { label: 'Settings', href: 'settings/account' }, { label: 'Account' }, ]); @@ -74,6 +79,7 @@
{account.name}
+ @@ -89,10 +95,8 @@ type="button" disabled={isOAuthOnly} title={isOAuthOnly ? 'Not available for OAuth-only accounts' : undefined} - onclick={() => (emailDialogOpen = true)} + onclick={() => (emailDialogOpen = true)}>Change Email - Change Email -
@@ -111,10 +115,8 @@ type="button" disabled={isOAuthOnly} title={isOAuthOnly ? 'Not available for OAuth-only accounts' : undefined} - onclick={() => (passwordDialogOpen = true)} + onclick={() => (passwordDialogOpen = true)}>Change Password - Change Password -
{#if errorReportingAvailable} diff --git a/src/routes/(app)/settings/account/DangerZone.svelte b/src/routes/(app)/settings/account/DangerZone.svelte index 7a2413d0..27e7cc3a 100644 --- a/src/routes/(app)/settings/account/DangerZone.svelte +++ b/src/routes/(app)/settings/account/DangerZone.svelte @@ -1,10 +1,10 @@ {#snippet shockerCard( - shocker: import('$lib/api').ShockerResponse, + shocker: import('#lib/api/index.js').ShockerResponse, hubId: string, showHubBadge: boolean )} @@ -230,32 +233,27 @@ - Classic - + - Rich - + - Simple - + {#if !isTruthy(PUBLIC_DISABLE_SHOCKER_MAP)} - Map - {/if} @@ -278,19 +276,19 @@ - Group by Hub - + - + + @@ -305,9 +303,7 @@ : 'Add a shocker to one of your hubs to get started.'} > {#if ownHubs.size === 0} - + {:else} - + {/if} diff --git a/src/routes/(auth)/forgot-password/+page.svelte b/src/routes/(auth)/forgot-password/+page.svelte index 3cdf1424..fcdc52ce 100644 --- a/src/routes/(auth)/forgot-password/+page.svelte +++ b/src/routes/(auth)/forgot-password/+page.svelte @@ -1,15 +1,15 @@ diff --git a/src/routes/(auth)/oauth/error/+page.svelte b/src/routes/(auth)/oauth/error/+page.svelte index 18469bbf..dcc44a1e 100644 --- a/src/routes/(auth)/oauth/error/+page.svelte +++ b/src/routes/(auth)/oauth/error/+page.svelte @@ -3,9 +3,9 @@ import { resolve } from '$app/paths'; import * as Card from '@openshock/svelte-core/components/ui/card'; import { FieldDescription } from '@openshock/svelte-core/components/ui/field'; - import { registerBreadcrumbs } from '$lib/state/breadcrumbs-state.svelte'; - import { getOAuthErrorMessage } from '$lib/auth/oauth-errors'; - import { consumeSearchParam } from '$lib/utils/url'; + import { registerBreadcrumbs } from '#lib/state/breadcrumbs-state.svelte.js'; + import { getOAuthErrorMessage } from '#lib/auth/oauth-errors.js'; + import { consumeSearchParam } from '#lib/utils/url.js'; registerBreadcrumbs(() => [{ label: 'Authentication Error' }]); @@ -13,7 +13,7 @@ consumeSearchParam('error', async (code) => { if (code === 'emailAlreadyRegistered') { - await goto(resolve(`/login?error=${encodeURIComponent(code)}`), { replaceState: true }); + await goto(resolve(`login?error=${encodeURIComponent(code)}`), { replace: true }); return false; } errorCode = code; @@ -27,9 +27,9 @@ - - Back to login - + Back to login {/if} diff --git a/src/routes/(auth)/reset-password/[passwordResetId=guid]/[secret]/+page.svelte b/src/routes/(auth)/reset-password/[passwordResetId=guid]/[secret]/+page.svelte index 8aecf378..9bddb13b 100644 --- a/src/routes/(auth)/reset-password/[passwordResetId=guid]/[secret]/+page.svelte +++ b/src/routes/(auth)/reset-password/[passwordResetId=guid]/[secret]/+page.svelte @@ -3,13 +3,13 @@ import { resolve } from '$app/paths'; import { page } from '$app/state'; import KeyRound from '@lucide/svelte/icons/key-round'; - import { accountPasswordResetCheckValid, accountPasswordResetComplete } from '$lib/api'; + import { accountPasswordResetCheckValid, accountPasswordResetComplete } from '#lib/api/index.js'; import { PasswordInput } from '@openshock/svelte-core/components/input'; import { Button } from '@openshock/svelte-core/components/ui/button'; import * as Card from '@openshock/svelte-core/components/ui/card'; - import { handleApiError } from '$lib/errorhandling/apiErrorHandling'; + import { handleApiError } from '#lib/errorhandling/apiErrorHandling.js'; import { validatePasswordMatch } from '@openshock/svelte-core/inputvalidation'; - import { registerBreadcrumbs } from '$lib/state/breadcrumbs-state.svelte'; + import { registerBreadcrumbs } from '#lib/state/breadcrumbs-state.svelte.js'; import { toast } from 'svelte-sonner'; registerBreadcrumbs(() => [{ label: 'Reset Password' }]); @@ -54,7 +54,7 @@ }); toast.success('Password has been reset'); - goto(resolve('/login')); + goto(resolve('login')); } catch (e) { await handleApiError(e); } finally { @@ -106,9 +106,9 @@ {:else if !checking} - + {/if} diff --git a/src/routes/(auth)/signup/+page.svelte b/src/routes/(auth)/signup/+page.svelte index 5906609d..994b1acb 100644 --- a/src/routes/(auth)/signup/+page.svelte +++ b/src/routes/(auth)/signup/+page.svelte @@ -1,22 +1,22 @@ @@ -38,15 +37,18 @@ determiner="auto" metaLocale="en_US" /> +
{page.status}
+

{page.error?.message ?? 'Something went wrong.'}

+

{page.status === 404 ? "The page you're looking for doesn't exist." diff --git a/src/routes/+layout.server.ts b/src/routes/+layout.server.ts index 4a2f512e..21e3c8b0 100644 --- a/src/routes/+layout.server.ts +++ b/src/routes/+layout.server.ts @@ -2,7 +2,7 @@ import { isOnboardingDisabled, isWelcomeSunset, WELCOME_COOKIE_NAME, -} from '$lib/tour/onboarding-state'; +} from '#lib/tour/onboarding-state.js'; import { SIDEBAR_COOKIE_NAME } from '@openshock/svelte-core/components/ui/sidebar/constants.js'; import { isTruthy } from '@openshock/svelte-core/utils'; import type { LayoutServerLoad } from './$types'; diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 283d1b80..f2c52aa4 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -1,6 +1,6 @@ - +

- OpenShock Logo + OpenShock Logo +

The go-to platform for safe, reliable, real low-latency remote shocking.
{#if data.ok} diff --git a/src/routes/Breadcrumb.svelte b/src/routes/Breadcrumb.svelte index e45c9fa7..91ce588b 100644 --- a/src/routes/Breadcrumb.svelte +++ b/src/routes/Breadcrumb.svelte @@ -1,7 +1,7 @@ {#if breadcrumbs.state.length > 0} @@ -12,7 +12,7 @@ {/if} - {#if crumb.href && i < breadcrumbs.state.length - 1} + {#if crumb.href !== null && i < breadcrumbs.state.length - 1} {crumb.label} {:else} {crumb.label} diff --git a/src/routes/Footer.svelte b/src/routes/Footer.svelte index 639c7189..5cbf7687 100644 --- a/src/routes/Footer.svelte +++ b/src/routes/Footer.svelte @@ -1,13 +1,11 @@