#4 Added set of unit tests to ensure functionality of currently implemented behaviour
Some checks failed
Run Unit and Integration Tests / test (push) Failing after 47s
Run Unit and Integration Tests / test (pull_request) Failing after 41s

This commit is contained in:
2025-06-28 18:02:02 +01:00
parent a3ab910608
commit dc7ecc0cdb
5 changed files with 317 additions and 272 deletions

View File

@ -14,26 +14,26 @@
"format": "prettier --write .", "format": "prettier --write .",
"lint": "prettier --check .", "lint": "prettier --check .",
"test:unit": "vitest", "test:unit": "vitest",
"test": "npm run test:unit -- --run" "test": "pnpm run test:unit -- --run"
}, },
"devDependencies": { "devDependencies": {
"@sveltejs/adapter-node": "^5.2.12", "@sveltejs/adapter-node": "^5.2.12",
"@sveltejs/kit": "^2.16.0", "@sveltejs/kit": "^2.22.2",
"@sveltejs/vite-plugin-svelte": "^5.0.0", "@sveltejs/vite-plugin-svelte": "^5.1.0",
"@tailwindcss/forms": "^0.5.9", "@tailwindcss/forms": "^0.5.10",
"@tailwindcss/vite": "^4.0.0", "@tailwindcss/vite": "^4.1.11",
"@testing-library/jest-dom": "^6.6.3", "@testing-library/jest-dom": "^6.6.3",
"@testing-library/svelte": "^5.2.4", "@testing-library/svelte": "^5.2.8",
"jsdom": "^26.0.0", "jsdom": "^26.1.0",
"prettier": "^3.4.2", "prettier": "^3.6.2",
"prettier-plugin-svelte": "^3.3.3", "prettier-plugin-svelte": "^3.4.0",
"prettier-plugin-tailwindcss": "^0.6.11", "prettier-plugin-tailwindcss": "^0.6.13",
"svelte": "^5.0.0", "svelte": "^5.34.9",
"svelte-check": "^4.0.0", "svelte-check": "^4.2.2",
"tailwindcss": "^4.0.0", "tailwindcss": "^4.1.11",
"typescript": "^5.0.0", "typescript": "^5.8.3",
"vite": "^6.2.6", "vite": "^6.3.5",
"vitest": "^3.2.3" "vitest": "^3.2.4"
}, },
"pnpm": { "pnpm": {
"onlyBuiltDependencies": [ "onlyBuiltDependencies": [

507
pnpm-lock.yaml generated
View File

@ -14,54 +14,54 @@ importers:
devDependencies: devDependencies:
'@sveltejs/adapter-node': '@sveltejs/adapter-node':
specifier: ^5.2.12 specifier: ^5.2.12
version: 5.2.12(@sveltejs/kit@2.21.5(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.34.6)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1)))(svelte@5.34.6)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1))) version: 5.2.12(@sveltejs/kit@2.22.2(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.34.9)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1)))(svelte@5.34.9)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1)))
'@sveltejs/kit': '@sveltejs/kit':
specifier: ^2.16.0 specifier: ^2.22.2
version: 2.21.5(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.34.6)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1)))(svelte@5.34.6)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1)) version: 2.22.2(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.34.9)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1)))(svelte@5.34.9)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1))
'@sveltejs/vite-plugin-svelte': '@sveltejs/vite-plugin-svelte':
specifier: ^5.0.0 specifier: ^5.1.0
version: 5.1.0(svelte@5.34.6)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1)) version: 5.1.0(svelte@5.34.9)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1))
'@tailwindcss/forms': '@tailwindcss/forms':
specifier: ^0.5.9 specifier: ^0.5.10
version: 0.5.10(tailwindcss@4.1.10) version: 0.5.10(tailwindcss@4.1.11)
'@tailwindcss/vite': '@tailwindcss/vite':
specifier: ^4.0.0 specifier: ^4.1.11
version: 4.1.10(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1)) version: 4.1.11(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1))
'@testing-library/jest-dom': '@testing-library/jest-dom':
specifier: ^6.6.3 specifier: ^6.6.3
version: 6.6.3 version: 6.6.3
'@testing-library/svelte': '@testing-library/svelte':
specifier: ^5.2.4 specifier: ^5.2.8
version: 5.2.8(svelte@5.34.6)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1))(vitest@3.2.4(jiti@2.4.2)(jsdom@26.1.0)(lightningcss@1.30.1)) version: 5.2.8(svelte@5.34.9)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1))(vitest@3.2.4(jiti@2.4.2)(jsdom@26.1.0)(lightningcss@1.30.1))
jsdom: jsdom:
specifier: ^26.0.0 specifier: ^26.1.0
version: 26.1.0 version: 26.1.0
prettier: prettier:
specifier: ^3.4.2 specifier: ^3.6.2
version: 3.5.3 version: 3.6.2
prettier-plugin-svelte: prettier-plugin-svelte:
specifier: ^3.3.3 specifier: ^3.4.0
version: 3.4.0(prettier@3.5.3)(svelte@5.34.6) version: 3.4.0(prettier@3.6.2)(svelte@5.34.9)
prettier-plugin-tailwindcss: prettier-plugin-tailwindcss:
specifier: ^0.6.11 specifier: ^0.6.13
version: 0.6.12(prettier-plugin-svelte@3.4.0(prettier@3.5.3)(svelte@5.34.6))(prettier@3.5.3) version: 0.6.13(prettier-plugin-svelte@3.4.0(prettier@3.6.2)(svelte@5.34.9))(prettier@3.6.2)
svelte: svelte:
specifier: ^5.0.0 specifier: ^5.34.9
version: 5.34.6 version: 5.34.9
svelte-check: svelte-check:
specifier: ^4.0.0 specifier: ^4.2.2
version: 4.2.1(picomatch@4.0.2)(svelte@5.34.6)(typescript@5.8.3) version: 4.2.2(picomatch@4.0.2)(svelte@5.34.9)(typescript@5.8.3)
tailwindcss: tailwindcss:
specifier: ^4.0.0 specifier: ^4.1.11
version: 4.1.10 version: 4.1.11
typescript: typescript:
specifier: ^5.0.0 specifier: ^5.8.3
version: 5.8.3 version: 5.8.3
vite: vite:
specifier: ^6.2.6 specifier: ^6.3.5
version: 6.3.5(jiti@2.4.2)(lightningcss@1.30.1) version: 6.3.5(jiti@2.4.2)(lightningcss@1.30.1)
vitest: vitest:
specifier: ^3.2.3 specifier: ^3.2.4
version: 3.2.4(jiti@2.4.2)(jsdom@26.1.0)(lightningcss@1.30.1) version: 3.2.4(jiti@2.4.2)(jsdom@26.1.0)(lightningcss@1.30.1)
packages: packages:
@ -327,103 +327,103 @@ packages:
rollup: rollup:
optional: true optional: true
'@rollup/rollup-android-arm-eabi@4.43.0': '@rollup/rollup-android-arm-eabi@4.44.1':
resolution: {integrity: sha512-Krjy9awJl6rKbruhQDgivNbD1WuLb8xAclM4IR4cN5pHGAs2oIMMQJEiC3IC/9TZJ+QZkmZhlMO/6MBGxPidpw==} resolution: {integrity: sha512-JAcBr1+fgqx20m7Fwe1DxPUl/hPkee6jA6Pl7n1v2EFiktAHenTaXl5aIFjUIEsfn9w3HE4gK1lEgNGMzBDs1w==}
cpu: [arm] cpu: [arm]
os: [android] os: [android]
'@rollup/rollup-android-arm64@4.43.0': '@rollup/rollup-android-arm64@4.44.1':
resolution: {integrity: sha512-ss4YJwRt5I63454Rpj+mXCXicakdFmKnUNxr1dLK+5rv5FJgAxnN7s31a5VchRYxCFWdmnDWKd0wbAdTr0J5EA==} resolution: {integrity: sha512-RurZetXqTu4p+G0ChbnkwBuAtwAbIwJkycw1n6GvlGlBuS4u5qlr5opix8cBAYFJgaY05TWtM+LaoFggUmbZEQ==}
cpu: [arm64] cpu: [arm64]
os: [android] os: [android]
'@rollup/rollup-darwin-arm64@4.43.0': '@rollup/rollup-darwin-arm64@4.44.1':
resolution: {integrity: sha512-eKoL8ykZ7zz8MjgBenEF2OoTNFAPFz1/lyJ5UmmFSz5jW+7XbH1+MAgCVHy72aG59rbuQLcJeiMrP8qP5d/N0A==} resolution: {integrity: sha512-fM/xPesi7g2M7chk37LOnmnSTHLG/v2ggWqKj3CCA1rMA4mm5KVBT1fNoswbo1JhPuNNZrVwpTvlCVggv8A2zg==}
cpu: [arm64] cpu: [arm64]
os: [darwin] os: [darwin]
'@rollup/rollup-darwin-x64@4.43.0': '@rollup/rollup-darwin-x64@4.44.1':
resolution: {integrity: sha512-SYwXJgaBYW33Wi/q4ubN+ldWC4DzQY62S4Ll2dgfr/dbPoF50dlQwEaEHSKrQdSjC6oIe1WgzosoaNoHCdNuMg==} resolution: {integrity: sha512-gDnWk57urJrkrHQ2WVx9TSVTH7lSlU7E3AFqiko+bgjlh78aJ88/3nycMax52VIVjIm3ObXnDL2H00e/xzoipw==}
cpu: [x64] cpu: [x64]
os: [darwin] os: [darwin]
'@rollup/rollup-freebsd-arm64@4.43.0': '@rollup/rollup-freebsd-arm64@4.44.1':
resolution: {integrity: sha512-SV+U5sSo0yujrjzBF7/YidieK2iF6E7MdF6EbYxNz94lA+R0wKl3SiixGyG/9Klab6uNBIqsN7j4Y/Fya7wAjQ==} resolution: {integrity: sha512-wnFQmJ/zPThM5zEGcnDcCJeYJgtSLjh1d//WuHzhf6zT3Md1BvvhJnWoy+HECKu2bMxaIcfWiu3bJgx6z4g2XA==}
cpu: [arm64] cpu: [arm64]
os: [freebsd] os: [freebsd]
'@rollup/rollup-freebsd-x64@4.43.0': '@rollup/rollup-freebsd-x64@4.44.1':
resolution: {integrity: sha512-J7uCsiV13L/VOeHJBo5SjasKiGxJ0g+nQTrBkAsmQBIdil3KhPnSE9GnRon4ejX1XDdsmK/l30IYLiAaQEO0Cg==} resolution: {integrity: sha512-uBmIxoJ4493YATvU2c0upGz87f99e3wop7TJgOA/bXMFd2SvKCI7xkxY/5k50bv7J6dw1SXT4MQBQSLn8Bb/Uw==}
cpu: [x64] cpu: [x64]
os: [freebsd] os: [freebsd]
'@rollup/rollup-linux-arm-gnueabihf@4.43.0': '@rollup/rollup-linux-arm-gnueabihf@4.44.1':
resolution: {integrity: sha512-gTJ/JnnjCMc15uwB10TTATBEhK9meBIY+gXP4s0sHD1zHOaIh4Dmy1X9wup18IiY9tTNk5gJc4yx9ctj/fjrIw==} resolution: {integrity: sha512-n0edDmSHlXFhrlmTK7XBuwKlG5MbS7yleS1cQ9nn4kIeW+dJH+ExqNgQ0RrFRew8Y+0V/x6C5IjsHrJmiHtkxQ==}
cpu: [arm] cpu: [arm]
os: [linux] os: [linux]
'@rollup/rollup-linux-arm-musleabihf@4.43.0': '@rollup/rollup-linux-arm-musleabihf@4.44.1':
resolution: {integrity: sha512-ZJ3gZynL1LDSIvRfz0qXtTNs56n5DI2Mq+WACWZ7yGHFUEirHBRt7fyIk0NsCKhmRhn7WAcjgSkSVVxKlPNFFw==} resolution: {integrity: sha512-8WVUPy3FtAsKSpyk21kV52HCxB+me6YkbkFHATzC2Yd3yuqHwy2lbFL4alJOLXKljoRw08Zk8/xEj89cLQ/4Nw==}
cpu: [arm] cpu: [arm]
os: [linux] os: [linux]
'@rollup/rollup-linux-arm64-gnu@4.43.0': '@rollup/rollup-linux-arm64-gnu@4.44.1':
resolution: {integrity: sha512-8FnkipasmOOSSlfucGYEu58U8cxEdhziKjPD2FIa0ONVMxvl/hmONtX/7y4vGjdUhjcTHlKlDhw3H9t98fPvyA==} resolution: {integrity: sha512-yuktAOaeOgorWDeFJggjuCkMGeITfqvPgkIXhDqsfKX8J3jGyxdDZgBV/2kj/2DyPaLiX6bPdjJDTu9RB8lUPQ==}
cpu: [arm64] cpu: [arm64]
os: [linux] os: [linux]
'@rollup/rollup-linux-arm64-musl@4.43.0': '@rollup/rollup-linux-arm64-musl@4.44.1':
resolution: {integrity: sha512-KPPyAdlcIZ6S9C3S2cndXDkV0Bb1OSMsX0Eelr2Bay4EsF9yi9u9uzc9RniK3mcUGCLhWY9oLr6er80P5DE6XA==} resolution: {integrity: sha512-W+GBM4ifET1Plw8pdVaecwUgxmiH23CfAUj32u8knq0JPFyK4weRy6H7ooxYFD19YxBulL0Ktsflg5XS7+7u9g==}
cpu: [arm64] cpu: [arm64]
os: [linux] os: [linux]
'@rollup/rollup-linux-loongarch64-gnu@4.43.0': '@rollup/rollup-linux-loongarch64-gnu@4.44.1':
resolution: {integrity: sha512-HPGDIH0/ZzAZjvtlXj6g+KDQ9ZMHfSP553za7o2Odegb/BEfwJcR0Sw0RLNpQ9nC6Gy8s+3mSS9xjZ0n3rhcYg==} resolution: {integrity: sha512-1zqnUEMWp9WrGVuVak6jWTl4fEtrVKfZY7CvcBmUUpxAJ7WcSowPSAWIKa/0o5mBL/Ij50SIf9tuirGx63Ovew==}
cpu: [loong64] cpu: [loong64]
os: [linux] os: [linux]
'@rollup/rollup-linux-powerpc64le-gnu@4.43.0': '@rollup/rollup-linux-powerpc64le-gnu@4.44.1':
resolution: {integrity: sha512-gEmwbOws4U4GLAJDhhtSPWPXUzDfMRedT3hFMyRAvM9Mrnj+dJIFIeL7otsv2WF3D7GrV0GIewW0y28dOYWkmw==} resolution: {integrity: sha512-Rl3JKaRu0LHIx7ExBAAnf0JcOQetQffaw34T8vLlg9b1IhzcBgaIdnvEbbsZq9uZp3uAH+JkHd20Nwn0h9zPjA==}
cpu: [ppc64] cpu: [ppc64]
os: [linux] os: [linux]
'@rollup/rollup-linux-riscv64-gnu@4.43.0': '@rollup/rollup-linux-riscv64-gnu@4.44.1':
resolution: {integrity: sha512-XXKvo2e+wFtXZF/9xoWohHg+MuRnvO29TI5Hqe9xwN5uN8NKUYy7tXUG3EZAlfchufNCTHNGjEx7uN78KsBo0g==} resolution: {integrity: sha512-j5akelU3snyL6K3N/iX7otLBIl347fGwmd95U5gS/7z6T4ftK288jKq3A5lcFKcx7wwzb5rgNvAg3ZbV4BqUSw==}
cpu: [riscv64] cpu: [riscv64]
os: [linux] os: [linux]
'@rollup/rollup-linux-riscv64-musl@4.43.0': '@rollup/rollup-linux-riscv64-musl@4.44.1':
resolution: {integrity: sha512-ruf3hPWhjw6uDFsOAzmbNIvlXFXlBQ4nk57Sec8E8rUxs/AI4HD6xmiiasOOx/3QxS2f5eQMKTAwk7KHwpzr/Q==} resolution: {integrity: sha512-ppn5llVGgrZw7yxbIm8TTvtj1EoPgYUAbfw0uDjIOzzoqlZlZrLJ/KuiE7uf5EpTpCTrNt1EdtzF0naMm0wGYg==}
cpu: [riscv64] cpu: [riscv64]
os: [linux] os: [linux]
'@rollup/rollup-linux-s390x-gnu@4.43.0': '@rollup/rollup-linux-s390x-gnu@4.44.1':
resolution: {integrity: sha512-QmNIAqDiEMEvFV15rsSnjoSmO0+eJLoKRD9EAa9rrYNwO/XRCtOGM3A5A0X+wmG+XRrw9Fxdsw+LnyYiZWWcVw==} resolution: {integrity: sha512-Hu6hEdix0oxtUma99jSP7xbvjkUM/ycke/AQQ4EC5g7jNRLLIwjcNwaUy95ZKBJJwg1ZowsclNnjYqzN4zwkAw==}
cpu: [s390x] cpu: [s390x]
os: [linux] os: [linux]
'@rollup/rollup-linux-x64-gnu@4.43.0': '@rollup/rollup-linux-x64-gnu@4.44.1':
resolution: {integrity: sha512-jAHr/S0iiBtFyzjhOkAics/2SrXE092qyqEg96e90L3t9Op8OTzS6+IX0Fy5wCt2+KqeHAkti+eitV0wvblEoQ==} resolution: {integrity: sha512-EtnsrmZGomz9WxK1bR5079zee3+7a+AdFlghyd6VbAjgRJDbTANJ9dcPIPAi76uG05micpEL+gPGmAKYTschQw==}
cpu: [x64] cpu: [x64]
os: [linux] os: [linux]
'@rollup/rollup-linux-x64-musl@4.43.0': '@rollup/rollup-linux-x64-musl@4.44.1':
resolution: {integrity: sha512-3yATWgdeXyuHtBhrLt98w+5fKurdqvs8B53LaoKD7P7H7FKOONLsBVMNl9ghPQZQuYcceV5CDyPfyfGpMWD9mQ==} resolution: {integrity: sha512-iAS4p+J1az6Usn0f8xhgL4PaU878KEtutP4hqw52I4IO6AGoyOkHCxcc4bqufv1tQLdDWFx8lR9YlwxKuv3/3g==}
cpu: [x64] cpu: [x64]
os: [linux] os: [linux]
'@rollup/rollup-win32-arm64-msvc@4.43.0': '@rollup/rollup-win32-arm64-msvc@4.44.1':
resolution: {integrity: sha512-wVzXp2qDSCOpcBCT5WRWLmpJRIzv23valvcTwMHEobkjippNf+C3ys/+wf07poPkeNix0paTNemB2XrHr2TnGw==} resolution: {integrity: sha512-NtSJVKcXwcqozOl+FwI41OH3OApDyLk3kqTJgx8+gp6On9ZEt5mYhIsKNPGuaZr3p9T6NWPKGU/03Vw4CNU9qg==}
cpu: [arm64] cpu: [arm64]
os: [win32] os: [win32]
'@rollup/rollup-win32-ia32-msvc@4.43.0': '@rollup/rollup-win32-ia32-msvc@4.44.1':
resolution: {integrity: sha512-fYCTEyzf8d+7diCw8b+asvWDCLMjsCEA8alvtAutqJOJp/wL5hs1rWSqJ1vkjgW0L2NB4bsYJrpKkiIPRR9dvw==} resolution: {integrity: sha512-JYA3qvCOLXSsnTR3oiyGws1Dm0YTuxAAeaYGVlGpUsHqloPcFjPg+X0Fj2qODGLNwQOAcCiQmHub/V007kiH5A==}
cpu: [ia32] cpu: [ia32]
os: [win32] os: [win32]
'@rollup/rollup-win32-x64-msvc@4.43.0': '@rollup/rollup-win32-x64-msvc@4.44.1':
resolution: {integrity: sha512-SnGhLiE5rlK0ofq8kzuDkM0g7FN1s5VYY+YSMTibP7CqShxCQvqtNxTARS4xX4PFJfHjG0ZQYX9iGzI3FQh5Aw==} resolution: {integrity: sha512-J8o22LuF0kTe7m+8PvW9wk3/bRq5+mRo5Dqo6+vXb7otCm3TPhYOJqOaQtGU9YMWQSL3krMnoOxMr0+9E6F3Ug==}
cpu: [x64] cpu: [x64]
os: [win32] os: [win32]
@ -437,14 +437,14 @@ packages:
peerDependencies: peerDependencies:
'@sveltejs/kit': ^2.4.0 '@sveltejs/kit': ^2.4.0
'@sveltejs/kit@2.21.5': '@sveltejs/kit@2.22.2':
resolution: {integrity: sha512-P5m7yZtvD1Kx/Z6JcjgJtdMqef/tCGMDrd9B9S2q8j+FMnkeKTMxW1nidnjVzk4HEDRGf4IlBI94/niy6t3hLA==} resolution: {integrity: sha512-2MvEpSYabUrsJAoq5qCOBGAlkICjfjunrnLcx3YAk2XV7TvAIhomlKsAgR4H/4uns5rAfYmj7Wet5KRtc8dPIg==}
engines: {node: '>=18.13'} engines: {node: '>=18.13'}
hasBin: true hasBin: true
peerDependencies: peerDependencies:
'@sveltejs/vite-plugin-svelte': ^3.0.0 || ^4.0.0-next.1 || ^5.0.0 '@sveltejs/vite-plugin-svelte': ^3.0.0 || ^4.0.0-next.1 || ^5.0.0 || ^6.0.0-next.0
svelte: ^4.0.0 || ^5.0.0-next.0 svelte: ^4.0.0 || ^5.0.0-next.0
vite: ^5.0.3 || ^6.0.0 vite: ^5.0.3 || ^6.0.0 || ^7.0.0-beta.0
'@sveltejs/vite-plugin-svelte-inspector@4.0.1': '@sveltejs/vite-plugin-svelte-inspector@4.0.1':
resolution: {integrity: sha512-J/Nmb2Q2y7mck2hyCX4ckVHcR5tu2J+MtBEQqpDrrgELZ2uvraQcK/ioCV61AqkdXFgriksOKIceDcQmqnGhVw==} resolution: {integrity: sha512-J/Nmb2Q2y7mck2hyCX4ckVHcR5tu2J+MtBEQqpDrrgELZ2uvraQcK/ioCV61AqkdXFgriksOKIceDcQmqnGhVw==}
@ -466,65 +466,65 @@ packages:
peerDependencies: peerDependencies:
tailwindcss: '>=3.0.0 || >= 3.0.0-alpha.1 || >= 4.0.0-alpha.20 || >= 4.0.0-beta.1' tailwindcss: '>=3.0.0 || >= 3.0.0-alpha.1 || >= 4.0.0-alpha.20 || >= 4.0.0-beta.1'
'@tailwindcss/node@4.1.10': '@tailwindcss/node@4.1.11':
resolution: {integrity: sha512-2ACf1znY5fpRBwRhMgj9ZXvb2XZW8qs+oTfotJ2C5xR0/WNL7UHZ7zXl6s+rUqedL1mNi+0O+WQr5awGowS3PQ==} resolution: {integrity: sha512-yzhzuGRmv5QyU9qLNg4GTlYI6STedBWRE7NjxP45CsFYYq9taI0zJXZBMqIC/c8fViNLhmrbpSFS57EoxUmD6Q==}
'@tailwindcss/oxide-android-arm64@4.1.10': '@tailwindcss/oxide-android-arm64@4.1.11':
resolution: {integrity: sha512-VGLazCoRQ7rtsCzThaI1UyDu/XRYVyH4/EWiaSX6tFglE+xZB5cvtC5Omt0OQ+FfiIVP98su16jDVHDEIuH4iQ==} resolution: {integrity: sha512-3IfFuATVRUMZZprEIx9OGDjG3Ou3jG4xQzNTvjDoKmU9JdmoCohQJ83MYd0GPnQIu89YoJqvMM0G3uqLRFtetg==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
cpu: [arm64] cpu: [arm64]
os: [android] os: [android]
'@tailwindcss/oxide-darwin-arm64@4.1.10': '@tailwindcss/oxide-darwin-arm64@4.1.11':
resolution: {integrity: sha512-ZIFqvR1irX2yNjWJzKCqTCcHZbgkSkSkZKbRM3BPzhDL/18idA8uWCoopYA2CSDdSGFlDAxYdU2yBHwAwx8euQ==} resolution: {integrity: sha512-ESgStEOEsyg8J5YcMb1xl8WFOXfeBmrhAwGsFxxB2CxY9evy63+AtpbDLAyRkJnxLy2WsD1qF13E97uQyP1lfQ==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
cpu: [arm64] cpu: [arm64]
os: [darwin] os: [darwin]
'@tailwindcss/oxide-darwin-x64@4.1.10': '@tailwindcss/oxide-darwin-x64@4.1.11':
resolution: {integrity: sha512-eCA4zbIhWUFDXoamNztmS0MjXHSEJYlvATzWnRiTqJkcUteSjO94PoRHJy1Xbwp9bptjeIxxBHh+zBWFhttbrQ==} resolution: {integrity: sha512-EgnK8kRchgmgzG6jE10UQNaH9Mwi2n+yw1jWmof9Vyg2lpKNX2ioe7CJdf9M5f8V9uaQxInenZkOxnTVL3fhAw==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
cpu: [x64] cpu: [x64]
os: [darwin] os: [darwin]
'@tailwindcss/oxide-freebsd-x64@4.1.10': '@tailwindcss/oxide-freebsd-x64@4.1.11':
resolution: {integrity: sha512-8/392Xu12R0cc93DpiJvNpJ4wYVSiciUlkiOHOSOQNH3adq9Gi/dtySK7dVQjXIOzlpSHjeCL89RUUI8/GTI6g==} resolution: {integrity: sha512-xdqKtbpHs7pQhIKmqVpxStnY1skuNh4CtbcyOHeX1YBE0hArj2romsFGb6yUmzkq/6M24nkxDqU8GYrKrz+UcA==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
cpu: [x64] cpu: [x64]
os: [freebsd] os: [freebsd]
'@tailwindcss/oxide-linux-arm-gnueabihf@4.1.10': '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.11':
resolution: {integrity: sha512-t9rhmLT6EqeuPT+MXhWhlRYIMSfh5LZ6kBrC4FS6/+M1yXwfCtp24UumgCWOAJVyjQwG+lYva6wWZxrfvB+NhQ==} resolution: {integrity: sha512-ryHQK2eyDYYMwB5wZL46uoxz2zzDZsFBwfjssgB7pzytAeCCa6glsiJGjhTEddq/4OsIjsLNMAiMlHNYnkEEeg==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
cpu: [arm] cpu: [arm]
os: [linux] os: [linux]
'@tailwindcss/oxide-linux-arm64-gnu@4.1.10': '@tailwindcss/oxide-linux-arm64-gnu@4.1.11':
resolution: {integrity: sha512-3oWrlNlxLRxXejQ8zImzrVLuZ/9Z2SeKoLhtCu0hpo38hTO2iL86eFOu4sVR8cZc6n3z7eRXXqtHJECa6mFOvA==} resolution: {integrity: sha512-mYwqheq4BXF83j/w75ewkPJmPZIqqP1nhoghS9D57CLjsh3Nfq0m4ftTotRYtGnZd3eCztgbSPJ9QhfC91gDZQ==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
cpu: [arm64] cpu: [arm64]
os: [linux] os: [linux]
'@tailwindcss/oxide-linux-arm64-musl@4.1.10': '@tailwindcss/oxide-linux-arm64-musl@4.1.11':
resolution: {integrity: sha512-saScU0cmWvg/Ez4gUmQWr9pvY9Kssxt+Xenfx1LG7LmqjcrvBnw4r9VjkFcqmbBb7GCBwYNcZi9X3/oMda9sqQ==} resolution: {integrity: sha512-m/NVRFNGlEHJrNVk3O6I9ggVuNjXHIPoD6bqay/pubtYC9QIdAMpS+cswZQPBLvVvEF6GtSNONbDkZrjWZXYNQ==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
cpu: [arm64] cpu: [arm64]
os: [linux] os: [linux]
'@tailwindcss/oxide-linux-x64-gnu@4.1.10': '@tailwindcss/oxide-linux-x64-gnu@4.1.11':
resolution: {integrity: sha512-/G3ao/ybV9YEEgAXeEg28dyH6gs1QG8tvdN9c2MNZdUXYBaIY/Gx0N6RlJzfLy/7Nkdok4kaxKPHKJUlAaoTdA==} resolution: {integrity: sha512-YW6sblI7xukSD2TdbbaeQVDysIm/UPJtObHJHKxDEcW2exAtY47j52f8jZXkqE1krdnkhCMGqP3dbniu1Te2Fg==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
cpu: [x64] cpu: [x64]
os: [linux] os: [linux]
'@tailwindcss/oxide-linux-x64-musl@4.1.10': '@tailwindcss/oxide-linux-x64-musl@4.1.11':
resolution: {integrity: sha512-LNr7X8fTiKGRtQGOerSayc2pWJp/9ptRYAa4G+U+cjw9kJZvkopav1AQc5HHD+U364f71tZv6XamaHKgrIoVzA==} resolution: {integrity: sha512-e3C/RRhGunWYNC3aSF7exsQkdXzQ/M+aYuZHKnw4U7KQwTJotnWsGOIVih0s2qQzmEzOFIJ3+xt7iq67K/p56Q==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
cpu: [x64] cpu: [x64]
os: [linux] os: [linux]
'@tailwindcss/oxide-wasm32-wasi@4.1.10': '@tailwindcss/oxide-wasm32-wasi@4.1.11':
resolution: {integrity: sha512-d6ekQpopFQJAcIK2i7ZzWOYGZ+A6NzzvQ3ozBvWFdeyqfOZdYHU66g5yr+/HC4ipP1ZgWsqa80+ISNILk+ae/Q==} resolution: {integrity: sha512-Xo1+/GU0JEN/C/dvcammKHzeM6NqKovG+6921MR6oadee5XPBaKOumrJCXvopJ/Qb5TH7LX/UAywbqrP4lax0g==}
engines: {node: '>=14.0.0'} engines: {node: '>=14.0.0'}
cpu: [wasm32] cpu: [wasm32]
bundledDependencies: bundledDependencies:
@ -535,26 +535,26 @@ packages:
- '@emnapi/wasi-threads' - '@emnapi/wasi-threads'
- tslib - tslib
'@tailwindcss/oxide-win32-arm64-msvc@4.1.10': '@tailwindcss/oxide-win32-arm64-msvc@4.1.11':
resolution: {integrity: sha512-i1Iwg9gRbwNVOCYmnigWCCgow8nDWSFmeTUU5nbNx3rqbe4p0kRbEqLwLJbYZKmSSp23g4N6rCDmm7OuPBXhDA==} resolution: {integrity: sha512-UgKYx5PwEKrac3GPNPf6HVMNhUIGuUh4wlDFR2jYYdkX6pL/rn73zTq/4pzUm8fOjAn5L8zDeHp9iXmUGOXZ+w==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
cpu: [arm64] cpu: [arm64]
os: [win32] os: [win32]
'@tailwindcss/oxide-win32-x64-msvc@4.1.10': '@tailwindcss/oxide-win32-x64-msvc@4.1.11':
resolution: {integrity: sha512-sGiJTjcBSfGq2DVRtaSljq5ZgZS2SDHSIfhOylkBvHVjwOsodBhnb3HdmiKkVuUGKD0I7G63abMOVaskj1KpOA==} resolution: {integrity: sha512-YfHoggn1j0LK7wR82TOucWc5LDCguHnoS879idHekmmiR7g9HUtMw9MI0NHatS28u/Xlkfi9w5RJWgz2Dl+5Qg==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
cpu: [x64] cpu: [x64]
os: [win32] os: [win32]
'@tailwindcss/oxide@4.1.10': '@tailwindcss/oxide@4.1.11':
resolution: {integrity: sha512-v0C43s7Pjw+B9w21htrQwuFObSkio2aV/qPx/mhrRldbqxbWJK6KizM+q7BF1/1CmuLqZqX3CeYF7s7P9fbA8Q==} resolution: {integrity: sha512-Q69XzrtAhuyfHo+5/HMgr1lAiPP/G40OMFAnws7xcFEYqcypZmdW8eGXaOUIeOl1dzPJBPENXgbjsOyhg2nkrg==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
'@tailwindcss/vite@4.1.10': '@tailwindcss/vite@4.1.11':
resolution: {integrity: sha512-QWnD5HDY2IADv+vYR82lOhqOlS1jSCUUAmfem52cXAhRTKxpDh3ARX8TTXJTCCO7Rv7cD2Nlekabv02bwP3a2A==} resolution: {integrity: sha512-RHYhrR3hku0MJFRV+fN2gNbDNEh3dwKvY8XJvTxCSXeMOsCRSr+uKvDWQcbizrHgjML6ZmTE5OwMrl5wKcujCw==}
peerDependencies: peerDependencies:
vite: ^5.2.0 || ^6 vite: ^5.2.0 || ^6 || ^7
'@testing-library/dom@10.4.0': '@testing-library/dom@10.4.0':
resolution: {integrity: sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==} resolution: {integrity: sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==}
@ -589,9 +589,6 @@ packages:
'@types/deep-eql@4.0.2': '@types/deep-eql@4.0.2':
resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==} resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==}
'@types/estree@1.0.7':
resolution: {integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==}
'@types/estree@1.0.8': '@types/estree@1.0.8':
resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==}
@ -712,8 +709,8 @@ packages:
css.escape@1.5.1: css.escape@1.5.1:
resolution: {integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==} resolution: {integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==}
cssstyle@4.4.0: cssstyle@4.6.0:
resolution: {integrity: sha512-W0Y2HOXlPkb2yaKrCVRjinYKciu/qSLEmK0K9mcfDei3zwlnHFEHAs/Du3cIRwPqY+J4JsiBzUjoHyc8RsJ03A==} resolution: {integrity: sha512-2z+rWdzbbSZv6/rhtvzvqeZQHrBaqgogqt85sqFNbabZOuFbCVFb8kPeEtZjiKkbrm395irpNKiYeFeLiQnFPg==}
engines: {node: '>=18'} engines: {node: '>=18'}
data-urls@5.0.0: data-urls@5.0.0:
@ -757,8 +754,8 @@ packages:
dom-accessibility-api@0.6.3: dom-accessibility-api@0.6.3:
resolution: {integrity: sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==} resolution: {integrity: sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==}
enhanced-resolve@5.18.1: enhanced-resolve@5.18.2:
resolution: {integrity: sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==} resolution: {integrity: sha512-6Jw4sE1maoRJo3q8MsSIn2onJFbLTOjY9hlx4DZXmOKvLRd1Ok2kXmAGXaafL2+ijsJZ1ClYbl/pmqr9+k4iUQ==}
engines: {node: '>=10.13.0'} engines: {node: '>=10.13.0'}
entities@6.0.1: entities@6.0.1:
@ -1007,8 +1004,8 @@ packages:
pathe@2.0.3: pathe@2.0.3:
resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==}
pathval@2.0.0: pathval@2.0.1:
resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} resolution: {integrity: sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==}
engines: {node: '>= 14.16'} engines: {node: '>= 14.16'}
picocolors@1.1.1: picocolors@1.1.1:
@ -1028,8 +1025,8 @@ packages:
prettier: ^3.0.0 prettier: ^3.0.0
svelte: ^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0 svelte: ^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0
prettier-plugin-tailwindcss@0.6.12: prettier-plugin-tailwindcss@0.6.13:
resolution: {integrity: sha512-OuTQKoqNwV7RnxTPwXWzOFXy6Jc4z8oeRZYGuMpRyG3WbuR3jjXdQFK8qFBMBx8UHWdHrddARz2fgUenild6aw==} resolution: {integrity: sha512-uQ0asli1+ic8xrrSmIOaElDu0FacR4x69GynTh2oZjFY10JUt6EEumTQl5tB4fMeD6I1naKd+4rXQQ7esT2i1g==}
engines: {node: '>=14.21.3'} engines: {node: '>=14.21.3'}
peerDependencies: peerDependencies:
'@ianvs/prettier-plugin-sort-imports': '*' '@ianvs/prettier-plugin-sort-imports': '*'
@ -1083,8 +1080,8 @@ packages:
prettier-plugin-svelte: prettier-plugin-svelte:
optional: true optional: true
prettier@3.5.3: prettier@3.6.2:
resolution: {integrity: sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==} resolution: {integrity: sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==}
engines: {node: '>=14'} engines: {node: '>=14'}
hasBin: true hasBin: true
@ -1112,8 +1109,8 @@ packages:
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
hasBin: true hasBin: true
rollup@4.43.0: rollup@4.44.1:
resolution: {integrity: sha512-wdN2Kd3Twh8MAEOEJZsuxuLKCsBEo4PVNLK6tQWAn10VhsVewQLzcucMgLolRlhFybGxfclbPeEYBaP6RvUFGg==} resolution: {integrity: sha512-x8H8aPvD+xbl0Do8oez5f5o8eMS3trfCghc4HhLAnCkj7Vl0d1JWGs0UF/D886zLW2rOj2QymV/JcSSsw+XDNg==}
engines: {node: '>=18.0.0', npm: '>=8.0.0'} engines: {node: '>=18.0.0', npm: '>=8.0.0'}
hasBin: true hasBin: true
@ -1166,8 +1163,8 @@ packages:
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
svelte-check@4.2.1: svelte-check@4.2.2:
resolution: {integrity: sha512-e49SU1RStvQhoipkQ/aonDhHnG3qxHSBtNfBRb9pxVXoa+N7qybAo32KgA9wEb2PCYFNaDg7bZCdhLD1vHpdYA==} resolution: {integrity: sha512-1+31EOYZ7NKN0YDMKusav2hhEoA51GD9Ws6o//0SphMT0ve9mBTsTUEX7OmDMadUP3KjNHsSKtJrqdSaD8CrGQ==}
engines: {node: '>= 18.0.0'} engines: {node: '>= 18.0.0'}
hasBin: true hasBin: true
peerDependencies: peerDependencies:
@ -1177,15 +1174,15 @@ packages:
svelte-toasts@1.1.2: svelte-toasts@1.1.2:
resolution: {integrity: sha512-m+yL4eEKXyJoyjTYaH1j1GFwF0Pi8YDqnVfwWPDmwi4712iZesv+TNCmToSNlav3R5Vkmc8ZBRkT8DOcu3sywQ==} resolution: {integrity: sha512-m+yL4eEKXyJoyjTYaH1j1GFwF0Pi8YDqnVfwWPDmwi4712iZesv+TNCmToSNlav3R5Vkmc8ZBRkT8DOcu3sywQ==}
svelte@5.34.6: svelte@5.34.9:
resolution: {integrity: sha512-dNhOyaHEHXItGojz2e6aCeoU0FUD+teDcbqJkPI/iMBMKwP9MyHtXYRKIzN4ehlBnLB6Do0pUY0RUSZQ/Zpcog==} resolution: {integrity: sha512-sld35zFpooaSRSj4qw8Vl/cyyK0/sLQq9qhJ7BGZo/Kd0ggYtEnvNYLlzhhoqYsYQzA0hJqkzt3RBO/8KoTZOg==}
engines: {node: '>=18'} engines: {node: '>=18'}
symbol-tree@3.2.4: symbol-tree@3.2.4:
resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==}
tailwindcss@4.1.10: tailwindcss@4.1.11:
resolution: {integrity: sha512-P3nr6WkvKV/ONsTzj6Gb57sWPMX29EPNPopo7+FcpkQaNsrNpZ1pv8QmrYI2RqEKD7mlGqLnGovlcYnBK0IqUA==} resolution: {integrity: sha512-2E9TBm6MDD/xKYe+dvJZAmg3yxIEDNRc0jwlNyDg/4Fil2QcSLjFKGVff0lAf1jjeaArlG/M75Ey/EYr/OJtBA==}
tapable@2.2.2: tapable@2.2.2:
resolution: {integrity: sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==} resolution: {integrity: sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==}
@ -1286,10 +1283,10 @@ packages:
yaml: yaml:
optional: true optional: true
vitefu@1.0.6: vitefu@1.0.7:
resolution: {integrity: sha512-+Rex1GlappUyNN6UfwbVZne/9cYC4+R2XDk9xkNXBKMw6HQagdX9PgZ8V2v1WUSK1wfBLp7qbI1+XSNIlB1xmA==} resolution: {integrity: sha512-eRWXLBbJjW3X5z5P5IHcSm2yYbYRPb2kQuc+oqsbAl99WB5kVsPbiiox+cymo8twTzifA6itvhr2CmjnaZZp0Q==}
peerDependencies: peerDependencies:
vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0-beta.0
peerDependenciesMeta: peerDependenciesMeta:
vite: vite:
optional: true optional: true
@ -1347,8 +1344,8 @@ packages:
engines: {node: '>=8'} engines: {node: '>=8'}
hasBin: true hasBin: true
ws@8.18.2: ws@8.18.3:
resolution: {integrity: sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==} resolution: {integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==}
engines: {node: '>=10.0.0'} engines: {node: '>=10.0.0'}
peerDependencies: peerDependencies:
bufferutil: ^4.0.1 bufferutil: ^4.0.1
@ -1518,9 +1515,9 @@ snapshots:
'@polka/url@1.0.0-next.29': {} '@polka/url@1.0.0-next.29': {}
'@rollup/plugin-commonjs@28.0.6(rollup@4.43.0)': '@rollup/plugin-commonjs@28.0.6(rollup@4.44.1)':
dependencies: dependencies:
'@rollup/pluginutils': 5.2.0(rollup@4.43.0) '@rollup/pluginutils': 5.2.0(rollup@4.44.1)
commondir: 1.0.1 commondir: 1.0.1
estree-walker: 2.0.2 estree-walker: 2.0.2
fdir: 6.4.6(picomatch@4.0.2) fdir: 6.4.6(picomatch@4.0.2)
@ -1528,108 +1525,108 @@ snapshots:
magic-string: 0.30.17 magic-string: 0.30.17
picomatch: 4.0.2 picomatch: 4.0.2
optionalDependencies: optionalDependencies:
rollup: 4.43.0 rollup: 4.44.1
'@rollup/plugin-json@6.1.0(rollup@4.43.0)': '@rollup/plugin-json@6.1.0(rollup@4.44.1)':
dependencies: dependencies:
'@rollup/pluginutils': 5.2.0(rollup@4.43.0) '@rollup/pluginutils': 5.2.0(rollup@4.44.1)
optionalDependencies: optionalDependencies:
rollup: 4.43.0 rollup: 4.44.1
'@rollup/plugin-node-resolve@16.0.1(rollup@4.43.0)': '@rollup/plugin-node-resolve@16.0.1(rollup@4.44.1)':
dependencies: dependencies:
'@rollup/pluginutils': 5.2.0(rollup@4.43.0) '@rollup/pluginutils': 5.2.0(rollup@4.44.1)
'@types/resolve': 1.20.2 '@types/resolve': 1.20.2
deepmerge: 4.3.1 deepmerge: 4.3.1
is-module: 1.0.0 is-module: 1.0.0
resolve: 1.22.10 resolve: 1.22.10
optionalDependencies: optionalDependencies:
rollup: 4.43.0 rollup: 4.44.1
'@rollup/pluginutils@5.2.0(rollup@4.43.0)': '@rollup/pluginutils@5.2.0(rollup@4.44.1)':
dependencies: dependencies:
'@types/estree': 1.0.8 '@types/estree': 1.0.8
estree-walker: 2.0.2 estree-walker: 2.0.2
picomatch: 4.0.2 picomatch: 4.0.2
optionalDependencies: optionalDependencies:
rollup: 4.43.0 rollup: 4.44.1
'@rollup/rollup-android-arm-eabi@4.43.0': '@rollup/rollup-android-arm-eabi@4.44.1':
optional: true optional: true
'@rollup/rollup-android-arm64@4.43.0': '@rollup/rollup-android-arm64@4.44.1':
optional: true optional: true
'@rollup/rollup-darwin-arm64@4.43.0': '@rollup/rollup-darwin-arm64@4.44.1':
optional: true optional: true
'@rollup/rollup-darwin-x64@4.43.0': '@rollup/rollup-darwin-x64@4.44.1':
optional: true optional: true
'@rollup/rollup-freebsd-arm64@4.43.0': '@rollup/rollup-freebsd-arm64@4.44.1':
optional: true optional: true
'@rollup/rollup-freebsd-x64@4.43.0': '@rollup/rollup-freebsd-x64@4.44.1':
optional: true optional: true
'@rollup/rollup-linux-arm-gnueabihf@4.43.0': '@rollup/rollup-linux-arm-gnueabihf@4.44.1':
optional: true optional: true
'@rollup/rollup-linux-arm-musleabihf@4.43.0': '@rollup/rollup-linux-arm-musleabihf@4.44.1':
optional: true optional: true
'@rollup/rollup-linux-arm64-gnu@4.43.0': '@rollup/rollup-linux-arm64-gnu@4.44.1':
optional: true optional: true
'@rollup/rollup-linux-arm64-musl@4.43.0': '@rollup/rollup-linux-arm64-musl@4.44.1':
optional: true optional: true
'@rollup/rollup-linux-loongarch64-gnu@4.43.0': '@rollup/rollup-linux-loongarch64-gnu@4.44.1':
optional: true optional: true
'@rollup/rollup-linux-powerpc64le-gnu@4.43.0': '@rollup/rollup-linux-powerpc64le-gnu@4.44.1':
optional: true optional: true
'@rollup/rollup-linux-riscv64-gnu@4.43.0': '@rollup/rollup-linux-riscv64-gnu@4.44.1':
optional: true optional: true
'@rollup/rollup-linux-riscv64-musl@4.43.0': '@rollup/rollup-linux-riscv64-musl@4.44.1':
optional: true optional: true
'@rollup/rollup-linux-s390x-gnu@4.43.0': '@rollup/rollup-linux-s390x-gnu@4.44.1':
optional: true optional: true
'@rollup/rollup-linux-x64-gnu@4.43.0': '@rollup/rollup-linux-x64-gnu@4.44.1':
optional: true optional: true
'@rollup/rollup-linux-x64-musl@4.43.0': '@rollup/rollup-linux-x64-musl@4.44.1':
optional: true optional: true
'@rollup/rollup-win32-arm64-msvc@4.43.0': '@rollup/rollup-win32-arm64-msvc@4.44.1':
optional: true optional: true
'@rollup/rollup-win32-ia32-msvc@4.43.0': '@rollup/rollup-win32-ia32-msvc@4.44.1':
optional: true optional: true
'@rollup/rollup-win32-x64-msvc@4.43.0': '@rollup/rollup-win32-x64-msvc@4.44.1':
optional: true optional: true
'@sveltejs/acorn-typescript@1.0.5(acorn@8.15.0)': '@sveltejs/acorn-typescript@1.0.5(acorn@8.15.0)':
dependencies: dependencies:
acorn: 8.15.0 acorn: 8.15.0
'@sveltejs/adapter-node@5.2.12(@sveltejs/kit@2.21.5(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.34.6)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1)))(svelte@5.34.6)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1)))': '@sveltejs/adapter-node@5.2.12(@sveltejs/kit@2.22.2(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.34.9)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1)))(svelte@5.34.9)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1)))':
dependencies: dependencies:
'@rollup/plugin-commonjs': 28.0.6(rollup@4.43.0) '@rollup/plugin-commonjs': 28.0.6(rollup@4.44.1)
'@rollup/plugin-json': 6.1.0(rollup@4.43.0) '@rollup/plugin-json': 6.1.0(rollup@4.44.1)
'@rollup/plugin-node-resolve': 16.0.1(rollup@4.43.0) '@rollup/plugin-node-resolve': 16.0.1(rollup@4.44.1)
'@sveltejs/kit': 2.21.5(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.34.6)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1)))(svelte@5.34.6)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1)) '@sveltejs/kit': 2.22.2(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.34.9)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1)))(svelte@5.34.9)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1))
rollup: 4.43.0 rollup: 4.44.1
'@sveltejs/kit@2.21.5(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.34.6)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1)))(svelte@5.34.6)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1))': '@sveltejs/kit@2.22.2(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.34.9)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1)))(svelte@5.34.9)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1))':
dependencies: dependencies:
'@sveltejs/acorn-typescript': 1.0.5(acorn@8.15.0) '@sveltejs/acorn-typescript': 1.0.5(acorn@8.15.0)
'@sveltejs/vite-plugin-svelte': 5.1.0(svelte@5.34.6)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1)) '@sveltejs/vite-plugin-svelte': 5.1.0(svelte@5.34.9)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1))
'@types/cookie': 0.6.0 '@types/cookie': 0.6.0
acorn: 8.15.0 acorn: 8.15.0
cookie: 0.6.0 cookie: 0.6.0
@ -1641,106 +1638,106 @@ snapshots:
sade: 1.8.1 sade: 1.8.1
set-cookie-parser: 2.7.1 set-cookie-parser: 2.7.1
sirv: 3.0.1 sirv: 3.0.1
svelte: 5.34.6 svelte: 5.34.9
vite: 6.3.5(jiti@2.4.2)(lightningcss@1.30.1) vite: 6.3.5(jiti@2.4.2)(lightningcss@1.30.1)
vitefu: 1.0.6(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1)) vitefu: 1.0.7(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1))
'@sveltejs/vite-plugin-svelte-inspector@4.0.1(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.34.6)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1)))(svelte@5.34.6)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1))': '@sveltejs/vite-plugin-svelte-inspector@4.0.1(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.34.9)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1)))(svelte@5.34.9)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1))':
dependencies: dependencies:
'@sveltejs/vite-plugin-svelte': 5.1.0(svelte@5.34.6)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1)) '@sveltejs/vite-plugin-svelte': 5.1.0(svelte@5.34.9)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1))
debug: 4.4.1 debug: 4.4.1
svelte: 5.34.6 svelte: 5.34.9
vite: 6.3.5(jiti@2.4.2)(lightningcss@1.30.1) vite: 6.3.5(jiti@2.4.2)(lightningcss@1.30.1)
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.34.6)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1))': '@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.34.9)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1))':
dependencies: dependencies:
'@sveltejs/vite-plugin-svelte-inspector': 4.0.1(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.34.6)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1)))(svelte@5.34.6)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1)) '@sveltejs/vite-plugin-svelte-inspector': 4.0.1(@sveltejs/vite-plugin-svelte@5.1.0(svelte@5.34.9)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1)))(svelte@5.34.9)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1))
debug: 4.4.1 debug: 4.4.1
deepmerge: 4.3.1 deepmerge: 4.3.1
kleur: 4.1.5 kleur: 4.1.5
magic-string: 0.30.17 magic-string: 0.30.17
svelte: 5.34.6 svelte: 5.34.9
vite: 6.3.5(jiti@2.4.2)(lightningcss@1.30.1) vite: 6.3.5(jiti@2.4.2)(lightningcss@1.30.1)
vitefu: 1.0.6(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1)) vitefu: 1.0.7(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1))
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@tailwindcss/forms@0.5.10(tailwindcss@4.1.10)': '@tailwindcss/forms@0.5.10(tailwindcss@4.1.11)':
dependencies: dependencies:
mini-svg-data-uri: 1.4.4 mini-svg-data-uri: 1.4.4
tailwindcss: 4.1.10 tailwindcss: 4.1.11
'@tailwindcss/node@4.1.10': '@tailwindcss/node@4.1.11':
dependencies: dependencies:
'@ampproject/remapping': 2.3.0 '@ampproject/remapping': 2.3.0
enhanced-resolve: 5.18.1 enhanced-resolve: 5.18.2
jiti: 2.4.2 jiti: 2.4.2
lightningcss: 1.30.1 lightningcss: 1.30.1
magic-string: 0.30.17 magic-string: 0.30.17
source-map-js: 1.2.1 source-map-js: 1.2.1
tailwindcss: 4.1.10 tailwindcss: 4.1.11
'@tailwindcss/oxide-android-arm64@4.1.10': '@tailwindcss/oxide-android-arm64@4.1.11':
optional: true optional: true
'@tailwindcss/oxide-darwin-arm64@4.1.10': '@tailwindcss/oxide-darwin-arm64@4.1.11':
optional: true optional: true
'@tailwindcss/oxide-darwin-x64@4.1.10': '@tailwindcss/oxide-darwin-x64@4.1.11':
optional: true optional: true
'@tailwindcss/oxide-freebsd-x64@4.1.10': '@tailwindcss/oxide-freebsd-x64@4.1.11':
optional: true optional: true
'@tailwindcss/oxide-linux-arm-gnueabihf@4.1.10': '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.11':
optional: true optional: true
'@tailwindcss/oxide-linux-arm64-gnu@4.1.10': '@tailwindcss/oxide-linux-arm64-gnu@4.1.11':
optional: true optional: true
'@tailwindcss/oxide-linux-arm64-musl@4.1.10': '@tailwindcss/oxide-linux-arm64-musl@4.1.11':
optional: true optional: true
'@tailwindcss/oxide-linux-x64-gnu@4.1.10': '@tailwindcss/oxide-linux-x64-gnu@4.1.11':
optional: true optional: true
'@tailwindcss/oxide-linux-x64-musl@4.1.10': '@tailwindcss/oxide-linux-x64-musl@4.1.11':
optional: true optional: true
'@tailwindcss/oxide-wasm32-wasi@4.1.10': '@tailwindcss/oxide-wasm32-wasi@4.1.11':
optional: true optional: true
'@tailwindcss/oxide-win32-arm64-msvc@4.1.10': '@tailwindcss/oxide-win32-arm64-msvc@4.1.11':
optional: true optional: true
'@tailwindcss/oxide-win32-x64-msvc@4.1.10': '@tailwindcss/oxide-win32-x64-msvc@4.1.11':
optional: true optional: true
'@tailwindcss/oxide@4.1.10': '@tailwindcss/oxide@4.1.11':
dependencies: dependencies:
detect-libc: 2.0.4 detect-libc: 2.0.4
tar: 7.4.3 tar: 7.4.3
optionalDependencies: optionalDependencies:
'@tailwindcss/oxide-android-arm64': 4.1.10 '@tailwindcss/oxide-android-arm64': 4.1.11
'@tailwindcss/oxide-darwin-arm64': 4.1.10 '@tailwindcss/oxide-darwin-arm64': 4.1.11
'@tailwindcss/oxide-darwin-x64': 4.1.10 '@tailwindcss/oxide-darwin-x64': 4.1.11
'@tailwindcss/oxide-freebsd-x64': 4.1.10 '@tailwindcss/oxide-freebsd-x64': 4.1.11
'@tailwindcss/oxide-linux-arm-gnueabihf': 4.1.10 '@tailwindcss/oxide-linux-arm-gnueabihf': 4.1.11
'@tailwindcss/oxide-linux-arm64-gnu': 4.1.10 '@tailwindcss/oxide-linux-arm64-gnu': 4.1.11
'@tailwindcss/oxide-linux-arm64-musl': 4.1.10 '@tailwindcss/oxide-linux-arm64-musl': 4.1.11
'@tailwindcss/oxide-linux-x64-gnu': 4.1.10 '@tailwindcss/oxide-linux-x64-gnu': 4.1.11
'@tailwindcss/oxide-linux-x64-musl': 4.1.10 '@tailwindcss/oxide-linux-x64-musl': 4.1.11
'@tailwindcss/oxide-wasm32-wasi': 4.1.10 '@tailwindcss/oxide-wasm32-wasi': 4.1.11
'@tailwindcss/oxide-win32-arm64-msvc': 4.1.10 '@tailwindcss/oxide-win32-arm64-msvc': 4.1.11
'@tailwindcss/oxide-win32-x64-msvc': 4.1.10 '@tailwindcss/oxide-win32-x64-msvc': 4.1.11
'@tailwindcss/vite@4.1.10(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1))': '@tailwindcss/vite@4.1.11(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1))':
dependencies: dependencies:
'@tailwindcss/node': 4.1.10 '@tailwindcss/node': 4.1.11
'@tailwindcss/oxide': 4.1.10 '@tailwindcss/oxide': 4.1.11
tailwindcss: 4.1.10 tailwindcss: 4.1.11
vite: 6.3.5(jiti@2.4.2)(lightningcss@1.30.1) vite: 6.3.5(jiti@2.4.2)(lightningcss@1.30.1)
'@testing-library/dom@10.4.0': '@testing-library/dom@10.4.0':
@ -1764,10 +1761,10 @@ snapshots:
lodash: 4.17.21 lodash: 4.17.21
redent: 3.0.0 redent: 3.0.0
'@testing-library/svelte@5.2.8(svelte@5.34.6)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1))(vitest@3.2.4(jiti@2.4.2)(jsdom@26.1.0)(lightningcss@1.30.1))': '@testing-library/svelte@5.2.8(svelte@5.34.9)(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1))(vitest@3.2.4(jiti@2.4.2)(jsdom@26.1.0)(lightningcss@1.30.1))':
dependencies: dependencies:
'@testing-library/dom': 10.4.0 '@testing-library/dom': 10.4.0
svelte: 5.34.6 svelte: 5.34.9
optionalDependencies: optionalDependencies:
vite: 6.3.5(jiti@2.4.2)(lightningcss@1.30.1) vite: 6.3.5(jiti@2.4.2)(lightningcss@1.30.1)
vitest: 3.2.4(jiti@2.4.2)(jsdom@26.1.0)(lightningcss@1.30.1) vitest: 3.2.4(jiti@2.4.2)(jsdom@26.1.0)(lightningcss@1.30.1)
@ -1782,8 +1779,6 @@ snapshots:
'@types/deep-eql@4.0.2': {} '@types/deep-eql@4.0.2': {}
'@types/estree@1.0.7': {}
'@types/estree@1.0.8': {} '@types/estree@1.0.8': {}
'@types/resolve@1.20.2': {} '@types/resolve@1.20.2': {}
@ -1860,7 +1855,7 @@ snapshots:
check-error: 2.1.1 check-error: 2.1.1
deep-eql: 5.0.2 deep-eql: 5.0.2
loupe: 3.1.4 loupe: 3.1.4
pathval: 2.0.0 pathval: 2.0.1
chalk@3.0.0: chalk@3.0.0:
dependencies: dependencies:
@ -1894,7 +1889,7 @@ snapshots:
css.escape@1.5.1: {} css.escape@1.5.1: {}
cssstyle@4.4.0: cssstyle@4.6.0:
dependencies: dependencies:
'@asamuzakjp/css-color': 3.2.0 '@asamuzakjp/css-color': 3.2.0
rrweb-cssom: 0.8.0 rrweb-cssom: 0.8.0
@ -1924,7 +1919,7 @@ snapshots:
dom-accessibility-api@0.6.3: {} dom-accessibility-api@0.6.3: {}
enhanced-resolve@5.18.1: enhanced-resolve@5.18.2:
dependencies: dependencies:
graceful-fs: 4.2.11 graceful-fs: 4.2.11
tapable: 2.2.2 tapable: 2.2.2
@ -2040,7 +2035,7 @@ snapshots:
jsdom@26.1.0: jsdom@26.1.0:
dependencies: dependencies:
cssstyle: 4.4.0 cssstyle: 4.6.0
data-urls: 5.0.0 data-urls: 5.0.0
decimal.js: 10.5.0 decimal.js: 10.5.0
html-encoding-sniffer: 4.0.0 html-encoding-sniffer: 4.0.0
@ -2058,7 +2053,7 @@ snapshots:
whatwg-encoding: 3.1.1 whatwg-encoding: 3.1.1
whatwg-mimetype: 4.0.0 whatwg-mimetype: 4.0.0
whatwg-url: 14.2.0 whatwg-url: 14.2.0
ws: 8.18.2 ws: 8.18.3
xml-name-validator: 5.0.0 xml-name-validator: 5.0.0
transitivePeerDependencies: transitivePeerDependencies:
- bufferutil - bufferutil
@ -2156,7 +2151,7 @@ snapshots:
pathe@2.0.3: {} pathe@2.0.3: {}
pathval@2.0.0: {} pathval@2.0.1: {}
picocolors@1.1.1: {} picocolors@1.1.1: {}
@ -2168,18 +2163,18 @@ snapshots:
picocolors: 1.1.1 picocolors: 1.1.1
source-map-js: 1.2.1 source-map-js: 1.2.1
prettier-plugin-svelte@3.4.0(prettier@3.5.3)(svelte@5.34.6): prettier-plugin-svelte@3.4.0(prettier@3.6.2)(svelte@5.34.9):
dependencies: dependencies:
prettier: 3.5.3 prettier: 3.6.2
svelte: 5.34.6 svelte: 5.34.9
prettier-plugin-tailwindcss@0.6.12(prettier-plugin-svelte@3.4.0(prettier@3.5.3)(svelte@5.34.6))(prettier@3.5.3): prettier-plugin-tailwindcss@0.6.13(prettier-plugin-svelte@3.4.0(prettier@3.6.2)(svelte@5.34.9))(prettier@3.6.2):
dependencies: dependencies:
prettier: 3.5.3 prettier: 3.6.2
optionalDependencies: optionalDependencies:
prettier-plugin-svelte: 3.4.0(prettier@3.5.3)(svelte@5.34.6) prettier-plugin-svelte: 3.4.0(prettier@3.6.2)(svelte@5.34.9)
prettier@3.5.3: {} prettier@3.6.2: {}
pretty-format@27.5.1: pretty-format@27.5.1:
dependencies: dependencies:
@ -2204,30 +2199,30 @@ snapshots:
path-parse: 1.0.7 path-parse: 1.0.7
supports-preserve-symlinks-flag: 1.0.0 supports-preserve-symlinks-flag: 1.0.0
rollup@4.43.0: rollup@4.44.1:
dependencies: dependencies:
'@types/estree': 1.0.7 '@types/estree': 1.0.8
optionalDependencies: optionalDependencies:
'@rollup/rollup-android-arm-eabi': 4.43.0 '@rollup/rollup-android-arm-eabi': 4.44.1
'@rollup/rollup-android-arm64': 4.43.0 '@rollup/rollup-android-arm64': 4.44.1
'@rollup/rollup-darwin-arm64': 4.43.0 '@rollup/rollup-darwin-arm64': 4.44.1
'@rollup/rollup-darwin-x64': 4.43.0 '@rollup/rollup-darwin-x64': 4.44.1
'@rollup/rollup-freebsd-arm64': 4.43.0 '@rollup/rollup-freebsd-arm64': 4.44.1
'@rollup/rollup-freebsd-x64': 4.43.0 '@rollup/rollup-freebsd-x64': 4.44.1
'@rollup/rollup-linux-arm-gnueabihf': 4.43.0 '@rollup/rollup-linux-arm-gnueabihf': 4.44.1
'@rollup/rollup-linux-arm-musleabihf': 4.43.0 '@rollup/rollup-linux-arm-musleabihf': 4.44.1
'@rollup/rollup-linux-arm64-gnu': 4.43.0 '@rollup/rollup-linux-arm64-gnu': 4.44.1
'@rollup/rollup-linux-arm64-musl': 4.43.0 '@rollup/rollup-linux-arm64-musl': 4.44.1
'@rollup/rollup-linux-loongarch64-gnu': 4.43.0 '@rollup/rollup-linux-loongarch64-gnu': 4.44.1
'@rollup/rollup-linux-powerpc64le-gnu': 4.43.0 '@rollup/rollup-linux-powerpc64le-gnu': 4.44.1
'@rollup/rollup-linux-riscv64-gnu': 4.43.0 '@rollup/rollup-linux-riscv64-gnu': 4.44.1
'@rollup/rollup-linux-riscv64-musl': 4.43.0 '@rollup/rollup-linux-riscv64-musl': 4.44.1
'@rollup/rollup-linux-s390x-gnu': 4.43.0 '@rollup/rollup-linux-s390x-gnu': 4.44.1
'@rollup/rollup-linux-x64-gnu': 4.43.0 '@rollup/rollup-linux-x64-gnu': 4.44.1
'@rollup/rollup-linux-x64-musl': 4.43.0 '@rollup/rollup-linux-x64-musl': 4.44.1
'@rollup/rollup-win32-arm64-msvc': 4.43.0 '@rollup/rollup-win32-arm64-msvc': 4.44.1
'@rollup/rollup-win32-ia32-msvc': 4.43.0 '@rollup/rollup-win32-ia32-msvc': 4.44.1
'@rollup/rollup-win32-x64-msvc': 4.43.0 '@rollup/rollup-win32-x64-msvc': 4.44.1
fsevents: 2.3.3 fsevents: 2.3.3
rrweb-cssom@0.8.0: {} rrweb-cssom@0.8.0: {}
@ -2272,21 +2267,21 @@ snapshots:
supports-preserve-symlinks-flag@1.0.0: {} supports-preserve-symlinks-flag@1.0.0: {}
svelte-check@4.2.1(picomatch@4.0.2)(svelte@5.34.6)(typescript@5.8.3): svelte-check@4.2.2(picomatch@4.0.2)(svelte@5.34.9)(typescript@5.8.3):
dependencies: dependencies:
'@jridgewell/trace-mapping': 0.3.25 '@jridgewell/trace-mapping': 0.3.25
chokidar: 4.0.3 chokidar: 4.0.3
fdir: 6.4.6(picomatch@4.0.2) fdir: 6.4.6(picomatch@4.0.2)
picocolors: 1.1.1 picocolors: 1.1.1
sade: 1.8.1 sade: 1.8.1
svelte: 5.34.6 svelte: 5.34.9
typescript: 5.8.3 typescript: 5.8.3
transitivePeerDependencies: transitivePeerDependencies:
- picomatch - picomatch
svelte-toasts@1.1.2: {} svelte-toasts@1.1.2: {}
svelte@5.34.6: svelte@5.34.9:
dependencies: dependencies:
'@ampproject/remapping': 2.3.0 '@ampproject/remapping': 2.3.0
'@jridgewell/sourcemap-codec': 1.5.0 '@jridgewell/sourcemap-codec': 1.5.0
@ -2305,7 +2300,7 @@ snapshots:
symbol-tree@3.2.4: {} symbol-tree@3.2.4: {}
tailwindcss@4.1.10: {} tailwindcss@4.1.11: {}
tapable@2.2.2: {} tapable@2.2.2: {}
@ -2378,14 +2373,14 @@ snapshots:
fdir: 6.4.6(picomatch@4.0.2) fdir: 6.4.6(picomatch@4.0.2)
picomatch: 4.0.2 picomatch: 4.0.2
postcss: 8.5.6 postcss: 8.5.6
rollup: 4.43.0 rollup: 4.44.1
tinyglobby: 0.2.14 tinyglobby: 0.2.14
optionalDependencies: optionalDependencies:
fsevents: 2.3.3 fsevents: 2.3.3
jiti: 2.4.2 jiti: 2.4.2
lightningcss: 1.30.1 lightningcss: 1.30.1
vitefu@1.0.6(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1)): vitefu@1.0.7(vite@6.3.5(jiti@2.4.2)(lightningcss@1.30.1)):
optionalDependencies: optionalDependencies:
vite: 6.3.5(jiti@2.4.2)(lightningcss@1.30.1) vite: 6.3.5(jiti@2.4.2)(lightningcss@1.30.1)
@ -2452,7 +2447,7 @@ snapshots:
siginfo: 2.0.0 siginfo: 2.0.0
stackback: 0.0.2 stackback: 0.0.2
ws@8.18.2: {} ws@8.18.3: {}
xml-name-validator@5.0.0: {} xml-name-validator@5.0.0: {}

