[WIP] A simple wake-on-lan service

create svelte project for web

vielle.dev 22b5e3f8 3bb21768

verified
+1084 -87
+26 -1
.gitignore
··· 1 1 /target 2 2 /web/dist 3 - wol.toml 3 + /wol.toml 4 + 5 + # Logs 6 + /web/logs 7 + /web/*.log 8 + /web/npm-debug.log* 9 + /web/yarn-debug.log* 10 + /web/yarn-error.log* 11 + /web/pnpm-debug.log* 12 + /web/lerna-debug.log* 13 + 14 + /web/node_modules 15 + /web/dist 16 + /web/dist-ssr 17 + /web/*.local 18 + 19 + # Editor directories and files 20 + .vscode/* 21 + !.vscode/extensions.json 22 + .idea 23 + .DS_Store 24 + *.suo 25 + *.ntvs* 26 + *.njsproj 27 + *.sln 28 + *.sw?
+7
.vscode/extensions.json
··· 1 + { 2 + "recommendations": [ 3 + "svelte.svelte-vscode", 4 + "tamasfe.even-better-toml", 5 + "rust-lang.rust-analyzer" 6 + ] 7 + }
web/.gitignore

This is a binary file and will not be displayed.

+12
web/index.html
··· 1 + <!doctype html> 2 + <html lang="en"> 3 + <head> 4 + <meta charset="UTF-8" /> 5 + <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 6 + <title>Wake on Lan</title> 7 + </head> 8 + <body> 9 + <div id="app"></div> 10 + <script type="module" src="/src/main.ts"></script> 11 + </body> 12 + </html>
+18 -1
web/package.json
··· 1 1 { 2 + "name": "web", 3 + "private": true, 4 + "version": "0.0.0", 5 + "type": "module", 2 6 "scripts": { 3 - "build": "pwd && rm -rf ./dist 2> /dev/null && mkdir ./dist && cp -r ./src/. ./dist" 7 + "dev": "vite", 8 + "build": "vite build", 9 + "preview": "vite preview", 10 + "check": "svelte-check --tsconfig ./tsconfig.app.json && tsc -p tsconfig.node.json", 11 + "wol.build": "pnpm run build" 12 + }, 13 + "devDependencies": { 14 + "@sveltejs/vite-plugin-svelte": "^6.2.1", 15 + "@tsconfig/svelte": "^5.0.6", 16 + "@types/node": "^24.10.1", 17 + "svelte": "^5.45.2", 18 + "svelte-check": "^4.3.4", 19 + "typescript": "~5.9.3", 20 + "vite": "^7.3.1" 4 21 } 5 22 }
+938
web/pnpm-lock.yaml
··· 1 + lockfileVersion: '9.0' 2 + 3 + settings: 4 + autoInstallPeers: true 5 + excludeLinksFromLockfile: false 6 + 7 + importers: 8 + 9 + .: 10 + devDependencies: 11 + '@sveltejs/vite-plugin-svelte': 12 + specifier: ^6.2.1 13 + version: 6.2.4(svelte@5.53.0)(vite@7.3.1(@types/node@24.10.13)) 14 + '@tsconfig/svelte': 15 + specifier: ^5.0.6 16 + version: 5.0.8 17 + '@types/node': 18 + specifier: ^24.10.1 19 + version: 24.10.13 20 + svelte: 21 + specifier: ^5.45.2 22 + version: 5.53.0 23 + svelte-check: 24 + specifier: ^4.3.4 25 + version: 4.4.2(picomatch@4.0.3)(svelte@5.53.0)(typescript@5.9.3) 26 + typescript: 27 + specifier: ~5.9.3 28 + version: 5.9.3 29 + vite: 30 + specifier: ^7.3.1 31 + version: 7.3.1(@types/node@24.10.13) 32 + 33 + packages: 34 + 35 + '@esbuild/aix-ppc64@0.27.3': 36 + resolution: {integrity: sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==} 37 + engines: {node: '>=18'} 38 + cpu: [ppc64] 39 + os: [aix] 40 + 41 + '@esbuild/android-arm64@0.27.3': 42 + resolution: {integrity: sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==} 43 + engines: {node: '>=18'} 44 + cpu: [arm64] 45 + os: [android] 46 + 47 + '@esbuild/android-arm@0.27.3': 48 + resolution: {integrity: sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==} 49 + engines: {node: '>=18'} 50 + cpu: [arm] 51 + os: [android] 52 + 53 + '@esbuild/android-x64@0.27.3': 54 + resolution: {integrity: sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==} 55 + engines: {node: '>=18'} 56 + cpu: [x64] 57 + os: [android] 58 + 59 + '@esbuild/darwin-arm64@0.27.3': 60 + resolution: {integrity: sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==} 61 + engines: {node: '>=18'} 62 + cpu: [arm64] 63 + os: [darwin] 64 + 65 + '@esbuild/darwin-x64@0.27.3': 66 + resolution: {integrity: sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==} 67 + engines: {node: '>=18'} 68 + cpu: [x64] 69 + os: [darwin] 70 + 71 + '@esbuild/freebsd-arm64@0.27.3': 72 + resolution: {integrity: sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==} 73 + engines: {node: '>=18'} 74 + cpu: [arm64] 75 + os: [freebsd] 76 + 77 + '@esbuild/freebsd-x64@0.27.3': 78 + resolution: {integrity: sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==} 79 + engines: {node: '>=18'} 80 + cpu: [x64] 81 + os: [freebsd] 82 + 83 + '@esbuild/linux-arm64@0.27.3': 84 + resolution: {integrity: sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==} 85 + engines: {node: '>=18'} 86 + cpu: [arm64] 87 + os: [linux] 88 + 89 + '@esbuild/linux-arm@0.27.3': 90 + resolution: {integrity: sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==} 91 + engines: {node: '>=18'} 92 + cpu: [arm] 93 + os: [linux] 94 + 95 + '@esbuild/linux-ia32@0.27.3': 96 + resolution: {integrity: sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==} 97 + engines: {node: '>=18'} 98 + cpu: [ia32] 99 + os: [linux] 100 + 101 + '@esbuild/linux-loong64@0.27.3': 102 + resolution: {integrity: sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==} 103 + engines: {node: '>=18'} 104 + cpu: [loong64] 105 + os: [linux] 106 + 107 + '@esbuild/linux-mips64el@0.27.3': 108 + resolution: {integrity: sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==} 109 + engines: {node: '>=18'} 110 + cpu: [mips64el] 111 + os: [linux] 112 + 113 + '@esbuild/linux-ppc64@0.27.3': 114 + resolution: {integrity: sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==} 115 + engines: {node: '>=18'} 116 + cpu: [ppc64] 117 + os: [linux] 118 + 119 + '@esbuild/linux-riscv64@0.27.3': 120 + resolution: {integrity: sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==} 121 + engines: {node: '>=18'} 122 + cpu: [riscv64] 123 + os: [linux] 124 + 125 + '@esbuild/linux-s390x@0.27.3': 126 + resolution: {integrity: sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==} 127 + engines: {node: '>=18'} 128 + cpu: [s390x] 129 + os: [linux] 130 + 131 + '@esbuild/linux-x64@0.27.3': 132 + resolution: {integrity: sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==} 133 + engines: {node: '>=18'} 134 + cpu: [x64] 135 + os: [linux] 136 + 137 + '@esbuild/netbsd-arm64@0.27.3': 138 + resolution: {integrity: sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==} 139 + engines: {node: '>=18'} 140 + cpu: [arm64] 141 + os: [netbsd] 142 + 143 + '@esbuild/netbsd-x64@0.27.3': 144 + resolution: {integrity: sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==} 145 + engines: {node: '>=18'} 146 + cpu: [x64] 147 + os: [netbsd] 148 + 149 + '@esbuild/openbsd-arm64@0.27.3': 150 + resolution: {integrity: sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==} 151 + engines: {node: '>=18'} 152 + cpu: [arm64] 153 + os: [openbsd] 154 + 155 + '@esbuild/openbsd-x64@0.27.3': 156 + resolution: {integrity: sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==} 157 + engines: {node: '>=18'} 158 + cpu: [x64] 159 + os: [openbsd] 160 + 161 + '@esbuild/openharmony-arm64@0.27.3': 162 + resolution: {integrity: sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==} 163 + engines: {node: '>=18'} 164 + cpu: [arm64] 165 + os: [openharmony] 166 + 167 + '@esbuild/sunos-x64@0.27.3': 168 + resolution: {integrity: sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==} 169 + engines: {node: '>=18'} 170 + cpu: [x64] 171 + os: [sunos] 172 + 173 + '@esbuild/win32-arm64@0.27.3': 174 + resolution: {integrity: sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==} 175 + engines: {node: '>=18'} 176 + cpu: [arm64] 177 + os: [win32] 178 + 179 + '@esbuild/win32-ia32@0.27.3': 180 + resolution: {integrity: sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==} 181 + engines: {node: '>=18'} 182 + cpu: [ia32] 183 + os: [win32] 184 + 185 + '@esbuild/win32-x64@0.27.3': 186 + resolution: {integrity: sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==} 187 + engines: {node: '>=18'} 188 + cpu: [x64] 189 + os: [win32] 190 + 191 + '@jridgewell/gen-mapping@0.3.13': 192 + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} 193 + 194 + '@jridgewell/remapping@2.3.5': 195 + resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} 196 + 197 + '@jridgewell/resolve-uri@3.1.2': 198 + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} 199 + engines: {node: '>=6.0.0'} 200 + 201 + '@jridgewell/sourcemap-codec@1.5.5': 202 + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} 203 + 204 + '@jridgewell/trace-mapping@0.3.31': 205 + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} 206 + 207 + '@rollup/rollup-android-arm-eabi@4.58.0': 208 + resolution: {integrity: sha512-mr0tmS/4FoVk1cnaeN244A/wjvGDNItZKR8hRhnmCzygyRXYtKF5jVDSIILR1U97CTzAYmbgIj/Dukg62ggG5w==} 209 + cpu: [arm] 210 + os: [android] 211 + 212 + '@rollup/rollup-android-arm64@4.58.0': 213 + resolution: {integrity: sha512-+s++dbp+/RTte62mQD9wLSbiMTV+xr/PeRJEc/sFZFSBRlHPNPVaf5FXlzAL77Mr8FtSfQqCN+I598M8U41ccQ==} 214 + cpu: [arm64] 215 + os: [android] 216 + 217 + '@rollup/rollup-darwin-arm64@4.58.0': 218 + resolution: {integrity: sha512-MFWBwTcYs0jZbINQBXHfSrpSQJq3IUOakcKPzfeSznONop14Pxuqa0Kg19GD0rNBMPQI2tFtu3UzapZpH0Uc1Q==} 219 + cpu: [arm64] 220 + os: [darwin] 221 + 222 + '@rollup/rollup-darwin-x64@4.58.0': 223 + resolution: {integrity: sha512-yiKJY7pj9c9JwzuKYLFaDZw5gma3fI9bkPEIyofvVfsPqjCWPglSHdpdwXpKGvDeYDms3Qal8qGMEHZ1M/4Udg==} 224 + cpu: [x64] 225 + os: [darwin] 226 + 227 + '@rollup/rollup-freebsd-arm64@4.58.0': 228 + resolution: {integrity: sha512-x97kCoBh5MOevpn/CNK9W1x8BEzO238541BGWBc315uOlN0AD/ifZ1msg+ZQB05Ux+VF6EcYqpiagfLJ8U3LvQ==} 229 + cpu: [arm64] 230 + os: [freebsd] 231 + 232 + '@rollup/rollup-freebsd-x64@4.58.0': 233 + resolution: {integrity: sha512-Aa8jPoZ6IQAG2eIrcXPpjRcMjROMFxCt1UYPZZtCxRV68WkuSigYtQ/7Zwrcr2IvtNJo7T2JfDXyMLxq5L4Jlg==} 234 + cpu: [x64] 235 + os: [freebsd] 236 + 237 + '@rollup/rollup-linux-arm-gnueabihf@4.58.0': 238 + resolution: {integrity: sha512-Ob8YgT5kD/lSIYW2Rcngs5kNB/44Q2RzBSPz9brf2WEtcGR7/f/E9HeHn1wYaAwKBni+bdXEwgHvUd0x12lQSA==} 239 + cpu: [arm] 240 + os: [linux] 241 + libc: [glibc] 242 + 243 + '@rollup/rollup-linux-arm-musleabihf@4.58.0': 244 + resolution: {integrity: sha512-K+RI5oP1ceqoadvNt1FecL17Qtw/n9BgRSzxif3rTL2QlIu88ccvY+Y9nnHe/cmT5zbH9+bpiJuG1mGHRVwF4Q==} 245 + cpu: [arm] 246 + os: [linux] 247 + libc: [musl] 248 + 249 + '@rollup/rollup-linux-arm64-gnu@4.58.0': 250 + resolution: {integrity: sha512-T+17JAsCKUjmbopcKepJjHWHXSjeW7O5PL7lEFaeQmiVyw4kkc5/lyYKzrv6ElWRX/MrEWfPiJWqbTvfIvjM1Q==} 251 + cpu: [arm64] 252 + os: [linux] 253 + libc: [glibc] 254 + 255 + '@rollup/rollup-linux-arm64-musl@4.58.0': 256 + resolution: {integrity: sha512-cCePktb9+6R9itIJdeCFF9txPU7pQeEHB5AbHu/MKsfH/k70ZtOeq1k4YAtBv9Z7mmKI5/wOLYjQ+B9QdxR6LA==} 257 + cpu: [arm64] 258 + os: [linux] 259 + libc: [musl] 260 + 261 + '@rollup/rollup-linux-loong64-gnu@4.58.0': 262 + resolution: {integrity: sha512-iekUaLkfliAsDl4/xSdoCJ1gnnIXvoNz85C8U8+ZxknM5pBStfZjeXgB8lXobDQvvPRCN8FPmmuTtH+z95HTmg==} 263 + cpu: [loong64] 264 + os: [linux] 265 + libc: [glibc] 266 + 267 + '@rollup/rollup-linux-loong64-musl@4.58.0': 268 + resolution: {integrity: sha512-68ofRgJNl/jYJbxFjCKE7IwhbfxOl1muPN4KbIqAIe32lm22KmU7E8OPvyy68HTNkI2iV/c8y2kSPSm2mW/Q9Q==} 269 + cpu: [loong64] 270 + os: [linux] 271 + libc: [musl] 272 + 273 + '@rollup/rollup-linux-ppc64-gnu@4.58.0': 274 + resolution: {integrity: sha512-dpz8vT0i+JqUKuSNPCP5SYyIV2Lh0sNL1+FhM7eLC457d5B9/BC3kDPp5BBftMmTNsBarcPcoz5UGSsnCiw4XQ==} 275 + cpu: [ppc64] 276 + os: [linux] 277 + libc: [glibc] 278 + 279 + '@rollup/rollup-linux-ppc64-musl@4.58.0': 280 + resolution: {integrity: sha512-4gdkkf9UJ7tafnweBCR/mk4jf3Jfl0cKX9Np80t5i78kjIH0ZdezUv/JDI2VtruE5lunfACqftJ8dIMGN4oHew==} 281 + cpu: [ppc64] 282 + os: [linux] 283 + libc: [musl] 284 + 285 + '@rollup/rollup-linux-riscv64-gnu@4.58.0': 286 + resolution: {integrity: sha512-YFS4vPnOkDTD/JriUeeZurFYoJhPf9GQQEF/v4lltp3mVcBmnsAdjEWhr2cjUCZzZNzxCG0HZOvJU44UGHSdzw==} 287 + cpu: [riscv64] 288 + os: [linux] 289 + libc: [glibc] 290 + 291 + '@rollup/rollup-linux-riscv64-musl@4.58.0': 292 + resolution: {integrity: sha512-x2xgZlFne+QVNKV8b4wwaCS8pwq3y14zedZ5DqLzjdRITvreBk//4Knbcvm7+lWmms9V9qFp60MtUd0/t/PXPw==} 293 + cpu: [riscv64] 294 + os: [linux] 295 + libc: [musl] 296 + 297 + '@rollup/rollup-linux-s390x-gnu@4.58.0': 298 + resolution: {integrity: sha512-jIhrujyn4UnWF8S+DHSkAkDEO3hLX0cjzxJZPLF80xFyzyUIYgSMRcYQ3+uqEoyDD2beGq7Dj7edi8OnJcS/hg==} 299 + cpu: [s390x] 300 + os: [linux] 301 + libc: [glibc] 302 + 303 + '@rollup/rollup-linux-x64-gnu@4.58.0': 304 + resolution: {integrity: sha512-+410Srdoh78MKSJxTQ+hZ/Mx+ajd6RjjPwBPNd0R3J9FtL6ZA0GqiiyNjCO9In0IzZkCNrpGymSfn+kgyPQocg==} 305 + cpu: [x64] 306 + os: [linux] 307 + libc: [glibc] 308 + 309 + '@rollup/rollup-linux-x64-musl@4.58.0': 310 + resolution: {integrity: sha512-ZjMyby5SICi227y1MTR3VYBpFTdZs823Rs/hpakufleBoufoOIB6jtm9FEoxn/cgO7l6PM2rCEl5Kre5vX0QrQ==} 311 + cpu: [x64] 312 + os: [linux] 313 + libc: [musl] 314 + 315 + '@rollup/rollup-openbsd-x64@4.58.0': 316 + resolution: {integrity: sha512-ds4iwfYkSQ0k1nb8LTcyXw//ToHOnNTJtceySpL3fa7tc/AsE+UpUFphW126A6fKBGJD5dhRvg8zw1rvoGFxmw==} 317 + cpu: [x64] 318 + os: [openbsd] 319 + 320 + '@rollup/rollup-openharmony-arm64@4.58.0': 321 + resolution: {integrity: sha512-fd/zpJniln4ICdPkjWFhZYeY/bpnaN9pGa6ko+5WD38I0tTqk9lXMgXZg09MNdhpARngmxiCg0B0XUamNw/5BQ==} 322 + cpu: [arm64] 323 + os: [openharmony] 324 + 325 + '@rollup/rollup-win32-arm64-msvc@4.58.0': 326 + resolution: {integrity: sha512-YpG8dUOip7DCz3nr/JUfPbIUo+2d/dy++5bFzgi4ugOGBIox+qMbbqt/JoORwvI/C9Kn2tz6+Bieoqd5+B1CjA==} 327 + cpu: [arm64] 328 + os: [win32] 329 + 330 + '@rollup/rollup-win32-ia32-msvc@4.58.0': 331 + resolution: {integrity: sha512-b9DI8jpFQVh4hIXFr0/+N/TzLdpBIoPzjt0Rt4xJbW3mzguV3mduR9cNgiuFcuL/TeORejJhCWiAXe3E/6PxWA==} 332 + cpu: [ia32] 333 + os: [win32] 334 + 335 + '@rollup/rollup-win32-x64-gnu@4.58.0': 336 + resolution: {integrity: sha512-CSrVpmoRJFN06LL9xhkitkwUcTZtIotYAF5p6XOR2zW0Zz5mzb3IPpcoPhB02frzMHFNo1reQ9xSF5fFm3hUsQ==} 337 + cpu: [x64] 338 + os: [win32] 339 + 340 + '@rollup/rollup-win32-x64-msvc@4.58.0': 341 + resolution: {integrity: sha512-QFsBgQNTnh5K0t/sBsjJLq24YVqEIVkGpfN2VHsnN90soZyhaiA9UUHufcctVNL4ypJY0wrwad0wslx2KJQ1/w==} 342 + cpu: [x64] 343 + os: [win32] 344 + 345 + '@sveltejs/acorn-typescript@1.0.9': 346 + resolution: {integrity: sha512-lVJX6qEgs/4DOcRTpo56tmKzVPtoWAaVbL4hfO7t7NVwl9AAXzQR6cihesW1BmNMPl+bK6dreu2sOKBP2Q9CIA==} 347 + peerDependencies: 348 + acorn: ^8.9.0 349 + 350 + '@sveltejs/vite-plugin-svelte-inspector@5.0.2': 351 + resolution: {integrity: sha512-TZzRTcEtZffICSAoZGkPSl6Etsj2torOVrx6Uw0KpXxrec9Gg6jFWQ60Q3+LmNGfZSxHRCZL7vXVZIWmuV50Ig==} 352 + engines: {node: ^20.19 || ^22.12 || >=24} 353 + peerDependencies: 354 + '@sveltejs/vite-plugin-svelte': ^6.0.0-next.0 355 + svelte: ^5.0.0 356 + vite: ^6.3.0 || ^7.0.0 357 + 358 + '@sveltejs/vite-plugin-svelte@6.2.4': 359 + resolution: {integrity: sha512-ou/d51QSdTyN26D7h6dSpusAKaZkAiGM55/AKYi+9AGZw7q85hElbjK3kEyzXHhLSnRISHOYzVge6x0jRZ7DXA==} 360 + engines: {node: ^20.19 || ^22.12 || >=24} 361 + peerDependencies: 362 + svelte: ^5.0.0 363 + vite: ^6.3.0 || ^7.0.0 364 + 365 + '@tsconfig/svelte@5.0.8': 366 + resolution: {integrity: sha512-UkNnw1/oFEfecR8ypyHIQuWYdkPvHiwcQ78sh+ymIiYoF+uc5H1UBetbjyqT+vgGJ3qQN6nhucJviX6HesWtKQ==} 367 + 368 + '@types/estree@1.0.8': 369 + resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} 370 + 371 + '@types/node@24.10.13': 372 + resolution: {integrity: sha512-oH72nZRfDv9lADUBSo104Aq7gPHpQZc4BTx38r9xf9pg5LfP6EzSyH2n7qFmmxRQXh7YlUXODcYsg6PuTDSxGg==} 373 + 374 + '@types/trusted-types@2.0.7': 375 + resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} 376 + 377 + acorn@8.16.0: 378 + resolution: {integrity: sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==} 379 + engines: {node: '>=0.4.0'} 380 + hasBin: true 381 + 382 + aria-query@5.3.2: 383 + resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==} 384 + engines: {node: '>= 0.4'} 385 + 386 + axobject-query@4.1.0: 387 + resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} 388 + engines: {node: '>= 0.4'} 389 + 390 + chokidar@4.0.3: 391 + resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} 392 + engines: {node: '>= 14.16.0'} 393 + 394 + clsx@2.1.1: 395 + resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} 396 + engines: {node: '>=6'} 397 + 398 + deepmerge@4.3.1: 399 + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} 400 + engines: {node: '>=0.10.0'} 401 + 402 + devalue@5.6.3: 403 + resolution: {integrity: sha512-nc7XjUU/2Lb+SvEFVGcWLiKkzfw8+qHI7zn8WYXKkLMgfGSHbgCEaR6bJpev8Cm6Rmrb19Gfd/tZvGqx9is3wg==} 404 + 405 + esbuild@0.27.3: 406 + resolution: {integrity: sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==} 407 + engines: {node: '>=18'} 408 + hasBin: true 409 + 410 + esm-env@1.2.2: 411 + resolution: {integrity: sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==} 412 + 413 + esrap@2.2.3: 414 + resolution: {integrity: sha512-8fOS+GIGCQZl/ZIlhl59htOlms6U8NvX6ZYgYHpRU/b6tVSh3uHkOHZikl3D4cMbYM0JlpBe+p/BkZEi8J9XIQ==} 415 + 416 + fdir@6.5.0: 417 + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} 418 + engines: {node: '>=12.0.0'} 419 + peerDependencies: 420 + picomatch: ^3 || ^4 421 + peerDependenciesMeta: 422 + picomatch: 423 + optional: true 424 + 425 + fsevents@2.3.3: 426 + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 427 + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 428 + os: [darwin] 429 + 430 + is-reference@3.0.3: 431 + resolution: {integrity: sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==} 432 + 433 + locate-character@3.0.0: 434 + resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==} 435 + 436 + magic-string@0.30.21: 437 + resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} 438 + 439 + mri@1.2.0: 440 + resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} 441 + engines: {node: '>=4'} 442 + 443 + nanoid@3.3.11: 444 + resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} 445 + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 446 + hasBin: true 447 + 448 + obug@2.1.1: 449 + resolution: {integrity: sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==} 450 + 451 + picocolors@1.1.1: 452 + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} 453 + 454 + picomatch@4.0.3: 455 + resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} 456 + engines: {node: '>=12'} 457 + 458 + postcss@8.5.6: 459 + resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} 460 + engines: {node: ^10 || ^12 || >=14} 461 + 462 + readdirp@4.1.2: 463 + resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} 464 + engines: {node: '>= 14.18.0'} 465 + 466 + rollup@4.58.0: 467 + resolution: {integrity: sha512-wbT0mBmWbIvvq8NeEYWWvevvxnOyhKChir47S66WCxw1SXqhw7ssIYejnQEVt7XYQpsj2y8F9PM+Cr3SNEa0gw==} 468 + engines: {node: '>=18.0.0', npm: '>=8.0.0'} 469 + hasBin: true 470 + 471 + sade@1.8.1: 472 + resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} 473 + engines: {node: '>=6'} 474 + 475 + source-map-js@1.2.1: 476 + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} 477 + engines: {node: '>=0.10.0'} 478 + 479 + svelte-check@4.4.2: 480 + resolution: {integrity: sha512-hkTWXT1emHOpLhihTzaMsPXtZPnXjIJzIYhfxUO5T8BhIwNxvlyweb9ifWoAj3n3Y1fXfbpvS591hx0ecDOTGA==} 481 + engines: {node: '>= 18.0.0'} 482 + hasBin: true 483 + peerDependencies: 484 + svelte: ^4.0.0 || ^5.0.0-next.0 485 + typescript: '>=5.0.0' 486 + 487 + svelte@5.53.0: 488 + resolution: {integrity: sha512-7dhHkSamGS2vtoBmIW2hRab+gl5Z60alEHZB4910ePqqJNxAWnDAxsofVmlZ2tREmWyHNE+A1nCKwICAquoD2A==} 489 + engines: {node: '>=18'} 490 + 491 + tinyglobby@0.2.15: 492 + resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} 493 + engines: {node: '>=12.0.0'} 494 + 495 + typescript@5.9.3: 496 + resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} 497 + engines: {node: '>=14.17'} 498 + hasBin: true 499 + 500 + undici-types@7.16.0: 501 + resolution: {integrity: sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==} 502 + 503 + vite@7.3.1: 504 + resolution: {integrity: sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==} 505 + engines: {node: ^20.19.0 || >=22.12.0} 506 + hasBin: true 507 + peerDependencies: 508 + '@types/node': ^20.19.0 || >=22.12.0 509 + jiti: '>=1.21.0' 510 + less: ^4.0.0 511 + lightningcss: ^1.21.0 512 + sass: ^1.70.0 513 + sass-embedded: ^1.70.0 514 + stylus: '>=0.54.8' 515 + sugarss: ^5.0.0 516 + terser: ^5.16.0 517 + tsx: ^4.8.1 518 + yaml: ^2.4.2 519 + peerDependenciesMeta: 520 + '@types/node': 521 + optional: true 522 + jiti: 523 + optional: true 524 + less: 525 + optional: true 526 + lightningcss: 527 + optional: true 528 + sass: 529 + optional: true 530 + sass-embedded: 531 + optional: true 532 + stylus: 533 + optional: true 534 + sugarss: 535 + optional: true 536 + terser: 537 + optional: true 538 + tsx: 539 + optional: true 540 + yaml: 541 + optional: true 542 + 543 + vitefu@1.1.1: 544 + resolution: {integrity: sha512-B/Fegf3i8zh0yFbpzZ21amWzHmuNlLlmJT6n7bu5e+pCHUKQIfXSYokrqOBGEMMe9UG2sostKQF9mml/vYaWJQ==} 545 + peerDependencies: 546 + vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0-beta.0 547 + peerDependenciesMeta: 548 + vite: 549 + optional: true 550 + 551 + zimmerframe@1.1.4: 552 + resolution: {integrity: sha512-B58NGBEoc8Y9MWWCQGl/gq9xBCe4IiKM0a2x7GZdQKOW5Exr8S1W24J6OgM1njK8xCRGvAJIL/MxXHf6SkmQKQ==} 553 + 554 + snapshots: 555 + 556 + '@esbuild/aix-ppc64@0.27.3': 557 + optional: true 558 + 559 + '@esbuild/android-arm64@0.27.3': 560 + optional: true 561 + 562 + '@esbuild/android-arm@0.27.3': 563 + optional: true 564 + 565 + '@esbuild/android-x64@0.27.3': 566 + optional: true 567 + 568 + '@esbuild/darwin-arm64@0.27.3': 569 + optional: true 570 + 571 + '@esbuild/darwin-x64@0.27.3': 572 + optional: true 573 + 574 + '@esbuild/freebsd-arm64@0.27.3': 575 + optional: true 576 + 577 + '@esbuild/freebsd-x64@0.27.3': 578 + optional: true 579 + 580 + '@esbuild/linux-arm64@0.27.3': 581 + optional: true 582 + 583 + '@esbuild/linux-arm@0.27.3': 584 + optional: true 585 + 586 + '@esbuild/linux-ia32@0.27.3': 587 + optional: true 588 + 589 + '@esbuild/linux-loong64@0.27.3': 590 + optional: true 591 + 592 + '@esbuild/linux-mips64el@0.27.3': 593 + optional: true 594 + 595 + '@esbuild/linux-ppc64@0.27.3': 596 + optional: true 597 + 598 + '@esbuild/linux-riscv64@0.27.3': 599 + optional: true 600 + 601 + '@esbuild/linux-s390x@0.27.3': 602 + optional: true 603 + 604 + '@esbuild/linux-x64@0.27.3': 605 + optional: true 606 + 607 + '@esbuild/netbsd-arm64@0.27.3': 608 + optional: true 609 + 610 + '@esbuild/netbsd-x64@0.27.3': 611 + optional: true 612 + 613 + '@esbuild/openbsd-arm64@0.27.3': 614 + optional: true 615 + 616 + '@esbuild/openbsd-x64@0.27.3': 617 + optional: true 618 + 619 + '@esbuild/openharmony-arm64@0.27.3': 620 + optional: true 621 + 622 + '@esbuild/sunos-x64@0.27.3': 623 + optional: true 624 + 625 + '@esbuild/win32-arm64@0.27.3': 626 + optional: true 627 + 628 + '@esbuild/win32-ia32@0.27.3': 629 + optional: true 630 + 631 + '@esbuild/win32-x64@0.27.3': 632 + optional: true 633 + 634 + '@jridgewell/gen-mapping@0.3.13': 635 + dependencies: 636 + '@jridgewell/sourcemap-codec': 1.5.5 637 + '@jridgewell/trace-mapping': 0.3.31 638 + 639 + '@jridgewell/remapping@2.3.5': 640 + dependencies: 641 + '@jridgewell/gen-mapping': 0.3.13 642 + '@jridgewell/trace-mapping': 0.3.31 643 + 644 + '@jridgewell/resolve-uri@3.1.2': {} 645 + 646 + '@jridgewell/sourcemap-codec@1.5.5': {} 647 + 648 + '@jridgewell/trace-mapping@0.3.31': 649 + dependencies: 650 + '@jridgewell/resolve-uri': 3.1.2 651 + '@jridgewell/sourcemap-codec': 1.5.5 652 + 653 + '@rollup/rollup-android-arm-eabi@4.58.0': 654 + optional: true 655 + 656 + '@rollup/rollup-android-arm64@4.58.0': 657 + optional: true 658 + 659 + '@rollup/rollup-darwin-arm64@4.58.0': 660 + optional: true 661 + 662 + '@rollup/rollup-darwin-x64@4.58.0': 663 + optional: true 664 + 665 + '@rollup/rollup-freebsd-arm64@4.58.0': 666 + optional: true 667 + 668 + '@rollup/rollup-freebsd-x64@4.58.0': 669 + optional: true 670 + 671 + '@rollup/rollup-linux-arm-gnueabihf@4.58.0': 672 + optional: true 673 + 674 + '@rollup/rollup-linux-arm-musleabihf@4.58.0': 675 + optional: true 676 + 677 + '@rollup/rollup-linux-arm64-gnu@4.58.0': 678 + optional: true 679 + 680 + '@rollup/rollup-linux-arm64-musl@4.58.0': 681 + optional: true 682 + 683 + '@rollup/rollup-linux-loong64-gnu@4.58.0': 684 + optional: true 685 + 686 + '@rollup/rollup-linux-loong64-musl@4.58.0': 687 + optional: true 688 + 689 + '@rollup/rollup-linux-ppc64-gnu@4.58.0': 690 + optional: true 691 + 692 + '@rollup/rollup-linux-ppc64-musl@4.58.0': 693 + optional: true 694 + 695 + '@rollup/rollup-linux-riscv64-gnu@4.58.0': 696 + optional: true 697 + 698 + '@rollup/rollup-linux-riscv64-musl@4.58.0': 699 + optional: true 700 + 701 + '@rollup/rollup-linux-s390x-gnu@4.58.0': 702 + optional: true 703 + 704 + '@rollup/rollup-linux-x64-gnu@4.58.0': 705 + optional: true 706 + 707 + '@rollup/rollup-linux-x64-musl@4.58.0': 708 + optional: true 709 + 710 + '@rollup/rollup-openbsd-x64@4.58.0': 711 + optional: true 712 + 713 + '@rollup/rollup-openharmony-arm64@4.58.0': 714 + optional: true 715 + 716 + '@rollup/rollup-win32-arm64-msvc@4.58.0': 717 + optional: true 718 + 719 + '@rollup/rollup-win32-ia32-msvc@4.58.0': 720 + optional: true 721 + 722 + '@rollup/rollup-win32-x64-gnu@4.58.0': 723 + optional: true 724 + 725 + '@rollup/rollup-win32-x64-msvc@4.58.0': 726 + optional: true 727 + 728 + '@sveltejs/acorn-typescript@1.0.9(acorn@8.16.0)': 729 + dependencies: 730 + acorn: 8.16.0 731 + 732 + '@sveltejs/vite-plugin-svelte-inspector@5.0.2(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.0)(vite@7.3.1(@types/node@24.10.13)))(svelte@5.53.0)(vite@7.3.1(@types/node@24.10.13))': 733 + dependencies: 734 + '@sveltejs/vite-plugin-svelte': 6.2.4(svelte@5.53.0)(vite@7.3.1(@types/node@24.10.13)) 735 + obug: 2.1.1 736 + svelte: 5.53.0 737 + vite: 7.3.1(@types/node@24.10.13) 738 + 739 + '@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.0)(vite@7.3.1(@types/node@24.10.13))': 740 + dependencies: 741 + '@sveltejs/vite-plugin-svelte-inspector': 5.0.2(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.53.0)(vite@7.3.1(@types/node@24.10.13)))(svelte@5.53.0)(vite@7.3.1(@types/node@24.10.13)) 742 + deepmerge: 4.3.1 743 + magic-string: 0.30.21 744 + obug: 2.1.1 745 + svelte: 5.53.0 746 + vite: 7.3.1(@types/node@24.10.13) 747 + vitefu: 1.1.1(vite@7.3.1(@types/node@24.10.13)) 748 + 749 + '@tsconfig/svelte@5.0.8': {} 750 + 751 + '@types/estree@1.0.8': {} 752 + 753 + '@types/node@24.10.13': 754 + dependencies: 755 + undici-types: 7.16.0 756 + 757 + '@types/trusted-types@2.0.7': {} 758 + 759 + acorn@8.16.0: {} 760 + 761 + aria-query@5.3.2: {} 762 + 763 + axobject-query@4.1.0: {} 764 + 765 + chokidar@4.0.3: 766 + dependencies: 767 + readdirp: 4.1.2 768 + 769 + clsx@2.1.1: {} 770 + 771 + deepmerge@4.3.1: {} 772 + 773 + devalue@5.6.3: {} 774 + 775 + esbuild@0.27.3: 776 + optionalDependencies: 777 + '@esbuild/aix-ppc64': 0.27.3 778 + '@esbuild/android-arm': 0.27.3 779 + '@esbuild/android-arm64': 0.27.3 780 + '@esbuild/android-x64': 0.27.3 781 + '@esbuild/darwin-arm64': 0.27.3 782 + '@esbuild/darwin-x64': 0.27.3 783 + '@esbuild/freebsd-arm64': 0.27.3 784 + '@esbuild/freebsd-x64': 0.27.3 785 + '@esbuild/linux-arm': 0.27.3 786 + '@esbuild/linux-arm64': 0.27.3 787 + '@esbuild/linux-ia32': 0.27.3 788 + '@esbuild/linux-loong64': 0.27.3 789 + '@esbuild/linux-mips64el': 0.27.3 790 + '@esbuild/linux-ppc64': 0.27.3 791 + '@esbuild/linux-riscv64': 0.27.3 792 + '@esbuild/linux-s390x': 0.27.3 793 + '@esbuild/linux-x64': 0.27.3 794 + '@esbuild/netbsd-arm64': 0.27.3 795 + '@esbuild/netbsd-x64': 0.27.3 796 + '@esbuild/openbsd-arm64': 0.27.3 797 + '@esbuild/openbsd-x64': 0.27.3 798 + '@esbuild/openharmony-arm64': 0.27.3 799 + '@esbuild/sunos-x64': 0.27.3 800 + '@esbuild/win32-arm64': 0.27.3 801 + '@esbuild/win32-ia32': 0.27.3 802 + '@esbuild/win32-x64': 0.27.3 803 + 804 + esm-env@1.2.2: {} 805 + 806 + esrap@2.2.3: 807 + dependencies: 808 + '@jridgewell/sourcemap-codec': 1.5.5 809 + 810 + fdir@6.5.0(picomatch@4.0.3): 811 + optionalDependencies: 812 + picomatch: 4.0.3 813 + 814 + fsevents@2.3.3: 815 + optional: true 816 + 817 + is-reference@3.0.3: 818 + dependencies: 819 + '@types/estree': 1.0.8 820 + 821 + locate-character@3.0.0: {} 822 + 823 + magic-string@0.30.21: 824 + dependencies: 825 + '@jridgewell/sourcemap-codec': 1.5.5 826 + 827 + mri@1.2.0: {} 828 + 829 + nanoid@3.3.11: {} 830 + 831 + obug@2.1.1: {} 832 + 833 + picocolors@1.1.1: {} 834 + 835 + picomatch@4.0.3: {} 836 + 837 + postcss@8.5.6: 838 + dependencies: 839 + nanoid: 3.3.11 840 + picocolors: 1.1.1 841 + source-map-js: 1.2.1 842 + 843 + readdirp@4.1.2: {} 844 + 845 + rollup@4.58.0: 846 + dependencies: 847 + '@types/estree': 1.0.8 848 + optionalDependencies: 849 + '@rollup/rollup-android-arm-eabi': 4.58.0 850 + '@rollup/rollup-android-arm64': 4.58.0 851 + '@rollup/rollup-darwin-arm64': 4.58.0 852 + '@rollup/rollup-darwin-x64': 4.58.0 853 + '@rollup/rollup-freebsd-arm64': 4.58.0 854 + '@rollup/rollup-freebsd-x64': 4.58.0 855 + '@rollup/rollup-linux-arm-gnueabihf': 4.58.0 856 + '@rollup/rollup-linux-arm-musleabihf': 4.58.0 857 + '@rollup/rollup-linux-arm64-gnu': 4.58.0 858 + '@rollup/rollup-linux-arm64-musl': 4.58.0 859 + '@rollup/rollup-linux-loong64-gnu': 4.58.0 860 + '@rollup/rollup-linux-loong64-musl': 4.58.0 861 + '@rollup/rollup-linux-ppc64-gnu': 4.58.0 862 + '@rollup/rollup-linux-ppc64-musl': 4.58.0 863 + '@rollup/rollup-linux-riscv64-gnu': 4.58.0 864 + '@rollup/rollup-linux-riscv64-musl': 4.58.0 865 + '@rollup/rollup-linux-s390x-gnu': 4.58.0 866 + '@rollup/rollup-linux-x64-gnu': 4.58.0 867 + '@rollup/rollup-linux-x64-musl': 4.58.0 868 + '@rollup/rollup-openbsd-x64': 4.58.0 869 + '@rollup/rollup-openharmony-arm64': 4.58.0 870 + '@rollup/rollup-win32-arm64-msvc': 4.58.0 871 + '@rollup/rollup-win32-ia32-msvc': 4.58.0 872 + '@rollup/rollup-win32-x64-gnu': 4.58.0 873 + '@rollup/rollup-win32-x64-msvc': 4.58.0 874 + fsevents: 2.3.3 875 + 876 + sade@1.8.1: 877 + dependencies: 878 + mri: 1.2.0 879 + 880 + source-map-js@1.2.1: {} 881 + 882 + svelte-check@4.4.2(picomatch@4.0.3)(svelte@5.53.0)(typescript@5.9.3): 883 + dependencies: 884 + '@jridgewell/trace-mapping': 0.3.31 885 + chokidar: 4.0.3 886 + fdir: 6.5.0(picomatch@4.0.3) 887 + picocolors: 1.1.1 888 + sade: 1.8.1 889 + svelte: 5.53.0 890 + typescript: 5.9.3 891 + transitivePeerDependencies: 892 + - picomatch 893 + 894 + svelte@5.53.0: 895 + dependencies: 896 + '@jridgewell/remapping': 2.3.5 897 + '@jridgewell/sourcemap-codec': 1.5.5 898 + '@sveltejs/acorn-typescript': 1.0.9(acorn@8.16.0) 899 + '@types/estree': 1.0.8 900 + '@types/trusted-types': 2.0.7 901 + acorn: 8.16.0 902 + aria-query: 5.3.2 903 + axobject-query: 4.1.0 904 + clsx: 2.1.1 905 + devalue: 5.6.3 906 + esm-env: 1.2.2 907 + esrap: 2.2.3 908 + is-reference: 3.0.3 909 + locate-character: 3.0.0 910 + magic-string: 0.30.21 911 + zimmerframe: 1.1.4 912 + 913 + tinyglobby@0.2.15: 914 + dependencies: 915 + fdir: 6.5.0(picomatch@4.0.3) 916 + picomatch: 4.0.3 917 + 918 + typescript@5.9.3: {} 919 + 920 + undici-types@7.16.0: {} 921 + 922 + vite@7.3.1(@types/node@24.10.13): 923 + dependencies: 924 + esbuild: 0.27.3 925 + fdir: 6.5.0(picomatch@4.0.3) 926 + picomatch: 4.0.3 927 + postcss: 8.5.6 928 + rollup: 4.58.0 929 + tinyglobby: 0.2.15 930 + optionalDependencies: 931 + '@types/node': 24.10.13 932 + fsevents: 2.3.3 933 + 934 + vitefu@1.1.1(vite@7.3.1(@types/node@24.10.13)): 935 + optionalDependencies: 936 + vite: 7.3.1(@types/node@24.10.13) 937 + 938 + zimmerframe@1.1.4: {}
+6
web/src/App.svelte
··· 1 + <script lang="ts"> 2 + </script> 3 + 4 + <main> 5 + <h1>WOL</h1> 6 + </main>
-31
web/src/index.html
··· 1 - <!doctype html> 2 - <html lang="en"> 3 - <head> 4 - <meta charset="UTF-8" /> 5 - <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 6 - <title>WOL</title> 7 - <link rel="stylesheet" href="styles.css" /> 8 - <script> 9 - async function wake(mac) { 10 - fetch("/wake", { 11 - method: "POST", 12 - body: JSON.stringify({ mac }), 13 - headers: { 14 - "Content-Type": "application/json", 15 - }, 16 - }) 17 - .catch((err) => { 18 - console.err(err); 19 - alert(err); 20 - }) 21 - .then(() => alert(`Magic packet for ${mac} has been broadcast`)); 22 - } 23 - </script> 24 - </head> 25 - <body> 26 - <h1>WOL</h1> 27 - <ul> 28 - <button-template></button-template> 29 - </ul> 30 - </body> 31 - </html>
+8
web/src/main.ts
··· 1 + import { mount } from 'svelte' 2 + import App from './App.svelte' 3 + 4 + const app = mount(App, { 5 + target: document.getElementById('app')!, 6 + }) 7 + 8 + export default app
-54
web/src/styles.css
··· 1 - :root { 2 - color-scheme: dark; 3 - 4 - --base: #303446; 5 - --text: #c6d0f5; 6 - --overlay-2: #626880; 7 - --selection: color-mix(in oklab, 100% var(--overlay-2), 70% transparent); 8 - --teal: #81c8be; 9 - } 10 - 11 - ::selection { 12 - background-color: var(--selection); 13 - } 14 - 15 - body, 16 - html { 17 - height: 100%; 18 - width: 100%; 19 - margin: 0; 20 - 21 - background-color: var(--base); 22 - color: var(--text); 23 - } 24 - 25 - body { 26 - display: flex; 27 - flex-direction: column; 28 - align-items: center; 29 - justify-content: center; 30 - gap: 1em; 31 - } 32 - 33 - h1 { 34 - margin: 0; 35 - } 36 - 37 - ul { 38 - list-style: none; 39 - margin: 0; 40 - padding: 0; 41 - 42 - display: grid; 43 - gap: inherit; 44 - grid-template-columns: 1fr 1fr; 45 - } 46 - 47 - button { 48 - width: 100%; 49 - padding: 5px 1em; 50 - color: var(--base); 51 - border: none; 52 - border-radius: 0.5em; 53 - background-color: var(--teal); 54 - }
+8
web/svelte.config.js
··· 1 + import { vitePreprocess } from '@sveltejs/vite-plugin-svelte' 2 + 3 + /** @type {import("@sveltejs/vite-plugin-svelte").SvelteConfig} */ 4 + export default { 5 + // Consult https://svelte.dev/docs#compile-time-svelte-preprocess 6 + // for more information about preprocessors 7 + preprocess: vitePreprocess(), 8 + }
+21
web/tsconfig.app.json
··· 1 + { 2 + "extends": "@tsconfig/svelte/tsconfig.json", 3 + "compilerOptions": { 4 + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", 5 + "target": "ES2022", 6 + "useDefineForClassFields": true, 7 + "module": "ESNext", 8 + "types": ["svelte", "vite/client"], 9 + "noEmit": true, 10 + /** 11 + * Typecheck JS in `.svelte` and `.js` files by default. 12 + * Disable checkJs if you'd like to use dynamic types in JS. 13 + * Note that setting allowJs false does not prevent the use 14 + * of JS in `.svelte` files. 15 + */ 16 + "allowJs": true, 17 + "checkJs": true, 18 + "moduleDetection": "force" 19 + }, 20 + "include": ["src/**/*.ts", "src/**/*.js", "src/**/*.svelte"] 21 + }
+7
web/tsconfig.json
··· 1 + { 2 + "files": [], 3 + "references": [ 4 + { "path": "./tsconfig.app.json" }, 5 + { "path": "./tsconfig.node.json" } 6 + ] 7 + }
+26
web/tsconfig.node.json
··· 1 + { 2 + "compilerOptions": { 3 + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", 4 + "target": "ES2023", 5 + "lib": ["ES2023"], 6 + "module": "ESNext", 7 + "types": ["node"], 8 + "skipLibCheck": true, 9 + 10 + /* Bundler mode */ 11 + "moduleResolution": "bundler", 12 + "allowImportingTsExtensions": true, 13 + "verbatimModuleSyntax": true, 14 + "moduleDetection": "force", 15 + "noEmit": true, 16 + 17 + /* Linting */ 18 + "strict": true, 19 + "noUnusedLocals": true, 20 + "noUnusedParameters": true, 21 + "erasableSyntaxOnly": true, 22 + "noFallthroughCasesInSwitch": true, 23 + "noUncheckedSideEffectImports": true 24 + }, 25 + "include": ["vite.config.ts"] 26 + }
+7
web/vite.config.ts
··· 1 + import { defineConfig } from 'vite' 2 + import { svelte } from '@sveltejs/vite-plugin-svelte' 3 + 4 + // https://vite.dev/config/ 5 + export default defineConfig({ 6 + plugins: [svelte()], 7 + })