diff --git a/package.json b/package.json
index eeb60ddc..b96b453e 100644
--- a/package.json
+++ b/package.json
@@ -25,12 +25,12 @@
"@maiertech/sveltekit-helpers": "^0.44.1",
"@playwright/test": "^1.57.0",
"@stackblitz/sdk": "^1.11.0",
- "@sveltejs/adapter-node": "^5.4.0",
+ "@sveltejs/adapter-node": "^5.5.1",
"@sveltejs/enhanced-img": "^0.9.2",
- "@sveltejs/kit": "^2.49.4",
+ "@sveltejs/kit": "^2.49.5",
"@sveltejs/vite-plugin-svelte": "^6.2.4",
"@tailwindcss/vite": "^4.1.18",
- "@types/node": "^24.10.6",
+ "@types/node": "^25.0.9",
"d3-array": "^3.2.4",
"dotenv": "^17.2.3",
"eslint": "^9.39.2",
@@ -39,18 +39,18 @@
"globals": "^17.0.0",
"mdsvex": "^0.12.6",
"mode-watcher": "^1.1.0",
- "prettier": "^3.7.4",
+ "prettier": "^3.8.0",
"prettier-plugin-svelte": "^3.4.1",
"prettier-plugin-tailwindcss": "^0.7.2",
"shiki": "^3.21.0",
- "simple-icons": "^16.4.0",
- "svelte": "^5.46.1",
+ "simple-icons": "^16.5.0",
+ "svelte": "^5.46.4",
"svelte-check": "^4.3.5",
"sveltekit-embed": "^0.0.22",
"tailwind-merge": "^3.4.0",
"tailwindcss": "^4.1.18",
"typescript": "^5.9.3",
- "typescript-eslint": "^8.52.0",
+ "typescript-eslint": "^8.53.0",
"vite": "^7.3.1",
"vite-plugin-devtools-json": "^1.0.0",
"zod": "^4.3.5"
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 6e54be2c..dd84dedb 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -13,7 +13,7 @@ importers:
version: 0.13.1(typescript@5.9.3)
'@content-collections/vite':
specifier: ^0.2.8
- version: 0.2.8(@content-collections/core@0.13.1(typescript@5.9.3))(vite@7.3.1(@types/node@24.10.6)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2))
+ version: 0.2.8(@content-collections/core@0.13.1(typescript@5.9.3))(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2))
'@eslint/compat':
specifier: ^2.0.1
version: 2.0.1(eslint@9.39.2(jiti@2.6.1))
@@ -28,10 +28,10 @@ importers:
version: 5.2.8
'@lucide/svelte':
specifier: ^0.562.0
- version: 0.562.0(svelte@5.46.1)
+ version: 0.562.0(svelte@5.46.4)
'@maiertech/sveltekit-helpers':
specifier: ^0.44.1
- version: 0.44.1(@sveltejs/kit@2.49.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.46.1)(vite@7.3.1(@types/node@24.10.6)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)))(svelte@5.46.1)(typescript@5.9.3)(vite@7.3.1(@types/node@24.10.6)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)))(svelte@5.46.1)(tailwindcss@4.1.18)(zod@4.3.5)
+ version: 0.44.1(@sveltejs/kit@2.49.5(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.46.4)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)))(svelte@5.46.4)(typescript@5.9.3)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)))(svelte@5.46.4)(tailwindcss@4.1.18)(zod@4.3.5)
'@playwright/test':
specifier: ^1.57.0
version: 1.57.0
@@ -39,23 +39,23 @@ importers:
specifier: ^1.11.0
version: 1.11.0
'@sveltejs/adapter-node':
- specifier: ^5.4.0
- version: 5.4.0(@sveltejs/kit@2.49.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.46.1)(vite@7.3.1(@types/node@24.10.6)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)))(svelte@5.46.1)(typescript@5.9.3)(vite@7.3.1(@types/node@24.10.6)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)))
+ specifier: ^5.5.1
+ version: 5.5.1(@sveltejs/kit@2.49.5(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.46.4)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)))(svelte@5.46.4)(typescript@5.9.3)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)))
'@sveltejs/enhanced-img':
specifier: ^0.9.2
- version: 0.9.2(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.46.1)(vite@7.3.1(@types/node@24.10.6)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)))(rollup@4.55.1)(svelte@5.46.1)(vite@7.3.1(@types/node@24.10.6)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2))
+ version: 0.9.2(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.46.4)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)))(rollup@4.55.1)(svelte@5.46.4)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2))
'@sveltejs/kit':
- specifier: ^2.49.4
- version: 2.49.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.46.1)(vite@7.3.1(@types/node@24.10.6)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)))(svelte@5.46.1)(typescript@5.9.3)(vite@7.3.1(@types/node@24.10.6)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2))
+ specifier: ^2.49.5
+ version: 2.49.5(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.46.4)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)))(svelte@5.46.4)(typescript@5.9.3)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2))
'@sveltejs/vite-plugin-svelte':
specifier: ^6.2.4
- version: 6.2.4(svelte@5.46.1)(vite@7.3.1(@types/node@24.10.6)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2))
+ version: 6.2.4(svelte@5.46.4)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2))
'@tailwindcss/vite':
specifier: ^4.1.18
- version: 4.1.18(vite@7.3.1(@types/node@24.10.6)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2))
+ version: 4.1.18(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2))
'@types/node':
- specifier: ^24.10.6
- version: 24.10.6
+ specifier: ^25.0.9
+ version: 25.0.9
d3-array:
specifier: ^3.2.4
version: 3.2.4
@@ -70,40 +70,40 @@ importers:
version: 10.1.8(eslint@9.39.2(jiti@2.6.1))
eslint-plugin-svelte:
specifier: ^3.14.0
- version: 3.14.0(eslint@9.39.2(jiti@2.6.1))(svelte@5.46.1)
+ version: 3.14.0(eslint@9.39.2(jiti@2.6.1))(svelte@5.46.4)
globals:
specifier: ^17.0.0
version: 17.0.0
mdsvex:
specifier: ^0.12.6
- version: 0.12.6(svelte@5.46.1)
+ version: 0.12.6(svelte@5.46.4)
mode-watcher:
specifier: ^1.1.0
- version: 1.1.0(svelte@5.46.1)
+ version: 1.1.0(svelte@5.46.4)
prettier:
- specifier: ^3.7.4
- version: 3.7.4
+ specifier: ^3.8.0
+ version: 3.8.0
prettier-plugin-svelte:
specifier: ^3.4.1
- version: 3.4.1(prettier@3.7.4)(svelte@5.46.1)
+ version: 3.4.1(prettier@3.8.0)(svelte@5.46.4)
prettier-plugin-tailwindcss:
specifier: ^0.7.2
- version: 0.7.2(prettier-plugin-svelte@3.4.1(prettier@3.7.4)(svelte@5.46.1))(prettier@3.7.4)
+ version: 0.7.2(prettier-plugin-svelte@3.4.1(prettier@3.8.0)(svelte@5.46.4))(prettier@3.8.0)
shiki:
specifier: ^3.21.0
version: 3.21.0
simple-icons:
- specifier: ^16.4.0
- version: 16.4.0
+ specifier: ^16.5.0
+ version: 16.5.0
svelte:
- specifier: ^5.46.1
- version: 5.46.1
+ specifier: ^5.46.4
+ version: 5.46.4
svelte-check:
specifier: ^4.3.5
- version: 4.3.5(picomatch@4.0.3)(svelte@5.46.1)(typescript@5.9.3)
+ version: 4.3.5(picomatch@4.0.3)(svelte@5.46.4)(typescript@5.9.3)
sveltekit-embed:
specifier: ^0.0.22
- version: 0.0.22(svelte@5.46.1)
+ version: 0.0.22(svelte@5.46.4)
tailwind-merge:
specifier: ^3.4.0
version: 3.4.0
@@ -114,14 +114,14 @@ importers:
specifier: ^5.9.3
version: 5.9.3
typescript-eslint:
- specifier: ^8.52.0
- version: 8.52.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
+ specifier: ^8.53.0
+ version: 8.53.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
vite:
specifier: ^7.3.1
- version: 7.3.1(@types/node@24.10.6)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)
+ version: 7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)
vite-plugin-devtools-json:
specifier: ^1.0.0
- version: 1.0.0(vite@7.3.1(@types/node@24.10.6)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2))
+ version: 1.0.0(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2))
zod:
specifier: ^4.3.5
version: 4.3.5
@@ -928,8 +928,8 @@ packages:
peerDependencies:
acorn: ^8.9.0
- '@sveltejs/adapter-node@5.4.0':
- resolution: {integrity: sha512-NMsrwGVPEn+J73zH83Uhss/hYYZN6zT3u31R3IHAn3MiKC3h8fjmIAhLfTSOeNHr5wPYfjjMg8E+1gyFgyrEcQ==}
+ '@sveltejs/adapter-node@5.5.1':
+ resolution: {integrity: sha512-VpZdPNRPQuZRtgfAMETPWWKpZx9JwXmUUsgz/+eSpw/Oh7+2O1uZHlsQTuyfxydJHPrRzjfu/ItcJjY4oscCiQ==}
peerDependencies:
'@sveltejs/kit': ^2.4.0
@@ -940,8 +940,8 @@ packages:
svelte: ^5.0.0
vite: ^6.3.0 || >=7.0.0
- '@sveltejs/kit@2.49.4':
- resolution: {integrity: sha512-JFtOqDoU0DI/+QSG8qnq5bKcehVb3tCHhOG4amsSYth5/KgO4EkJvi42xSAiyKmXAAULW1/Zdb6lkgGEgSxdZg==}
+ '@sveltejs/kit@2.49.5':
+ resolution: {integrity: sha512-dCYqelr2RVnWUuxc+Dk/dB/SjV/8JBndp1UovCyCZdIQezd8TRwFLNZctYkzgHxRJtaNvseCSRsuuHPeUgIN/A==}
engines: {node: '>=18.13'}
hasBin: true
peerDependencies:
@@ -1080,8 +1080,8 @@ packages:
'@types/mdast@4.0.4':
resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==}
- '@types/node@24.10.6':
- resolution: {integrity: sha512-B8h60xgJMR/xmgyX9fncRzEW9gCxoJjdenUhke2v1JGOd/V66KopmWrLPXi5oUI4VuiGK+d+HlXJjDRZMj21EQ==}
+ '@types/node@25.0.9':
+ resolution: {integrity: sha512-/rpCXHlCWeqClNBwUhDcusJxXYDjZTyE8v5oTO7WbL8eij2nKhUeU89/6xgjU7N4/Vh3He0BtyhJdQbDyhiXAw==}
'@types/resolve@1.20.2':
resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==}
@@ -1092,63 +1092,63 @@ packages:
'@types/unist@3.0.3':
resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==}
- '@typescript-eslint/eslint-plugin@8.52.0':
- resolution: {integrity: sha512-okqtOgqu2qmZJ5iN4TWlgfF171dZmx2FzdOv2K/ixL2LZWDStL8+JgQerI2sa8eAEfoydG9+0V96m7V+P8yE1Q==}
+ '@typescript-eslint/eslint-plugin@8.53.0':
+ resolution: {integrity: sha512-eEXsVvLPu8Z4PkFibtuFJLJOTAV/nPdgtSjkGoPpddpFk3/ym2oy97jynY6ic2m6+nc5M8SE1e9v/mHKsulcJg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
- '@typescript-eslint/parser': ^8.52.0
+ '@typescript-eslint/parser': ^8.53.0
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/parser@8.52.0':
- resolution: {integrity: sha512-iIACsx8pxRnguSYhHiMn2PvhvfpopO9FXHyn1mG5txZIsAaB6F0KwbFnUQN3KCiG3Jcuad/Cao2FAs1Wp7vAyg==}
+ '@typescript-eslint/parser@8.53.0':
+ resolution: {integrity: sha512-npiaib8XzbjtzS2N4HlqPvlpxpmZ14FjSJrteZpPxGUaYPlvhzlzUZ4mZyABo0EFrOWnvyd0Xxroq//hKhtAWg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/project-service@8.52.0':
- resolution: {integrity: sha512-xD0MfdSdEmeFa3OmVqonHi+Cciab96ls1UhIF/qX/O/gPu5KXD0bY9lu33jj04fjzrXHcuvjBcBC+D3SNSadaw==}
+ '@typescript-eslint/project-service@8.53.0':
+ resolution: {integrity: sha512-Bl6Gdr7NqkqIP5yP9z1JU///Nmes4Eose6L1HwpuVHwScgDPPuEWbUVhvlZmb8hy0vX9syLk5EGNL700WcBlbg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/scope-manager@8.52.0':
- resolution: {integrity: sha512-ixxqmmCcc1Nf8S0mS0TkJ/3LKcC8mruYJPOU6Ia2F/zUUR4pApW7LzrpU3JmtePbRUTes9bEqRc1Gg4iyRnDzA==}
+ '@typescript-eslint/scope-manager@8.53.0':
+ resolution: {integrity: sha512-kWNj3l01eOGSdVBnfAF2K1BTh06WS0Yet6JUgb9Cmkqaz3Jlu0fdVUjj9UI8gPidBWSMqDIglmEXifSgDT/D0g==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@typescript-eslint/tsconfig-utils@8.52.0':
- resolution: {integrity: sha512-jl+8fzr/SdzdxWJznq5nvoI7qn2tNYV/ZBAEcaFMVXf+K6jmXvAFrgo/+5rxgnL152f//pDEAYAhhBAZGrVfwg==}
+ '@typescript-eslint/tsconfig-utils@8.53.0':
+ resolution: {integrity: sha512-K6Sc0R5GIG6dNoPdOooQ+KtvT5KCKAvTcY8h2rIuul19vxH5OTQk7ArKkd4yTzkw66WnNY0kPPzzcmWA+XRmiA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/type-utils@8.52.0':
- resolution: {integrity: sha512-JD3wKBRWglYRQkAtsyGz1AewDu3mTc7NtRjR/ceTyGoPqmdS5oCdx/oZMWD5Zuqmo6/MpsYs0wp6axNt88/2EQ==}
+ '@typescript-eslint/type-utils@8.53.0':
+ resolution: {integrity: sha512-BBAUhlx7g4SmcLhn8cnbxoxtmS7hcq39xKCgiutL3oNx1TaIp+cny51s8ewnKMpVUKQUGb41RAUWZ9kxYdovuw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/types@8.52.0':
- resolution: {integrity: sha512-LWQV1V4q9V4cT4H5JCIx3481iIFxH1UkVk+ZkGGAV1ZGcjGI9IoFOfg3O6ywz8QqCDEp7Inlg6kovMofsNRaGg==}
+ '@typescript-eslint/types@8.53.0':
+ resolution: {integrity: sha512-Bmh9KX31Vlxa13+PqPvt4RzKRN1XORYSLlAE+sO1i28NkisGbTtSLFVB3l7PWdHtR3E0mVMuC7JilWJ99m2HxQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@typescript-eslint/typescript-estree@8.52.0':
- resolution: {integrity: sha512-XP3LClsCc0FsTK5/frGjolyADTh3QmsLp6nKd476xNI9CsSsLnmn4f0jrzNoAulmxlmNIpeXuHYeEQv61Q6qeQ==}
+ '@typescript-eslint/typescript-estree@8.53.0':
+ resolution: {integrity: sha512-pw0c0Gdo7Z4xOG987u3nJ8akL9093yEEKv8QTJ+Bhkghj1xyj8cgPaavlr9rq8h7+s6plUJ4QJYw2gCZodqmGw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/utils@8.52.0':
- resolution: {integrity: sha512-wYndVMWkweqHpEpwPhwqE2lnD2DxC6WVLupU/DOt/0/v+/+iQbbzO3jOHjmBMnhu0DgLULvOaU4h4pwHYi2oRQ==}
+ '@typescript-eslint/utils@8.53.0':
+ resolution: {integrity: sha512-XDY4mXTez3Z1iRDI5mbRhH4DFSt46oaIFsLg+Zn97+sYrXACziXSQcSelMybnVZ5pa1P6xYkPr5cMJyunM1ZDA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <6.0.0'
- '@typescript-eslint/visitor-keys@8.52.0':
- resolution: {integrity: sha512-ink3/Zofus34nmBsPjow63FP5M7IGff0RKAgqR6+CFpdk22M7aLwC9gOcLGYqr7MczLPzZVERW9hRog3O4n1sQ==}
+ '@typescript-eslint/visitor-keys@8.53.0':
+ resolution: {integrity: sha512-LZ2NqIHFhvFwxG0qZeLL9DvdNAHPGCY5dIRwBhyYeU+LfLhcStE1ImjsuTG/WaVh3XysGaeLW8Rqq7cGkPCFvw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@ungap/structured-clone@1.3.0':
@@ -1280,8 +1280,8 @@ packages:
resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==}
engines: {node: '>=8'}
- devalue@5.6.1:
- resolution: {integrity: sha512-jDwizj+IlEZBunHcOuuFVBnIMPAEHvTsJj0BcIp94xYguLRVBcXO853px/MyIJvbVzWdsGvrRweIUWJw8hBP7A==}
+ devalue@5.6.2:
+ resolution: {integrity: sha512-nPRkjWzzDQlsejL1WVifk5rvcFi/y1onBRxjaFMjZeR9mFpqu2gmAZ9xUB9/IEanEP/vBtGeGganC/GO1fmufg==}
devlop@1.1.0:
resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==}
@@ -1867,8 +1867,8 @@ packages:
prettier-plugin-svelte:
optional: true
- prettier@3.7.4:
- resolution: {integrity: sha512-v6UNi1+3hSlVvv8fSaoUbggEM5VErKmmpGA7Pl3HF8V6uKY7rvClBOJlH6yNwQtfTueNkGVpOv/mtWL9L4bgRA==}
+ prettier@3.8.0:
+ resolution: {integrity: sha512-yEPsovQfpxYfgWNhCfECjG5AQaO+K3dp6XERmOepyPDVqcJm+bjyCVO3pmU+nAPe0N5dDvekfGezt/EIiRe1TA==}
engines: {node: '>=14'}
hasBin: true
@@ -1963,8 +1963,8 @@ packages:
shiki@3.21.0:
resolution: {integrity: sha512-N65B/3bqL/TI2crrXr+4UivctrAGEjmsib5rPMMPpFp1xAx/w03v8WZ9RDDFYteXoEgY7qZ4HGgl5KBIu1153w==}
- simple-icons@16.4.0:
- resolution: {integrity: sha512-8CKtCvx1Zq3L0CBsR4RR1MjGCXkXbzdspwl2yCxs8oWkstbzj2+DatRKDee/tuj3Ffd/2CDzwEky9RgG2yggew==}
+ simple-icons@16.5.0:
+ resolution: {integrity: sha512-72nn0oHADKx6Hknu7q6M0vfL8LiCUMKABOHane2+4xdqaFBSHfNNBjuZioihiqVQMz7IvVle4NKAM0IlXvl/9A==}
engines: {node: '>=0.12.18'}
sirv@3.0.2:
@@ -2031,8 +2031,8 @@ packages:
peerDependencies:
svelte: ^5.0.0
- svelte@5.46.1:
- resolution: {integrity: sha512-ynjfCHD3nP2el70kN5Pmg37sSi0EjOm9FgHYQdC4giWG/hzO3AatzXXJJgP305uIhGQxSufJLuYWtkY8uK/8RA==}
+ svelte@5.46.4:
+ resolution: {integrity: sha512-VJwdXrmv9L8L7ZasJeWcCjoIuMRVbhuxbss0fpVnR8yorMmjNDwcjIH08vS6wmSzzzgAG5CADQ1JuXPS2nwt9w==}
engines: {node: '>=18'}
sveltekit-embed@0.0.22:
@@ -2075,8 +2075,8 @@ packages:
resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
engines: {node: '>= 0.8.0'}
- typescript-eslint@8.52.0:
- resolution: {integrity: sha512-atlQQJ2YkO4pfTVQmQ+wvYQwexPDOIgo+RaVcD7gHgzy/IQA+XTyuxNM9M9TVXvttkF7koBHmcwisKdOAf2EcA==}
+ typescript-eslint@8.53.0:
+ resolution: {integrity: sha512-xHURCQNxZ1dsWn0sdOaOfCSQG0HKeqSj9OexIxrz6ypU6wHYOdX2I3D2b8s8wFSsSOYJb+6q283cLiLlkEsBYw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
@@ -2249,11 +2249,11 @@ snapshots:
dependencies:
'@content-collections/core': 0.13.1(typescript@5.9.3)
- '@content-collections/vite@0.2.8(@content-collections/core@0.13.1(typescript@5.9.3))(vite@7.3.1(@types/node@24.10.6)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2))':
+ '@content-collections/vite@0.2.8(@content-collections/core@0.13.1(typescript@5.9.3))(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2))':
dependencies:
'@content-collections/core': 0.13.1(typescript@5.9.3)
'@content-collections/integrations': 0.4.0(@content-collections/core@0.13.1(typescript@5.9.3))
- vite: 7.3.1(@types/node@24.10.6)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)
+ vite: 7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)
'@emnapi/runtime@1.8.1':
dependencies:
@@ -2602,15 +2602,15 @@ snapshots:
'@jridgewell/resolve-uri': 3.1.2
'@jridgewell/sourcemap-codec': 1.5.5
- '@lucide/svelte@0.562.0(svelte@5.46.1)':
+ '@lucide/svelte@0.562.0(svelte@5.46.4)':
dependencies:
- svelte: 5.46.1
+ svelte: 5.46.4
- '@maiertech/sveltekit-helpers@0.44.1(@sveltejs/kit@2.49.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.46.1)(vite@7.3.1(@types/node@24.10.6)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)))(svelte@5.46.1)(typescript@5.9.3)(vite@7.3.1(@types/node@24.10.6)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)))(svelte@5.46.1)(tailwindcss@4.1.18)(zod@4.3.5)':
+ '@maiertech/sveltekit-helpers@0.44.1(@sveltejs/kit@2.49.5(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.46.4)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)))(svelte@5.46.4)(typescript@5.9.3)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)))(svelte@5.46.4)(tailwindcss@4.1.18)(zod@4.3.5)':
dependencies:
- '@sveltejs/kit': 2.49.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.46.1)(vite@7.3.1(@types/node@24.10.6)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)))(svelte@5.46.1)(typescript@5.9.3)(vite@7.3.1(@types/node@24.10.6)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2))
+ '@sveltejs/kit': 2.49.5(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.46.4)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)))(svelte@5.46.4)(typescript@5.9.3)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2))
shiki: 3.21.0
- svelte: 5.46.1
+ svelte: 5.46.4
tailwind-merge: 3.4.0
tailwindcss: 4.1.18
zod: 4.3.5
@@ -2773,36 +2773,36 @@ snapshots:
dependencies:
acorn: 8.15.0
- '@sveltejs/adapter-node@5.4.0(@sveltejs/kit@2.49.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.46.1)(vite@7.3.1(@types/node@24.10.6)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)))(svelte@5.46.1)(typescript@5.9.3)(vite@7.3.1(@types/node@24.10.6)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)))':
+ '@sveltejs/adapter-node@5.5.1(@sveltejs/kit@2.49.5(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.46.4)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)))(svelte@5.46.4)(typescript@5.9.3)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)))':
dependencies:
'@rollup/plugin-commonjs': 28.0.9(rollup@4.55.1)
'@rollup/plugin-json': 6.1.0(rollup@4.55.1)
'@rollup/plugin-node-resolve': 16.0.3(rollup@4.55.1)
- '@sveltejs/kit': 2.49.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.46.1)(vite@7.3.1(@types/node@24.10.6)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)))(svelte@5.46.1)(typescript@5.9.3)(vite@7.3.1(@types/node@24.10.6)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2))
+ '@sveltejs/kit': 2.49.5(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.46.4)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)))(svelte@5.46.4)(typescript@5.9.3)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2))
rollup: 4.55.1
- '@sveltejs/enhanced-img@0.9.2(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.46.1)(vite@7.3.1(@types/node@24.10.6)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)))(rollup@4.55.1)(svelte@5.46.1)(vite@7.3.1(@types/node@24.10.6)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2))':
+ '@sveltejs/enhanced-img@0.9.2(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.46.4)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)))(rollup@4.55.1)(svelte@5.46.4)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2))':
dependencies:
- '@sveltejs/vite-plugin-svelte': 6.2.4(svelte@5.46.1)(vite@7.3.1(@types/node@24.10.6)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2))
+ '@sveltejs/vite-plugin-svelte': 6.2.4(svelte@5.46.4)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2))
magic-string: 0.30.21
sharp: 0.34.5
- svelte: 5.46.1
- svelte-parse-markup: 0.1.5(svelte@5.46.1)
- vite: 7.3.1(@types/node@24.10.6)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)
+ svelte: 5.46.4
+ svelte-parse-markup: 0.1.5(svelte@5.46.4)
+ vite: 7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)
vite-imagetools: 9.0.2(rollup@4.55.1)
zimmerframe: 1.1.4
transitivePeerDependencies:
- rollup
- '@sveltejs/kit@2.49.4(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.46.1)(vite@7.3.1(@types/node@24.10.6)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)))(svelte@5.46.1)(typescript@5.9.3)(vite@7.3.1(@types/node@24.10.6)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2))':
+ '@sveltejs/kit@2.49.5(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.46.4)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)))(svelte@5.46.4)(typescript@5.9.3)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2))':
dependencies:
'@standard-schema/spec': 1.1.0
'@sveltejs/acorn-typescript': 1.0.8(acorn@8.15.0)
- '@sveltejs/vite-plugin-svelte': 6.2.4(svelte@5.46.1)(vite@7.3.1(@types/node@24.10.6)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2))
+ '@sveltejs/vite-plugin-svelte': 6.2.4(svelte@5.46.4)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2))
'@types/cookie': 0.6.0
acorn: 8.15.0
cookie: 0.6.0
- devalue: 5.6.1
+ devalue: 5.6.2
esm-env: 1.2.2
kleur: 4.1.5
magic-string: 0.30.21
@@ -2810,27 +2810,27 @@ snapshots:
sade: 1.8.1
set-cookie-parser: 2.7.2
sirv: 3.0.2
- svelte: 5.46.1
- vite: 7.3.1(@types/node@24.10.6)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)
+ svelte: 5.46.4
+ vite: 7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)
optionalDependencies:
typescript: 5.9.3
- '@sveltejs/vite-plugin-svelte-inspector@5.0.2(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.46.1)(vite@7.3.1(@types/node@24.10.6)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)))(svelte@5.46.1)(vite@7.3.1(@types/node@24.10.6)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2))':
+ '@sveltejs/vite-plugin-svelte-inspector@5.0.2(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.46.4)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)))(svelte@5.46.4)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2))':
dependencies:
- '@sveltejs/vite-plugin-svelte': 6.2.4(svelte@5.46.1)(vite@7.3.1(@types/node@24.10.6)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2))
+ '@sveltejs/vite-plugin-svelte': 6.2.4(svelte@5.46.4)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2))
obug: 2.1.1
- svelte: 5.46.1
- vite: 7.3.1(@types/node@24.10.6)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)
+ svelte: 5.46.4
+ vite: 7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)
- '@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.46.1)(vite@7.3.1(@types/node@24.10.6)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2))':
+ '@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.46.4)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2))':
dependencies:
- '@sveltejs/vite-plugin-svelte-inspector': 5.0.2(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.46.1)(vite@7.3.1(@types/node@24.10.6)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)))(svelte@5.46.1)(vite@7.3.1(@types/node@24.10.6)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2))
+ '@sveltejs/vite-plugin-svelte-inspector': 5.0.2(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.46.4)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)))(svelte@5.46.4)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2))
deepmerge: 4.3.1
magic-string: 0.30.21
obug: 2.1.1
- svelte: 5.46.1
- vite: 7.3.1(@types/node@24.10.6)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)
- vitefu: 1.1.1(vite@7.3.1(@types/node@24.10.6)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2))
+ svelte: 5.46.4
+ vite: 7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)
+ vitefu: 1.1.1(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2))
'@tailwindcss/node@4.1.18':
dependencies:
@@ -2893,12 +2893,12 @@ snapshots:
'@tailwindcss/oxide-win32-arm64-msvc': 4.1.18
'@tailwindcss/oxide-win32-x64-msvc': 4.1.18
- '@tailwindcss/vite@4.1.18(vite@7.3.1(@types/node@24.10.6)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2))':
+ '@tailwindcss/vite@4.1.18(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2))':
dependencies:
'@tailwindcss/node': 4.1.18
'@tailwindcss/oxide': 4.1.18
tailwindcss: 4.1.18
- vite: 7.3.1(@types/node@24.10.6)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)
+ vite: 7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)
'@types/cookie@0.6.0': {}
@@ -2914,7 +2914,7 @@ snapshots:
dependencies:
'@types/unist': 2.0.11
- '@types/node@24.10.6':
+ '@types/node@25.0.9':
dependencies:
undici-types: 7.16.0
@@ -2924,14 +2924,14 @@ snapshots:
'@types/unist@3.0.3': {}
- '@typescript-eslint/eslint-plugin@8.52.0(@typescript-eslint/parser@8.52.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)':
+ '@typescript-eslint/eslint-plugin@8.53.0(@typescript-eslint/parser@8.53.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)':
dependencies:
'@eslint-community/regexpp': 4.12.2
- '@typescript-eslint/parser': 8.52.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
- '@typescript-eslint/scope-manager': 8.52.0
- '@typescript-eslint/type-utils': 8.52.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
- '@typescript-eslint/utils': 8.52.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
- '@typescript-eslint/visitor-keys': 8.52.0
+ '@typescript-eslint/parser': 8.53.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/scope-manager': 8.53.0
+ '@typescript-eslint/type-utils': 8.53.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/utils': 8.53.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/visitor-keys': 8.53.0
eslint: 9.39.2(jiti@2.6.1)
ignore: 7.0.5
natural-compare: 1.4.0
@@ -2940,41 +2940,41 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/parser@8.52.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)':
+ '@typescript-eslint/parser@8.53.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)':
dependencies:
- '@typescript-eslint/scope-manager': 8.52.0
- '@typescript-eslint/types': 8.52.0
- '@typescript-eslint/typescript-estree': 8.52.0(typescript@5.9.3)
- '@typescript-eslint/visitor-keys': 8.52.0
+ '@typescript-eslint/scope-manager': 8.53.0
+ '@typescript-eslint/types': 8.53.0
+ '@typescript-eslint/typescript-estree': 8.53.0(typescript@5.9.3)
+ '@typescript-eslint/visitor-keys': 8.53.0
debug: 4.4.3
eslint: 9.39.2(jiti@2.6.1)
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/project-service@8.52.0(typescript@5.9.3)':
+ '@typescript-eslint/project-service@8.53.0(typescript@5.9.3)':
dependencies:
- '@typescript-eslint/tsconfig-utils': 8.52.0(typescript@5.9.3)
- '@typescript-eslint/types': 8.52.0
+ '@typescript-eslint/tsconfig-utils': 8.53.0(typescript@5.9.3)
+ '@typescript-eslint/types': 8.53.0
debug: 4.4.3
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/scope-manager@8.52.0':
+ '@typescript-eslint/scope-manager@8.53.0':
dependencies:
- '@typescript-eslint/types': 8.52.0
- '@typescript-eslint/visitor-keys': 8.52.0
+ '@typescript-eslint/types': 8.53.0
+ '@typescript-eslint/visitor-keys': 8.53.0
- '@typescript-eslint/tsconfig-utils@8.52.0(typescript@5.9.3)':
+ '@typescript-eslint/tsconfig-utils@8.53.0(typescript@5.9.3)':
dependencies:
typescript: 5.9.3
- '@typescript-eslint/type-utils@8.52.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)':
+ '@typescript-eslint/type-utils@8.53.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)':
dependencies:
- '@typescript-eslint/types': 8.52.0
- '@typescript-eslint/typescript-estree': 8.52.0(typescript@5.9.3)
- '@typescript-eslint/utils': 8.52.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/types': 8.53.0
+ '@typescript-eslint/typescript-estree': 8.53.0(typescript@5.9.3)
+ '@typescript-eslint/utils': 8.53.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
debug: 4.4.3
eslint: 9.39.2(jiti@2.6.1)
ts-api-utils: 2.4.0(typescript@5.9.3)
@@ -2982,14 +2982,14 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/types@8.52.0': {}
+ '@typescript-eslint/types@8.53.0': {}
- '@typescript-eslint/typescript-estree@8.52.0(typescript@5.9.3)':
+ '@typescript-eslint/typescript-estree@8.53.0(typescript@5.9.3)':
dependencies:
- '@typescript-eslint/project-service': 8.52.0(typescript@5.9.3)
- '@typescript-eslint/tsconfig-utils': 8.52.0(typescript@5.9.3)
- '@typescript-eslint/types': 8.52.0
- '@typescript-eslint/visitor-keys': 8.52.0
+ '@typescript-eslint/project-service': 8.53.0(typescript@5.9.3)
+ '@typescript-eslint/tsconfig-utils': 8.53.0(typescript@5.9.3)
+ '@typescript-eslint/types': 8.53.0
+ '@typescript-eslint/visitor-keys': 8.53.0
debug: 4.4.3
minimatch: 9.0.5
semver: 7.7.3
@@ -2999,20 +2999,20 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/utils@8.52.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)':
+ '@typescript-eslint/utils@8.53.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)':
dependencies:
'@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2(jiti@2.6.1))
- '@typescript-eslint/scope-manager': 8.52.0
- '@typescript-eslint/types': 8.52.0
- '@typescript-eslint/typescript-estree': 8.52.0(typescript@5.9.3)
+ '@typescript-eslint/scope-manager': 8.53.0
+ '@typescript-eslint/types': 8.53.0
+ '@typescript-eslint/typescript-estree': 8.53.0(typescript@5.9.3)
eslint: 9.39.2(jiti@2.6.1)
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/visitor-keys@8.52.0':
+ '@typescript-eslint/visitor-keys@8.53.0':
dependencies:
- '@typescript-eslint/types': 8.52.0
+ '@typescript-eslint/types': 8.53.0
eslint-visitor-keys: 4.2.1
'@ungap/structured-clone@1.3.0': {}
@@ -3114,7 +3114,7 @@ snapshots:
detect-libc@2.1.2: {}
- devalue@5.6.1: {}
+ devalue@5.6.2: {}
devlop@1.1.0:
dependencies:
@@ -3191,7 +3191,7 @@ snapshots:
dependencies:
eslint: 9.39.2(jiti@2.6.1)
- eslint-plugin-svelte@3.14.0(eslint@9.39.2(jiti@2.6.1))(svelte@5.46.1):
+ eslint-plugin-svelte@3.14.0(eslint@9.39.2(jiti@2.6.1))(svelte@5.46.4):
dependencies:
'@eslint-community/eslint-utils': 4.9.1(eslint@9.39.2(jiti@2.6.1))
'@jridgewell/sourcemap-codec': 1.5.5
@@ -3203,9 +3203,9 @@ snapshots:
postcss-load-config: 3.1.4(postcss@8.5.6)
postcss-safe-parser: 7.0.1(postcss@8.5.6)
semver: 7.7.3
- svelte-eslint-parser: 1.4.1(svelte@5.46.1)
+ svelte-eslint-parser: 1.4.1(svelte@5.46.4)
optionalDependencies:
- svelte: 5.46.1
+ svelte: 5.46.4
transitivePeerDependencies:
- ts-node
@@ -3518,13 +3518,13 @@ snapshots:
unist-util-visit: 5.0.0
vfile: 6.0.3
- mdsvex@0.12.6(svelte@5.46.1):
+ mdsvex@0.12.6(svelte@5.46.4):
dependencies:
'@types/mdast': 4.0.4
'@types/unist': 2.0.11
prism-svelte: 0.4.7
prismjs: 1.30.0
- svelte: 5.46.1
+ svelte: 5.46.4
unist-util-visit: 2.0.3
vfile-message: 2.0.4
@@ -3553,11 +3553,11 @@ snapshots:
dependencies:
brace-expansion: 2.0.2
- mode-watcher@1.1.0(svelte@5.46.1):
+ mode-watcher@1.1.0(svelte@5.46.4):
dependencies:
- runed: 0.25.0(svelte@5.46.1)
- svelte: 5.46.1
- svelte-toolbelt: 0.7.1(svelte@5.46.1)
+ runed: 0.25.0(svelte@5.46.4)
+ svelte: 5.46.4
+ svelte-toolbelt: 0.7.1(svelte@5.46.4)
mri@1.2.0: {}
@@ -3652,18 +3652,18 @@ snapshots:
prelude-ls@1.2.1: {}
- prettier-plugin-svelte@3.4.1(prettier@3.7.4)(svelte@5.46.1):
+ prettier-plugin-svelte@3.4.1(prettier@3.8.0)(svelte@5.46.4):
dependencies:
- prettier: 3.7.4
- svelte: 5.46.1
+ prettier: 3.8.0
+ svelte: 5.46.4
- prettier-plugin-tailwindcss@0.7.2(prettier-plugin-svelte@3.4.1(prettier@3.7.4)(svelte@5.46.1))(prettier@3.7.4):
+ prettier-plugin-tailwindcss@0.7.2(prettier-plugin-svelte@3.4.1(prettier@3.8.0)(svelte@5.46.4))(prettier@3.8.0):
dependencies:
- prettier: 3.7.4
+ prettier: 3.8.0
optionalDependencies:
- prettier-plugin-svelte: 3.4.1(prettier@3.7.4)(svelte@5.46.1)
+ prettier-plugin-svelte: 3.4.1(prettier@3.8.0)(svelte@5.46.4)
- prettier@3.7.4: {}
+ prettier@3.8.0: {}
prism-svelte@0.4.7: {}
@@ -3728,15 +3728,15 @@ snapshots:
'@rollup/rollup-win32-x64-msvc': 4.55.1
fsevents: 2.3.3
- runed@0.23.4(svelte@5.46.1):
+ runed@0.23.4(svelte@5.46.4):
dependencies:
esm-env: 1.2.2
- svelte: 5.46.1
+ svelte: 5.46.4
- runed@0.25.0(svelte@5.46.1):
+ runed@0.25.0(svelte@5.46.4):
dependencies:
esm-env: 1.2.2
- svelte: 5.46.1
+ svelte: 5.46.4
sade@1.8.1:
dependencies:
@@ -3805,7 +3805,7 @@ snapshots:
'@shikijs/vscode-textmate': 10.0.2
'@types/hast': 3.0.4
- simple-icons@16.4.0: {}
+ simple-icons@16.5.0: {}
sirv@3.0.2:
dependencies:
@@ -3838,19 +3838,19 @@ snapshots:
supports-preserve-symlinks-flag@1.0.0: {}
- svelte-check@4.3.5(picomatch@4.0.3)(svelte@5.46.1)(typescript@5.9.3):
+ svelte-check@4.3.5(picomatch@4.0.3)(svelte@5.46.4)(typescript@5.9.3):
dependencies:
'@jridgewell/trace-mapping': 0.3.31
chokidar: 4.0.3
fdir: 6.5.0(picomatch@4.0.3)
picocolors: 1.1.1
sade: 1.8.1
- svelte: 5.46.1
+ svelte: 5.46.4
typescript: 5.9.3
transitivePeerDependencies:
- picomatch
- svelte-eslint-parser@1.4.1(svelte@5.46.1):
+ svelte-eslint-parser@1.4.1(svelte@5.46.4):
dependencies:
eslint-scope: 8.4.0
eslint-visitor-keys: 4.2.1
@@ -3859,20 +3859,20 @@ snapshots:
postcss-scss: 4.0.9(postcss@8.5.6)
postcss-selector-parser: 7.1.1
optionalDependencies:
- svelte: 5.46.1
+ svelte: 5.46.4
- svelte-parse-markup@0.1.5(svelte@5.46.1):
+ svelte-parse-markup@0.1.5(svelte@5.46.4):
dependencies:
- svelte: 5.46.1
+ svelte: 5.46.4
- svelte-toolbelt@0.7.1(svelte@5.46.1):
+ svelte-toolbelt@0.7.1(svelte@5.46.4):
dependencies:
clsx: 2.1.1
- runed: 0.23.4(svelte@5.46.1)
+ runed: 0.23.4(svelte@5.46.4)
style-to-object: 1.0.14
- svelte: 5.46.1
+ svelte: 5.46.4
- svelte@5.46.1:
+ svelte@5.46.4:
dependencies:
'@jridgewell/remapping': 2.3.5
'@jridgewell/sourcemap-codec': 1.5.5
@@ -3882,7 +3882,7 @@ snapshots:
aria-query: 5.3.2
axobject-query: 4.1.0
clsx: 2.1.1
- devalue: 5.6.1
+ devalue: 5.6.2
esm-env: 1.2.2
esrap: 2.2.1
is-reference: 3.0.3
@@ -3890,9 +3890,9 @@ snapshots:
magic-string: 0.30.21
zimmerframe: 1.1.4
- sveltekit-embed@0.0.22(svelte@5.46.1):
+ sveltekit-embed@0.0.22(svelte@5.46.4):
dependencies:
- svelte: 5.46.1
+ svelte: 5.46.4
tailwind-merge@3.4.0: {}
@@ -3920,12 +3920,12 @@ snapshots:
dependencies:
prelude-ls: 1.2.1
- typescript-eslint@8.52.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3):
+ typescript-eslint@8.53.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3):
dependencies:
- '@typescript-eslint/eslint-plugin': 8.52.0(@typescript-eslint/parser@8.52.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
- '@typescript-eslint/parser': 8.52.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
- '@typescript-eslint/typescript-estree': 8.52.0(typescript@5.9.3)
- '@typescript-eslint/utils': 8.52.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/eslint-plugin': 8.53.0(@typescript-eslint/parser@8.53.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/parser': 8.53.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
+ '@typescript-eslint/typescript-estree': 8.53.0(typescript@5.9.3)
+ '@typescript-eslint/utils': 8.53.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)
eslint: 9.39.2(jiti@2.6.1)
typescript: 5.9.3
transitivePeerDependencies:
@@ -4006,12 +4006,12 @@ snapshots:
transitivePeerDependencies:
- rollup
- vite-plugin-devtools-json@1.0.0(vite@7.3.1(@types/node@24.10.6)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)):
+ vite-plugin-devtools-json@1.0.0(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)):
dependencies:
uuid: 11.1.0
- vite: 7.3.1(@types/node@24.10.6)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)
+ vite: 7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)
- vite@7.3.1(@types/node@24.10.6)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2):
+ vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2):
dependencies:
esbuild: 0.27.2
fdir: 6.5.0(picomatch@4.0.3)
@@ -4020,15 +4020,15 @@ snapshots:
rollup: 4.55.1
tinyglobby: 0.2.15
optionalDependencies:
- '@types/node': 24.10.6
+ '@types/node': 25.0.9
fsevents: 2.3.3
jiti: 2.6.1
lightningcss: 1.30.2
yaml: 2.8.2
- vitefu@1.1.1(vite@7.3.1(@types/node@24.10.6)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)):
+ vitefu@1.1.1(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)):
optionalDependencies:
- vite: 7.3.1(@types/node@24.10.6)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)
+ vite: 7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)(yaml@2.8.2)
which@2.0.2:
dependencies:
diff --git a/src/routes/posts/(2026)/the-privacy-friendly-video-doorbell-that-failed-in-cold-weather/+page.md b/src/routes/posts/(2026)/the-privacy-friendly-video-doorbell-that-failed-in-cold-weather/+page.md
deleted file mode 100644
index 1ec68b45..00000000
--- a/src/routes/posts/(2026)/the-privacy-friendly-video-doorbell-that-failed-in-cold-weather/+page.md
+++ /dev/null
@@ -1,100 +0,0 @@
----
-title: The privacy-friendly video doorbell that failed in cold weather
-author: thilo
-publishedDate: 2026-01-09
-published: false
-description:
- A Reolink video doorbell promised to be privacy-friendly, but failed in cold weather with poor
- event detection and severe battery drain.
-tags:
- - iot
----
-
-
-
-During the holidays, I installed a
-[Reolink Video Doorbell (Battery)](https://reolink.com/nl/product/reolink-doorbell-battery/) on my
-front door. After a honeymoon that lasted a few days, winter came to the Netherlands and with
-freezing temperatures my excitement for this doorbell quickly reached a freezing point. But more on
-that in a minute.
-
-About 2 years ago, I had a
-[Google Nest Doorbell (Battery)](https://store.google.com/product/nest_doorbell_battery?hl=nl) for
-about 6 months. After the first mild Dutch winter, its image started flickering and when I removed
-it for a reset, the mounting mechanism broke. A common problem with this model. To Google's credit,
-I received a full refund. But I started to wonder whether it's a good idea to install an IoT device
-in a spot where it is exposed to the full range from dry freezing cold to scorching hot humid
-weather with direct sun exposure and occasional heavy rain splashes.
-
-Fast forward to late 2025. I wanted to give a video doorbell another try. But this time, I wanted to
-bypass Big Tech and go for a model that works locally without subscription and without the cloud.
-After digging through endless negative doorbell reviews, I settled on Reolink. Their battery
-doorbell ticked all the boxes: local storage, no subscription required, optional wired installation,
-works with my mechanical chime, battery-powered (in case of a power outage), and affordable. And a
-beautiful piece of hardware, IP65 rated, that works in a temperature range from -10°C to +55°C. At
-least that's what the specs say.
-
-
-
-
-
-The first few days, while the temperature was still close to +10°C, the doorbell worked almost
-flawlessly. It kept trickle-charging the battery back to 100%. And triggers worked reasonably well.
-But I noticed some firmware quirks.
-
-But let me first explain my constraints. Dutch neighborhoods are dense, and therefore, my doorbell
-camera (like many other doorbell cameras in the Netherlands) captures a public sidewalk. I don't
-want to capture anything happening in a public area. It's none of my business. I want to capture
-only what happens on my property. Google Nest offers intuitive detection zones for this scenario.
-Just mark a detection zone located on my property and Google will alert me if someone steps into
-that zone. Anything happening outside gets ignored. My neighbor can walk his dog on the sidewalk
-without me ever knowing about it.
-
-Reolink reverses this logic. It offers non-detection zones. Reolink does not disclose the logic of
-non-detection zones. But from what I can tell, anything touching a non-detection zone gets ignored.
-That's a problem when the public sidewalk is in the center of the camera view and it's literally
-impossible to walk to my front door without touching the non-detection zone. In my case,
-non-detection zones broke meaningful event detection.
-
-As an alternative, you can enable or disable detection based on object size. For instance, someone
-walking on the sidewalk across the street will appear small in the camera view and can be ignored.
-But the mailman approaching my front door will at one point appear large enough to trigger an alert.
-But this approach is very unreliable. My son's playdate was small enough to evade detection until
-they rang the doorbell.
-
-Another quirk was that whenever someone left the house, event detection would not trigger. I
-literally managed to take the above picture of the doorbell without triggering an alert. This made
-me wonder whether person detection is based on an object getting larger. If you leave the house, you
-never get larger in the camera view, only smaller. But I'm just guessing here.
-
-Then winter came and with temperatures below +5°C, the doorbell started behaving erratically. The
-battery stopped charging and started draining quickly despite being wired up to the doorbell
-transformer. I get it that the battery won't charge if temperatures drop below 0°C. But the battery
-should not drain when wired. The other issue was that at low temperatures, motion detection kept
-failing. I could walk up to the doorbell without triggering an alert. Within a few days, you reach a
-point where you have to detach the doorbell, remove the wires and bring it inside for charging.
-That's absurd for a wired video doorbell.
-
-The last nail in the doorbell's coffin was customer support. You get the usual remove it, reset it
-and re-install it. But the moment I asked to for a return label and a refund, the response speed
-slowed down. I felt like I was being put through all kinds of hoops to discourage me from returning
-the doorbell.
-
-I wanted to like this doorbell. There are so few options out there for privacy-conscious consumers.
-Reolink has a whole range of privacy-friendly cameras, including affordable PoE cameras. Therefore,
-when I ended up with a choice between a privacy-friendly video doorbell with flawed event detection
-and a Big Tech surveillance device that nickels and dimes me for flawless event detection, I felt
-stuck between a rock and a hard place.
-
-For the time being, I reverted back to a dumb doorbell in combination with an old Google Nest
-camera. The camera is attached from the inside with a suction cup holder to a window at the
-entrance. Event detection works flawlessly, no matter how cold it is outside. But I have to shell
-out a subscription fee to Big Tech.
-
-This feels like a defeat. But I hope that it's temporary and that with
-[Matter having added support for cameras in v1.5](https://matter-smarthome.de/en/development/matter-1-5-arrives-bringing-long-awaited-cameras/),
-there will be more privacy-friendly camera options with flawless event detection in the near future.
-And I hope Reolink will iterate on their video doorbell to make it work reliably in cold weather.
diff --git a/src/routes/posts/(2026)/the-privacy-friendly-video-doorbell-with-flawed-person-detection/+page.md b/src/routes/posts/(2026)/the-privacy-friendly-video-doorbell-with-flawed-person-detection/+page.md
new file mode 100644
index 00000000..ba8d28f8
--- /dev/null
+++ b/src/routes/posts/(2026)/the-privacy-friendly-video-doorbell-with-flawed-person-detection/+page.md
@@ -0,0 +1,76 @@
+---
+title: The privacy-friendly video doorbell with flawed person detection
+author: thilo
+publishedDate: 2026-01-09
+description:
+ A Reolink video doorbell promised to be privacy-friendly, but failed to reliably detect people.
+tags:
+ - iot
+---
+
+
+
+During the holidays, I installed a
+[Reolink Video Doorbell (Battery)](https://reolink.com/nl/product/reolink-doorbell-battery/) on my
+front door. After some initial excitement, the doorbell turned into a disappointment.
+
+About 2 years ago, I had a
+[Google Nest Doorbell (Battery)](https://store.google.com/product/nest_doorbell_battery?hl=nl) for
+about 6 months. Its image started flickering and when I removed it for a reset, the mounting
+mechanism broke. A common problem with this model. To Google's credit, I received a full refund. But
+I started to wonder whether it's a good idea to install an IoT device in a spot where it is exposed
+to the full range from freezing cold to scorching hot with direct sun exposure and occasional rain
+splashes.
+
+Fast forward to late 2025. I wanted to give a video doorbell another try. But this time, I wanted to
+bypass Big Tech and go for a model that works locally without subscription and without the cloud.
+After digging through endless doorbell reviews, I settled on Reolink. Their battery doorbell ticked
+all the boxes: local storage, no subscription required, optional wired installation, works with my
+mechanical chime, battery-powered (in case of a power outage), and affordable. And a beautiful piece
+of hardware, IP65 rated, that works in a temperature range from -10°C to +55°C. At least that's what
+the specs say.
+
+
+
+
+
+Let me first explain my video doorbell constraints. Dutch neighborhoods are dense, and therefore, my
+doorbell camera (like many other doorbell cameras in the Netherlands) captures a public sidewalk. I
+don't want to capture anything happening in a public area. I want to capture only what happens on my
+property. Google Nest offers intuitive detection zones for this scenario. Just mark a detection zone
+located on my property and Google will alert me if someone steps into that zone. Anything happening
+outside gets ignored. My neighbor can walk his dog on the sidewalk without me ever knowing about it.
+
+The Reolink battery doorbell reverses this logic. It offers non-detection zones. Reolink does not
+disclose the logic of non-detection zones. But from what I can tell, anything touching a
+non-detection zone gets ignored. That's a problem when the public sidewalk is in the center of the
+camera view and it's literally impossible to walk to my front door without touching the
+non-detection zone. In my case, non-detection zones broke meaningful event detection.
+
+As an alternative, you can enable or disable detection based on object size. For instance, someone
+walking on the sidewalk across the street will appear small in the camera view and can be ignored.
+But the mailman approaching my front door will at one point appear large enough to trigger an alert.
+But this approach is unreliable. The local newspaper deliverer consistently managed to put a paper
+in our mailbox without being detected. Another quirk was that whenever someone left the house, event
+detection failed as well. I literally managed to take the above photo of the doorbell without
+triggering an alert. Maybe person detection is based on an object with a face getting larger. If you
+leave the house, the camera only sees your back. But I'm just guessing here.
+
+The last nail in the doorbell's coffin was customer support. You get the usual remove it, reset it
+and re-install it. Which of course does not fix a flawed product. The moment I asked for a return
+label and a refund, the response speed slowed down. After a few weeks of back and forth, Reolink
+finally sent me a return label and I sent the doorbell back for a refund.
+
+I wanted to like this doorbell. There are so few options out there for privacy-conscious consumers.
+Reolink has a whole range of privacy-friendly cameras, including affordable PoE cameras. But a
+doorbell camera with flawed person detection is a deal breaker. For the time being, I reverted back
+to a dumb doorbell in combination with an old Google Nest camera. The camera is attached from the
+inside with a suction cup holder to a window at the entrance. Event detection works flawlessly. But
+I have to shell out a subscription fee to Big Tech for cloud recording.
+
+I hope that with
+[Matter having added support for cameras in v1.5](https://matter-smarthome.de/en/development/matter-1-5-arrives-bringing-long-awaited-cameras/),
+there will be more privacy-friendly camera options with flawless event detection in the near future.
diff --git a/src/routes/posts/(2026)/the-privacy-friendly-video-doorbell-that-failed-in-cold-weather/DoorbellImage.svelte b/src/routes/posts/(2026)/the-privacy-friendly-video-doorbell-with-flawed-person-detection/DoorbellImage.svelte
similarity index 100%
rename from src/routes/posts/(2026)/the-privacy-friendly-video-doorbell-that-failed-in-cold-weather/DoorbellImage.svelte
rename to src/routes/posts/(2026)/the-privacy-friendly-video-doorbell-with-flawed-person-detection/DoorbellImage.svelte
diff --git a/src/routes/posts/(2026)/the-privacy-friendly-video-doorbell-that-failed-in-cold-weather/reolink-doorbell.jpeg b/src/routes/posts/(2026)/the-privacy-friendly-video-doorbell-with-flawed-person-detection/reolink-doorbell.jpeg
similarity index 100%
rename from src/routes/posts/(2026)/the-privacy-friendly-video-doorbell-that-failed-in-cold-weather/reolink-doorbell.jpeg
rename to src/routes/posts/(2026)/the-privacy-friendly-video-doorbell-with-flawed-person-detection/reolink-doorbell.jpeg