Messing around with leptos SSR to see if it's able to work for our use-cases.

Default site from leptos

+1
.gitignore
··· 1 + target
+2559
Cargo.lock
··· 1 + # This file is automatically @generated by Cargo. 2 + # It is not intended for manual editing. 3 + version = 4 4 + 5 + [[package]] 6 + name = "addr2line" 7 + version = "0.24.2" 8 + source = "registry+https://github.com/rust-lang/crates.io-index" 9 + checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" 10 + dependencies = [ 11 + "gimli", 12 + ] 13 + 14 + [[package]] 15 + name = "adler2" 16 + version = "2.0.0" 17 + source = "registry+https://github.com/rust-lang/crates.io-index" 18 + checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" 19 + 20 + [[package]] 21 + name = "aho-corasick" 22 + version = "1.1.3" 23 + source = "registry+https://github.com/rust-lang/crates.io-index" 24 + checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" 25 + dependencies = [ 26 + "memchr", 27 + ] 28 + 29 + [[package]] 30 + name = "any_spawner" 31 + version = "0.2.0" 32 + source = "registry+https://github.com/rust-lang/crates.io-index" 33 + checksum = "41058deaa38c9d9dd933d6d238d825227cffa668e2839b52879f6619c63eee3b" 34 + dependencies = [ 35 + "futures", 36 + "thiserror 2.0.12", 37 + "tokio", 38 + "wasm-bindgen-futures", 39 + ] 40 + 41 + [[package]] 42 + name = "anyhow" 43 + version = "1.0.98" 44 + source = "registry+https://github.com/rust-lang/crates.io-index" 45 + checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487" 46 + 47 + [[package]] 48 + name = "async-lock" 49 + version = "3.4.0" 50 + source = "registry+https://github.com/rust-lang/crates.io-index" 51 + checksum = "ff6e472cdea888a4bd64f342f09b3f50e1886d32afe8df3d663c01140b811b18" 52 + dependencies = [ 53 + "event-listener", 54 + "event-listener-strategy", 55 + "pin-project-lite", 56 + ] 57 + 58 + [[package]] 59 + name = "async-trait" 60 + version = "0.1.88" 61 + source = "registry+https://github.com/rust-lang/crates.io-index" 62 + checksum = "e539d3fca749fcee5236ab05e93a52867dd549cc157c8cb7f99595f3cedffdb5" 63 + dependencies = [ 64 + "proc-macro2", 65 + "quote", 66 + "syn", 67 + ] 68 + 69 + [[package]] 70 + name = "attribute-derive" 71 + version = "0.10.3" 72 + source = "registry+https://github.com/rust-lang/crates.io-index" 73 + checksum = "0053e96dd3bec5b4879c23a138d6ef26f2cb936c9cdc96274ac2b9ed44b5bb54" 74 + dependencies = [ 75 + "attribute-derive-macro", 76 + "derive-where", 77 + "manyhow", 78 + "proc-macro2", 79 + "quote", 80 + "syn", 81 + ] 82 + 83 + [[package]] 84 + name = "attribute-derive-macro" 85 + version = "0.10.3" 86 + source = "registry+https://github.com/rust-lang/crates.io-index" 87 + checksum = "463b53ad0fd5b460af4b1915fe045ff4d946d025fb6c4dc3337752eaa980f71b" 88 + dependencies = [ 89 + "collection_literals", 90 + "interpolator", 91 + "manyhow", 92 + "proc-macro-utils", 93 + "proc-macro2", 94 + "quote", 95 + "quote-use", 96 + "syn", 97 + ] 98 + 99 + [[package]] 100 + name = "autocfg" 101 + version = "1.4.0" 102 + source = "registry+https://github.com/rust-lang/crates.io-index" 103 + checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" 104 + 105 + [[package]] 106 + name = "axum" 107 + version = "0.7.9" 108 + source = "registry+https://github.com/rust-lang/crates.io-index" 109 + checksum = "edca88bc138befd0323b20752846e6587272d3b03b0343c8ea28a6f819e6e71f" 110 + dependencies = [ 111 + "async-trait", 112 + "axum-core", 113 + "bytes", 114 + "futures-util", 115 + "http", 116 + "http-body", 117 + "http-body-util", 118 + "hyper", 119 + "hyper-util", 120 + "itoa", 121 + "matchit", 122 + "memchr", 123 + "mime", 124 + "multer", 125 + "percent-encoding", 126 + "pin-project-lite", 127 + "rustversion", 128 + "serde", 129 + "serde_json", 130 + "serde_path_to_error", 131 + "serde_urlencoded", 132 + "sync_wrapper", 133 + "tokio", 134 + "tower", 135 + "tower-layer", 136 + "tower-service", 137 + "tracing", 138 + ] 139 + 140 + [[package]] 141 + name = "axum-core" 142 + version = "0.4.5" 143 + source = "registry+https://github.com/rust-lang/crates.io-index" 144 + checksum = "09f2bd6146b97ae3359fa0cc6d6b376d9539582c7b4220f041a33ec24c226199" 145 + dependencies = [ 146 + "async-trait", 147 + "bytes", 148 + "futures-util", 149 + "http", 150 + "http-body", 151 + "http-body-util", 152 + "mime", 153 + "pin-project-lite", 154 + "rustversion", 155 + "sync_wrapper", 156 + "tower-layer", 157 + "tower-service", 158 + "tracing", 159 + ] 160 + 161 + [[package]] 162 + name = "backtrace" 163 + version = "0.3.74" 164 + source = "registry+https://github.com/rust-lang/crates.io-index" 165 + checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" 166 + dependencies = [ 167 + "addr2line", 168 + "cfg-if", 169 + "libc", 170 + "miniz_oxide", 171 + "object", 172 + "rustc-demangle", 173 + "windows-targets", 174 + ] 175 + 176 + [[package]] 177 + name = "base64" 178 + version = "0.22.1" 179 + source = "registry+https://github.com/rust-lang/crates.io-index" 180 + checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" 181 + 182 + [[package]] 183 + name = "bitflags" 184 + version = "2.9.0" 185 + source = "registry+https://github.com/rust-lang/crates.io-index" 186 + checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd" 187 + 188 + [[package]] 189 + name = "bumpalo" 190 + version = "3.17.0" 191 + source = "registry+https://github.com/rust-lang/crates.io-index" 192 + checksum = "1628fb46dfa0b37568d12e5edd512553eccf6a22a78e8bde00bb4aed84d5bdbf" 193 + 194 + [[package]] 195 + name = "bytes" 196 + version = "1.10.1" 197 + source = "registry+https://github.com/rust-lang/crates.io-index" 198 + checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a" 199 + 200 + [[package]] 201 + name = "camino" 202 + version = "1.1.9" 203 + source = "registry+https://github.com/rust-lang/crates.io-index" 204 + checksum = "8b96ec4966b5813e2c0507c1f86115c8c5abaadc3980879c3424042a02fd1ad3" 205 + 206 + [[package]] 207 + name = "cfg-if" 208 + version = "1.0.0" 209 + source = "registry+https://github.com/rust-lang/crates.io-index" 210 + checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" 211 + 212 + [[package]] 213 + name = "codee" 214 + version = "0.3.0" 215 + source = "registry+https://github.com/rust-lang/crates.io-index" 216 + checksum = "0f18d705321923b1a9358e3fc3c57c3b50171196827fc7f5f10b053242aca627" 217 + dependencies = [ 218 + "serde", 219 + "serde_json", 220 + "thiserror 2.0.12", 221 + ] 222 + 223 + [[package]] 224 + name = "collection_literals" 225 + version = "1.0.1" 226 + source = "registry+https://github.com/rust-lang/crates.io-index" 227 + checksum = "186dce98367766de751c42c4f03970fc60fc012296e706ccbb9d5df9b6c1e271" 228 + 229 + [[package]] 230 + name = "concurrent-queue" 231 + version = "2.5.0" 232 + source = "registry+https://github.com/rust-lang/crates.io-index" 233 + checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" 234 + dependencies = [ 235 + "crossbeam-utils", 236 + ] 237 + 238 + [[package]] 239 + name = "config" 240 + version = "0.15.11" 241 + source = "registry+https://github.com/rust-lang/crates.io-index" 242 + checksum = "595aae20e65c3be792d05818e8c63025294ac3cb7e200f11459063a352a6ef80" 243 + dependencies = [ 244 + "convert_case 0.6.0", 245 + "pathdiff", 246 + "serde", 247 + "toml", 248 + "winnow", 249 + ] 250 + 251 + [[package]] 252 + name = "console_error_panic_hook" 253 + version = "0.1.7" 254 + source = "registry+https://github.com/rust-lang/crates.io-index" 255 + checksum = "a06aeb73f470f66dcdbf7223caeebb85984942f22f1adb2a088cf9668146bbbc" 256 + dependencies = [ 257 + "cfg-if", 258 + "wasm-bindgen", 259 + ] 260 + 261 + [[package]] 262 + name = "const_format" 263 + version = "0.2.34" 264 + source = "registry+https://github.com/rust-lang/crates.io-index" 265 + checksum = "126f97965c8ad46d6d9163268ff28432e8f6a1196a55578867832e3049df63dd" 266 + dependencies = [ 267 + "const_format_proc_macros", 268 + ] 269 + 270 + [[package]] 271 + name = "const_format_proc_macros" 272 + version = "0.2.34" 273 + source = "registry+https://github.com/rust-lang/crates.io-index" 274 + checksum = "1d57c2eccfb16dbac1f4e61e206105db5820c9d26c3c472bc17c774259ef7744" 275 + dependencies = [ 276 + "proc-macro2", 277 + "quote", 278 + "unicode-xid", 279 + ] 280 + 281 + [[package]] 282 + name = "const_str_slice_concat" 283 + version = "0.1.0" 284 + source = "registry+https://github.com/rust-lang/crates.io-index" 285 + checksum = "f67855af358fcb20fac58f9d714c94e2b228fe5694c1c9b4ead4a366343eda1b" 286 + 287 + [[package]] 288 + name = "convert_case" 289 + version = "0.6.0" 290 + source = "registry+https://github.com/rust-lang/crates.io-index" 291 + checksum = "ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca" 292 + dependencies = [ 293 + "unicode-segmentation", 294 + ] 295 + 296 + [[package]] 297 + name = "convert_case" 298 + version = "0.7.1" 299 + source = "registry+https://github.com/rust-lang/crates.io-index" 300 + checksum = "bb402b8d4c85569410425650ce3eddc7d698ed96d39a73f941b08fb63082f1e7" 301 + dependencies = [ 302 + "unicode-segmentation", 303 + ] 304 + 305 + [[package]] 306 + name = "crossbeam-utils" 307 + version = "0.8.21" 308 + source = "registry+https://github.com/rust-lang/crates.io-index" 309 + checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" 310 + 311 + [[package]] 312 + name = "dashmap" 313 + version = "6.1.0" 314 + source = "registry+https://github.com/rust-lang/crates.io-index" 315 + checksum = "5041cc499144891f3790297212f32a74fb938e5136a14943f338ef9e0ae276cf" 316 + dependencies = [ 317 + "cfg-if", 318 + "crossbeam-utils", 319 + "hashbrown 0.14.5", 320 + "lock_api", 321 + "once_cell", 322 + "parking_lot_core", 323 + ] 324 + 325 + [[package]] 326 + name = "derive-where" 327 + version = "1.2.7" 328 + source = "registry+https://github.com/rust-lang/crates.io-index" 329 + checksum = "62d671cc41a825ebabc75757b62d3d168c577f9149b2d49ece1dad1f72119d25" 330 + dependencies = [ 331 + "proc-macro2", 332 + "quote", 333 + "syn", 334 + ] 335 + 336 + [[package]] 337 + name = "displaydoc" 338 + version = "0.2.5" 339 + source = "registry+https://github.com/rust-lang/crates.io-index" 340 + checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" 341 + dependencies = [ 342 + "proc-macro2", 343 + "quote", 344 + "syn", 345 + ] 346 + 347 + [[package]] 348 + name = "drain_filter_polyfill" 349 + version = "0.1.3" 350 + source = "registry+https://github.com/rust-lang/crates.io-index" 351 + checksum = "669a445ee724c5c69b1b06fe0b63e70a1c84bc9bb7d9696cd4f4e3ec45050408" 352 + 353 + [[package]] 354 + name = "dyn-clone" 355 + version = "1.0.19" 356 + source = "registry+https://github.com/rust-lang/crates.io-index" 357 + checksum = "1c7a8fb8a9fbf66c1f703fe16184d10ca0ee9d23be5b4436400408ba54a95005" 358 + 359 + [[package]] 360 + name = "either" 361 + version = "1.15.0" 362 + source = "registry+https://github.com/rust-lang/crates.io-index" 363 + checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" 364 + 365 + [[package]] 366 + name = "either_of" 367 + version = "0.1.6" 368 + source = "registry+https://github.com/rust-lang/crates.io-index" 369 + checksum = "216d23e0ec69759a17f05e1c553f3a6870e5ec73420fbb07807a6f34d5d1d5a4" 370 + dependencies = [ 371 + "paste", 372 + "pin-project-lite", 373 + ] 374 + 375 + [[package]] 376 + name = "encoding_rs" 377 + version = "0.8.35" 378 + source = "registry+https://github.com/rust-lang/crates.io-index" 379 + checksum = "75030f3c4f45dafd7586dd6780965a8c7e8e285a5ecb86713e63a79c5b2766f3" 380 + dependencies = [ 381 + "cfg-if", 382 + ] 383 + 384 + [[package]] 385 + name = "equivalent" 386 + version = "1.0.2" 387 + source = "registry+https://github.com/rust-lang/crates.io-index" 388 + checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" 389 + 390 + [[package]] 391 + name = "event-listener" 392 + version = "5.4.0" 393 + source = "registry+https://github.com/rust-lang/crates.io-index" 394 + checksum = "3492acde4c3fc54c845eaab3eed8bd00c7a7d881f78bfc801e43a93dec1331ae" 395 + dependencies = [ 396 + "concurrent-queue", 397 + "parking", 398 + "pin-project-lite", 399 + ] 400 + 401 + [[package]] 402 + name = "event-listener-strategy" 403 + version = "0.5.4" 404 + source = "registry+https://github.com/rust-lang/crates.io-index" 405 + checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93" 406 + dependencies = [ 407 + "event-listener", 408 + "pin-project-lite", 409 + ] 410 + 411 + [[package]] 412 + name = "fnv" 413 + version = "1.0.7" 414 + source = "registry+https://github.com/rust-lang/crates.io-index" 415 + checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" 416 + 417 + [[package]] 418 + name = "form_urlencoded" 419 + version = "1.2.1" 420 + source = "registry+https://github.com/rust-lang/crates.io-index" 421 + checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456" 422 + dependencies = [ 423 + "percent-encoding", 424 + ] 425 + 426 + [[package]] 427 + name = "futures" 428 + version = "0.3.31" 429 + source = "registry+https://github.com/rust-lang/crates.io-index" 430 + checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" 431 + dependencies = [ 432 + "futures-channel", 433 + "futures-core", 434 + "futures-executor", 435 + "futures-io", 436 + "futures-sink", 437 + "futures-task", 438 + "futures-util", 439 + ] 440 + 441 + [[package]] 442 + name = "futures-channel" 443 + version = "0.3.31" 444 + source = "registry+https://github.com/rust-lang/crates.io-index" 445 + checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" 446 + dependencies = [ 447 + "futures-core", 448 + "futures-sink", 449 + ] 450 + 451 + [[package]] 452 + name = "futures-core" 453 + version = "0.3.31" 454 + source = "registry+https://github.com/rust-lang/crates.io-index" 455 + checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" 456 + 457 + [[package]] 458 + name = "futures-executor" 459 + version = "0.3.31" 460 + source = "registry+https://github.com/rust-lang/crates.io-index" 461 + checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" 462 + dependencies = [ 463 + "futures-core", 464 + "futures-task", 465 + "futures-util", 466 + "num_cpus", 467 + ] 468 + 469 + [[package]] 470 + name = "futures-io" 471 + version = "0.3.31" 472 + source = "registry+https://github.com/rust-lang/crates.io-index" 473 + checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" 474 + 475 + [[package]] 476 + name = "futures-macro" 477 + version = "0.3.31" 478 + source = "registry+https://github.com/rust-lang/crates.io-index" 479 + checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" 480 + dependencies = [ 481 + "proc-macro2", 482 + "quote", 483 + "syn", 484 + ] 485 + 486 + [[package]] 487 + name = "futures-sink" 488 + version = "0.3.31" 489 + source = "registry+https://github.com/rust-lang/crates.io-index" 490 + checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" 491 + 492 + [[package]] 493 + name = "futures-task" 494 + version = "0.3.31" 495 + source = "registry+https://github.com/rust-lang/crates.io-index" 496 + checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" 497 + 498 + [[package]] 499 + name = "futures-util" 500 + version = "0.3.31" 501 + source = "registry+https://github.com/rust-lang/crates.io-index" 502 + checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" 503 + dependencies = [ 504 + "futures-channel", 505 + "futures-core", 506 + "futures-io", 507 + "futures-macro", 508 + "futures-sink", 509 + "futures-task", 510 + "memchr", 511 + "pin-project-lite", 512 + "pin-utils", 513 + "slab", 514 + ] 515 + 516 + [[package]] 517 + name = "getrandom" 518 + version = "0.2.15" 519 + source = "registry+https://github.com/rust-lang/crates.io-index" 520 + checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" 521 + dependencies = [ 522 + "cfg-if", 523 + "libc", 524 + "wasi 0.11.0+wasi-snapshot-preview1", 525 + ] 526 + 527 + [[package]] 528 + name = "getrandom" 529 + version = "0.3.2" 530 + source = "registry+https://github.com/rust-lang/crates.io-index" 531 + checksum = "73fea8450eea4bac3940448fb7ae50d91f034f941199fcd9d909a5a07aa455f0" 532 + dependencies = [ 533 + "cfg-if", 534 + "libc", 535 + "r-efi", 536 + "wasi 0.14.2+wasi-0.2.4", 537 + ] 538 + 539 + [[package]] 540 + name = "gimli" 541 + version = "0.31.1" 542 + source = "registry+https://github.com/rust-lang/crates.io-index" 543 + checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" 544 + 545 + [[package]] 546 + name = "gloo-net" 547 + version = "0.6.0" 548 + source = "registry+https://github.com/rust-lang/crates.io-index" 549 + checksum = "c06f627b1a58ca3d42b45d6104bf1e1a03799df472df00988b6ba21accc10580" 550 + dependencies = [ 551 + "futures-channel", 552 + "futures-core", 553 + "futures-sink", 554 + "gloo-utils", 555 + "http", 556 + "js-sys", 557 + "pin-project", 558 + "serde", 559 + "serde_json", 560 + "thiserror 1.0.69", 561 + "wasm-bindgen", 562 + "wasm-bindgen-futures", 563 + "web-sys", 564 + ] 565 + 566 + [[package]] 567 + name = "gloo-utils" 568 + version = "0.2.0" 569 + source = "registry+https://github.com/rust-lang/crates.io-index" 570 + checksum = "0b5555354113b18c547c1d3a98fbf7fb32a9ff4f6fa112ce823a21641a0ba3aa" 571 + dependencies = [ 572 + "js-sys", 573 + "serde", 574 + "serde_json", 575 + "wasm-bindgen", 576 + "web-sys", 577 + ] 578 + 579 + [[package]] 580 + name = "guardian" 581 + version = "1.3.0" 582 + source = "registry+https://github.com/rust-lang/crates.io-index" 583 + checksum = "17e2ac29387b1aa07a1e448f7bb4f35b500787971e965b02842b900afa5c8f6f" 584 + 585 + [[package]] 586 + name = "hashbrown" 587 + version = "0.14.5" 588 + source = "registry+https://github.com/rust-lang/crates.io-index" 589 + checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" 590 + 591 + [[package]] 592 + name = "hashbrown" 593 + version = "0.15.2" 594 + source = "registry+https://github.com/rust-lang/crates.io-index" 595 + checksum = "bf151400ff0baff5465007dd2f3e717f3fe502074ca563069ce3a6629d07b289" 596 + 597 + [[package]] 598 + name = "hermit-abi" 599 + version = "0.3.9" 600 + source = "registry+https://github.com/rust-lang/crates.io-index" 601 + checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" 602 + 603 + [[package]] 604 + name = "html-escape" 605 + version = "0.2.13" 606 + source = "registry+https://github.com/rust-lang/crates.io-index" 607 + checksum = "6d1ad449764d627e22bfd7cd5e8868264fc9236e07c752972b4080cd351cb476" 608 + dependencies = [ 609 + "utf8-width", 610 + ] 611 + 612 + [[package]] 613 + name = "http" 614 + version = "1.3.1" 615 + source = "registry+https://github.com/rust-lang/crates.io-index" 616 + checksum = "f4a85d31aea989eead29a3aaf9e1115a180df8282431156e533de47660892565" 617 + dependencies = [ 618 + "bytes", 619 + "fnv", 620 + "itoa", 621 + ] 622 + 623 + [[package]] 624 + name = "http-body" 625 + version = "1.0.1" 626 + source = "registry+https://github.com/rust-lang/crates.io-index" 627 + checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" 628 + dependencies = [ 629 + "bytes", 630 + "http", 631 + ] 632 + 633 + [[package]] 634 + name = "http-body-util" 635 + version = "0.1.3" 636 + source = "registry+https://github.com/rust-lang/crates.io-index" 637 + checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" 638 + dependencies = [ 639 + "bytes", 640 + "futures-core", 641 + "http", 642 + "http-body", 643 + "pin-project-lite", 644 + ] 645 + 646 + [[package]] 647 + name = "http-range-header" 648 + version = "0.4.2" 649 + source = "registry+https://github.com/rust-lang/crates.io-index" 650 + checksum = "9171a2ea8a68358193d15dd5d70c1c10a2afc3e7e4c5bc92bc9f025cebd7359c" 651 + 652 + [[package]] 653 + name = "httparse" 654 + version = "1.10.1" 655 + source = "registry+https://github.com/rust-lang/crates.io-index" 656 + checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" 657 + 658 + [[package]] 659 + name = "httpdate" 660 + version = "1.0.3" 661 + source = "registry+https://github.com/rust-lang/crates.io-index" 662 + checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" 663 + 664 + [[package]] 665 + name = "hydration_context" 666 + version = "0.2.1" 667 + source = "registry+https://github.com/rust-lang/crates.io-index" 668 + checksum = "d35485b3dcbf7e044b8f28c73f04f13e7b509c2466fd10cb2a8a447e38f8a93a" 669 + dependencies = [ 670 + "futures", 671 + "js-sys", 672 + "once_cell", 673 + "or_poisoned", 674 + "pin-project-lite", 675 + "serde", 676 + "throw_error", 677 + "wasm-bindgen", 678 + ] 679 + 680 + [[package]] 681 + name = "hyper" 682 + version = "1.6.0" 683 + source = "registry+https://github.com/rust-lang/crates.io-index" 684 + checksum = "cc2b571658e38e0c01b1fdca3bbbe93c00d3d71693ff2770043f8c29bc7d6f80" 685 + dependencies = [ 686 + "bytes", 687 + "futures-channel", 688 + "futures-util", 689 + "http", 690 + "http-body", 691 + "httparse", 692 + "httpdate", 693 + "itoa", 694 + "pin-project-lite", 695 + "smallvec", 696 + "tokio", 697 + ] 698 + 699 + [[package]] 700 + name = "hyper-util" 701 + version = "0.1.11" 702 + source = "registry+https://github.com/rust-lang/crates.io-index" 703 + checksum = "497bbc33a26fdd4af9ed9c70d63f61cf56a938375fbb32df34db9b1cd6d643f2" 704 + dependencies = [ 705 + "bytes", 706 + "futures-util", 707 + "http", 708 + "http-body", 709 + "hyper", 710 + "pin-project-lite", 711 + "tokio", 712 + "tower-service", 713 + ] 714 + 715 + [[package]] 716 + name = "icu_collections" 717 + version = "1.5.0" 718 + source = "registry+https://github.com/rust-lang/crates.io-index" 719 + checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526" 720 + dependencies = [ 721 + "displaydoc", 722 + "yoke", 723 + "zerofrom", 724 + "zerovec", 725 + ] 726 + 727 + [[package]] 728 + name = "icu_locid" 729 + version = "1.5.0" 730 + source = "registry+https://github.com/rust-lang/crates.io-index" 731 + checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" 732 + dependencies = [ 733 + "displaydoc", 734 + "litemap", 735 + "tinystr", 736 + "writeable", 737 + "zerovec", 738 + ] 739 + 740 + [[package]] 741 + name = "icu_locid_transform" 742 + version = "1.5.0" 743 + source = "registry+https://github.com/rust-lang/crates.io-index" 744 + checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e" 745 + dependencies = [ 746 + "displaydoc", 747 + "icu_locid", 748 + "icu_locid_transform_data", 749 + "icu_provider", 750 + "tinystr", 751 + "zerovec", 752 + ] 753 + 754 + [[package]] 755 + name = "icu_locid_transform_data" 756 + version = "1.5.1" 757 + source = "registry+https://github.com/rust-lang/crates.io-index" 758 + checksum = "7515e6d781098bf9f7205ab3fc7e9709d34554ae0b21ddbcb5febfa4bc7df11d" 759 + 760 + [[package]] 761 + name = "icu_normalizer" 762 + version = "1.5.0" 763 + source = "registry+https://github.com/rust-lang/crates.io-index" 764 + checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f" 765 + dependencies = [ 766 + "displaydoc", 767 + "icu_collections", 768 + "icu_normalizer_data", 769 + "icu_properties", 770 + "icu_provider", 771 + "smallvec", 772 + "utf16_iter", 773 + "utf8_iter", 774 + "write16", 775 + "zerovec", 776 + ] 777 + 778 + [[package]] 779 + name = "icu_normalizer_data" 780 + version = "1.5.1" 781 + source = "registry+https://github.com/rust-lang/crates.io-index" 782 + checksum = "c5e8338228bdc8ab83303f16b797e177953730f601a96c25d10cb3ab0daa0cb7" 783 + 784 + [[package]] 785 + name = "icu_properties" 786 + version = "1.5.1" 787 + source = "registry+https://github.com/rust-lang/crates.io-index" 788 + checksum = "93d6020766cfc6302c15dbbc9c8778c37e62c14427cb7f6e601d849e092aeef5" 789 + dependencies = [ 790 + "displaydoc", 791 + "icu_collections", 792 + "icu_locid_transform", 793 + "icu_properties_data", 794 + "icu_provider", 795 + "tinystr", 796 + "zerovec", 797 + ] 798 + 799 + [[package]] 800 + name = "icu_properties_data" 801 + version = "1.5.1" 802 + source = "registry+https://github.com/rust-lang/crates.io-index" 803 + checksum = "85fb8799753b75aee8d2a21d7c14d9f38921b54b3dbda10f5a3c7a7b82dba5e2" 804 + 805 + [[package]] 806 + name = "icu_provider" 807 + version = "1.5.0" 808 + source = "registry+https://github.com/rust-lang/crates.io-index" 809 + checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9" 810 + dependencies = [ 811 + "displaydoc", 812 + "icu_locid", 813 + "icu_provider_macros", 814 + "stable_deref_trait", 815 + "tinystr", 816 + "writeable", 817 + "yoke", 818 + "zerofrom", 819 + "zerovec", 820 + ] 821 + 822 + [[package]] 823 + name = "icu_provider_macros" 824 + version = "1.5.0" 825 + source = "registry+https://github.com/rust-lang/crates.io-index" 826 + checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6" 827 + dependencies = [ 828 + "proc-macro2", 829 + "quote", 830 + "syn", 831 + ] 832 + 833 + [[package]] 834 + name = "idna" 835 + version = "1.0.3" 836 + source = "registry+https://github.com/rust-lang/crates.io-index" 837 + checksum = "686f825264d630750a544639377bae737628043f20d38bbc029e8f29ea968a7e" 838 + dependencies = [ 839 + "idna_adapter", 840 + "smallvec", 841 + "utf8_iter", 842 + ] 843 + 844 + [[package]] 845 + name = "idna_adapter" 846 + version = "1.2.0" 847 + source = "registry+https://github.com/rust-lang/crates.io-index" 848 + checksum = "daca1df1c957320b2cf139ac61e7bd64fed304c5040df000a745aa1de3b4ef71" 849 + dependencies = [ 850 + "icu_normalizer", 851 + "icu_properties", 852 + ] 853 + 854 + [[package]] 855 + name = "indexmap" 856 + version = "2.9.0" 857 + source = "registry+https://github.com/rust-lang/crates.io-index" 858 + checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" 859 + dependencies = [ 860 + "equivalent", 861 + "hashbrown 0.15.2", 862 + ] 863 + 864 + [[package]] 865 + name = "interpolator" 866 + version = "0.5.0" 867 + source = "registry+https://github.com/rust-lang/crates.io-index" 868 + checksum = "71dd52191aae121e8611f1e8dc3e324dd0dd1dee1e6dd91d10ee07a3cfb4d9d8" 869 + 870 + [[package]] 871 + name = "inventory" 872 + version = "0.3.20" 873 + source = "registry+https://github.com/rust-lang/crates.io-index" 874 + checksum = "ab08d7cd2c5897f2c949e5383ea7c7db03fb19130ffcfbf7eda795137ae3cb83" 875 + dependencies = [ 876 + "rustversion", 877 + ] 878 + 879 + [[package]] 880 + name = "itertools" 881 + version = "0.14.0" 882 + source = "registry+https://github.com/rust-lang/crates.io-index" 883 + checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" 884 + dependencies = [ 885 + "either", 886 + ] 887 + 888 + [[package]] 889 + name = "itoa" 890 + version = "1.0.15" 891 + source = "registry+https://github.com/rust-lang/crates.io-index" 892 + checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c" 893 + 894 + [[package]] 895 + name = "js-sys" 896 + version = "0.3.77" 897 + source = "registry+https://github.com/rust-lang/crates.io-index" 898 + checksum = "1cfaf33c695fc6e08064efbc1f72ec937429614f25eef83af942d0e227c3a28f" 899 + dependencies = [ 900 + "once_cell", 901 + "wasm-bindgen", 902 + ] 903 + 904 + [[package]] 905 + name = "leptos" 906 + version = "0.7.8" 907 + source = "registry+https://github.com/rust-lang/crates.io-index" 908 + checksum = "26b8731cb00f3f0894058155410b95c8955b17273181d2bc72600ab84edd24f1" 909 + dependencies = [ 910 + "any_spawner", 911 + "base64", 912 + "cfg-if", 913 + "either_of", 914 + "futures", 915 + "hydration_context", 916 + "leptos_config", 917 + "leptos_dom", 918 + "leptos_hot_reload", 919 + "leptos_macro", 920 + "leptos_server", 921 + "oco_ref", 922 + "or_poisoned", 923 + "paste", 924 + "rand", 925 + "reactive_graph", 926 + "rustc-hash", 927 + "send_wrapper", 928 + "serde", 929 + "serde_qs", 930 + "server_fn", 931 + "slotmap", 932 + "tachys", 933 + "thiserror 2.0.12", 934 + "throw_error", 935 + "typed-builder", 936 + "typed-builder-macro", 937 + "wasm-bindgen", 938 + "web-sys", 939 + ] 940 + 941 + [[package]] 942 + name = "leptos-sounds-like-a-disease" 943 + version = "0.1.0" 944 + dependencies = [ 945 + "axum", 946 + "console_error_panic_hook", 947 + "leptos", 948 + "leptos_axum", 949 + "leptos_meta", 950 + "leptos_router", 951 + "tokio", 952 + "wasm-bindgen", 953 + ] 954 + 955 + [[package]] 956 + name = "leptos_axum" 957 + version = "0.7.8" 958 + source = "registry+https://github.com/rust-lang/crates.io-index" 959 + checksum = "b5e4b8a1c190800d24f0c79e6c320186ad31ca8800e54c057ad65cdf452ff7d0" 960 + dependencies = [ 961 + "any_spawner", 962 + "axum", 963 + "dashmap", 964 + "futures", 965 + "hydration_context", 966 + "leptos", 967 + "leptos_integration_utils", 968 + "leptos_macro", 969 + "leptos_meta", 970 + "leptos_router", 971 + "once_cell", 972 + "parking_lot", 973 + "server_fn", 974 + "tokio", 975 + "tower", 976 + "tower-http", 977 + ] 978 + 979 + [[package]] 980 + name = "leptos_config" 981 + version = "0.7.8" 982 + source = "registry+https://github.com/rust-lang/crates.io-index" 983 + checksum = "5bae3e0ead5a7a814c8340eef7cb8b6cba364125bd8174b15dc9fe1b3cab7e03" 984 + dependencies = [ 985 + "config", 986 + "regex", 987 + "serde", 988 + "thiserror 2.0.12", 989 + "typed-builder", 990 + ] 991 + 992 + [[package]] 993 + name = "leptos_dom" 994 + version = "0.7.8" 995 + source = "registry+https://github.com/rust-lang/crates.io-index" 996 + checksum = "f89d4eb263bd5a9e7c49f780f17063f15aca56fd638c90b9dfd5f4739152e87d" 997 + dependencies = [ 998 + "js-sys", 999 + "or_poisoned", 1000 + "reactive_graph", 1001 + "send_wrapper", 1002 + "tachys", 1003 + "wasm-bindgen", 1004 + "web-sys", 1005 + ] 1006 + 1007 + [[package]] 1008 + name = "leptos_hot_reload" 1009 + version = "0.7.8" 1010 + source = "registry+https://github.com/rust-lang/crates.io-index" 1011 + checksum = "e80219388501d99b246f43b6e7d08a28f327cdd34ba630a35654d917f3e1788e" 1012 + dependencies = [ 1013 + "anyhow", 1014 + "camino", 1015 + "indexmap", 1016 + "parking_lot", 1017 + "proc-macro2", 1018 + "quote", 1019 + "rstml", 1020 + "serde", 1021 + "syn", 1022 + "walkdir", 1023 + ] 1024 + 1025 + [[package]] 1026 + name = "leptos_integration_utils" 1027 + version = "0.7.8" 1028 + source = "registry+https://github.com/rust-lang/crates.io-index" 1029 + checksum = "42de4c69817c33179fdf21460b3429a2e4899dc646e1673eb87b2e81e325ddd0" 1030 + dependencies = [ 1031 + "futures", 1032 + "hydration_context", 1033 + "leptos", 1034 + "leptos_config", 1035 + "leptos_meta", 1036 + "leptos_router", 1037 + "reactive_graph", 1038 + ] 1039 + 1040 + [[package]] 1041 + name = "leptos_macro" 1042 + version = "0.7.8" 1043 + source = "registry+https://github.com/rust-lang/crates.io-index" 1044 + checksum = "2fc2ae3f369c90a830e02119216f7d6f60fe212823560aa034038e27bd77ca87" 1045 + dependencies = [ 1046 + "attribute-derive", 1047 + "cfg-if", 1048 + "convert_case 0.7.1", 1049 + "html-escape", 1050 + "itertools", 1051 + "leptos_hot_reload", 1052 + "prettyplease", 1053 + "proc-macro-error2", 1054 + "proc-macro2", 1055 + "quote", 1056 + "rstml", 1057 + "server_fn_macro", 1058 + "syn", 1059 + "uuid", 1060 + ] 1061 + 1062 + [[package]] 1063 + name = "leptos_meta" 1064 + version = "0.7.8" 1065 + source = "registry+https://github.com/rust-lang/crates.io-index" 1066 + checksum = "448a6387e9e2cccbb756f474a54e36a39557127a3b8e46744b6ef6372b50f575" 1067 + dependencies = [ 1068 + "futures", 1069 + "indexmap", 1070 + "leptos", 1071 + "once_cell", 1072 + "or_poisoned", 1073 + "send_wrapper", 1074 + "wasm-bindgen", 1075 + "web-sys", 1076 + ] 1077 + 1078 + [[package]] 1079 + name = "leptos_router" 1080 + version = "0.7.8" 1081 + source = "registry+https://github.com/rust-lang/crates.io-index" 1082 + checksum = "4168ead6a9715daba953aa842795cb2ad81b6e011a15745bd3d1baf86f76de95" 1083 + dependencies = [ 1084 + "any_spawner", 1085 + "either_of", 1086 + "futures", 1087 + "gloo-net", 1088 + "js-sys", 1089 + "leptos", 1090 + "leptos_router_macro", 1091 + "once_cell", 1092 + "or_poisoned", 1093 + "percent-encoding", 1094 + "reactive_graph", 1095 + "send_wrapper", 1096 + "tachys", 1097 + "thiserror 2.0.12", 1098 + "url", 1099 + "wasm-bindgen", 1100 + "web-sys", 1101 + ] 1102 + 1103 + [[package]] 1104 + name = "leptos_router_macro" 1105 + version = "0.7.8" 1106 + source = "registry+https://github.com/rust-lang/crates.io-index" 1107 + checksum = "e31197af38d209ffc5d9f89715381c415a1570176f8d23455fbe00d148e79640" 1108 + dependencies = [ 1109 + "proc-macro-error2", 1110 + "proc-macro2", 1111 + "quote", 1112 + "syn", 1113 + ] 1114 + 1115 + [[package]] 1116 + name = "leptos_server" 1117 + version = "0.7.8" 1118 + source = "registry+https://github.com/rust-lang/crates.io-index" 1119 + checksum = "66985242812ec95e224fb48effe651ba02728beca92c461a9464c811a71aab11" 1120 + dependencies = [ 1121 + "any_spawner", 1122 + "base64", 1123 + "codee", 1124 + "futures", 1125 + "hydration_context", 1126 + "or_poisoned", 1127 + "reactive_graph", 1128 + "send_wrapper", 1129 + "serde", 1130 + "serde_json", 1131 + "server_fn", 1132 + "tachys", 1133 + ] 1134 + 1135 + [[package]] 1136 + name = "libc" 1137 + version = "0.2.172" 1138 + source = "registry+https://github.com/rust-lang/crates.io-index" 1139 + checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" 1140 + 1141 + [[package]] 1142 + name = "linear-map" 1143 + version = "1.2.0" 1144 + source = "registry+https://github.com/rust-lang/crates.io-index" 1145 + checksum = "bfae20f6b19ad527b550c223fddc3077a547fc70cda94b9b566575423fd303ee" 1146 + 1147 + [[package]] 1148 + name = "litemap" 1149 + version = "0.7.5" 1150 + source = "registry+https://github.com/rust-lang/crates.io-index" 1151 + checksum = "23fb14cb19457329c82206317a5663005a4d404783dc74f4252769b0d5f42856" 1152 + 1153 + [[package]] 1154 + name = "lock_api" 1155 + version = "0.4.12" 1156 + source = "registry+https://github.com/rust-lang/crates.io-index" 1157 + checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" 1158 + dependencies = [ 1159 + "autocfg", 1160 + "scopeguard", 1161 + ] 1162 + 1163 + [[package]] 1164 + name = "log" 1165 + version = "0.4.27" 1166 + source = "registry+https://github.com/rust-lang/crates.io-index" 1167 + checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94" 1168 + 1169 + [[package]] 1170 + name = "manyhow" 1171 + version = "0.11.4" 1172 + source = "registry+https://github.com/rust-lang/crates.io-index" 1173 + checksum = "b33efb3ca6d3b07393750d4030418d594ab1139cee518f0dc88db70fec873587" 1174 + dependencies = [ 1175 + "manyhow-macros", 1176 + "proc-macro2", 1177 + "quote", 1178 + "syn", 1179 + ] 1180 + 1181 + [[package]] 1182 + name = "manyhow-macros" 1183 + version = "0.11.4" 1184 + source = "registry+https://github.com/rust-lang/crates.io-index" 1185 + checksum = "46fce34d199b78b6e6073abf984c9cf5fd3e9330145a93ee0738a7443e371495" 1186 + dependencies = [ 1187 + "proc-macro-utils", 1188 + "proc-macro2", 1189 + "quote", 1190 + ] 1191 + 1192 + [[package]] 1193 + name = "matchit" 1194 + version = "0.7.3" 1195 + source = "registry+https://github.com/rust-lang/crates.io-index" 1196 + checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" 1197 + 1198 + [[package]] 1199 + name = "memchr" 1200 + version = "2.7.4" 1201 + source = "registry+https://github.com/rust-lang/crates.io-index" 1202 + checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" 1203 + 1204 + [[package]] 1205 + name = "mime" 1206 + version = "0.3.17" 1207 + source = "registry+https://github.com/rust-lang/crates.io-index" 1208 + checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" 1209 + 1210 + [[package]] 1211 + name = "mime_guess" 1212 + version = "2.0.5" 1213 + source = "registry+https://github.com/rust-lang/crates.io-index" 1214 + checksum = "f7c44f8e672c00fe5308fa235f821cb4198414e1c77935c1ab6948d3fd78550e" 1215 + dependencies = [ 1216 + "mime", 1217 + "unicase", 1218 + ] 1219 + 1220 + [[package]] 1221 + name = "miniz_oxide" 1222 + version = "0.8.8" 1223 + source = "registry+https://github.com/rust-lang/crates.io-index" 1224 + checksum = "3be647b768db090acb35d5ec5db2b0e1f1de11133ca123b9eacf5137868f892a" 1225 + dependencies = [ 1226 + "adler2", 1227 + ] 1228 + 1229 + [[package]] 1230 + name = "mio" 1231 + version = "1.0.3" 1232 + source = "registry+https://github.com/rust-lang/crates.io-index" 1233 + checksum = "2886843bf800fba2e3377cff24abf6379b4c4d5c6681eaf9ea5b0d15090450bd" 1234 + dependencies = [ 1235 + "libc", 1236 + "wasi 0.11.0+wasi-snapshot-preview1", 1237 + "windows-sys 0.52.0", 1238 + ] 1239 + 1240 + [[package]] 1241 + name = "multer" 1242 + version = "3.1.0" 1243 + source = "registry+https://github.com/rust-lang/crates.io-index" 1244 + checksum = "83e87776546dc87511aa5ee218730c92b666d7264ab6ed41f9d215af9cd5224b" 1245 + dependencies = [ 1246 + "bytes", 1247 + "encoding_rs", 1248 + "futures-util", 1249 + "http", 1250 + "httparse", 1251 + "memchr", 1252 + "mime", 1253 + "spin", 1254 + "version_check", 1255 + ] 1256 + 1257 + [[package]] 1258 + name = "next_tuple" 1259 + version = "0.1.0" 1260 + source = "registry+https://github.com/rust-lang/crates.io-index" 1261 + checksum = "60993920e071b0c9b66f14e2b32740a4e27ffc82854dcd72035887f336a09a28" 1262 + 1263 + [[package]] 1264 + name = "num_cpus" 1265 + version = "1.16.0" 1266 + source = "registry+https://github.com/rust-lang/crates.io-index" 1267 + checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" 1268 + dependencies = [ 1269 + "hermit-abi", 1270 + "libc", 1271 + ] 1272 + 1273 + [[package]] 1274 + name = "object" 1275 + version = "0.36.7" 1276 + source = "registry+https://github.com/rust-lang/crates.io-index" 1277 + checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" 1278 + dependencies = [ 1279 + "memchr", 1280 + ] 1281 + 1282 + [[package]] 1283 + name = "oco_ref" 1284 + version = "0.2.0" 1285 + source = "registry+https://github.com/rust-lang/crates.io-index" 1286 + checksum = "64b94982fe39a861561cf67ff17a7849f2cedadbbad960a797634032b7abb998" 1287 + dependencies = [ 1288 + "serde", 1289 + "thiserror 1.0.69", 1290 + ] 1291 + 1292 + [[package]] 1293 + name = "once_cell" 1294 + version = "1.21.3" 1295 + source = "registry+https://github.com/rust-lang/crates.io-index" 1296 + checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" 1297 + 1298 + [[package]] 1299 + name = "or_poisoned" 1300 + version = "0.1.0" 1301 + source = "registry+https://github.com/rust-lang/crates.io-index" 1302 + checksum = "8c04f5d74368e4d0dfe06c45c8627c81bd7c317d52762d118fb9b3076f6420fd" 1303 + 1304 + [[package]] 1305 + name = "parking" 1306 + version = "2.2.1" 1307 + source = "registry+https://github.com/rust-lang/crates.io-index" 1308 + checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" 1309 + 1310 + [[package]] 1311 + name = "parking_lot" 1312 + version = "0.12.3" 1313 + source = "registry+https://github.com/rust-lang/crates.io-index" 1314 + checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" 1315 + dependencies = [ 1316 + "lock_api", 1317 + "parking_lot_core", 1318 + ] 1319 + 1320 + [[package]] 1321 + name = "parking_lot_core" 1322 + version = "0.9.10" 1323 + source = "registry+https://github.com/rust-lang/crates.io-index" 1324 + checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" 1325 + dependencies = [ 1326 + "cfg-if", 1327 + "libc", 1328 + "redox_syscall", 1329 + "smallvec", 1330 + "windows-targets", 1331 + ] 1332 + 1333 + [[package]] 1334 + name = "paste" 1335 + version = "1.0.15" 1336 + source = "registry+https://github.com/rust-lang/crates.io-index" 1337 + checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" 1338 + 1339 + [[package]] 1340 + name = "pathdiff" 1341 + version = "0.2.3" 1342 + source = "registry+https://github.com/rust-lang/crates.io-index" 1343 + checksum = "df94ce210e5bc13cb6651479fa48d14f601d9858cfe0467f43ae157023b938d3" 1344 + 1345 + [[package]] 1346 + name = "percent-encoding" 1347 + version = "2.3.1" 1348 + source = "registry+https://github.com/rust-lang/crates.io-index" 1349 + checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e" 1350 + 1351 + [[package]] 1352 + name = "pin-project" 1353 + version = "1.1.10" 1354 + source = "registry+https://github.com/rust-lang/crates.io-index" 1355 + checksum = "677f1add503faace112b9f1373e43e9e054bfdd22ff1a63c1bc485eaec6a6a8a" 1356 + dependencies = [ 1357 + "pin-project-internal", 1358 + ] 1359 + 1360 + [[package]] 1361 + name = "pin-project-internal" 1362 + version = "1.1.10" 1363 + source = "registry+https://github.com/rust-lang/crates.io-index" 1364 + checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" 1365 + dependencies = [ 1366 + "proc-macro2", 1367 + "quote", 1368 + "syn", 1369 + ] 1370 + 1371 + [[package]] 1372 + name = "pin-project-lite" 1373 + version = "0.2.16" 1374 + source = "registry+https://github.com/rust-lang/crates.io-index" 1375 + checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" 1376 + 1377 + [[package]] 1378 + name = "pin-utils" 1379 + version = "0.1.0" 1380 + source = "registry+https://github.com/rust-lang/crates.io-index" 1381 + checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" 1382 + 1383 + [[package]] 1384 + name = "ppv-lite86" 1385 + version = "0.2.21" 1386 + source = "registry+https://github.com/rust-lang/crates.io-index" 1387 + checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" 1388 + dependencies = [ 1389 + "zerocopy", 1390 + ] 1391 + 1392 + [[package]] 1393 + name = "prettyplease" 1394 + version = "0.2.32" 1395 + source = "registry+https://github.com/rust-lang/crates.io-index" 1396 + checksum = "664ec5419c51e34154eec046ebcba56312d5a2fc3b09a06da188e1ad21afadf6" 1397 + dependencies = [ 1398 + "proc-macro2", 1399 + "syn", 1400 + ] 1401 + 1402 + [[package]] 1403 + name = "proc-macro-error-attr2" 1404 + version = "2.0.0" 1405 + source = "registry+https://github.com/rust-lang/crates.io-index" 1406 + checksum = "96de42df36bb9bba5542fe9f1a054b8cc87e172759a1868aa05c1f3acc89dfc5" 1407 + dependencies = [ 1408 + "proc-macro2", 1409 + "quote", 1410 + ] 1411 + 1412 + [[package]] 1413 + name = "proc-macro-error2" 1414 + version = "2.0.1" 1415 + source = "registry+https://github.com/rust-lang/crates.io-index" 1416 + checksum = "11ec05c52be0a07b08061f7dd003e7d7092e0472bc731b4af7bb1ef876109802" 1417 + dependencies = [ 1418 + "proc-macro-error-attr2", 1419 + "proc-macro2", 1420 + "quote", 1421 + "syn", 1422 + ] 1423 + 1424 + [[package]] 1425 + name = "proc-macro-utils" 1426 + version = "0.10.0" 1427 + source = "registry+https://github.com/rust-lang/crates.io-index" 1428 + checksum = "eeaf08a13de400bc215877b5bdc088f241b12eb42f0a548d3390dc1c56bb7071" 1429 + dependencies = [ 1430 + "proc-macro2", 1431 + "quote", 1432 + "smallvec", 1433 + ] 1434 + 1435 + [[package]] 1436 + name = "proc-macro2" 1437 + version = "1.0.95" 1438 + source = "registry+https://github.com/rust-lang/crates.io-index" 1439 + checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" 1440 + dependencies = [ 1441 + "unicode-ident", 1442 + ] 1443 + 1444 + [[package]] 1445 + name = "proc-macro2-diagnostics" 1446 + version = "0.10.1" 1447 + source = "registry+https://github.com/rust-lang/crates.io-index" 1448 + checksum = "af066a9c399a26e020ada66a034357a868728e72cd426f3adcd35f80d88d88c8" 1449 + dependencies = [ 1450 + "proc-macro2", 1451 + "quote", 1452 + "syn", 1453 + "version_check", 1454 + "yansi", 1455 + ] 1456 + 1457 + [[package]] 1458 + name = "quote" 1459 + version = "1.0.40" 1460 + source = "registry+https://github.com/rust-lang/crates.io-index" 1461 + checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" 1462 + dependencies = [ 1463 + "proc-macro2", 1464 + ] 1465 + 1466 + [[package]] 1467 + name = "quote-use" 1468 + version = "0.8.4" 1469 + source = "registry+https://github.com/rust-lang/crates.io-index" 1470 + checksum = "9619db1197b497a36178cfc736dc96b271fe918875fbf1344c436a7e93d0321e" 1471 + dependencies = [ 1472 + "quote", 1473 + "quote-use-macros", 1474 + ] 1475 + 1476 + [[package]] 1477 + name = "quote-use-macros" 1478 + version = "0.8.4" 1479 + source = "registry+https://github.com/rust-lang/crates.io-index" 1480 + checksum = "82ebfb7faafadc06a7ab141a6f67bcfb24cb8beb158c6fe933f2f035afa99f35" 1481 + dependencies = [ 1482 + "proc-macro-utils", 1483 + "proc-macro2", 1484 + "quote", 1485 + "syn", 1486 + ] 1487 + 1488 + [[package]] 1489 + name = "r-efi" 1490 + version = "5.2.0" 1491 + source = "registry+https://github.com/rust-lang/crates.io-index" 1492 + checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" 1493 + 1494 + [[package]] 1495 + name = "rand" 1496 + version = "0.8.5" 1497 + source = "registry+https://github.com/rust-lang/crates.io-index" 1498 + checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" 1499 + dependencies = [ 1500 + "libc", 1501 + "rand_chacha", 1502 + "rand_core", 1503 + ] 1504 + 1505 + [[package]] 1506 + name = "rand_chacha" 1507 + version = "0.3.1" 1508 + source = "registry+https://github.com/rust-lang/crates.io-index" 1509 + checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" 1510 + dependencies = [ 1511 + "ppv-lite86", 1512 + "rand_core", 1513 + ] 1514 + 1515 + [[package]] 1516 + name = "rand_core" 1517 + version = "0.6.4" 1518 + source = "registry+https://github.com/rust-lang/crates.io-index" 1519 + checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" 1520 + dependencies = [ 1521 + "getrandom 0.2.15", 1522 + ] 1523 + 1524 + [[package]] 1525 + name = "reactive_graph" 1526 + version = "0.1.8" 1527 + source = "registry+https://github.com/rust-lang/crates.io-index" 1528 + checksum = "76a0ccddbc11a648bd09761801dac9e3f246ef7641130987d6120fced22515e6" 1529 + dependencies = [ 1530 + "any_spawner", 1531 + "async-lock", 1532 + "futures", 1533 + "guardian", 1534 + "hydration_context", 1535 + "or_poisoned", 1536 + "pin-project-lite", 1537 + "rustc-hash", 1538 + "send_wrapper", 1539 + "serde", 1540 + "slotmap", 1541 + "thiserror 2.0.12", 1542 + "web-sys", 1543 + ] 1544 + 1545 + [[package]] 1546 + name = "reactive_stores" 1547 + version = "0.1.8" 1548 + source = "registry+https://github.com/rust-lang/crates.io-index" 1549 + checksum = "aadc7c19e3a360bf19cd595d2dc8b58ce67b9240b95a103fbc1317a8ff194237" 1550 + dependencies = [ 1551 + "guardian", 1552 + "itertools", 1553 + "or_poisoned", 1554 + "paste", 1555 + "reactive_graph", 1556 + "reactive_stores_macro", 1557 + "rustc-hash", 1558 + ] 1559 + 1560 + [[package]] 1561 + name = "reactive_stores_macro" 1562 + version = "0.1.8" 1563 + source = "registry+https://github.com/rust-lang/crates.io-index" 1564 + checksum = "221095cb028dc51fbc2833743ea8b1a585da1a2af19b440b3528027495bf1f2d" 1565 + dependencies = [ 1566 + "convert_case 0.7.1", 1567 + "proc-macro-error2", 1568 + "proc-macro2", 1569 + "quote", 1570 + "syn", 1571 + ] 1572 + 1573 + [[package]] 1574 + name = "redox_syscall" 1575 + version = "0.5.11" 1576 + source = "registry+https://github.com/rust-lang/crates.io-index" 1577 + checksum = "d2f103c6d277498fbceb16e84d317e2a400f160f46904d5f5410848c829511a3" 1578 + dependencies = [ 1579 + "bitflags", 1580 + ] 1581 + 1582 + [[package]] 1583 + name = "regex" 1584 + version = "1.11.1" 1585 + source = "registry+https://github.com/rust-lang/crates.io-index" 1586 + checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" 1587 + dependencies = [ 1588 + "aho-corasick", 1589 + "memchr", 1590 + "regex-automata", 1591 + "regex-syntax", 1592 + ] 1593 + 1594 + [[package]] 1595 + name = "regex-automata" 1596 + version = "0.4.9" 1597 + source = "registry+https://github.com/rust-lang/crates.io-index" 1598 + checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" 1599 + dependencies = [ 1600 + "aho-corasick", 1601 + "memchr", 1602 + "regex-syntax", 1603 + ] 1604 + 1605 + [[package]] 1606 + name = "regex-syntax" 1607 + version = "0.8.5" 1608 + source = "registry+https://github.com/rust-lang/crates.io-index" 1609 + checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" 1610 + 1611 + [[package]] 1612 + name = "rstml" 1613 + version = "0.12.1" 1614 + source = "registry+https://github.com/rust-lang/crates.io-index" 1615 + checksum = "61cf4616de7499fc5164570d40ca4e1b24d231c6833a88bff0fe00725080fd56" 1616 + dependencies = [ 1617 + "derive-where", 1618 + "proc-macro2", 1619 + "proc-macro2-diagnostics", 1620 + "quote", 1621 + "syn", 1622 + "syn_derive", 1623 + "thiserror 2.0.12", 1624 + ] 1625 + 1626 + [[package]] 1627 + name = "rustc-demangle" 1628 + version = "0.1.24" 1629 + source = "registry+https://github.com/rust-lang/crates.io-index" 1630 + checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" 1631 + 1632 + [[package]] 1633 + name = "rustc-hash" 1634 + version = "2.1.1" 1635 + source = "registry+https://github.com/rust-lang/crates.io-index" 1636 + checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d" 1637 + 1638 + [[package]] 1639 + name = "rustversion" 1640 + version = "1.0.20" 1641 + source = "registry+https://github.com/rust-lang/crates.io-index" 1642 + checksum = "eded382c5f5f786b989652c49544c4877d9f015cc22e145a5ea8ea66c2921cd2" 1643 + 1644 + [[package]] 1645 + name = "ryu" 1646 + version = "1.0.20" 1647 + source = "registry+https://github.com/rust-lang/crates.io-index" 1648 + checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" 1649 + 1650 + [[package]] 1651 + name = "same-file" 1652 + version = "1.0.6" 1653 + source = "registry+https://github.com/rust-lang/crates.io-index" 1654 + checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" 1655 + dependencies = [ 1656 + "winapi-util", 1657 + ] 1658 + 1659 + [[package]] 1660 + name = "scopeguard" 1661 + version = "1.2.0" 1662 + source = "registry+https://github.com/rust-lang/crates.io-index" 1663 + checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" 1664 + 1665 + [[package]] 1666 + name = "send_wrapper" 1667 + version = "0.6.0" 1668 + source = "registry+https://github.com/rust-lang/crates.io-index" 1669 + checksum = "cd0b0ec5f1c1ca621c432a25813d8d60c88abe6d3e08a3eb9cf37d97a0fe3d73" 1670 + dependencies = [ 1671 + "futures-core", 1672 + ] 1673 + 1674 + [[package]] 1675 + name = "serde" 1676 + version = "1.0.219" 1677 + source = "registry+https://github.com/rust-lang/crates.io-index" 1678 + checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6" 1679 + dependencies = [ 1680 + "serde_derive", 1681 + ] 1682 + 1683 + [[package]] 1684 + name = "serde_derive" 1685 + version = "1.0.219" 1686 + source = "registry+https://github.com/rust-lang/crates.io-index" 1687 + checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00" 1688 + dependencies = [ 1689 + "proc-macro2", 1690 + "quote", 1691 + "syn", 1692 + ] 1693 + 1694 + [[package]] 1695 + name = "serde_json" 1696 + version = "1.0.140" 1697 + source = "registry+https://github.com/rust-lang/crates.io-index" 1698 + checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" 1699 + dependencies = [ 1700 + "itoa", 1701 + "memchr", 1702 + "ryu", 1703 + "serde", 1704 + ] 1705 + 1706 + [[package]] 1707 + name = "serde_path_to_error" 1708 + version = "0.1.17" 1709 + source = "registry+https://github.com/rust-lang/crates.io-index" 1710 + checksum = "59fab13f937fa393d08645bf3a84bdfe86e296747b506ada67bb15f10f218b2a" 1711 + dependencies = [ 1712 + "itoa", 1713 + "serde", 1714 + ] 1715 + 1716 + [[package]] 1717 + name = "serde_qs" 1718 + version = "0.13.0" 1719 + source = "registry+https://github.com/rust-lang/crates.io-index" 1720 + checksum = "cd34f36fe4c5ba9654417139a9b3a20d2e1de6012ee678ad14d240c22c78d8d6" 1721 + dependencies = [ 1722 + "percent-encoding", 1723 + "serde", 1724 + "thiserror 1.0.69", 1725 + ] 1726 + 1727 + [[package]] 1728 + name = "serde_spanned" 1729 + version = "0.6.8" 1730 + source = "registry+https://github.com/rust-lang/crates.io-index" 1731 + checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" 1732 + dependencies = [ 1733 + "serde", 1734 + ] 1735 + 1736 + [[package]] 1737 + name = "serde_urlencoded" 1738 + version = "0.7.1" 1739 + source = "registry+https://github.com/rust-lang/crates.io-index" 1740 + checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" 1741 + dependencies = [ 1742 + "form_urlencoded", 1743 + "itoa", 1744 + "ryu", 1745 + "serde", 1746 + ] 1747 + 1748 + [[package]] 1749 + name = "server_fn" 1750 + version = "0.7.8" 1751 + source = "registry+https://github.com/rust-lang/crates.io-index" 1752 + checksum = "8d05a9e3fd8d7404985418db38c6617cc793a1a27f398d4fbc9dfe8e41b804e6" 1753 + dependencies = [ 1754 + "axum", 1755 + "bytes", 1756 + "const_format", 1757 + "dashmap", 1758 + "futures", 1759 + "gloo-net", 1760 + "http", 1761 + "http-body-util", 1762 + "hyper", 1763 + "inventory", 1764 + "js-sys", 1765 + "once_cell", 1766 + "pin-project-lite", 1767 + "send_wrapper", 1768 + "serde", 1769 + "serde_json", 1770 + "serde_qs", 1771 + "server_fn_macro_default", 1772 + "thiserror 2.0.12", 1773 + "throw_error", 1774 + "tower", 1775 + "tower-layer", 1776 + "url", 1777 + "wasm-bindgen", 1778 + "wasm-bindgen-futures", 1779 + "wasm-streams", 1780 + "web-sys", 1781 + "xxhash-rust", 1782 + ] 1783 + 1784 + [[package]] 1785 + name = "server_fn_macro" 1786 + version = "0.7.8" 1787 + source = "registry+https://github.com/rust-lang/crates.io-index" 1788 + checksum = "504b35e883267b3206317b46d02952ed7b8bf0e11b2e209e2eb453b609a5e052" 1789 + dependencies = [ 1790 + "const_format", 1791 + "convert_case 0.6.0", 1792 + "proc-macro2", 1793 + "quote", 1794 + "syn", 1795 + "xxhash-rust", 1796 + ] 1797 + 1798 + [[package]] 1799 + name = "server_fn_macro_default" 1800 + version = "0.7.8" 1801 + source = "registry+https://github.com/rust-lang/crates.io-index" 1802 + checksum = "eb8b274f568c94226a8045668554aace8142a59b8bca5414ac5a79627c825568" 1803 + dependencies = [ 1804 + "server_fn_macro", 1805 + "syn", 1806 + ] 1807 + 1808 + [[package]] 1809 + name = "slab" 1810 + version = "0.4.9" 1811 + source = "registry+https://github.com/rust-lang/crates.io-index" 1812 + checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" 1813 + dependencies = [ 1814 + "autocfg", 1815 + ] 1816 + 1817 + [[package]] 1818 + name = "slotmap" 1819 + version = "1.0.7" 1820 + source = "registry+https://github.com/rust-lang/crates.io-index" 1821 + checksum = "dbff4acf519f630b3a3ddcfaea6c06b42174d9a44bc70c620e9ed1649d58b82a" 1822 + dependencies = [ 1823 + "version_check", 1824 + ] 1825 + 1826 + [[package]] 1827 + name = "smallvec" 1828 + version = "1.15.0" 1829 + source = "registry+https://github.com/rust-lang/crates.io-index" 1830 + checksum = "8917285742e9f3e1683f0a9c4e6b57960b7314d0b08d30d1ecd426713ee2eee9" 1831 + 1832 + [[package]] 1833 + name = "socket2" 1834 + version = "0.5.9" 1835 + source = "registry+https://github.com/rust-lang/crates.io-index" 1836 + checksum = "4f5fd57c80058a56cf5c777ab8a126398ece8e442983605d280a44ce79d0edef" 1837 + dependencies = [ 1838 + "libc", 1839 + "windows-sys 0.52.0", 1840 + ] 1841 + 1842 + [[package]] 1843 + name = "spin" 1844 + version = "0.9.8" 1845 + source = "registry+https://github.com/rust-lang/crates.io-index" 1846 + checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" 1847 + 1848 + [[package]] 1849 + name = "stable_deref_trait" 1850 + version = "1.2.0" 1851 + source = "registry+https://github.com/rust-lang/crates.io-index" 1852 + checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" 1853 + 1854 + [[package]] 1855 + name = "syn" 1856 + version = "2.0.100" 1857 + source = "registry+https://github.com/rust-lang/crates.io-index" 1858 + checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0" 1859 + dependencies = [ 1860 + "proc-macro2", 1861 + "quote", 1862 + "unicode-ident", 1863 + ] 1864 + 1865 + [[package]] 1866 + name = "syn_derive" 1867 + version = "0.2.0" 1868 + source = "registry+https://github.com/rust-lang/crates.io-index" 1869 + checksum = "cdb066a04799e45f5d582e8fc6ec8e6d6896040d00898eb4e6a835196815b219" 1870 + dependencies = [ 1871 + "proc-macro-error2", 1872 + "proc-macro2", 1873 + "quote", 1874 + "syn", 1875 + ] 1876 + 1877 + [[package]] 1878 + name = "sync_wrapper" 1879 + version = "1.0.2" 1880 + source = "registry+https://github.com/rust-lang/crates.io-index" 1881 + checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" 1882 + 1883 + [[package]] 1884 + name = "synstructure" 1885 + version = "0.13.1" 1886 + source = "registry+https://github.com/rust-lang/crates.io-index" 1887 + checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" 1888 + dependencies = [ 1889 + "proc-macro2", 1890 + "quote", 1891 + "syn", 1892 + ] 1893 + 1894 + [[package]] 1895 + name = "tachys" 1896 + version = "0.1.8" 1897 + source = "registry+https://github.com/rust-lang/crates.io-index" 1898 + checksum = "8d42b7c1545705f77d871228eb52cbb1376b35dc0a237be9fb11e2d9e4e20818" 1899 + dependencies = [ 1900 + "any_spawner", 1901 + "async-trait", 1902 + "const_str_slice_concat", 1903 + "drain_filter_polyfill", 1904 + "dyn-clone", 1905 + "either_of", 1906 + "futures", 1907 + "html-escape", 1908 + "indexmap", 1909 + "itertools", 1910 + "js-sys", 1911 + "linear-map", 1912 + "next_tuple", 1913 + "oco_ref", 1914 + "once_cell", 1915 + "or_poisoned", 1916 + "parking_lot", 1917 + "paste", 1918 + "reactive_graph", 1919 + "reactive_stores", 1920 + "rustc-hash", 1921 + "send_wrapper", 1922 + "slotmap", 1923 + "throw_error", 1924 + "wasm-bindgen", 1925 + "web-sys", 1926 + ] 1927 + 1928 + [[package]] 1929 + name = "thiserror" 1930 + version = "1.0.69" 1931 + source = "registry+https://github.com/rust-lang/crates.io-index" 1932 + checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" 1933 + dependencies = [ 1934 + "thiserror-impl 1.0.69", 1935 + ] 1936 + 1937 + [[package]] 1938 + name = "thiserror" 1939 + version = "2.0.12" 1940 + source = "registry+https://github.com/rust-lang/crates.io-index" 1941 + checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708" 1942 + dependencies = [ 1943 + "thiserror-impl 2.0.12", 1944 + ] 1945 + 1946 + [[package]] 1947 + name = "thiserror-impl" 1948 + version = "1.0.69" 1949 + source = "registry+https://github.com/rust-lang/crates.io-index" 1950 + checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" 1951 + dependencies = [ 1952 + "proc-macro2", 1953 + "quote", 1954 + "syn", 1955 + ] 1956 + 1957 + [[package]] 1958 + name = "thiserror-impl" 1959 + version = "2.0.12" 1960 + source = "registry+https://github.com/rust-lang/crates.io-index" 1961 + checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d" 1962 + dependencies = [ 1963 + "proc-macro2", 1964 + "quote", 1965 + "syn", 1966 + ] 1967 + 1968 + [[package]] 1969 + name = "throw_error" 1970 + version = "0.2.0" 1971 + source = "registry+https://github.com/rust-lang/crates.io-index" 1972 + checksum = "e4ef8bf264c6ae02a065a4a16553283f0656bd6266fc1fcb09fd2e6b5e91427b" 1973 + dependencies = [ 1974 + "pin-project-lite", 1975 + ] 1976 + 1977 + [[package]] 1978 + name = "tinystr" 1979 + version = "0.7.6" 1980 + source = "registry+https://github.com/rust-lang/crates.io-index" 1981 + checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" 1982 + dependencies = [ 1983 + "displaydoc", 1984 + "zerovec", 1985 + ] 1986 + 1987 + [[package]] 1988 + name = "tokio" 1989 + version = "1.44.2" 1990 + source = "registry+https://github.com/rust-lang/crates.io-index" 1991 + checksum = "e6b88822cbe49de4185e3a4cbf8321dd487cf5fe0c5c65695fef6346371e9c48" 1992 + dependencies = [ 1993 + "backtrace", 1994 + "bytes", 1995 + "libc", 1996 + "mio", 1997 + "pin-project-lite", 1998 + "socket2", 1999 + "tokio-macros", 2000 + "windows-sys 0.52.0", 2001 + ] 2002 + 2003 + [[package]] 2004 + name = "tokio-macros" 2005 + version = "2.5.0" 2006 + source = "registry+https://github.com/rust-lang/crates.io-index" 2007 + checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" 2008 + dependencies = [ 2009 + "proc-macro2", 2010 + "quote", 2011 + "syn", 2012 + ] 2013 + 2014 + [[package]] 2015 + name = "tokio-util" 2016 + version = "0.7.14" 2017 + source = "registry+https://github.com/rust-lang/crates.io-index" 2018 + checksum = "6b9590b93e6fcc1739458317cccd391ad3955e2bde8913edf6f95f9e65a8f034" 2019 + dependencies = [ 2020 + "bytes", 2021 + "futures-core", 2022 + "futures-sink", 2023 + "pin-project-lite", 2024 + "tokio", 2025 + ] 2026 + 2027 + [[package]] 2028 + name = "toml" 2029 + version = "0.8.20" 2030 + source = "registry+https://github.com/rust-lang/crates.io-index" 2031 + checksum = "cd87a5cdd6ffab733b2f74bc4fd7ee5fff6634124999ac278c35fc78c6120148" 2032 + dependencies = [ 2033 + "serde", 2034 + "serde_spanned", 2035 + "toml_datetime", 2036 + "toml_edit", 2037 + ] 2038 + 2039 + [[package]] 2040 + name = "toml_datetime" 2041 + version = "0.6.8" 2042 + source = "registry+https://github.com/rust-lang/crates.io-index" 2043 + checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" 2044 + dependencies = [ 2045 + "serde", 2046 + ] 2047 + 2048 + [[package]] 2049 + name = "toml_edit" 2050 + version = "0.22.24" 2051 + source = "registry+https://github.com/rust-lang/crates.io-index" 2052 + checksum = "17b4795ff5edd201c7cd6dca065ae59972ce77d1b80fa0a84d94950ece7d1474" 2053 + dependencies = [ 2054 + "indexmap", 2055 + "serde", 2056 + "serde_spanned", 2057 + "toml_datetime", 2058 + "winnow", 2059 + ] 2060 + 2061 + [[package]] 2062 + name = "tower" 2063 + version = "0.5.2" 2064 + source = "registry+https://github.com/rust-lang/crates.io-index" 2065 + checksum = "d039ad9159c98b70ecfd540b2573b97f7f52c3e8d9f8ad57a24b916a536975f9" 2066 + dependencies = [ 2067 + "futures-core", 2068 + "futures-util", 2069 + "pin-project-lite", 2070 + "sync_wrapper", 2071 + "tokio", 2072 + "tower-layer", 2073 + "tower-service", 2074 + "tracing", 2075 + ] 2076 + 2077 + [[package]] 2078 + name = "tower-http" 2079 + version = "0.6.2" 2080 + source = "registry+https://github.com/rust-lang/crates.io-index" 2081 + checksum = "403fa3b783d4b626a8ad51d766ab03cb6d2dbfc46b1c5d4448395e6628dc9697" 2082 + dependencies = [ 2083 + "bitflags", 2084 + "bytes", 2085 + "futures-util", 2086 + "http", 2087 + "http-body", 2088 + "http-body-util", 2089 + "http-range-header", 2090 + "httpdate", 2091 + "mime", 2092 + "mime_guess", 2093 + "percent-encoding", 2094 + "pin-project-lite", 2095 + "tokio", 2096 + "tokio-util", 2097 + "tower-layer", 2098 + "tower-service", 2099 + "tracing", 2100 + ] 2101 + 2102 + [[package]] 2103 + name = "tower-layer" 2104 + version = "0.3.3" 2105 + source = "registry+https://github.com/rust-lang/crates.io-index" 2106 + checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" 2107 + 2108 + [[package]] 2109 + name = "tower-service" 2110 + version = "0.3.3" 2111 + source = "registry+https://github.com/rust-lang/crates.io-index" 2112 + checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" 2113 + 2114 + [[package]] 2115 + name = "tracing" 2116 + version = "0.1.41" 2117 + source = "registry+https://github.com/rust-lang/crates.io-index" 2118 + checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" 2119 + dependencies = [ 2120 + "log", 2121 + "pin-project-lite", 2122 + "tracing-core", 2123 + ] 2124 + 2125 + [[package]] 2126 + name = "tracing-core" 2127 + version = "0.1.33" 2128 + source = "registry+https://github.com/rust-lang/crates.io-index" 2129 + checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" 2130 + dependencies = [ 2131 + "once_cell", 2132 + ] 2133 + 2134 + [[package]] 2135 + name = "typed-builder" 2136 + version = "0.20.1" 2137 + source = "registry+https://github.com/rust-lang/crates.io-index" 2138 + checksum = "cd9d30e3a08026c78f246b173243cf07b3696d274debd26680773b6773c2afc7" 2139 + dependencies = [ 2140 + "typed-builder-macro", 2141 + ] 2142 + 2143 + [[package]] 2144 + name = "typed-builder-macro" 2145 + version = "0.20.1" 2146 + source = "registry+https://github.com/rust-lang/crates.io-index" 2147 + checksum = "3c36781cc0e46a83726d9879608e4cf6c2505237e263a8eb8c24502989cfdb28" 2148 + dependencies = [ 2149 + "proc-macro2", 2150 + "quote", 2151 + "syn", 2152 + ] 2153 + 2154 + [[package]] 2155 + name = "unicase" 2156 + version = "2.8.1" 2157 + source = "registry+https://github.com/rust-lang/crates.io-index" 2158 + checksum = "75b844d17643ee918803943289730bec8aac480150456169e647ed0b576ba539" 2159 + 2160 + [[package]] 2161 + name = "unicode-ident" 2162 + version = "1.0.18" 2163 + source = "registry+https://github.com/rust-lang/crates.io-index" 2164 + checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" 2165 + 2166 + [[package]] 2167 + name = "unicode-segmentation" 2168 + version = "1.12.0" 2169 + source = "registry+https://github.com/rust-lang/crates.io-index" 2170 + checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" 2171 + 2172 + [[package]] 2173 + name = "unicode-xid" 2174 + version = "0.2.6" 2175 + source = "registry+https://github.com/rust-lang/crates.io-index" 2176 + checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" 2177 + 2178 + [[package]] 2179 + name = "url" 2180 + version = "2.5.4" 2181 + source = "registry+https://github.com/rust-lang/crates.io-index" 2182 + checksum = "32f8b686cadd1473f4bd0117a5d28d36b1ade384ea9b5069a1c40aefed7fda60" 2183 + dependencies = [ 2184 + "form_urlencoded", 2185 + "idna", 2186 + "percent-encoding", 2187 + ] 2188 + 2189 + [[package]] 2190 + name = "utf16_iter" 2191 + version = "1.0.5" 2192 + source = "registry+https://github.com/rust-lang/crates.io-index" 2193 + checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246" 2194 + 2195 + [[package]] 2196 + name = "utf8-width" 2197 + version = "0.1.7" 2198 + source = "registry+https://github.com/rust-lang/crates.io-index" 2199 + checksum = "86bd8d4e895da8537e5315b8254664e6b769c4ff3db18321b297a1e7004392e3" 2200 + 2201 + [[package]] 2202 + name = "utf8_iter" 2203 + version = "1.0.4" 2204 + source = "registry+https://github.com/rust-lang/crates.io-index" 2205 + checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" 2206 + 2207 + [[package]] 2208 + name = "uuid" 2209 + version = "1.16.0" 2210 + source = "registry+https://github.com/rust-lang/crates.io-index" 2211 + checksum = "458f7a779bf54acc9f347480ac654f68407d3aab21269a6e3c9f922acd9e2da9" 2212 + dependencies = [ 2213 + "getrandom 0.3.2", 2214 + ] 2215 + 2216 + [[package]] 2217 + name = "version_check" 2218 + version = "0.9.5" 2219 + source = "registry+https://github.com/rust-lang/crates.io-index" 2220 + checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" 2221 + 2222 + [[package]] 2223 + name = "walkdir" 2224 + version = "2.5.0" 2225 + source = "registry+https://github.com/rust-lang/crates.io-index" 2226 + checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" 2227 + dependencies = [ 2228 + "same-file", 2229 + "winapi-util", 2230 + ] 2231 + 2232 + [[package]] 2233 + name = "wasi" 2234 + version = "0.11.0+wasi-snapshot-preview1" 2235 + source = "registry+https://github.com/rust-lang/crates.io-index" 2236 + checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" 2237 + 2238 + [[package]] 2239 + name = "wasi" 2240 + version = "0.14.2+wasi-0.2.4" 2241 + source = "registry+https://github.com/rust-lang/crates.io-index" 2242 + checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" 2243 + dependencies = [ 2244 + "wit-bindgen-rt", 2245 + ] 2246 + 2247 + [[package]] 2248 + name = "wasm-bindgen" 2249 + version = "0.2.100" 2250 + source = "registry+https://github.com/rust-lang/crates.io-index" 2251 + checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" 2252 + dependencies = [ 2253 + "cfg-if", 2254 + "once_cell", 2255 + "rustversion", 2256 + "wasm-bindgen-macro", 2257 + ] 2258 + 2259 + [[package]] 2260 + name = "wasm-bindgen-backend" 2261 + version = "0.2.100" 2262 + source = "registry+https://github.com/rust-lang/crates.io-index" 2263 + checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" 2264 + dependencies = [ 2265 + "bumpalo", 2266 + "log", 2267 + "proc-macro2", 2268 + "quote", 2269 + "syn", 2270 + "wasm-bindgen-shared", 2271 + ] 2272 + 2273 + [[package]] 2274 + name = "wasm-bindgen-futures" 2275 + version = "0.4.50" 2276 + source = "registry+https://github.com/rust-lang/crates.io-index" 2277 + checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61" 2278 + dependencies = [ 2279 + "cfg-if", 2280 + "js-sys", 2281 + "once_cell", 2282 + "wasm-bindgen", 2283 + "web-sys", 2284 + ] 2285 + 2286 + [[package]] 2287 + name = "wasm-bindgen-macro" 2288 + version = "0.2.100" 2289 + source = "registry+https://github.com/rust-lang/crates.io-index" 2290 + checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" 2291 + dependencies = [ 2292 + "quote", 2293 + "wasm-bindgen-macro-support", 2294 + ] 2295 + 2296 + [[package]] 2297 + name = "wasm-bindgen-macro-support" 2298 + version = "0.2.100" 2299 + source = "registry+https://github.com/rust-lang/crates.io-index" 2300 + checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" 2301 + dependencies = [ 2302 + "proc-macro2", 2303 + "quote", 2304 + "syn", 2305 + "wasm-bindgen-backend", 2306 + "wasm-bindgen-shared", 2307 + ] 2308 + 2309 + [[package]] 2310 + name = "wasm-bindgen-shared" 2311 + version = "0.2.100" 2312 + source = "registry+https://github.com/rust-lang/crates.io-index" 2313 + checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" 2314 + dependencies = [ 2315 + "unicode-ident", 2316 + ] 2317 + 2318 + [[package]] 2319 + name = "wasm-streams" 2320 + version = "0.4.2" 2321 + source = "registry+https://github.com/rust-lang/crates.io-index" 2322 + checksum = "15053d8d85c7eccdbefef60f06769760a563c7f0a9d6902a13d35c7800b0ad65" 2323 + dependencies = [ 2324 + "futures-util", 2325 + "js-sys", 2326 + "wasm-bindgen", 2327 + "wasm-bindgen-futures", 2328 + "web-sys", 2329 + ] 2330 + 2331 + [[package]] 2332 + name = "web-sys" 2333 + version = "0.3.77" 2334 + source = "registry+https://github.com/rust-lang/crates.io-index" 2335 + checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" 2336 + dependencies = [ 2337 + "js-sys", 2338 + "wasm-bindgen", 2339 + ] 2340 + 2341 + [[package]] 2342 + name = "winapi-util" 2343 + version = "0.1.9" 2344 + source = "registry+https://github.com/rust-lang/crates.io-index" 2345 + checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" 2346 + dependencies = [ 2347 + "windows-sys 0.59.0", 2348 + ] 2349 + 2350 + [[package]] 2351 + name = "windows-sys" 2352 + version = "0.52.0" 2353 + source = "registry+https://github.com/rust-lang/crates.io-index" 2354 + checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" 2355 + dependencies = [ 2356 + "windows-targets", 2357 + ] 2358 + 2359 + [[package]] 2360 + name = "windows-sys" 2361 + version = "0.59.0" 2362 + source = "registry+https://github.com/rust-lang/crates.io-index" 2363 + checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" 2364 + dependencies = [ 2365 + "windows-targets", 2366 + ] 2367 + 2368 + [[package]] 2369 + name = "windows-targets" 2370 + version = "0.52.6" 2371 + source = "registry+https://github.com/rust-lang/crates.io-index" 2372 + checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" 2373 + dependencies = [ 2374 + "windows_aarch64_gnullvm", 2375 + "windows_aarch64_msvc", 2376 + "windows_i686_gnu", 2377 + "windows_i686_gnullvm", 2378 + "windows_i686_msvc", 2379 + "windows_x86_64_gnu", 2380 + "windows_x86_64_gnullvm", 2381 + "windows_x86_64_msvc", 2382 + ] 2383 + 2384 + [[package]] 2385 + name = "windows_aarch64_gnullvm" 2386 + version = "0.52.6" 2387 + source = "registry+https://github.com/rust-lang/crates.io-index" 2388 + checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" 2389 + 2390 + [[package]] 2391 + name = "windows_aarch64_msvc" 2392 + version = "0.52.6" 2393 + source = "registry+https://github.com/rust-lang/crates.io-index" 2394 + checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" 2395 + 2396 + [[package]] 2397 + name = "windows_i686_gnu" 2398 + version = "0.52.6" 2399 + source = "registry+https://github.com/rust-lang/crates.io-index" 2400 + checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" 2401 + 2402 + [[package]] 2403 + name = "windows_i686_gnullvm" 2404 + version = "0.52.6" 2405 + source = "registry+https://github.com/rust-lang/crates.io-index" 2406 + checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" 2407 + 2408 + [[package]] 2409 + name = "windows_i686_msvc" 2410 + version = "0.52.6" 2411 + source = "registry+https://github.com/rust-lang/crates.io-index" 2412 + checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" 2413 + 2414 + [[package]] 2415 + name = "windows_x86_64_gnu" 2416 + version = "0.52.6" 2417 + source = "registry+https://github.com/rust-lang/crates.io-index" 2418 + checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" 2419 + 2420 + [[package]] 2421 + name = "windows_x86_64_gnullvm" 2422 + version = "0.52.6" 2423 + source = "registry+https://github.com/rust-lang/crates.io-index" 2424 + checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" 2425 + 2426 + [[package]] 2427 + name = "windows_x86_64_msvc" 2428 + version = "0.52.6" 2429 + source = "registry+https://github.com/rust-lang/crates.io-index" 2430 + checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" 2431 + 2432 + [[package]] 2433 + name = "winnow" 2434 + version = "0.7.6" 2435 + source = "registry+https://github.com/rust-lang/crates.io-index" 2436 + checksum = "63d3fcd9bba44b03821e7d699eeee959f3126dcc4aa8e4ae18ec617c2a5cea10" 2437 + dependencies = [ 2438 + "memchr", 2439 + ] 2440 + 2441 + [[package]] 2442 + name = "wit-bindgen-rt" 2443 + version = "0.39.0" 2444 + source = "registry+https://github.com/rust-lang/crates.io-index" 2445 + checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" 2446 + dependencies = [ 2447 + "bitflags", 2448 + ] 2449 + 2450 + [[package]] 2451 + name = "write16" 2452 + version = "1.0.0" 2453 + source = "registry+https://github.com/rust-lang/crates.io-index" 2454 + checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936" 2455 + 2456 + [[package]] 2457 + name = "writeable" 2458 + version = "0.5.5" 2459 + source = "registry+https://github.com/rust-lang/crates.io-index" 2460 + checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" 2461 + 2462 + [[package]] 2463 + name = "xxhash-rust" 2464 + version = "0.8.15" 2465 + source = "registry+https://github.com/rust-lang/crates.io-index" 2466 + checksum = "fdd20c5420375476fbd4394763288da7eb0cc0b8c11deed431a91562af7335d3" 2467 + 2468 + [[package]] 2469 + name = "yansi" 2470 + version = "1.0.1" 2471 + source = "registry+https://github.com/rust-lang/crates.io-index" 2472 + checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" 2473 + 2474 + [[package]] 2475 + name = "yoke" 2476 + version = "0.7.5" 2477 + source = "registry+https://github.com/rust-lang/crates.io-index" 2478 + checksum = "120e6aef9aa629e3d4f52dc8cc43a015c7724194c97dfaf45180d2daf2b77f40" 2479 + dependencies = [ 2480 + "serde", 2481 + "stable_deref_trait", 2482 + "yoke-derive", 2483 + "zerofrom", 2484 + ] 2485 + 2486 + [[package]] 2487 + name = "yoke-derive" 2488 + version = "0.7.5" 2489 + source = "registry+https://github.com/rust-lang/crates.io-index" 2490 + checksum = "2380878cad4ac9aac1e2435f3eb4020e8374b5f13c296cb75b4620ff8e229154" 2491 + dependencies = [ 2492 + "proc-macro2", 2493 + "quote", 2494 + "syn", 2495 + "synstructure", 2496 + ] 2497 + 2498 + [[package]] 2499 + name = "zerocopy" 2500 + version = "0.8.24" 2501 + source = "registry+https://github.com/rust-lang/crates.io-index" 2502 + checksum = "2586fea28e186957ef732a5f8b3be2da217d65c5969d4b1e17f973ebbe876879" 2503 + dependencies = [ 2504 + "zerocopy-derive", 2505 + ] 2506 + 2507 + [[package]] 2508 + name = "zerocopy-derive" 2509 + version = "0.8.24" 2510 + source = "registry+https://github.com/rust-lang/crates.io-index" 2511 + checksum = "a996a8f63c5c4448cd959ac1bab0aaa3306ccfd060472f85943ee0750f0169be" 2512 + dependencies = [ 2513 + "proc-macro2", 2514 + "quote", 2515 + "syn", 2516 + ] 2517 + 2518 + [[package]] 2519 + name = "zerofrom" 2520 + version = "0.1.6" 2521 + source = "registry+https://github.com/rust-lang/crates.io-index" 2522 + checksum = "50cc42e0333e05660c3587f3bf9d0478688e15d870fab3346451ce7f8c9fbea5" 2523 + dependencies = [ 2524 + "zerofrom-derive", 2525 + ] 2526 + 2527 + [[package]] 2528 + name = "zerofrom-derive" 2529 + version = "0.1.6" 2530 + source = "registry+https://github.com/rust-lang/crates.io-index" 2531 + checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" 2532 + dependencies = [ 2533 + "proc-macro2", 2534 + "quote", 2535 + "syn", 2536 + "synstructure", 2537 + ] 2538 + 2539 + [[package]] 2540 + name = "zerovec" 2541 + version = "0.10.4" 2542 + source = "registry+https://github.com/rust-lang/crates.io-index" 2543 + checksum = "aa2b893d79df23bfb12d5461018d408ea19dfafe76c2c7ef6d4eba614f8ff079" 2544 + dependencies = [ 2545 + "yoke", 2546 + "zerofrom", 2547 + "zerovec-derive", 2548 + ] 2549 + 2550 + [[package]] 2551 + name = "zerovec-derive" 2552 + version = "0.10.3" 2553 + source = "registry+https://github.com/rust-lang/crates.io-index" 2554 + checksum = "6eafa6dfb17584ea3e2bd6e76e0cc15ad7af12b09abdd1ca55961bed9b1063c6" 2555 + dependencies = [ 2556 + "proc-macro2", 2557 + "quote", 2558 + "syn", 2559 + ]
+102
Cargo.toml
··· 1 + [package] 2 + name = "leptos-sounds-like-a-disease" 3 + version = "0.1.0" 4 + edition = "2021" 5 + 6 + [lib] 7 + crate-type = ["cdylib", "rlib"] 8 + 9 + [dependencies] 10 + leptos = { version = "0.7.0" } 11 + leptos_router = { version = "0.7.0" } 12 + axum = { version = "0.7", optional = true } 13 + console_error_panic_hook = { version = "0.1", optional = true} 14 + leptos_axum = { version = "0.7.0", optional = true } 15 + leptos_meta = { version = "0.7.0" } 16 + tokio = { version = "1", features = ["rt-multi-thread"], optional = true } 17 + wasm-bindgen = { version = "=0.2.100", optional = true } 18 + 19 + [features] 20 + hydrate = [ 21 + "leptos/hydrate", 22 + "dep:console_error_panic_hook", 23 + "dep:wasm-bindgen", 24 + ] 25 + ssr = [ 26 + "dep:axum", 27 + "dep:tokio", 28 + "dep:leptos_axum", 29 + "leptos/ssr", 30 + "leptos_meta/ssr", 31 + "leptos_router/ssr", 32 + ] 33 + 34 + # Defines a size-optimized profile for the WASM bundle in release mode 35 + [profile.wasm-release] 36 + inherits = "release" 37 + opt-level = 'z' 38 + lto = true 39 + codegen-units = 1 40 + panic = "abort" 41 + 42 + [package.metadata.leptos] 43 + # The name used by wasm-bindgen/cargo-leptos for the JS/WASM bundle. Defaults to the crate name 44 + output-name = "leptos-sounds-like-a-disease" 45 + 46 + # The site root folder is where cargo-leptos generate all output. WARNING: all content of this folder will be erased on a rebuild. Use it in your server setup. 47 + site-root = "target/site" 48 + 49 + # The site-root relative folder where all compiled output (JS, WASM and CSS) is written 50 + # Defaults to pkg 51 + site-pkg-dir = "pkg" 52 + 53 + # [Optional] The source CSS file. If it ends with .sass or .scss then it will be compiled by dart-sass into CSS. The CSS is optimized by Lightning CSS before being written to <site-root>/<site-pkg>/app.css 54 + style-file = "style/main.scss" 55 + # Assets source dir. All files found here will be copied and synchronized to site-root. 56 + # The assets-dir cannot have a sub directory with the same name/path as site-pkg-dir. 57 + # 58 + # Optional. Env: LEPTOS_ASSETS_DIR. 59 + assets-dir = "public" 60 + 61 + # The IP and port (ex: 127.0.0.1:3000) where the server serves the content. Use it in your server setup. 62 + site-addr = "127.0.0.1:3000" 63 + 64 + # The port to use for automatic reload monitoring 65 + reload-port = 3001 66 + 67 + # [Optional] Command to use when running end2end tests. It will run in the end2end dir. 68 + # [Windows] for non-WSL use "npx.cmd playwright test" 69 + # This binary name can be checked in Powershell with Get-Command npx 70 + end2end-cmd = "npx playwright test" 71 + end2end-dir = "end2end" 72 + 73 + # The browserlist query used for optimizing the CSS. 74 + browserquery = "defaults" 75 + 76 + # The environment Leptos will run in, usually either "DEV" or "PROD" 77 + env = "DEV" 78 + 79 + # The features to use when compiling the bin target 80 + # 81 + # Optional. Can be over-ridden with the command line parameter --bin-features 82 + bin-features = ["ssr"] 83 + 84 + # If the --no-default-features flag should be used when compiling the bin target 85 + # 86 + # Optional. Defaults to false. 87 + bin-default-features = false 88 + 89 + # The features to use when compiling the lib target 90 + # 91 + # Optional. Can be over-ridden with the command line parameter --lib-features 92 + lib-features = ["hydrate"] 93 + 94 + # If the --no-default-features flag should be used when compiling the lib target 95 + # 96 + # Optional. Defaults to false. 97 + lib-default-features = false 98 + 99 + # The profile to use for the lib target when compiling for release 100 + # 101 + # Optional. Defaults to "release". 102 + lib-profile-release = "wasm-release"
+89 -3
README.md
··· 1 - # Leptos sounds like a disease 1 + <picture> 2 + <source srcset="https://raw.githubusercontent.com/leptos-rs/leptos/main/docs/logos/Leptos_logo_Solid_White.svg" media="(prefers-color-scheme: dark)"> 3 + <img src="https://raw.githubusercontent.com/leptos-rs/leptos/main/docs/logos/Leptos_logo_RGB.svg" alt="Leptos Logo"> 4 + </picture> 5 + 6 + # Leptos Axum Starter Template 7 + 8 + This is a template for use with the [Leptos](https://github.com/leptos-rs/leptos) web framework and the [cargo-leptos](https://github.com/akesson/cargo-leptos) tool using [Axum](https://github.com/tokio-rs/axum). 9 + 10 + ## Creating your template repo 11 + 12 + If you don't have `cargo-leptos` installed you can install it with 2 13 3 - Messing around with leptos SSR to see if it's able to work for our use-cases. 14 + ```bash 15 + cargo install cargo-leptos --locked 16 + ``` 17 + 18 + Then run 19 + ```bash 20 + cargo leptos new --git https://github.com/leptos-rs/start-axum 21 + ``` 4 22 5 - I'm going to test out somewhat work-related oauth, SSR, db connectivity, etc. 23 + to generate a new project template. 24 + 25 + ```bash 26 + cd leptos-sounds-like-a-disease 27 + ``` 28 + 29 + to go to your newly created project. 30 + Feel free to explore the project structure, but the best place to start with your application code is in `src/app.rs`. 31 + Addtionally, Cargo.toml may need updating as new versions of the dependencies are released, especially if things are not working after a `cargo update`. 32 + 33 + ## Running your project 34 + 35 + ```bash 36 + cargo leptos watch 37 + ``` 38 + 39 + ## Installing Additional Tools 40 + 41 + By default, `cargo-leptos` uses `nightly` Rust, `cargo-generate`, and `sass`. If you run into any trouble, you may need to install one or more of these tools. 42 + 43 + 1. `rustup toolchain install nightly --allow-downgrade` - make sure you have Rust nightly 44 + 2. `rustup target add wasm32-unknown-unknown` - add the ability to compile Rust to WebAssembly 45 + 3. `cargo install cargo-generate` - install `cargo-generate` binary (should be installed automatically in future) 46 + 4. `npm install -g sass` - install `dart-sass` (should be optional in future 47 + 5. Run `npm install` in end2end subdirectory before test 48 + 49 + ## Compiling for Release 50 + ```bash 51 + cargo leptos build --release 52 + ``` 53 + 54 + Will generate your server binary in target/server/release and your site package in target/site 55 + 56 + ## Testing Your Project 57 + ```bash 58 + cargo leptos end-to-end 59 + ``` 60 + 61 + ```bash 62 + cargo leptos end-to-end --release 63 + ``` 64 + 65 + Cargo-leptos uses Playwright as the end-to-end test tool. 66 + Tests are located in end2end/tests directory. 67 + 68 + ## Executing a Server on a Remote Machine Without the Toolchain 69 + After running a `cargo leptos build --release` the minimum files needed are: 70 + 71 + 1. The server binary located in `target/server/release` 72 + 2. The `site` directory and all files within located in `target/site` 73 + 74 + Copy these files to your remote server. The directory structure should be: 75 + ```text 76 + leptos-sounds-like-a-disease 77 + site/ 78 + ``` 79 + Set the following environment variables (updating for your project as needed): 80 + ```sh 81 + export LEPTOS_OUTPUT_NAME="leptos-sounds-like-a-disease" 82 + export LEPTOS_SITE_ROOT="site" 83 + export LEPTOS_SITE_PKG_DIR="pkg" 84 + export LEPTOS_SITE_ADDR="127.0.0.1:3000" 85 + export LEPTOS_RELOAD_PORT="3001" 86 + ``` 87 + Finally, run the server binary. 88 + 89 + ## Licensing 90 + 91 + This template itself is released under the Unlicense. You should replace the LICENSE for your own application with an appropriate license if you plan to release it publicly.
+3
end2end/.gitignore
··· 1 + node_modules 2 + playwright-report 3 + test-results
+167
end2end/package-lock.json
··· 1 + { 2 + "name": "end2end", 3 + "version": "1.0.0", 4 + "lockfileVersion": 2, 5 + "requires": true, 6 + "packages": { 7 + "": { 8 + "name": "end2end", 9 + "version": "1.0.0", 10 + "license": "ISC", 11 + "devDependencies": { 12 + "@playwright/test": "^1.44.1", 13 + "@types/node": "^20.12.12", 14 + "typescript": "^5.4.5" 15 + } 16 + }, 17 + "node_modules/@playwright/test": { 18 + "version": "1.44.1", 19 + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.44.1.tgz", 20 + "integrity": "sha512-1hZ4TNvD5z9VuhNJ/walIjvMVvYkZKf71axoF/uiAqpntQJXpG64dlXhoDXE3OczPuTuvjf/M5KWFg5VAVUS3Q==", 21 + "dev": true, 22 + "license": "Apache-2.0", 23 + "dependencies": { 24 + "playwright": "1.44.1" 25 + }, 26 + "bin": { 27 + "playwright": "cli.js" 28 + }, 29 + "engines": { 30 + "node": ">=16" 31 + } 32 + }, 33 + "node_modules/@types/node": { 34 + "version": "20.12.12", 35 + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.12.tgz", 36 + "integrity": "sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw==", 37 + "dev": true, 38 + "license": "MIT", 39 + "dependencies": { 40 + "undici-types": "~5.26.4" 41 + } 42 + }, 43 + "node_modules/fsevents": { 44 + "version": "2.3.2", 45 + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", 46 + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", 47 + "dev": true, 48 + "hasInstallScript": true, 49 + "license": "MIT", 50 + "optional": true, 51 + "os": [ 52 + "darwin" 53 + ], 54 + "engines": { 55 + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 56 + } 57 + }, 58 + "node_modules/playwright": { 59 + "version": "1.44.1", 60 + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.44.1.tgz", 61 + "integrity": "sha512-qr/0UJ5CFAtloI3avF95Y0L1xQo6r3LQArLIg/z/PoGJ6xa+EwzrwO5lpNr/09STxdHuUoP2mvuELJS+hLdtgg==", 62 + "dev": true, 63 + "license": "Apache-2.0", 64 + "dependencies": { 65 + "playwright-core": "1.44.1" 66 + }, 67 + "bin": { 68 + "playwright": "cli.js" 69 + }, 70 + "engines": { 71 + "node": ">=16" 72 + }, 73 + "optionalDependencies": { 74 + "fsevents": "2.3.2" 75 + } 76 + }, 77 + "node_modules/playwright-core": { 78 + "version": "1.44.1", 79 + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.44.1.tgz", 80 + "integrity": "sha512-wh0JWtYTrhv1+OSsLPgFzGzt67Y7BE/ZS3jEqgGBlp2ppp1ZDj8c+9IARNW4dwf1poq5MgHreEM2KV/GuR4cFA==", 81 + "dev": true, 82 + "license": "Apache-2.0", 83 + "bin": { 84 + "playwright-core": "cli.js" 85 + }, 86 + "engines": { 87 + "node": ">=16" 88 + } 89 + }, 90 + "node_modules/typescript": { 91 + "version": "5.4.5", 92 + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", 93 + "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", 94 + "dev": true, 95 + "license": "Apache-2.0", 96 + "bin": { 97 + "tsc": "bin/tsc", 98 + "tsserver": "bin/tsserver" 99 + }, 100 + "engines": { 101 + "node": ">=14.17" 102 + } 103 + }, 104 + "node_modules/undici-types": { 105 + "version": "5.26.5", 106 + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", 107 + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", 108 + "dev": true, 109 + "license": "MIT" 110 + } 111 + }, 112 + "dependencies": { 113 + "@playwright/test": { 114 + "version": "1.44.1", 115 + "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.44.1.tgz", 116 + "integrity": "sha512-1hZ4TNvD5z9VuhNJ/walIjvMVvYkZKf71axoF/uiAqpntQJXpG64dlXhoDXE3OczPuTuvjf/M5KWFg5VAVUS3Q==", 117 + "dev": true, 118 + "requires": { 119 + "playwright": "1.44.1" 120 + } 121 + }, 122 + "@types/node": { 123 + "version": "20.12.12", 124 + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.12.tgz", 125 + "integrity": "sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw==", 126 + "dev": true, 127 + "requires": { 128 + "undici-types": "~5.26.4" 129 + } 130 + }, 131 + "fsevents": { 132 + "version": "2.3.2", 133 + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", 134 + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", 135 + "dev": true, 136 + "optional": true 137 + }, 138 + "playwright": { 139 + "version": "1.44.1", 140 + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.44.1.tgz", 141 + "integrity": "sha512-qr/0UJ5CFAtloI3avF95Y0L1xQo6r3LQArLIg/z/PoGJ6xa+EwzrwO5lpNr/09STxdHuUoP2mvuELJS+hLdtgg==", 142 + "dev": true, 143 + "requires": { 144 + "fsevents": "2.3.2", 145 + "playwright-core": "1.44.1" 146 + } 147 + }, 148 + "playwright-core": { 149 + "version": "1.44.1", 150 + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.44.1.tgz", 151 + "integrity": "sha512-wh0JWtYTrhv1+OSsLPgFzGzt67Y7BE/ZS3jEqgGBlp2ppp1ZDj8c+9IARNW4dwf1poq5MgHreEM2KV/GuR4cFA==", 152 + "dev": true 153 + }, 154 + "typescript": { 155 + "version": "5.4.5", 156 + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", 157 + "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", 158 + "dev": true 159 + }, 160 + "undici-types": { 161 + "version": "5.26.5", 162 + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", 163 + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", 164 + "dev": true 165 + } 166 + } 167 + }
+15
end2end/package.json
··· 1 + { 2 + "name": "end2end", 3 + "version": "1.0.0", 4 + "description": "", 5 + "main": "index.js", 6 + "scripts": {}, 7 + "keywords": [], 8 + "author": "", 9 + "license": "ISC", 10 + "devDependencies": { 11 + "@playwright/test": "^1.44.1", 12 + "@types/node": "^20.12.12", 13 + "typescript": "^5.4.5" 14 + } 15 + }
+105
end2end/playwright.config.ts
··· 1 + import type { PlaywrightTestConfig } from "@playwright/test"; 2 + import { devices, defineConfig } from "@playwright/test"; 3 + 4 + /** 5 + * Read environment variables from file. 6 + * https://github.com/motdotla/dotenv 7 + */ 8 + // require('dotenv').config(); 9 + 10 + /** 11 + * See https://playwright.dev/docs/test-configuration. 12 + */ 13 + export default defineConfig({ 14 + testDir: "./tests", 15 + /* Maximum time one test can run for. */ 16 + timeout: 30 * 1000, 17 + expect: { 18 + /** 19 + * Maximum time expect() should wait for the condition to be met. 20 + * For example in `await expect(locator).toHaveText();` 21 + */ 22 + timeout: 5000, 23 + }, 24 + /* Run tests in files in parallel */ 25 + fullyParallel: true, 26 + /* Fail the build on CI if you accidentally left test.only in the source code. */ 27 + forbidOnly: !!process.env.CI, 28 + /* Retry on CI only */ 29 + retries: process.env.CI ? 2 : 0, 30 + /* Opt out of parallel tests on CI. */ 31 + workers: process.env.CI ? 1 : undefined, 32 + /* Reporter to use. See https://playwright.dev/docs/test-reporters */ 33 + reporter: "html", 34 + /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ 35 + use: { 36 + /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ 37 + actionTimeout: 0, 38 + /* Base URL to use in actions like `await page.goto('/')`. */ 39 + // baseURL: 'http://localhost:3000', 40 + 41 + /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ 42 + trace: "on-first-retry", 43 + }, 44 + 45 + /* Configure projects for major browsers */ 46 + projects: [ 47 + { 48 + name: "chromium", 49 + use: { 50 + ...devices["Desktop Chrome"], 51 + }, 52 + }, 53 + 54 + { 55 + name: "firefox", 56 + use: { 57 + ...devices["Desktop Firefox"], 58 + }, 59 + }, 60 + 61 + { 62 + name: "webkit", 63 + use: { 64 + ...devices["Desktop Safari"], 65 + }, 66 + }, 67 + 68 + /* Test against mobile viewports. */ 69 + // { 70 + // name: 'Mobile Chrome', 71 + // use: { 72 + // ...devices['Pixel 5'], 73 + // }, 74 + // }, 75 + // { 76 + // name: 'Mobile Safari', 77 + // use: { 78 + // ...devices['iPhone 12'], 79 + // }, 80 + // }, 81 + 82 + /* Test against branded browsers. */ 83 + // { 84 + // name: 'Microsoft Edge', 85 + // use: { 86 + // channel: 'msedge', 87 + // }, 88 + // }, 89 + // { 90 + // name: 'Google Chrome', 91 + // use: { 92 + // channel: 'chrome', 93 + // }, 94 + // }, 95 + ], 96 + 97 + /* Folder for test artifacts such as screenshots, videos, traces, etc. */ 98 + // outputDir: 'test-results/', 99 + 100 + /* Run your local dev server before starting the tests */ 101 + // webServer: { 102 + // command: 'npm run start', 103 + // port: 3000, 104 + // }, 105 + });
+9
end2end/tests/example.spec.ts
··· 1 + import { test, expect } from "@playwright/test"; 2 + 3 + test("homepage has title and heading text", async ({ page }) => { 4 + await page.goto("http://localhost:3000/"); 5 + 6 + await expect(page).toHaveTitle("Welcome to Leptos"); 7 + 8 + await expect(page.locator("h1")).toHaveText("Welcome to Leptos!"); 9 + });
+109
end2end/tsconfig.json
··· 1 + { 2 + "compilerOptions": { 3 + /* Visit https://aka.ms/tsconfig to read more about this file */ 4 + 5 + /* Projects */ 6 + // "incremental": true, /* Save .tsbuildinfo files to allow for incremental compilation of projects. */ 7 + // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ 8 + // "tsBuildInfoFile": "./.tsbuildinfo", /* Specify the path to .tsbuildinfo incremental compilation file. */ 9 + // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects. */ 10 + // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ 11 + // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ 12 + 13 + /* Language and Environment */ 14 + "target": "es2016", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ 15 + // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ 16 + // "jsx": "preserve", /* Specify what JSX code is generated. */ 17 + // "experimentalDecorators": true, /* Enable experimental support for legacy experimental decorators. */ 18 + // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ 19 + // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'. */ 20 + // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ 21 + // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'. */ 22 + // "reactNamespace": "", /* Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit. */ 23 + // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ 24 + // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ 25 + // "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */ 26 + 27 + /* Modules */ 28 + "module": "commonjs", /* Specify what module code is generated. */ 29 + // "rootDir": "./", /* Specify the root folder within your source files. */ 30 + // "moduleResolution": "node10", /* Specify how TypeScript looks up a file from a given module specifier. */ 31 + // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ 32 + // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ 33 + // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ 34 + // "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */ 35 + // "types": [], /* Specify type package names to be included without being referenced in a source file. */ 36 + // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ 37 + // "moduleSuffixes": [], /* List of file name suffixes to search when resolving a module. */ 38 + // "allowImportingTsExtensions": true, /* Allow imports to include TypeScript file extensions. Requires '--moduleResolution bundler' and either '--noEmit' or '--emitDeclarationOnly' to be set. */ 39 + // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ 40 + // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ 41 + // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ 42 + // "resolveJsonModule": true, /* Enable importing .json files. */ 43 + // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ 44 + // "noResolve": true, /* Disallow 'import's, 'require's or '<reference>'s from expanding the number of files TypeScript should add to a project. */ 45 + 46 + /* JavaScript Support */ 47 + // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */ 48 + // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ 49 + // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */ 50 + 51 + /* Emit */ 52 + // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ 53 + // "declarationMap": true, /* Create sourcemaps for d.ts files. */ 54 + // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ 55 + // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ 56 + // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ 57 + // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output. */ 58 + // "outDir": "./", /* Specify an output folder for all emitted files. */ 59 + // "removeComments": true, /* Disable emitting comments. */ 60 + // "noEmit": true, /* Disable emitting files from a compilation. */ 61 + // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ 62 + // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types. */ 63 + // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ 64 + // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ 65 + // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ 66 + // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ 67 + // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ 68 + // "newLine": "crlf", /* Set the newline character for emitting files. */ 69 + // "stripInternal": true, /* Disable emitting declarations that have '@internal' in their JSDoc comments. */ 70 + // "noEmitHelpers": true, /* Disable generating custom helper functions like '__extends' in compiled output. */ 71 + // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ 72 + // "preserveConstEnums": true, /* Disable erasing 'const enum' declarations in generated code. */ 73 + // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ 74 + // "preserveValueImports": true, /* Preserve unused imported values in the JavaScript output that would otherwise be removed. */ 75 + 76 + /* Interop Constraints */ 77 + // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ 78 + // "verbatimModuleSyntax": true, /* Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting. */ 79 + // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ 80 + "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ 81 + // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ 82 + "forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */ 83 + 84 + /* Type Checking */ 85 + "strict": true, /* Enable all strict type-checking options. */ 86 + // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied 'any' type. */ 87 + // "strictNullChecks": true, /* When type checking, take into account 'null' and 'undefined'. */ 88 + // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ 89 + // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */ 90 + // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ 91 + // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */ 92 + // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */ 93 + // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ 94 + // "noUnusedLocals": true, /* Enable error reporting when local variables aren't read. */ 95 + // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read. */ 96 + // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ 97 + // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ 98 + // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ 99 + // "noUncheckedIndexedAccess": true, /* Add 'undefined' to a type when accessed using an index. */ 100 + // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ 101 + // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type. */ 102 + // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ 103 + // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ 104 + 105 + /* Completeness */ 106 + // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ 107 + "skipLibCheck": true /* Skip type checking all .d.ts files. */ 108 + } 109 + }
public/favicon.ico

This is a binary file and will not be displayed.

+62
src/app.rs
··· 1 + use leptos::prelude::*; 2 + use leptos_meta::{provide_meta_context, MetaTags, Stylesheet, Title}; 3 + use leptos_router::{ 4 + components::{Route, Router, Routes}, 5 + StaticSegment, 6 + }; 7 + 8 + pub fn shell(options: LeptosOptions) -> impl IntoView { 9 + view! { 10 + <!DOCTYPE html> 11 + <html lang="en"> 12 + <head> 13 + <meta charset="utf-8"/> 14 + <meta name="viewport" content="width=device-width, initial-scale=1"/> 15 + <AutoReload options=options.clone() /> 16 + <HydrationScripts options/> 17 + <MetaTags/> 18 + </head> 19 + <body> 20 + <App/> 21 + </body> 22 + </html> 23 + } 24 + } 25 + 26 + #[component] 27 + pub fn App() -> impl IntoView { 28 + // Provides context that manages stylesheets, titles, meta tags, etc. 29 + provide_meta_context(); 30 + 31 + view! { 32 + // injects a stylesheet into the document <head> 33 + // id=leptos means cargo-leptos will hot-reload this stylesheet 34 + <Stylesheet id="leptos" href="/pkg/leptos-sounds-like-a-disease.css"/> 35 + 36 + // sets the document title 37 + <Title text="Welcome to Leptos"/> 38 + 39 + // content for this welcome page 40 + <Router> 41 + <main> 42 + <Routes fallback=|| "Page not found.".into_view()> 43 + <Route path=StaticSegment("") view=HomePage/> 44 + </Routes> 45 + </main> 46 + </Router> 47 + } 48 + } 49 + 50 + /// Renders the home page of your application. 51 + #[component] 52 + fn HomePage() -> impl IntoView { 53 + // Creates a reactive value to update the button 54 + let count = RwSignal::new(0); 55 + let on_click = move |_| *count.write() += 1; 56 + 57 + view! { 58 + <h1>"Welcome to Leptos!"</h1> 59 + <p>Mah butt fell off</p> 60 + <button on:click=on_click>"Click Me: " {count}</button> 61 + } 62 + }
+9
src/lib.rs
··· 1 + pub mod app; 2 + 3 + #[cfg(feature = "hydrate")] 4 + #[wasm_bindgen::prelude::wasm_bindgen] 5 + pub fn hydrate() { 6 + use crate::app::*; 7 + console_error_panic_hook::set_once(); 8 + leptos::mount::hydrate_body(App); 9 + }
+39
src/main.rs
··· 1 + 2 + #[cfg(feature = "ssr")] 3 + #[tokio::main] 4 + async fn main() { 5 + use axum::Router; 6 + use leptos::logging::log; 7 + use leptos::prelude::*; 8 + use leptos_axum::{generate_route_list, LeptosRoutes}; 9 + use leptos_sounds_like_a_disease::app::*; 10 + 11 + let conf = get_configuration(None).unwrap(); 12 + let addr = conf.leptos_options.site_addr; 13 + let leptos_options = conf.leptos_options; 14 + // Generate the list of routes in your Leptos App 15 + let routes = generate_route_list(App); 16 + 17 + let app = Router::new() 18 + .leptos_routes(&leptos_options, routes, { 19 + let leptos_options = leptos_options.clone(); 20 + move || shell(leptos_options.clone()) 21 + }) 22 + .fallback(leptos_axum::file_and_error_handler(shell)) 23 + .with_state(leptos_options); 24 + 25 + // run our app with hyper 26 + // `axum::Server` is a re-export of `hyper::Server` 27 + log!("listening on http://{}", &addr); 28 + let listener = tokio::net::TcpListener::bind(&addr).await.unwrap(); 29 + axum::serve(listener, app.into_make_service()) 30 + .await 31 + .unwrap(); 32 + } 33 + 34 + #[cfg(not(feature = "ssr"))] 35 + pub fn main() { 36 + // no client-side main function 37 + // unless we want this to work with e.g., Trunk for pure client-side testing 38 + // see lib.rs for hydration function instead 39 + }
+4
style/main.scss
··· 1 + body { 2 + font-family: sans-serif; 3 + text-align: center; 4 + }