diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..63742ce --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,25 @@ +name: CI +on: + push: +jobs: + knip: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: asdf-vm/actions/install@v3 + - run: pnpm install + - run: pnpm run knip + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: asdf-vm/actions/install@v3 + - run: pnpm install + - run: pnpm run build + typescript: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: asdf-vm/actions/install@v3 + - run: pnpm install + - run: pnpm run checkTs diff --git a/.tool-versions b/.tool-versions new file mode 100644 index 0000000..82da144 --- /dev/null +++ b/.tool-versions @@ -0,0 +1,2 @@ +pnpm 10.6.1 +nodejs 22.9.0 diff --git a/package.json b/package.json index 4342353..818dfd1 100644 --- a/package.json +++ b/package.json @@ -6,13 +6,18 @@ "dev": "astro dev", "build": "astro build", "preview": "astro preview", - "astro": "astro" + "astro": "astro", + "knip": "knip", + "checkTs": "tsc --noEmit" }, "dependencies": { "@astrojs/svelte": "^7.0.3", "astro": "^5.1.6", - "node-fetch": "^3.3.2", - "svelte": "^5.17.3", + "svelte": "^5.17.3" + }, + "devDependencies": { + "@types/node": "^22.15.18", + "knip": "^5.56.0", "typescript": "^5.7.3" } -} \ No newline at end of file +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9bd16dd..07422b6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,16 +10,20 @@ importers: dependencies: '@astrojs/svelte': specifier: ^7.0.3 - version: 7.0.3(astro@5.1.6(rollup@4.30.1)(typescript@5.7.3))(svelte@5.17.3)(typescript@5.7.3) + version: 7.0.3(@types/node@22.15.18)(astro@5.1.6(@types/node@22.15.18)(jiti@2.4.2)(rollup@4.30.1)(typescript@5.7.3))(jiti@2.4.2)(svelte@5.17.3)(typescript@5.7.3) astro: specifier: ^5.1.6 - version: 5.1.6(rollup@4.30.1)(typescript@5.7.3) - node-fetch: - specifier: ^3.3.2 - version: 3.3.2 + version: 5.1.6(@types/node@22.15.18)(jiti@2.4.2)(rollup@4.30.1)(typescript@5.7.3) svelte: specifier: ^5.17.3 version: 5.17.3 + devDependencies: + '@types/node': + specifier: ^22.15.18 + version: 22.15.18 + knip: + specifier: ^5.56.0 + version: 5.56.0(@types/node@22.15.18)(typescript@5.7.3) typescript: specifier: ^5.7.3 version: 5.7.3 @@ -72,9 +76,18 @@ packages: resolution: {integrity: sha512-L6mZmwFDK6Cjh1nRCLXpa6no13ZIioJDz7mdkzHv399pThrTa/k0nUlNaenOeh2kWu/iaOQYElEpKPUswUa9Vg==} engines: {node: '>=6.9.0'} + '@emnapi/core@1.4.3': + resolution: {integrity: sha512-4m62DuCE07lw01soJwPiBGC0nAww0Q+RY70VZ+n49yDIO13yyinhbWCeNnaob0lakDtWQzSdtNWzJeOJt2ma+g==} + '@emnapi/runtime@1.3.1': resolution: {integrity: sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==} + '@emnapi/runtime@1.4.3': + resolution: {integrity: sha512-pBPWdu6MLKROBX05wSNKcNb++m5Er+KQ9QkB+WVM+pW2Kx9hoSrVTnu3BdkI5eBLZoKu/J6mW/B6i6bJB2ytXQ==} + + '@emnapi/wasi-threads@1.0.2': + resolution: {integrity: sha512-5n3nTJblwRi8LlXkJ9eBzu+kZR8Yxcc7ubakyQTFzPMtIhFpUBRbsnc2Dv88IZDIbCDlBiWrknhB4Lsz7mg6BA==} + '@esbuild/aix-ppc64@0.21.5': resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} engines: {node: '>=12'} @@ -486,6 +499,9 @@ packages: '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + '@napi-rs/wasm-runtime@0.2.10': + resolution: {integrity: sha512-bCsCyeZEwVErsGmyPNSzwfwFn4OdxBj0mmv6hOFucB/k81Ojdu68RbZdxYsRQUPc9l6SU5F/cG+bXgWs3oUgsQ==} + '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -501,6 +517,71 @@ packages: '@oslojs/encoding@1.1.0': resolution: {integrity: sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ==} + '@oxc-resolver/binding-darwin-arm64@9.0.2': + resolution: {integrity: sha512-MVyRgP2gzJJtAowjG/cHN3VQXwNLWnY+FpOEsyvDepJki1SdAX/8XDijM1yN6ESD1kr9uhBKjGelC6h3qtT+rA==} + cpu: [arm64] + os: [darwin] + + '@oxc-resolver/binding-darwin-x64@9.0.2': + resolution: {integrity: sha512-7kV0EOFEZ3sk5Hjy4+bfA6XOQpCwbDiDkkHN4BHHyrBHsXxUR05EcEJPPL1WjItefg+9+8hrBmoK0xRoDs41+A==} + cpu: [x64] + os: [darwin] + + '@oxc-resolver/binding-freebsd-x64@9.0.2': + resolution: {integrity: sha512-6OvkEtRXrt8sJ4aVfxHRikjain9nV1clIsWtJ1J3J8NG1ZhjyJFgT00SCvqxbK+pzeWJq6XzHyTCN78ML+lY2w==} + cpu: [x64] + os: [freebsd] + + '@oxc-resolver/binding-linux-arm-gnueabihf@9.0.2': + resolution: {integrity: sha512-aYpNL6o5IRAUIdoweW21TyLt54Hy/ZS9tvzNzF6ya1ckOQ8DLaGVPjGpmzxdNja9j/bbV6aIzBH7lNcBtiOTkQ==} + cpu: [arm] + os: [linux] + + '@oxc-resolver/binding-linux-arm64-gnu@9.0.2': + resolution: {integrity: sha512-RGFW4vCfKMFEIzb9VCY0oWyyY9tR1/o+wDdNePhiUXZU4SVniRPQaZ1SJ0sUFI1k25pXZmzQmIP6cBmazi/Dew==} + cpu: [arm64] + os: [linux] + + '@oxc-resolver/binding-linux-arm64-musl@9.0.2': + resolution: {integrity: sha512-lxx/PibBfzqYvut2Y8N2D0Ritg9H8pKO+7NUSJb9YjR/bfk2KRmP8iaUz3zB0JhPtf/W3REs65oKpWxgflGToA==} + cpu: [arm64] + os: [linux] + + '@oxc-resolver/binding-linux-riscv64-gnu@9.0.2': + resolution: {integrity: sha512-yD28ptS/OuNhwkpXRPNf+/FvrO7lwURLsEbRVcL1kIE0GxNJNMtKgIE4xQvtKDzkhk6ZRpLho5VSrkkF+3ARTQ==} + cpu: [riscv64] + os: [linux] + + '@oxc-resolver/binding-linux-s390x-gnu@9.0.2': + resolution: {integrity: sha512-WBwEJdspoga2w+aly6JVZeHnxuPVuztw3fPfWrei2P6rNM5hcKxBGWKKT6zO1fPMCB4sdDkFohGKkMHVV1eryQ==} + cpu: [s390x] + os: [linux] + + '@oxc-resolver/binding-linux-x64-gnu@9.0.2': + resolution: {integrity: sha512-a2z3/cbOOTUq0UTBG8f3EO/usFcdwwXnCejfXv42HmV/G8GjrT4fp5+5mVDoMByH3Ce3iVPxj1LmS6OvItKMYQ==} + cpu: [x64] + os: [linux] + + '@oxc-resolver/binding-linux-x64-musl@9.0.2': + resolution: {integrity: sha512-bHZF+WShYQWpuswB9fyxcgMIWVk4sZQT0wnwpnZgQuvGTZLkYJ1JTCXJMtaX5mIFHf69ngvawnwPIUA4Feil0g==} + cpu: [x64] + os: [linux] + + '@oxc-resolver/binding-wasm32-wasi@9.0.2': + resolution: {integrity: sha512-I5cSgCCh5nFozGSHz+PjIOfrqW99eUszlxKLgoNNzQ1xQ2ou9ZJGzcZ94BHsM9SpyYHLtgHljmOZxCT9bgxYNA==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + + '@oxc-resolver/binding-win32-arm64-msvc@9.0.2': + resolution: {integrity: sha512-5IhoOpPr38YWDWRCA5kP30xlUxbIJyLAEsAK7EMyUgqygBHEYLkElaKGgS0X5jRXUQ6l5yNxuW73caogb2FYaw==} + cpu: [arm64] + os: [win32] + + '@oxc-resolver/binding-win32-x64-msvc@9.0.2': + resolution: {integrity: sha512-Qc40GDkaad9rZksSQr2l/V9UubigIHsW69g94Gswc2sKYB3XfJXfIfyV8WTJ67u6ZMXsZ7BH1msSC6Aen75mCg==} + cpu: [x64] + os: [win32] + '@rollup/pluginutils@5.1.4': resolution: {integrity: sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==} engines: {node: '>=14.0.0'} @@ -641,6 +722,9 @@ packages: svelte: ^5.0.0 vite: ^6.0.0 + '@tybys/wasm-util@0.9.0': + resolution: {integrity: sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==} + '@types/cookie@0.6.0': resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==} @@ -662,6 +746,9 @@ packages: '@types/nlcst@2.0.3': resolution: {integrity: sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==} + '@types/node@22.15.18': + resolution: {integrity: sha512-v1DKRfUdyW+jJhZNEI1PYy29S2YRxMV5AOO/x/SjKmW0acCIOqmbj6Haf9eHAhsPmrhlHSxEhv/1WszcLWV4cg==} + '@types/unist@3.0.3': resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} @@ -812,10 +899,6 @@ packages: engines: {node: '>=4'} hasBin: true - data-uri-to-buffer@4.0.1: - resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} - engines: {node: '>= 12'} - debug@4.4.0: resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} engines: {node: '>=6.0'} @@ -930,9 +1013,8 @@ packages: fastq@1.18.0: resolution: {integrity: sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==} - fetch-blob@3.2.0: - resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} - engines: {node: ^12.20 || >= 14.13} + fd-package-json@1.2.0: + resolution: {integrity: sha512-45LSPmWf+gC5tdCQMNH4s9Sr00bIkiD9aN7dc5hqkrEw1geRYyDQS1v1oMHAW3ysfxfndqGsrDREHHjNNbKUfA==} fill-range@7.1.1: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} @@ -953,9 +1035,10 @@ packages: resolution: {integrity: sha512-9UbaD6XdAL97+k/n+N7JwX46K/M6Zc6KcFYskrYL8wbBV/Uyk0CTAMY0VT+qiK5PM7AIc9aTWYtq65U7T+aCNQ==} engines: {node: '>=8'} - formdata-polyfill@4.0.10: - resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} - engines: {node: '>=12.20.0'} + formatly@0.2.3: + resolution: {integrity: sha512-WH01vbXEjh9L3bqn5V620xUAWs32CmK4IzWRRY6ep5zpa/mrisL4d9+pRVuETORVDTQw8OycSO1WC68PL51RaA==} + engines: {node: '>=18.3.0'} + hasBin: true fsevents@2.3.3: resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} @@ -1068,6 +1151,10 @@ packages: resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} engines: {node: '>=16'} + jiti@2.4.2: + resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==} + hasBin: true + js-yaml@3.14.1: resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} hasBin: true @@ -1084,6 +1171,14 @@ packages: resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} engines: {node: '>=6'} + knip@5.56.0: + resolution: {integrity: sha512-4RNCi41ax0zzl7jloxiUAcomwHIW+tj201jfr7TmHkSvb1/LkChsfXH0JOFFesVHhtSrMw6Dv4N6fmfFd4sJ0Q==} + engines: {node: '>=18.18.0'} + hasBin: true + peerDependencies: + '@types/node': '>=18' + typescript: '>=5.0.4' + load-yaml-file@0.2.0: resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==} engines: {node: '>=6'} @@ -1249,6 +1344,9 @@ packages: engines: {node: '>=10.0.0'} hasBin: true + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + mrmime@2.0.0: resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==} engines: {node: '>=10'} @@ -1271,17 +1369,9 @@ packages: no-case@3.0.4: resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} - node-domexception@1.0.0: - resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} - engines: {node: '>=10.5.0'} - node-fetch-native@1.6.4: resolution: {integrity: sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==} - node-fetch@3.3.2: - resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} @@ -1295,6 +1385,9 @@ packages: oniguruma-to-es@1.0.0: resolution: {integrity: sha512-kihvp0O4lFwf5tZMkfanwQLIZ9ORe9OeOFgZonH0BQeThgwfJiaZFeOfvvJVnJIM9TiVmx0RDD35hUJDR0++rQ==} + oxc-resolver@9.0.2: + resolution: {integrity: sha512-w838ygc1p7rF+7+h5vR9A+Y9Fc4imy6C3xPthCMkdFUgFvUWkmABeNB8RBDQ6+afk44Q60/UMMQ+gfDUW99fBA==} + p-limit@2.3.0: resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} engines: {node: '>=6'} @@ -1462,6 +1555,10 @@ packages: sisteransi@1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + smol-toml@1.3.4: + resolution: {integrity: sha512-UOPtVuYkzYGee0Bd2Szz8d2G3RfMfJ2t3qVdZUAozZyAk+a0Sxa+QKix0YCwjL/A1RR0ar44nCxaoN9FxdJGwA==} + engines: {node: '>= 18'} + source-map-js@1.2.1: resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} @@ -1495,6 +1592,10 @@ packages: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} + strip-json-comments@5.0.1: + resolution: {integrity: sha512-0fk9zBqO67Nq5M/m45qHCJxylV/DhBlIOVExqgOMiCCrzrhU6tCibRXNqE3jwJLftzE9SNuZtYbpzcO+i9FiKw==} + engines: {node: '>=14.16'} + svelte2tsx@0.7.34: resolution: {integrity: sha512-WTMhpNhFf8/h3SMtR5dkdSy2qfveomkhYei/QW9gSPccb0/b82tjHvLop6vT303ZkGswU/da1s6XvrLgthQPCw==} peerDependencies: @@ -1549,6 +1650,9 @@ packages: uncrypto@0.1.3: resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==} + undici-types@6.21.0: + resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} + unenv@1.10.0: resolution: {integrity: sha512-wY5bskBQFL9n3Eca5XnhH6KbUo/tfvkwm9OpcdCvLaeA7piBNbavbOKJySEwQ1V0RH6HvNlSAFRTpvTqgKRQXQ==} @@ -1698,13 +1802,12 @@ packages: vite: optional: true + walk-up-path@3.0.1: + resolution: {integrity: sha512-9YlCL/ynK3CTlrSRrDxZvUauLzAswPCrsaCgilqFevUYpeEW0/3ScEjaa3kbW/T0ghhkEr7mv+fpjqn1Y1YuTA==} + web-namespaces@2.0.1: resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} - web-streams-polyfill@3.3.3: - resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} - engines: {node: '>= 8'} - which-pm-runs@1.1.0: resolution: {integrity: sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==} engines: {node: '>=4'} @@ -1754,6 +1857,12 @@ packages: typescript: ^4.9.4 || ^5.0.2 zod: ^3 + zod-validation-error@3.4.1: + resolution: {integrity: sha512-1KP64yqDPQ3rupxNv7oXhf7KdhHHgaqbKuspVoiN93TT0xrBjql+Svjkdjq/Qh/7GSMmgQs3AfvBT0heE35thw==} + engines: {node: '>=18.0.0'} + peerDependencies: + zod: ^3.24.4 + zod@3.24.1: resolution: {integrity: sha512-muH7gBL9sI1nciMZV67X5fTKKBLtwpZ5VBp1vsOQzj1MhrBZ4wlVCm3gedKZWLp0Oyel8sIGfeiz54Su+OVT+A==} @@ -1799,14 +1908,14 @@ snapshots: dependencies: prismjs: 1.29.0 - '@astrojs/svelte@7.0.3(astro@5.1.6(rollup@4.30.1)(typescript@5.7.3))(svelte@5.17.3)(typescript@5.7.3)': + '@astrojs/svelte@7.0.3(@types/node@22.15.18)(astro@5.1.6(@types/node@22.15.18)(jiti@2.4.2)(rollup@4.30.1)(typescript@5.7.3))(jiti@2.4.2)(svelte@5.17.3)(typescript@5.7.3)': dependencies: - '@sveltejs/vite-plugin-svelte': 5.0.3(svelte@5.17.3)(vite@6.0.7) - astro: 5.1.6(rollup@4.30.1)(typescript@5.7.3) + '@sveltejs/vite-plugin-svelte': 5.0.3(svelte@5.17.3)(vite@6.0.7(@types/node@22.15.18)(jiti@2.4.2)) + astro: 5.1.6(@types/node@22.15.18)(jiti@2.4.2)(rollup@4.30.1)(typescript@5.7.3) svelte: 5.17.3 svelte2tsx: 0.7.34(svelte@5.17.3)(typescript@5.7.3) typescript: 5.7.3 - vite: 6.0.7 + vite: 6.0.7(@types/node@22.15.18)(jiti@2.4.2) transitivePeerDependencies: - '@types/node' - jiti @@ -1846,11 +1955,27 @@ snapshots: '@babel/helper-string-parser': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 + '@emnapi/core@1.4.3': + dependencies: + '@emnapi/wasi-threads': 1.0.2 + tslib: 2.8.1 + optional: true + '@emnapi/runtime@1.3.1': dependencies: tslib: 2.8.1 optional: true + '@emnapi/runtime@1.4.3': + dependencies: + tslib: 2.8.1 + optional: true + + '@emnapi/wasi-threads@1.0.2': + dependencies: + tslib: 2.8.1 + optional: true + '@esbuild/aix-ppc64@0.21.5': optional: true @@ -2087,6 +2212,13 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 + '@napi-rs/wasm-runtime@0.2.10': + dependencies: + '@emnapi/core': 1.4.3 + '@emnapi/runtime': 1.4.3 + '@tybys/wasm-util': 0.9.0 + optional: true + '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 @@ -2101,6 +2233,47 @@ snapshots: '@oslojs/encoding@1.1.0': {} + '@oxc-resolver/binding-darwin-arm64@9.0.2': + optional: true + + '@oxc-resolver/binding-darwin-x64@9.0.2': + optional: true + + '@oxc-resolver/binding-freebsd-x64@9.0.2': + optional: true + + '@oxc-resolver/binding-linux-arm-gnueabihf@9.0.2': + optional: true + + '@oxc-resolver/binding-linux-arm64-gnu@9.0.2': + optional: true + + '@oxc-resolver/binding-linux-arm64-musl@9.0.2': + optional: true + + '@oxc-resolver/binding-linux-riscv64-gnu@9.0.2': + optional: true + + '@oxc-resolver/binding-linux-s390x-gnu@9.0.2': + optional: true + + '@oxc-resolver/binding-linux-x64-gnu@9.0.2': + optional: true + + '@oxc-resolver/binding-linux-x64-musl@9.0.2': + optional: true + + '@oxc-resolver/binding-wasm32-wasi@9.0.2': + dependencies: + '@napi-rs/wasm-runtime': 0.2.10 + optional: true + + '@oxc-resolver/binding-win32-arm64-msvc@9.0.2': + optional: true + + '@oxc-resolver/binding-win32-x64-msvc@9.0.2': + optional: true + '@rollup/pluginutils@5.1.4(rollup@4.30.1)': dependencies: '@types/estree': 1.0.6 @@ -2201,28 +2374,33 @@ snapshots: '@shikijs/vscode-textmate@10.0.1': {} - '@sveltejs/vite-plugin-svelte-inspector@4.0.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.17.3)(vite@6.0.7))(svelte@5.17.3)(vite@6.0.7)': + '@sveltejs/vite-plugin-svelte-inspector@4.0.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.17.3)(vite@6.0.7(@types/node@22.15.18)(jiti@2.4.2)))(svelte@5.17.3)(vite@6.0.7(@types/node@22.15.18)(jiti@2.4.2))': dependencies: - '@sveltejs/vite-plugin-svelte': 5.0.3(svelte@5.17.3)(vite@6.0.7) + '@sveltejs/vite-plugin-svelte': 5.0.3(svelte@5.17.3)(vite@6.0.7(@types/node@22.15.18)(jiti@2.4.2)) debug: 4.4.0 svelte: 5.17.3 - vite: 6.0.7 + vite: 6.0.7(@types/node@22.15.18)(jiti@2.4.2) transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.17.3)(vite@6.0.7)': + '@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.17.3)(vite@6.0.7(@types/node@22.15.18)(jiti@2.4.2))': dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 4.0.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.17.3)(vite@6.0.7))(svelte@5.17.3)(vite@6.0.7) + '@sveltejs/vite-plugin-svelte-inspector': 4.0.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.17.3)(vite@6.0.7(@types/node@22.15.18)(jiti@2.4.2)))(svelte@5.17.3)(vite@6.0.7(@types/node@22.15.18)(jiti@2.4.2)) debug: 4.4.0 deepmerge: 4.3.1 kleur: 4.1.5 magic-string: 0.30.17 svelte: 5.17.3 - vite: 6.0.7 - vitefu: 1.0.5(vite@6.0.7) + vite: 6.0.7(@types/node@22.15.18)(jiti@2.4.2) + vitefu: 1.0.5(vite@6.0.7(@types/node@22.15.18)(jiti@2.4.2)) transitivePeerDependencies: - supports-color + '@tybys/wasm-util@0.9.0': + dependencies: + tslib: 2.8.1 + optional: true + '@types/cookie@0.6.0': {} '@types/debug@4.1.12': @@ -2245,6 +2423,10 @@ snapshots: dependencies: '@types/unist': 3.0.3 + '@types/node@22.15.18': + dependencies: + undici-types: 6.21.0 + '@types/unist@3.0.3': {} '@ungap/structured-clone@1.2.1': {} @@ -2280,7 +2462,7 @@ snapshots: array-iterate@2.0.1: {} - astro@5.1.6(rollup@4.30.1)(typescript@5.7.3): + astro@5.1.6(@types/node@22.15.18)(jiti@2.4.2)(rollup@4.30.1)(typescript@5.7.3): dependencies: '@astrojs/compiler': 2.10.3 '@astrojs/internal-helpers': 0.4.2 @@ -2332,8 +2514,8 @@ snapshots: unist-util-visit: 5.0.0 unstorage: 1.14.4 vfile: 6.0.3 - vite: 6.0.7 - vitefu: 1.0.5(vite@6.0.7) + vite: 6.0.7(@types/node@22.15.18)(jiti@2.4.2) + vitefu: 1.0.5(vite@6.0.7(@types/node@22.15.18)(jiti@2.4.2)) which-pm: 3.0.0 xxhash-wasm: 1.1.0 yargs-parser: 21.1.1 @@ -2466,8 +2648,6 @@ snapshots: cssesc@3.0.0: {} - data-uri-to-buffer@4.0.1: {} - debug@4.4.0: dependencies: ms: 2.1.3 @@ -2601,10 +2781,9 @@ snapshots: dependencies: reusify: 1.0.4 - fetch-blob@3.2.0: + fd-package-json@1.2.0: dependencies: - node-domexception: 1.0.0 - web-streams-polyfill: 3.3.3 + walk-up-path: 3.0.1 fill-range@7.1.1: dependencies: @@ -2624,9 +2803,9 @@ snapshots: flattie@1.1.1: {} - formdata-polyfill@4.0.10: + formatly@0.2.3: dependencies: - fetch-blob: 3.2.0 + fd-package-json: 1.2.0 fsevents@2.3.3: optional: true @@ -2784,6 +2963,8 @@ snapshots: dependencies: is-inside-container: 1.0.0 + jiti@2.4.2: {} + js-yaml@3.14.1: dependencies: argparse: 1.0.10 @@ -2797,6 +2978,24 @@ snapshots: kleur@4.1.5: {} + knip@5.56.0(@types/node@22.15.18)(typescript@5.7.3): + dependencies: + '@nodelib/fs.walk': 1.2.8 + '@types/node': 22.15.18 + fast-glob: 3.3.3 + formatly: 0.2.3 + jiti: 2.4.2 + js-yaml: 4.1.0 + minimist: 1.2.8 + oxc-resolver: 9.0.2 + picocolors: 1.1.1 + picomatch: 4.0.2 + smol-toml: 1.3.4 + strip-json-comments: 5.0.1 + typescript: 5.7.3 + zod: 3.24.1 + zod-validation-error: 3.4.1(zod@3.24.1) + load-yaml-file@0.2.0: dependencies: graceful-fs: 4.2.11 @@ -3150,6 +3349,8 @@ snapshots: mime@3.0.0: {} + minimist@1.2.8: {} + mrmime@2.0.0: {} ms@2.1.3: {} @@ -3167,16 +3368,8 @@ snapshots: lower-case: 2.0.2 tslib: 2.8.1 - node-domexception@1.0.0: {} - node-fetch-native@1.6.4: {} - node-fetch@3.3.2: - dependencies: - data-uri-to-buffer: 4.0.1 - fetch-blob: 3.2.0 - formdata-polyfill: 4.0.10 - normalize-path@3.0.0: {} ofetch@1.4.1: @@ -3193,6 +3386,22 @@ snapshots: regex: 5.1.1 regex-recursion: 5.1.1 + oxc-resolver@9.0.2: + optionalDependencies: + '@oxc-resolver/binding-darwin-arm64': 9.0.2 + '@oxc-resolver/binding-darwin-x64': 9.0.2 + '@oxc-resolver/binding-freebsd-x64': 9.0.2 + '@oxc-resolver/binding-linux-arm-gnueabihf': 9.0.2 + '@oxc-resolver/binding-linux-arm64-gnu': 9.0.2 + '@oxc-resolver/binding-linux-arm64-musl': 9.0.2 + '@oxc-resolver/binding-linux-riscv64-gnu': 9.0.2 + '@oxc-resolver/binding-linux-s390x-gnu': 9.0.2 + '@oxc-resolver/binding-linux-x64-gnu': 9.0.2 + '@oxc-resolver/binding-linux-x64-musl': 9.0.2 + '@oxc-resolver/binding-wasm32-wasi': 9.0.2 + '@oxc-resolver/binding-win32-arm64-msvc': 9.0.2 + '@oxc-resolver/binding-win32-x64-msvc': 9.0.2 + p-limit@2.3.0: dependencies: p-try: 2.2.0 @@ -3457,6 +3666,8 @@ snapshots: sisteransi@1.0.5: {} + smol-toml@1.3.4: {} + source-map-js@1.2.1: {} space-separated-tokens@2.0.2: {} @@ -3490,6 +3701,8 @@ snapshots: strip-bom@3.0.0: {} + strip-json-comments@5.0.1: {} + svelte2tsx@0.7.34(svelte@5.17.3)(typescript@5.7.3): dependencies: dedent-js: 1.0.1 @@ -3540,6 +3753,8 @@ snapshots: uncrypto@0.1.3: {} + undici-types@6.21.0: {} + unenv@1.10.0: dependencies: consola: 3.4.0 @@ -3626,21 +3841,23 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.2 - vite@6.0.7: + vite@6.0.7(@types/node@22.15.18)(jiti@2.4.2): dependencies: esbuild: 0.24.2 postcss: 8.5.0 rollup: 4.30.1 optionalDependencies: + '@types/node': 22.15.18 fsevents: 2.3.3 + jiti: 2.4.2 - vitefu@1.0.5(vite@6.0.7): + vitefu@1.0.5(vite@6.0.7(@types/node@22.15.18)(jiti@2.4.2)): optionalDependencies: - vite: 6.0.7 + vite: 6.0.7(@types/node@22.15.18)(jiti@2.4.2) - web-namespaces@2.0.1: {} + walk-up-path@3.0.1: {} - web-streams-polyfill@3.3.3: {} + web-namespaces@2.0.1: {} which-pm-runs@1.1.0: {} @@ -3681,6 +3898,10 @@ snapshots: typescript: 5.7.3 zod: 3.24.1 + zod-validation-error@3.4.1(zod@3.24.1): + dependencies: + zod: 3.24.1 + zod@3.24.1: {} zwitch@2.0.4: {} diff --git a/src/components/Header.svelte b/src/components/Header.svelte index aaa2e70..8480af0 100644 --- a/src/components/Header.svelte +++ b/src/components/Header.svelte @@ -1,328 +1,324 @@ {#if isMenuOpen} -
+ {/if}
- TaskRatchet
-