View File

@ -0,0 +1,29 @@
import { describe, it, expect, vi, beforeEach } from 'vitest';
import { aviationWeatherApi } from './weatherservice';
describe('aviationWeatherApi', () => {
beforeEach(() => {
vi.restoreAllMocks();
});
it('fetches METAR data successfully', async () => {
const mockMetar = { icaoId: 'EGKK', temp: 20 };
vi.stubGlobal('fetch', vi.fn().mockResolvedValue({
ok: true,
json: () => Promise.resolve(mockMetar)
}));
const result = await aviationWeatherApi.fetchMetar('EGKK');
expect(result).toEqual(mockMetar);
expect(fetch).toHaveBeenCalledWith('/api/metar/EGKK');
});
it('throws error if fetch fails', async () => {
vi.stubGlobal('fetch', vi.fn().mockResolvedValue({
ok: false,
statusText: 'Not Found'
}));
await expect(aviationWeatherApi.fetchMetar('XXXX')).rejects.toThrow('Failed to fetch METAR: Not Found');
});
});

View File

@ -9,6 +9,12 @@
perspective: 800px; perspective: 800px;
} }
.loaderText {
position: absolute;
top: calc(50% - 84px);
left: calc(50% - 64px);
}
.inner { .inner {
position: absolute; position: absolute;
box-sizing: border-box; box-sizing: border-box;
@ -66,6 +72,9 @@
} }
</style> </style>
<div class="loaderText">
Loading...
</div>
<div class="loader"> <div class="loader">
<div class="inner one"></div> <div class="inner one"></div>
<div class="inner two"></div> <div class="inner two"></div>

View File

@ -0,0 +1,12 @@
import { render } from '@testing-library/svelte';
import { describe, it, expect } from 'vitest';
import Page from './+page.svelte';
describe('Main Page', () => {
it('renders the page without HTTP error codes', () => {
const { container } = render(Page);
// Check that common HTTP error codes are not present in the rendered output
const html = container.innerHTML;
expect(html).not.toMatch(/404|500|403|401|bad request|not found|internal server error/i);
});
});