[READ-ONLY] Mirror of https://github.com/probablykasper/ferrum. Music library app for Mac, Linux and Windows ferrum.kasper.space
electron linux macos music music-library music-player napi windows
0

Configure Feed

Select the types of activity you want to include in your feed.

Update deps

Kasper (Mar 21, 2023, 6:38 AM +0100) 031712fa 6f4dff39

+632 -366
+376 -155
Cargo.lock
··· 10 10 11 11 [[package]] 12 12 name = "aho-corasick" 13 - version = "0.7.19" 13 + version = "0.7.20" 14 14 source = "registry+https://github.com/rust-lang/crates.io-index" 15 - checksum = "b4f55bd91a0978cbfd91c457a164bab8b4001c833b7f323132c0a4e1922dd44e" 15 + checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac" 16 16 dependencies = [ 17 17 "memchr", 18 18 ] ··· 34 34 35 35 [[package]] 36 36 name = "atomicwrites" 37 - version = "0.3.1" 37 + version = "0.4.0" 38 38 source = "registry+https://github.com/rust-lang/crates.io-index" 39 - checksum = "eb8f2cd6962fa53c0e2a9d3f97eaa7dbd1e3cbbeeb4745403515b42ae07b3ff6" 39 + checksum = "09a580bfc0fc2370333eddb71de8c8614d5972e3a327438eb3acc22824a638bf" 40 40 dependencies = [ 41 + "rustix", 41 42 "tempfile", 42 - "winapi", 43 + "windows-sys 0.45.0", 43 44 ] 44 45 45 46 [[package]] ··· 50 51 51 52 [[package]] 52 53 name = "base64" 53 - version = "0.13.0" 54 + version = "0.13.1" 54 55 source = "registry+https://github.com/rust-lang/crates.io-index" 55 - checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" 56 + checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" 57 + 58 + [[package]] 59 + name = "base64" 60 + version = "0.21.0" 61 + source = "registry+https://github.com/rust-lang/crates.io-index" 62 + checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a" 56 63 57 64 [[package]] 58 65 name = "bitflags" ··· 62 69 63 70 [[package]] 64 71 name = "bumpalo" 65 - version = "3.11.0" 72 + version = "3.12.0" 66 73 source = "registry+https://github.com/rust-lang/crates.io-index" 67 - checksum = "c1ad822118d20d2c234f427000d5acc36eabe1e29a348c89b63dd60b13f28e5d" 74 + checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535" 68 75 69 76 [[package]] 70 77 name = "byteorder" ··· 73 80 checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" 74 81 75 82 [[package]] 83 + name = "cc" 84 + version = "1.0.79" 85 + source = "registry+https://github.com/rust-lang/crates.io-index" 86 + checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" 87 + 88 + [[package]] 76 89 name = "cfg-if" 77 90 version = "1.0.0" 78 91 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 80 93 81 94 [[package]] 82 95 name = "chrono" 83 - version = "0.4.22" 96 + version = "0.4.23" 84 97 source = "registry+https://github.com/rust-lang/crates.io-index" 85 - checksum = "bfd4d1b31faaa3a89d7934dbded3111da0d2ef28e3ebccdb4f0179f5929d1ef1" 98 + checksum = "16b0a3d9ed01224b22057780a37bb8c5dbfe1be8ba48678e7bf57ec4b385411f" 86 99 dependencies = [ 87 100 "iana-time-zone", 88 101 "js-sys", 89 102 "num-integer", 90 103 "num-traits", 91 - "time 0.1.44", 104 + "time 0.1.45", 92 105 "wasm-bindgen", 93 106 "winapi", 94 107 ] 95 108 96 109 [[package]] 110 + name = "codespan-reporting" 111 + version = "0.11.1" 112 + source = "registry+https://github.com/rust-lang/crates.io-index" 113 + checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" 114 + dependencies = [ 115 + "termcolor", 116 + "unicode-width", 117 + ] 118 + 119 + [[package]] 97 120 name = "convert_case" 98 - version = "0.5.0" 121 + version = "0.6.0" 99 122 source = "registry+https://github.com/rust-lang/crates.io-index" 100 - checksum = "fb4a24b1aaf0fd0ce8b45161144d6f42cd91677fd5940fd431183eb023b3a2b8" 123 + checksum = "ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca" 124 + dependencies = [ 125 + "unicode-segmentation", 126 + ] 101 127 102 128 [[package]] 103 129 name = "core-foundation-sys" ··· 116 142 117 143 [[package]] 118 144 name = "ctor" 119 - version = "0.1.23" 145 + version = "0.1.26" 146 + source = "registry+https://github.com/rust-lang/crates.io-index" 147 + checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096" 148 + dependencies = [ 149 + "quote", 150 + "syn", 151 + ] 152 + 153 + [[package]] 154 + name = "cxx" 155 + version = "1.0.91" 156 + source = "registry+https://github.com/rust-lang/crates.io-index" 157 + checksum = "86d3488e7665a7a483b57e25bdd90d0aeb2bc7608c8d0346acf2ad3f1caf1d62" 158 + dependencies = [ 159 + "cc", 160 + "cxxbridge-flags", 161 + "cxxbridge-macro", 162 + "link-cplusplus", 163 + ] 164 + 165 + [[package]] 166 + name = "cxx-build" 167 + version = "1.0.91" 120 168 source = "registry+https://github.com/rust-lang/crates.io-index" 121 - checksum = "cdffe87e1d521a10f9696f833fe502293ea446d7f256c06128293a4119bdf4cb" 169 + checksum = "48fcaf066a053a41a81dfb14d57d99738b767febb8b735c3016e469fac5da690" 122 170 dependencies = [ 171 + "cc", 172 + "codespan-reporting", 173 + "once_cell", 174 + "proc-macro2", 175 + "quote", 176 + "scratch", 177 + "syn", 178 + ] 179 + 180 + [[package]] 181 + name = "cxxbridge-flags" 182 + version = "1.0.91" 183 + source = "registry+https://github.com/rust-lang/crates.io-index" 184 + checksum = "a2ef98b8b717a829ca5603af80e1f9e2e48013ab227b68ef37872ef84ee479bf" 185 + 186 + [[package]] 187 + name = "cxxbridge-macro" 188 + version = "1.0.91" 189 + source = "registry+https://github.com/rust-lang/crates.io-index" 190 + checksum = "086c685979a698443656e5cf7856c95c642295a38599f12fb1ff76fb28d19892" 191 + dependencies = [ 192 + "proc-macro2", 123 193 "quote", 124 194 "syn", 125 195 ] ··· 145 215 ] 146 216 147 217 [[package]] 218 + name = "errno" 219 + version = "0.2.8" 220 + source = "registry+https://github.com/rust-lang/crates.io-index" 221 + checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1" 222 + dependencies = [ 223 + "errno-dragonfly", 224 + "libc", 225 + "winapi", 226 + ] 227 + 228 + [[package]] 229 + name = "errno-dragonfly" 230 + version = "0.1.2" 231 + source = "registry+https://github.com/rust-lang/crates.io-index" 232 + checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" 233 + dependencies = [ 234 + "cc", 235 + "libc", 236 + ] 237 + 238 + [[package]] 148 239 name = "fastrand" 149 - version = "1.8.0" 240 + version = "1.9.0" 150 241 source = "registry+https://github.com/rust-lang/crates.io-index" 151 - checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499" 242 + checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" 152 243 dependencies = [ 153 244 "instant", 154 245 ] ··· 173 264 "serde", 174 265 "serde_json", 175 266 "serde_repr", 176 - "time 0.3.15", 267 + "time 0.3.20", 177 268 "tokio", 178 269 "trash", 179 270 "url", ··· 181 272 182 273 [[package]] 183 274 name = "flate2" 184 - version = "1.0.24" 275 + version = "1.0.25" 185 276 source = "registry+https://github.com/rust-lang/crates.io-index" 186 - checksum = "f82b0f4c27ad9f8bfd1f3208d882da2b09c301bc1c828fd3a00d0216d2fbbff6" 277 + checksum = "a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841" 187 278 dependencies = [ 188 279 "crc32fast", 189 280 "miniz_oxide", ··· 200 291 201 292 [[package]] 202 293 name = "getrandom" 203 - version = "0.2.7" 294 + version = "0.2.8" 204 295 source = "registry+https://github.com/rust-lang/crates.io-index" 205 - checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6" 296 + checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31" 206 297 dependencies = [ 207 298 "cfg-if", 208 299 "libc", ··· 217 308 218 309 [[package]] 219 310 name = "hermit-abi" 220 - version = "0.1.19" 311 + version = "0.2.6" 221 312 source = "registry+https://github.com/rust-lang/crates.io-index" 222 - checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" 313 + checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" 223 314 dependencies = [ 224 315 "libc", 225 316 ] 226 317 227 318 [[package]] 228 319 name = "iana-time-zone" 229 - version = "0.1.48" 320 + version = "0.1.53" 230 321 source = "registry+https://github.com/rust-lang/crates.io-index" 231 - checksum = "237a0714f28b1ee39ccec0770ccb544eb02c9ef2c82bb096230eefcffa6468b0" 322 + checksum = "64c122667b287044802d6ce17ee2ddf13207ed924c712de9a66a5814d5b64765" 232 323 dependencies = [ 233 324 "android_system_properties", 234 325 "core-foundation-sys", 326 + "iana-time-zone-haiku", 235 327 "js-sys", 236 - "once_cell", 237 328 "wasm-bindgen", 238 329 "winapi", 239 330 ] 240 331 241 332 [[package]] 333 + name = "iana-time-zone-haiku" 334 + version = "0.1.1" 335 + source = "registry+https://github.com/rust-lang/crates.io-index" 336 + checksum = "0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca" 337 + dependencies = [ 338 + "cxx", 339 + "cxx-build", 340 + ] 341 + 342 + [[package]] 242 343 name = "id3" 243 - version = "1.3.0" 344 + version = "1.6.0" 244 345 source = "registry+https://github.com/rust-lang/crates.io-index" 245 - checksum = "c2cf589c9dddff0ea50b6361b8635720d721d4fbca02861f806add85afef74a0" 346 + checksum = "19d7a833474b30425eb64132d1f9b727b4e39537418bcc3288497c8d2f5c8948" 246 347 dependencies = [ 247 348 "bitflags", 248 349 "byteorder", ··· 261 362 262 363 [[package]] 263 364 name = "indexmap" 264 - version = "1.9.1" 365 + version = "1.9.2" 265 366 source = "registry+https://github.com/rust-lang/crates.io-index" 266 - checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e" 367 + checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" 267 368 dependencies = [ 268 369 "autocfg", 269 370 "hashbrown", ··· 279 380 ] 280 381 281 382 [[package]] 383 + name = "io-lifetimes" 384 + version = "1.0.5" 385 + source = "registry+https://github.com/rust-lang/crates.io-index" 386 + checksum = "1abeb7a0dd0f8181267ff8adc397075586500b81b28a73e8a0208b00fc170fb3" 387 + dependencies = [ 388 + "libc", 389 + "windows-sys 0.45.0", 390 + ] 391 + 392 + [[package]] 282 393 name = "itoa" 283 - version = "1.0.3" 394 + version = "1.0.6" 284 395 source = "registry+https://github.com/rust-lang/crates.io-index" 285 - checksum = "6c8af84674fe1f223a982c933a0ee1086ac4d4052aa0fb8060c12c6ad838e754" 396 + checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6" 286 397 287 398 [[package]] 288 399 name = "js-sys" 289 - version = "0.3.60" 400 + version = "0.3.61" 290 401 source = "registry+https://github.com/rust-lang/crates.io-index" 291 - checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47" 402 + checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730" 292 403 dependencies = [ 293 404 "wasm-bindgen", 294 405 ] ··· 301 412 302 413 [[package]] 303 414 name = "libc" 304 - version = "0.2.132" 415 + version = "0.2.139" 305 416 source = "registry+https://github.com/rust-lang/crates.io-index" 306 - checksum = "8371e4e5341c3a96db127eb2465ac681ced4c433e01dd0e938adbef26ba93ba5" 417 + checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79" 307 418 308 419 [[package]] 309 420 name = "libloading" 310 - version = "0.7.3" 421 + version = "0.7.4" 311 422 source = "registry+https://github.com/rust-lang/crates.io-index" 312 - checksum = "efbc0f03f9a775e9f6aed295c6a1ba2253c5757a9e03d55c6caa46a681abcddd" 423 + checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" 313 424 dependencies = [ 314 425 "cfg-if", 315 426 "winapi", ··· 322 433 checksum = "f30344350a2a51da54c1d53be93fade8a237e545dbcc4bdbe635413f2117cab9" 323 434 dependencies = [ 324 435 "safemem", 436 + ] 437 + 438 + [[package]] 439 + name = "link-cplusplus" 440 + version = "1.0.8" 441 + source = "registry+https://github.com/rust-lang/crates.io-index" 442 + checksum = "ecd207c9c713c34f95a097a5b029ac2ce6010530c7b49d7fea24d977dede04f5" 443 + dependencies = [ 444 + "cc", 325 445 ] 326 446 327 447 [[package]] ··· 334 454 ] 335 455 336 456 [[package]] 457 + name = "linux-raw-sys" 458 + version = "0.1.4" 459 + source = "registry+https://github.com/rust-lang/crates.io-index" 460 + checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" 461 + 462 + [[package]] 337 463 name = "lofty" 338 - version = "0.9.0" 464 + version = "0.11.0" 339 465 source = "registry+https://github.com/rust-lang/crates.io-index" 340 - checksum = "8242df2d720c7f2e23bb7829da4447e5a762ccf0a361a01efe1433f554a48400" 466 + checksum = "fed685b48b30ef8f5213a32422d08c80b765f954ad5b6f6b634f901e7844ca52" 341 467 dependencies = [ 342 - "base64", 468 + "base64 0.21.0", 343 469 "byteorder", 344 470 "cfg-if", 345 471 "flate2", ··· 352 478 353 479 [[package]] 354 480 name = "lofty_attr" 355 - version = "0.4.0" 481 + version = "0.6.0" 356 482 source = "registry+https://github.com/rust-lang/crates.io-index" 357 - checksum = "3d0d19de3efdb768ecdccb6e904eb4c089ee9c1b59684d09218802e16cae8cc7" 483 + checksum = "336dfabb2fdfd932cebfcaa5d0fc57abac0d49f6ae9ddaa7c47a51bf9f74f966" 358 484 dependencies = [ 359 485 "proc-macro2", 360 486 "quote", ··· 387 513 388 514 [[package]] 389 515 name = "miniz_oxide" 390 - version = "0.5.4" 516 + version = "0.6.2" 391 517 source = "registry+https://github.com/rust-lang/crates.io-index" 392 - checksum = "96590ba8f175222643a85693f33d26e9c8a015f599c216509b1a6894af675d34" 518 + checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa" 393 519 dependencies = [ 394 520 "adler", 395 521 ] ··· 427 553 428 554 [[package]] 429 555 name = "napi" 430 - version = "2.9.1" 556 + version = "2.11.2" 431 557 source = "registry+https://github.com/rust-lang/crates.io-index" 432 - checksum = "743fece4c26c5132f8559080145fde9ba88700c0f1aa30a1ab3e057ab105814d" 558 + checksum = "a04bc019733ca752e011422075141df43ecf3f782b5e71c7a04443e5a474782c" 433 559 dependencies = [ 434 560 "bitflags", 435 561 "ctor", ··· 449 575 450 576 [[package]] 451 577 name = "napi-derive" 452 - version = "2.9.1" 578 + version = "2.11.1" 453 579 source = "registry+https://github.com/rust-lang/crates.io-index" 454 - checksum = "39f3d8b02ef355898ea98f69082d9a183c8701c836942c2daf3e92364e88a0fa" 580 + checksum = "16106f0257fa12e364173e5a93e6b9f5bd8ba95b503a3ba58d961a4d60ccb53e" 455 581 dependencies = [ 456 582 "convert_case", 457 583 "napi-derive-backend", ··· 462 588 463 589 [[package]] 464 590 name = "napi-derive-backend" 465 - version = "1.0.38" 591 + version = "1.0.44" 466 592 source = "registry+https://github.com/rust-lang/crates.io-index" 467 - checksum = "6c35640513eb442fcbd1653a1c112fb6b2cc12b54d82f9c141f5859c721cab36" 593 + checksum = "4930d5fa70f5663b9e7d6b4f0816b70d095574ee7f3c865fdb8c43b0f7e6406d" 468 594 dependencies = [ 469 595 "convert_case", 470 596 "once_cell", ··· 476 602 477 603 [[package]] 478 604 name = "napi-sys" 479 - version = "2.2.2" 605 + version = "2.2.3" 480 606 source = "registry+https://github.com/rust-lang/crates.io-index" 481 - checksum = "529671ebfae679f2ce9630b62dd53c72c56b3eb8b2c852e7e2fa91704ff93d67" 607 + checksum = "166b5ef52a3ab5575047a9fe8d4a030cdd0f63c96f071cd6907674453b07bae3" 482 608 dependencies = [ 483 609 "libloading", 484 610 ] ··· 504 630 505 631 [[package]] 506 632 name = "num_cpus" 507 - version = "1.13.1" 633 + version = "1.15.0" 508 634 source = "registry+https://github.com/rust-lang/crates.io-index" 509 - checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1" 635 + checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b" 510 636 dependencies = [ 511 637 "hermit-abi", 512 638 "libc", 513 639 ] 514 640 515 641 [[package]] 516 - name = "num_threads" 517 - version = "0.1.6" 518 - source = "registry+https://github.com/rust-lang/crates.io-index" 519 - checksum = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44" 520 - dependencies = [ 521 - "libc", 522 - ] 523 - 524 - [[package]] 525 642 name = "objc" 526 643 version = "0.2.7" 527 644 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 532 649 533 650 [[package]] 534 651 name = "ogg_pager" 535 - version = "0.3.2" 652 + version = "0.5.0" 536 653 source = "registry+https://github.com/rust-lang/crates.io-index" 537 - checksum = "2a846c4c0578b95d4568e6f48210dd6045e7a9572af2b020062d06b6dea049f4" 654 + checksum = "0d218a406e5de88e1c492d0162d569916f7436efe851ba5cc40a4bf4fa97cb40" 538 655 dependencies = [ 539 656 "byteorder", 540 657 ] 541 658 542 659 [[package]] 543 660 name = "once_cell" 544 - version = "1.14.0" 661 + version = "1.17.1" 545 662 source = "registry+https://github.com/rust-lang/crates.io-index" 546 - checksum = "2f7254b99e31cad77da24b08ebf628882739a608578bb1bcdfc1f9c21260d7c0" 663 + checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" 547 664 548 665 [[package]] 549 666 name = "paste" 550 - version = "1.0.9" 667 + version = "1.0.12" 551 668 source = "registry+https://github.com/rust-lang/crates.io-index" 552 - checksum = "b1de2e551fb905ac83f73f7aedf2f0cb4a0da7e35efa24a202a936269f1f18e1" 669 + checksum = "9f746c4065a8fa3fe23974dd82f15431cc8d40779821001404d10d2e79ca7d79" 553 670 554 671 [[package]] 555 672 name = "percent-encoding" ··· 568 685 version = "1.3.2" 569 686 source = "git+https://github.com/ebarnard/rust-plist?rev=0e9a85a4de3a7882157519d3f253960261fd6d08#0e9a85a4de3a7882157519d3f253960261fd6d08" 570 687 dependencies = [ 571 - "base64", 688 + "base64 0.13.1", 572 689 "indexmap", 573 690 "line-wrap", 574 691 "serde", 575 - "time 0.3.15", 692 + "time 0.3.20", 576 693 "xml-rs", 577 694 ] 578 695 579 696 [[package]] 580 697 name = "ppv-lite86" 581 - version = "0.2.16" 698 + version = "0.2.17" 582 699 source = "registry+https://github.com/rust-lang/crates.io-index" 583 - checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872" 700 + checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" 584 701 585 702 [[package]] 586 703 name = "proc-macro2" 587 - version = "1.0.43" 704 + version = "1.0.51" 588 705 source = "registry+https://github.com/rust-lang/crates.io-index" 589 - checksum = "0a2ca2c61bc9f3d74d2886294ab7b9853abd9c1ad903a3ac7815c58989bb7bab" 706 + checksum = "5d727cae5b39d21da60fa540906919ad737832fe0b1c165da3a34d6548c849d6" 590 707 dependencies = [ 591 708 "unicode-ident", 592 709 ] 593 710 594 711 [[package]] 595 712 name = "quote" 596 - version = "1.0.21" 713 + version = "1.0.23" 597 714 source = "registry+https://github.com/rust-lang/crates.io-index" 598 - checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179" 715 + checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b" 599 716 dependencies = [ 600 717 "proc-macro2", 601 718 ] ··· 623 740 624 741 [[package]] 625 742 name = "rand_core" 626 - version = "0.6.3" 743 + version = "0.6.4" 627 744 source = "registry+https://github.com/rust-lang/crates.io-index" 628 - checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7" 745 + checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" 629 746 dependencies = [ 630 747 "getrandom", 631 748 ] ··· 652 769 653 770 [[package]] 654 771 name = "regex" 655 - version = "1.6.0" 772 + version = "1.7.1" 656 773 source = "registry+https://github.com/rust-lang/crates.io-index" 657 - checksum = "4c4eb3267174b8c6c2f654116623910a0fef09c4753f8dd83db29c48a0df988b" 774 + checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733" 658 775 dependencies = [ 659 776 "aho-corasick", 660 777 "memchr", ··· 663 780 664 781 [[package]] 665 782 name = "regex-syntax" 666 - version = "0.6.27" 783 + version = "0.6.28" 667 784 source = "registry+https://github.com/rust-lang/crates.io-index" 668 - checksum = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244" 785 + checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" 669 786 670 787 [[package]] 671 - name = "remove_dir_all" 672 - version = "0.5.3" 788 + name = "rustix" 789 + version = "0.36.9" 673 790 source = "registry+https://github.com/rust-lang/crates.io-index" 674 - checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7" 791 + checksum = "fd5c6ff11fecd55b40746d1995a02f2eb375bf8c00d192d521ee09f42bef37bc" 675 792 dependencies = [ 676 - "winapi", 793 + "bitflags", 794 + "errno", 795 + "io-lifetimes", 796 + "libc", 797 + "linux-raw-sys", 798 + "windows-sys 0.45.0", 677 799 ] 678 800 679 801 [[package]] 680 802 name = "ryu" 681 - version = "1.0.11" 803 + version = "1.0.13" 682 804 source = "registry+https://github.com/rust-lang/crates.io-index" 683 - checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09" 805 + checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041" 684 806 685 807 [[package]] 686 808 name = "safemem" ··· 695 817 checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" 696 818 697 819 [[package]] 820 + name = "scratch" 821 + version = "1.0.5" 822 + source = "registry+https://github.com/rust-lang/crates.io-index" 823 + checksum = "1792db035ce95be60c3f8853017b3999209281c24e2ba5bc8e59bf97a0c590c1" 824 + 825 + [[package]] 698 826 name = "serde" 699 - version = "1.0.144" 827 + version = "1.0.152" 700 828 source = "registry+https://github.com/rust-lang/crates.io-index" 701 - checksum = "0f747710de3dcd43b88c9168773254e809d8ddbdf9653b84e2554ab219f17860" 829 + checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb" 702 830 dependencies = [ 703 831 "serde_derive", 704 832 ] 705 833 706 834 [[package]] 707 835 name = "serde_derive" 708 - version = "1.0.144" 836 + version = "1.0.152" 709 837 source = "registry+https://github.com/rust-lang/crates.io-index" 710 - checksum = "94ed3a816fb1d101812f83e789f888322c34e291f894f19590dc310963e87a00" 838 + checksum = "af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e" 711 839 dependencies = [ 712 840 "proc-macro2", 713 841 "quote", ··· 716 844 717 845 [[package]] 718 846 name = "serde_json" 719 - version = "1.0.85" 847 + version = "1.0.94" 720 848 source = "registry+https://github.com/rust-lang/crates.io-index" 721 - checksum = "e55a28e3aaef9d5ce0506d0a14dbba8054ddc7e499ef522dd8b26859ec9d4a44" 849 + checksum = "1c533a59c9d8a93a09c6ab31f0fd5e5f4dd1b8fc9434804029839884765d04ea" 722 850 dependencies = [ 723 851 "itoa", 724 852 "ryu", ··· 727 855 728 856 [[package]] 729 857 name = "serde_repr" 730 - version = "0.1.9" 858 + version = "0.1.11" 731 859 source = "registry+https://github.com/rust-lang/crates.io-index" 732 - checksum = "1fe39d9fbb0ebf5eb2c7cb7e2a47e4f462fad1379f1166b8ae49ad9eae89a7ca" 860 + checksum = "395627de918015623b32e7669714206363a7fc00382bf477e72c1f7533e8eafc" 733 861 dependencies = [ 734 862 "proc-macro2", 735 863 "quote", ··· 738 866 739 867 [[package]] 740 868 name = "syn" 741 - version = "1.0.99" 869 + version = "1.0.109" 742 870 source = "registry+https://github.com/rust-lang/crates.io-index" 743 - checksum = "58dbef6ec655055e20b86b15a8cc6d439cca19b667537ac6a1369572d151ab13" 871 + checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" 744 872 dependencies = [ 745 873 "proc-macro2", 746 874 "quote", ··· 749 877 750 878 [[package]] 751 879 name = "tempfile" 752 - version = "3.3.0" 880 + version = "3.4.0" 753 881 source = "registry+https://github.com/rust-lang/crates.io-index" 754 - checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4" 882 + checksum = "af18f7ae1acd354b992402e9ec5864359d693cd8a79dcbef59f76891701c1e95" 755 883 dependencies = [ 756 884 "cfg-if", 757 885 "fastrand", 758 - "libc", 759 886 "redox_syscall", 760 - "remove_dir_all", 761 - "winapi", 887 + "rustix", 888 + "windows-sys 0.42.0", 889 + ] 890 + 891 + [[package]] 892 + name = "termcolor" 893 + version = "1.2.0" 894 + source = "registry+https://github.com/rust-lang/crates.io-index" 895 + checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" 896 + dependencies = [ 897 + "winapi-util", 762 898 ] 763 899 764 900 [[package]] 765 901 name = "thiserror" 766 - version = "1.0.35" 902 + version = "1.0.39" 767 903 source = "registry+https://github.com/rust-lang/crates.io-index" 768 - checksum = "c53f98874615aea268107765aa1ed8f6116782501d18e53d08b471733bea6c85" 904 + checksum = "a5ab016db510546d856297882807df8da66a16fb8c4101cb8b30054b0d5b2d9c" 769 905 dependencies = [ 770 906 "thiserror-impl", 771 907 ] 772 908 773 909 [[package]] 774 910 name = "thiserror-impl" 775 - version = "1.0.35" 911 + version = "1.0.39" 776 912 source = "registry+https://github.com/rust-lang/crates.io-index" 777 - checksum = "f8b463991b4eab2d801e724172285ec4195c650e8ec79b149e6c2a8e6dd3f783" 913 + checksum = "5420d42e90af0c38c3290abcca25b9b3bdf379fc9f55c528f53a269d9c9a267e" 778 914 dependencies = [ 779 915 "proc-macro2", 780 916 "quote", ··· 783 919 784 920 [[package]] 785 921 name = "thread_local" 786 - version = "1.1.4" 922 + version = "1.1.7" 787 923 source = "registry+https://github.com/rust-lang/crates.io-index" 788 - checksum = "5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180" 924 + checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" 789 925 dependencies = [ 926 + "cfg-if", 790 927 "once_cell", 791 928 ] 792 929 793 930 [[package]] 794 931 name = "time" 795 - version = "0.1.44" 932 + version = "0.1.45" 796 933 source = "registry+https://github.com/rust-lang/crates.io-index" 797 - checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255" 934 + checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a" 798 935 dependencies = [ 799 936 "libc", 800 937 "wasi 0.10.0+wasi-snapshot-preview1", ··· 803 940 804 941 [[package]] 805 942 name = "time" 806 - version = "0.3.15" 943 + version = "0.3.20" 807 944 source = "registry+https://github.com/rust-lang/crates.io-index" 808 - checksum = "d634a985c4d4238ec39cacaed2e7ae552fbd3c476b552c1deac3021b7d7eaf0c" 945 + checksum = "cd0cbfecb4d19b5ea75bb31ad904eb5b9fa13f21079c3b92017ebdf4999a5890" 809 946 dependencies = [ 810 947 "itoa", 811 - "libc", 812 - "num_threads", 813 948 "serde", 949 + "time-core", 950 + "time-macros", 951 + ] 952 + 953 + [[package]] 954 + name = "time-core" 955 + version = "0.1.0" 956 + source = "registry+https://github.com/rust-lang/crates.io-index" 957 + checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd" 958 + 959 + [[package]] 960 + name = "time-macros" 961 + version = "0.2.8" 962 + source = "registry+https://github.com/rust-lang/crates.io-index" 963 + checksum = "fd80a657e71da814b8e5d60d3374fc6d35045062245d80224748ae522dd76f36" 964 + dependencies = [ 965 + "time-core", 814 966 ] 815 967 816 968 [[package]] ··· 824 976 825 977 [[package]] 826 978 name = "tinyvec_macros" 827 - version = "0.1.0" 979 + version = "0.1.1" 828 980 source = "registry+https://github.com/rust-lang/crates.io-index" 829 - checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" 981 + checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" 830 982 831 983 [[package]] 832 984 name = "tokio" 833 - version = "1.21.2" 985 + version = "1.26.0" 834 986 source = "registry+https://github.com/rust-lang/crates.io-index" 835 - checksum = "a9e03c497dc955702ba729190dc4aac6f2a0ce97f913e5b1b5912fc5039d9099" 987 + checksum = "03201d01c3c27a29c8a5cee5b55a93ddae1ccf6f08f65365c2c918f8c1b76f64" 836 988 dependencies = [ 837 989 "autocfg", 838 990 "num_cpus", 839 991 "pin-project-lite", 840 992 "tokio-macros", 993 + "windows-sys 0.45.0", 841 994 ] 842 995 843 996 [[package]] 844 997 name = "tokio-macros" 845 - version = "1.8.0" 998 + version = "1.8.2" 846 999 source = "registry+https://github.com/rust-lang/crates.io-index" 847 - checksum = "9724f9a975fb987ef7a3cd9be0350edcbe130698af5b8f7a631e23d42d052484" 1000 + checksum = "d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8" 848 1001 dependencies = [ 849 1002 "proc-macro2", 850 1003 "quote", ··· 853 1006 854 1007 [[package]] 855 1008 name = "trash" 856 - version = "2.1.5" 1009 + version = "3.0.1" 857 1010 source = "registry+https://github.com/rust-lang/crates.io-index" 858 - checksum = "fe090367848cd40c4230ff3ce4e2ff6a2fd511c1e14ae047a4a4c37ef7965236" 1011 + checksum = "a27b2a127810fceb959593bbc6c7b8e0282c2d318d76f0749252197c52a1dd0c" 859 1012 dependencies = [ 860 1013 "chrono", 861 1014 "libc", ··· 869 1022 870 1023 [[package]] 871 1024 name = "unicode-bidi" 872 - version = "0.3.8" 1025 + version = "0.3.10" 873 1026 source = "registry+https://github.com/rust-lang/crates.io-index" 874 - checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992" 1027 + checksum = "d54675592c1dbefd78cbd98db9bacd89886e1ca50692a0692baefffdeb92dd58" 875 1028 876 1029 [[package]] 877 1030 name = "unicode-ident" 878 - version = "1.0.4" 1031 + version = "1.0.8" 879 1032 source = "registry+https://github.com/rust-lang/crates.io-index" 880 - checksum = "dcc811dc4066ac62f84f11307873c4850cb653bfa9b1719cee2bd2204a4bc5dd" 1033 + checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4" 881 1034 882 1035 [[package]] 883 1036 name = "unicode-normalization" 884 - version = "0.1.21" 1037 + version = "0.1.22" 885 1038 source = "registry+https://github.com/rust-lang/crates.io-index" 886 - checksum = "854cbdc4f7bc6ae19c820d44abdc3277ac3e1b2b93db20a636825d9322fb60e6" 1039 + checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" 887 1040 dependencies = [ 888 1041 "tinyvec", 889 1042 ] 1043 + 1044 + [[package]] 1045 + name = "unicode-segmentation" 1046 + version = "1.10.1" 1047 + source = "registry+https://github.com/rust-lang/crates.io-index" 1048 + checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" 1049 + 1050 + [[package]] 1051 + name = "unicode-width" 1052 + version = "0.1.10" 1053 + source = "registry+https://github.com/rust-lang/crates.io-index" 1054 + checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" 890 1055 891 1056 [[package]] 892 1057 name = "url" ··· 913 1078 914 1079 [[package]] 915 1080 name = "wasm-bindgen" 916 - version = "0.2.83" 1081 + version = "0.2.84" 917 1082 source = "registry+https://github.com/rust-lang/crates.io-index" 918 - checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268" 1083 + checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b" 919 1084 dependencies = [ 920 1085 "cfg-if", 921 1086 "wasm-bindgen-macro", ··· 923 1088 924 1089 [[package]] 925 1090 name = "wasm-bindgen-backend" 926 - version = "0.2.83" 1091 + version = "0.2.84" 927 1092 source = "registry+https://github.com/rust-lang/crates.io-index" 928 - checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142" 1093 + checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9" 929 1094 dependencies = [ 930 1095 "bumpalo", 931 1096 "log", ··· 938 1103 939 1104 [[package]] 940 1105 name = "wasm-bindgen-macro" 941 - version = "0.2.83" 1106 + version = "0.2.84" 942 1107 source = "registry+https://github.com/rust-lang/crates.io-index" 943 - checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810" 1108 + checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5" 944 1109 dependencies = [ 945 1110 "quote", 946 1111 "wasm-bindgen-macro-support", ··· 948 1113 949 1114 [[package]] 950 1115 name = "wasm-bindgen-macro-support" 951 - version = "0.2.83" 1116 + version = "0.2.84" 952 1117 source = "registry+https://github.com/rust-lang/crates.io-index" 953 - checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c" 1118 + checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6" 954 1119 dependencies = [ 955 1120 "proc-macro2", 956 1121 "quote", ··· 961 1126 962 1127 [[package]] 963 1128 name = "wasm-bindgen-shared" 964 - version = "0.2.83" 1129 + version = "0.2.84" 965 1130 source = "registry+https://github.com/rust-lang/crates.io-index" 966 - checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f" 1131 + checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d" 967 1132 968 1133 [[package]] 969 1134 name = "winapi" ··· 982 1147 checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" 983 1148 984 1149 [[package]] 1150 + name = "winapi-util" 1151 + version = "0.1.5" 1152 + source = "registry+https://github.com/rust-lang/crates.io-index" 1153 + checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" 1154 + dependencies = [ 1155 + "winapi", 1156 + ] 1157 + 1158 + [[package]] 985 1159 name = "winapi-x86_64-pc-windows-gnu" 986 1160 version = "0.4.0" 987 1161 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 989 1163 990 1164 [[package]] 991 1165 name = "windows" 992 - version = "0.37.0" 1166 + version = "0.44.0" 993 1167 source = "registry+https://github.com/rust-lang/crates.io-index" 994 - checksum = "57b543186b344cc61c85b5aab0d2e3adf4e0f99bc076eff9aa5927bcc0b8a647" 1168 + checksum = "9e745dab35a0c4c77aa3ce42d595e13d2003d6902d6b08c9ef5fc326d08da12b" 995 1169 dependencies = [ 1170 + "windows-targets", 1171 + ] 1172 + 1173 + [[package]] 1174 + name = "windows-sys" 1175 + version = "0.42.0" 1176 + source = "registry+https://github.com/rust-lang/crates.io-index" 1177 + checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" 1178 + dependencies = [ 1179 + "windows_aarch64_gnullvm", 996 1180 "windows_aarch64_msvc", 997 1181 "windows_i686_gnu", 998 1182 "windows_i686_msvc", 999 1183 "windows_x86_64_gnu", 1184 + "windows_x86_64_gnullvm", 1000 1185 "windows_x86_64_msvc", 1001 1186 ] 1002 1187 1003 1188 [[package]] 1189 + name = "windows-sys" 1190 + version = "0.45.0" 1191 + source = "registry+https://github.com/rust-lang/crates.io-index" 1192 + checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" 1193 + dependencies = [ 1194 + "windows-targets", 1195 + ] 1196 + 1197 + [[package]] 1198 + name = "windows-targets" 1199 + version = "0.42.1" 1200 + source = "registry+https://github.com/rust-lang/crates.io-index" 1201 + checksum = "8e2522491fbfcd58cc84d47aeb2958948c4b8982e9a2d8a2a35bbaed431390e7" 1202 + dependencies = [ 1203 + "windows_aarch64_gnullvm", 1204 + "windows_aarch64_msvc", 1205 + "windows_i686_gnu", 1206 + "windows_i686_msvc", 1207 + "windows_x86_64_gnu", 1208 + "windows_x86_64_gnullvm", 1209 + "windows_x86_64_msvc", 1210 + ] 1211 + 1212 + [[package]] 1213 + name = "windows_aarch64_gnullvm" 1214 + version = "0.42.1" 1215 + source = "registry+https://github.com/rust-lang/crates.io-index" 1216 + checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608" 1217 + 1218 + [[package]] 1004 1219 name = "windows_aarch64_msvc" 1005 - version = "0.37.0" 1220 + version = "0.42.1" 1006 1221 source = "registry+https://github.com/rust-lang/crates.io-index" 1007 - checksum = "2623277cb2d1c216ba3b578c0f3cf9cdebeddb6e66b1b218bb33596ea7769c3a" 1222 + checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7" 1008 1223 1009 1224 [[package]] 1010 1225 name = "windows_i686_gnu" 1011 - version = "0.37.0" 1226 + version = "0.42.1" 1012 1227 source = "registry+https://github.com/rust-lang/crates.io-index" 1013 - checksum = "d3925fd0b0b804730d44d4b6278c50f9699703ec49bcd628020f46f4ba07d9e1" 1228 + checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640" 1014 1229 1015 1230 [[package]] 1016 1231 name = "windows_i686_msvc" 1017 - version = "0.37.0" 1232 + version = "0.42.1" 1018 1233 source = "registry+https://github.com/rust-lang/crates.io-index" 1019 - checksum = "ce907ac74fe331b524c1298683efbf598bb031bc84d5e274db2083696d07c57c" 1234 + checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605" 1020 1235 1021 1236 [[package]] 1022 1237 name = "windows_x86_64_gnu" 1023 - version = "0.37.0" 1238 + version = "0.42.1" 1024 1239 source = "registry+https://github.com/rust-lang/crates.io-index" 1025 - checksum = "2babfba0828f2e6b32457d5341427dcbb577ceef556273229959ac23a10af33d" 1240 + checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45" 1241 + 1242 + [[package]] 1243 + name = "windows_x86_64_gnullvm" 1244 + version = "0.42.1" 1245 + source = "registry+https://github.com/rust-lang/crates.io-index" 1246 + checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463" 1026 1247 1027 1248 [[package]] 1028 1249 name = "windows_x86_64_msvc" 1029 - version = "0.37.0" 1250 + version = "0.42.1" 1030 1251 source = "registry+https://github.com/rust-lang/crates.io-index" 1031 - checksum = "f4dd6dc7df2d84cf7b33822ed5b86318fb1781948e9663bacd047fc9dd52259d" 1252 + checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd" 1032 1253 1033 1254 [[package]] 1034 1255 name = "xml-rs"
+4 -4
Cargo.toml
··· 14 14 napi-build = "2.0" 15 15 16 16 [dependencies] 17 - napi = { version = "2.9", features = ["serde-json", "napi6", "tokio_rt"] } 17 + napi = { version = "2.11", features = ["serde-json", "napi6", "tokio_rt"] } 18 18 napi-derive = "2.9" 19 19 dirs = "4.0" 20 20 serde = { version = "1.0", features = ["derive"] } ··· 22 22 id3 = "1.1" 23 23 mp3-metadata = "0.3" 24 24 mp4ameta = "0.11" 25 - lofty = "0.9.0" 25 + lofty = "0.11.0" 26 26 serde_json = "1.0" 27 27 nanoid = "0.4" 28 28 alphanumeric-sort = "1.4" 29 29 linked-hash-map = { version = "0.5", features = ["serde_impl"] } 30 - atomicwrites = "0.3" 31 - trash = "2.0" 30 + atomicwrites = "0.4" 31 + trash = "3.0" 32 32 plist = { git = "https://github.com/ebarnard/rust-plist", rev = "0e9a85a4de3a7882157519d3f253960261fd6d08" } 33 33 tokio = { version = "1.21", features = ["macros"] } 34 34 time = { version = "0.3", features = ["serde", "serde-well-known"] }
+217 -176
package-lock.json
··· 12 12 ], 13 13 "devDependencies": { 14 14 "@napi-rs/cli": "^2.14.8", 15 - "@sveltejs/vite-plugin-svelte": "^2.0.2", 15 + "@sveltejs/vite-plugin-svelte": "^2.0.3", 16 16 "@types/wicg-mediasession": "^1.1.4", 17 - "@typescript-eslint/eslint-plugin": "^5.53.0", 18 - "@typescript-eslint/parser": "^5.53.0", 17 + "@typescript-eslint/eslint-plugin": "^5.54.0", 18 + "@typescript-eslint/parser": "^5.54.0", 19 19 "concurrently": "^7.6.0", 20 20 "electron": "^14.2.9", 21 21 "electron-builder": "^23.6.0", 22 - "eslint": "^8.34.0", 22 + "eslint": "^8.35.0", 23 23 "eslint-config-prettier": "^8.6.0", 24 24 "eslint-plugin-svelte3": "^4.0.0", 25 25 "prettier": "^2.8.4", 26 26 "prettier-plugin-svelte": "^2.9.0", 27 27 "sass": "^1.58.3", 28 28 "svelte": "^3.55.1", 29 - "svelte-check": "^3.0.3", 29 + "svelte-check": "^3.0.4", 30 30 "svelte-preprocess": "^5.0.1", 31 31 "typescript": "^4.9.5", 32 - "vite": "^4.1.3", 32 + "vite": "^4.1.4", 33 33 "vite-plugin-electron": "^0.11.1", 34 34 "vite-plugin-externals": "^0.6.2" 35 35 } ··· 490 490 } 491 491 }, 492 492 "node_modules/@eslint/eslintrc": { 493 - "version": "1.4.1", 494 - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz", 495 - "integrity": "sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==", 493 + "version": "2.0.0", 494 + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.0.tgz", 495 + "integrity": "sha512-fluIaaV+GyV24CCu/ggiHdV+j4RNh85yQnAYS/G2mZODZgGmmlrgCydjUcV3YvxCm9x8nMAfThsqTni4KiXT4A==", 496 496 "dev": true, 497 497 "dependencies": { 498 498 "ajv": "^6.12.4", ··· 510 510 }, 511 511 "funding": { 512 512 "url": "https://opencollective.com/eslint" 513 + } 514 + }, 515 + "node_modules/@eslint/js": { 516 + "version": "8.35.0", 517 + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.35.0.tgz", 518 + "integrity": "sha512-JXdzbRiWclLVoD8sNUjR443VVlYqiYmDVT6rGUEIEHU5YJW0gaVZwV2xgM7D4arkvASqD0IlLUVjHiFuxaftRw==", 519 + "dev": true, 520 + "engines": { 521 + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" 513 522 } 514 523 }, 515 524 "node_modules/@humanwhocodes/config-array": { ··· 704 713 } 705 714 }, 706 715 "node_modules/@sveltejs/vite-plugin-svelte": { 707 - "version": "2.0.2", 708 - "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-2.0.2.tgz", 709 - "integrity": "sha512-xCEan0/NNpQuL0l5aS42FjwQ6wwskdxC3pW1OeFtEKNZwRg7Evro9lac9HesGP6TdFsTv2xMes5ASQVKbCacxg==", 716 + "version": "2.0.3", 717 + "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-2.0.3.tgz", 718 + "integrity": "sha512-o+cguBFdwIGtRbNkYOyqTM7KvRUffxh5bfK4oJsWKG2obu+v/cbpT03tJrGl58C7tRXo/aEC0/axN5FVHBj0nA==", 710 719 "dev": true, 711 720 "dependencies": { 712 721 "debug": "^4.3.4", 713 - "deepmerge": "^4.2.2", 722 + "deepmerge": "^4.3.0", 714 723 "kleur": "^4.1.5", 715 - "magic-string": "^0.27.0", 724 + "magic-string": "^0.29.0", 716 725 "svelte-hmr": "^0.15.1", 717 - "vitefu": "^0.2.3" 726 + "vitefu": "^0.2.4" 718 727 }, 719 728 "engines": { 720 729 "node": "^14.18.0 || >= 16" ··· 794 803 "dev": true 795 804 }, 796 805 "node_modules/@types/node": { 797 - "version": "14.18.36", 798 - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.36.tgz", 799 - "integrity": "sha512-FXKWbsJ6a1hIrRxv+FoukuHnGTgEzKYGi7kilfMae96AL9UNkPFNWJEEYWzdRI9ooIkbr4AKldyuSTLql06vLQ==", 806 + "version": "14.18.37", 807 + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.37.tgz", 808 + "integrity": "sha512-7GgtHCs/QZrBrDzgIJnQtuSvhFSwhyYSI2uafSwZoNt1iOGhEN5fwNrQMjtONyHm9+/LoA4453jH0CMYcr06Pg==", 800 809 "dev": true 801 810 }, 802 811 "node_modules/@types/plist": { ··· 817 826 "dev": true 818 827 }, 819 828 "node_modules/@types/sass": { 820 - "version": "1.43.1", 821 - "resolved": "https://registry.npmjs.org/@types/sass/-/sass-1.43.1.tgz", 822 - "integrity": "sha512-BPdoIt1lfJ6B7rw35ncdwBZrAssjcwzI5LByIrYs+tpXlj/CAkuVdRsgZDdP4lq5EjyWzwxZCqAoFyHKFwp32g==", 829 + "version": "1.45.0", 830 + "resolved": "https://registry.npmjs.org/@types/sass/-/sass-1.45.0.tgz", 831 + "integrity": "sha512-jn7qwGFmJHwUSphV8zZneO3GmtlgLsmhs/LQyVvQbIIa+fzGMUiHI4HXJZL3FT8MJmgXWbLGiVVY7ElvHq6vDA==", 832 + "deprecated": "This is a stub types definition. sass provides its own type definitions, so you do not need this installed.", 823 833 "dev": true, 824 834 "dependencies": { 825 - "@types/node": "*" 835 + "sass": "*" 826 836 } 827 837 }, 828 838 "node_modules/@types/semver": { ··· 860 870 "dev": true 861 871 }, 862 872 "node_modules/@typescript-eslint/eslint-plugin": { 863 - "version": "5.53.0", 864 - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.53.0.tgz", 865 - "integrity": "sha512-alFpFWNucPLdUOySmXCJpzr6HKC3bu7XooShWM+3w/EL6J2HIoB2PFxpLnq4JauWVk6DiVeNKzQlFEaE+X9sGw==", 873 + "version": "5.54.0", 874 + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.54.0.tgz", 875 + "integrity": "sha512-+hSN9BdSr629RF02d7mMtXhAJvDTyCbprNYJKrXETlul/Aml6YZwd90XioVbjejQeHbb3R8Dg0CkRgoJDxo8aw==", 866 876 "dev": true, 867 877 "dependencies": { 868 - "@typescript-eslint/scope-manager": "5.53.0", 869 - "@typescript-eslint/type-utils": "5.53.0", 870 - "@typescript-eslint/utils": "5.53.0", 878 + "@typescript-eslint/scope-manager": "5.54.0", 879 + "@typescript-eslint/type-utils": "5.54.0", 880 + "@typescript-eslint/utils": "5.54.0", 871 881 "debug": "^4.3.4", 872 882 "grapheme-splitter": "^1.0.4", 873 883 "ignore": "^5.2.0", ··· 894 904 } 895 905 }, 896 906 "node_modules/@typescript-eslint/parser": { 897 - "version": "5.53.0", 898 - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.53.0.tgz", 899 - "integrity": "sha512-MKBw9i0DLYlmdOb3Oq/526+al20AJZpANdT6Ct9ffxcV8nKCHz63t/S0IhlTFNsBIHJv+GY5SFJ0XfqVeydQrQ==", 907 + "version": "5.54.0", 908 + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.54.0.tgz", 909 + "integrity": "sha512-aAVL3Mu2qTi+h/r04WI/5PfNWvO6pdhpeMRWk9R7rEV4mwJNzoWf5CCU5vDKBsPIFQFjEq1xg7XBI2rjiMXQbQ==", 900 910 "dev": true, 901 911 "dependencies": { 902 - "@typescript-eslint/scope-manager": "5.53.0", 903 - "@typescript-eslint/types": "5.53.0", 904 - "@typescript-eslint/typescript-estree": "5.53.0", 912 + "@typescript-eslint/scope-manager": "5.54.0", 913 + "@typescript-eslint/types": "5.54.0", 914 + "@typescript-eslint/typescript-estree": "5.54.0", 905 915 "debug": "^4.3.4" 906 916 }, 907 917 "engines": { ··· 921 931 } 922 932 }, 923 933 "node_modules/@typescript-eslint/scope-manager": { 924 - "version": "5.53.0", 925 - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.53.0.tgz", 926 - "integrity": "sha512-Opy3dqNsp/9kBBeCPhkCNR7fmdSQqA+47r21hr9a14Bx0xnkElEQmhoHga+VoaoQ6uDHjDKmQPIYcUcKJifS7w==", 934 + "version": "5.54.0", 935 + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.54.0.tgz", 936 + "integrity": "sha512-VTPYNZ7vaWtYna9M4oD42zENOBrb+ZYyCNdFs949GcN8Miwn37b8b7eMj+EZaq7VK9fx0Jd+JhmkhjFhvnovhg==", 927 937 "dev": true, 928 938 "dependencies": { 929 - "@typescript-eslint/types": "5.53.0", 930 - "@typescript-eslint/visitor-keys": "5.53.0" 939 + "@typescript-eslint/types": "5.54.0", 940 + "@typescript-eslint/visitor-keys": "5.54.0" 931 941 }, 932 942 "engines": { 933 943 "node": "^12.22.0 || ^14.17.0 || >=16.0.0" ··· 938 948 } 939 949 }, 940 950 "node_modules/@typescript-eslint/type-utils": { 941 - "version": "5.53.0", 942 - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.53.0.tgz", 943 - "integrity": "sha512-HO2hh0fmtqNLzTAme/KnND5uFNwbsdYhCZghK2SoxGp3Ifn2emv+hi0PBUjzzSh0dstUIFqOj3bp0AwQlK4OWw==", 951 + "version": "5.54.0", 952 + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.54.0.tgz", 953 + "integrity": "sha512-WI+WMJ8+oS+LyflqsD4nlXMsVdzTMYTxl16myXPaCXnSgc7LWwMsjxQFZCK/rVmTZ3FN71Ct78ehO9bRC7erYQ==", 944 954 "dev": true, 945 955 "dependencies": { 946 - "@typescript-eslint/typescript-estree": "5.53.0", 947 - "@typescript-eslint/utils": "5.53.0", 956 + "@typescript-eslint/typescript-estree": "5.54.0", 957 + "@typescript-eslint/utils": "5.54.0", 948 958 "debug": "^4.3.4", 949 959 "tsutils": "^3.21.0" 950 960 }, ··· 965 975 } 966 976 }, 967 977 "node_modules/@typescript-eslint/types": { 968 - "version": "5.53.0", 969 - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.53.0.tgz", 970 - "integrity": "sha512-5kcDL9ZUIP756K6+QOAfPkigJmCPHcLN7Zjdz76lQWWDdzfOhZDTj1irs6gPBKiXx5/6O3L0+AvupAut3z7D2A==", 978 + "version": "5.54.0", 979 + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.54.0.tgz", 980 + "integrity": "sha512-nExy+fDCBEgqblasfeE3aQ3NuafBUxZxgxXcYfzYRZFHdVvk5q60KhCSkG0noHgHRo/xQ/BOzURLZAafFpTkmQ==", 971 981 "dev": true, 972 982 "engines": { 973 983 "node": "^12.22.0 || ^14.17.0 || >=16.0.0" ··· 978 988 } 979 989 }, 980 990 "node_modules/@typescript-eslint/typescript-estree": { 981 - "version": "5.53.0", 982 - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.53.0.tgz", 983 - "integrity": "sha512-eKmipH7QyScpHSkhbptBBYh9v8FxtngLquq292YTEQ1pxVs39yFBlLC1xeIZcPPz1RWGqb7YgERJRGkjw8ZV7w==", 991 + "version": "5.54.0", 992 + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.54.0.tgz", 993 + "integrity": "sha512-X2rJG97Wj/VRo5YxJ8Qx26Zqf0RRKsVHd4sav8NElhbZzhpBI8jU54i6hfo9eheumj4oO4dcRN1B/zIVEqR/MQ==", 984 994 "dev": true, 985 995 "dependencies": { 986 - "@typescript-eslint/types": "5.53.0", 987 - "@typescript-eslint/visitor-keys": "5.53.0", 996 + "@typescript-eslint/types": "5.54.0", 997 + "@typescript-eslint/visitor-keys": "5.54.0", 988 998 "debug": "^4.3.4", 989 999 "globby": "^11.1.0", 990 1000 "is-glob": "^4.0.3", ··· 1005 1015 } 1006 1016 }, 1007 1017 "node_modules/@typescript-eslint/utils": { 1008 - "version": "5.53.0", 1009 - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.53.0.tgz", 1010 - "integrity": "sha512-VUOOtPv27UNWLxFwQK/8+7kvxVC+hPHNsJjzlJyotlaHjLSIgOCKj9I0DBUjwOOA64qjBwx5afAPjksqOxMO0g==", 1018 + "version": "5.54.0", 1019 + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.54.0.tgz", 1020 + "integrity": "sha512-cuwm8D/Z/7AuyAeJ+T0r4WZmlnlxQ8wt7C7fLpFlKMR+dY6QO79Cq1WpJhvZbMA4ZeZGHiRWnht7ZJ8qkdAunw==", 1011 1021 "dev": true, 1012 1022 "dependencies": { 1013 1023 "@types/json-schema": "^7.0.9", 1014 1024 "@types/semver": "^7.3.12", 1015 - "@typescript-eslint/scope-manager": "5.53.0", 1016 - "@typescript-eslint/types": "5.53.0", 1017 - "@typescript-eslint/typescript-estree": "5.53.0", 1025 + "@typescript-eslint/scope-manager": "5.54.0", 1026 + "@typescript-eslint/types": "5.54.0", 1027 + "@typescript-eslint/typescript-estree": "5.54.0", 1018 1028 "eslint-scope": "^5.1.1", 1019 1029 "eslint-utils": "^3.0.0", 1020 1030 "semver": "^7.3.7" ··· 1031 1041 } 1032 1042 }, 1033 1043 "node_modules/@typescript-eslint/visitor-keys": { 1034 - "version": "5.53.0", 1035 - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.53.0.tgz", 1036 - "integrity": "sha512-JqNLnX3leaHFZEN0gCh81sIvgrp/2GOACZNgO4+Tkf64u51kTpAyWFOY8XHx8XuXr3N2C9zgPPHtcpMg6z1g0w==", 1044 + "version": "5.54.0", 1045 + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.54.0.tgz", 1046 + "integrity": "sha512-xu4wT7aRCakGINTLGeyGqDn+78BwFlggwBjnHa1ar/KaGagnmwLYmlrXIrgAaQ3AE1Vd6nLfKASm7LrFHNbKGA==", 1037 1047 "dev": true, 1038 1048 "dependencies": { 1039 - "@typescript-eslint/types": "5.53.0", 1049 + "@typescript-eslint/types": "5.54.0", 1040 1050 "eslint-visitor-keys": "^3.3.0" 1041 1051 }, 1042 1052 "engines": { ··· 2446 2456 } 2447 2457 }, 2448 2458 "node_modules/eslint": { 2449 - "version": "8.34.0", 2450 - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.34.0.tgz", 2451 - "integrity": "sha512-1Z8iFsucw+7kSqXNZVslXS8Ioa4u2KM7GPwuKtkTFAqZ/cHMcEaR+1+Br0wLlot49cNxIiZk5wp8EAbPcYZxTg==", 2459 + "version": "8.35.0", 2460 + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.35.0.tgz", 2461 + "integrity": "sha512-BxAf1fVL7w+JLRQhWl2pzGeSiGqbWumV4WNvc9Rhp6tiCtm4oHnyPBSEtMGZwrQgudFQ+otqzWoPB7x+hxoWsw==", 2452 2462 "dev": true, 2453 2463 "dependencies": { 2454 - "@eslint/eslintrc": "^1.4.1", 2464 + "@eslint/eslintrc": "^2.0.0", 2465 + "@eslint/js": "8.35.0", 2455 2466 "@humanwhocodes/config-array": "^0.11.8", 2456 2467 "@humanwhocodes/module-importer": "^1.0.1", 2457 2468 "@nodelib/fs.walk": "^1.2.8", ··· 2465 2476 "eslint-utils": "^3.0.0", 2466 2477 "eslint-visitor-keys": "^3.3.0", 2467 2478 "espree": "^9.4.0", 2468 - "esquery": "^1.4.0", 2479 + "esquery": "^1.4.2", 2469 2480 "esutils": "^2.0.2", 2470 2481 "fast-deep-equal": "^3.1.3", 2471 2482 "file-entry-cache": "^6.0.1", ··· 2612 2623 } 2613 2624 }, 2614 2625 "node_modules/esquery": { 2615 - "version": "1.4.2", 2616 - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.2.tgz", 2617 - "integrity": "sha512-JVSoLdTlTDkmjFmab7H/9SL9qGSyjElT3myyKp7krqjVFQCDLmj1QFaCLRFBszBKI0XVZaiiXvuPIX3ZwHe1Ng==", 2626 + "version": "1.5.0", 2627 + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", 2628 + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", 2618 2629 "dev": true, 2619 2630 "dependencies": { 2620 2631 "estraverse": "^5.1.0" ··· 3624 3635 } 3625 3636 }, 3626 3637 "node_modules/magic-string": { 3627 - "version": "0.27.0", 3628 - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", 3629 - "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", 3638 + "version": "0.29.0", 3639 + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.29.0.tgz", 3640 + "integrity": "sha512-WcfidHrDjMY+eLjlU+8OvwREqHwpgCeKVBUpQ3OhYYuvfaYCUgcbuBzappNzZvg/v8onU3oQj+BYpkOJe9Iw4Q==", 3630 3641 "dev": true, 3631 3642 "dependencies": { 3632 3643 "@jridgewell/sourcemap-codec": "^1.4.13" ··· 3743 3754 } 3744 3755 }, 3745 3756 "node_modules/minipass": { 3746 - "version": "4.0.3", 3747 - "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.0.3.tgz", 3748 - "integrity": "sha512-OW2r4sQ0sI+z5ckEt5c1Tri4xTgZwYDxpE54eqWlQloQRoWtXjqt9udJ5Z4dSv7wK+nfFI7FRXyCpBSft+gpFw==", 3757 + "version": "4.2.4", 3758 + "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.4.tgz", 3759 + "integrity": "sha512-lwycX3cBMTvcejsHITUgYj6Gy6A7Nh4Q6h9NP4sTHY1ccJlC7yKzDmiShEHsJ16Jf1nKGDEaiHxiltsJEvk0nQ==", 3749 3760 "dev": true, 3750 3761 "engines": { 3751 3762 "node": ">=8" ··· 4187 4198 } 4188 4199 }, 4189 4200 "node_modules/readable-stream": { 4190 - "version": "2.3.7", 4191 - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", 4192 - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", 4201 + "version": "2.3.8", 4202 + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", 4203 + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", 4193 4204 "dev": true, 4194 4205 "dependencies": { 4195 4206 "core-util-is": "~1.0.0", ··· 4313 4324 } 4314 4325 }, 4315 4326 "node_modules/rollup": { 4316 - "version": "3.17.2", 4317 - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.17.2.tgz", 4318 - "integrity": "sha512-qMNZdlQPCkWodrAZ3qnJtvCAl4vpQ8q77uEujVCCbC/6CLB7Lcmvjq7HyiOSnf4fxTT9XgsE36oLHJBH49xjqA==", 4327 + "version": "3.18.0", 4328 + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.18.0.tgz", 4329 + "integrity": "sha512-J8C6VfEBjkvYPESMQYxKHxNOh4A5a3FlP+0BETGo34HEcE4eTlgCrO2+eWzlu2a/sHs2QUkZco+wscH7jhhgWg==", 4319 4330 "dev": true, 4320 4331 "bin": { 4321 4332 "rollup": "dist/bin/rollup" ··· 4757 4768 } 4758 4769 }, 4759 4770 "node_modules/svelte-check": { 4760 - "version": "3.0.3", 4761 - "resolved": "https://registry.npmjs.org/svelte-check/-/svelte-check-3.0.3.tgz", 4762 - "integrity": "sha512-ByBFXo3bfHRGIsYEasHkdMhLkNleVfszX/Ns1oip58tPJlKdo5Ssr8kgVIuo5oq00hss8AIcdesuy0Xt0BcTvg==", 4771 + "version": "3.0.4", 4772 + "resolved": "https://registry.npmjs.org/svelte-check/-/svelte-check-3.0.4.tgz", 4773 + "integrity": "sha512-feIyBAA5cSIxq4vq6mwGvGQTHy/wBVQbs5b+/VvE21WN8X7nonAuSqwvZv0UDBowzRka3Rh4gmLPH8rPePz3/w==", 4763 4774 "dev": true, 4764 4775 "dependencies": { 4765 4776 "@jridgewell/trace-mapping": "^0.3.17", ··· 4851 4862 "typescript": { 4852 4863 "optional": true 4853 4864 } 4865 + } 4866 + }, 4867 + "node_modules/svelte-preprocess/node_modules/magic-string": { 4868 + "version": "0.27.0", 4869 + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", 4870 + "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", 4871 + "dev": true, 4872 + "dependencies": { 4873 + "@jridgewell/sourcemap-codec": "^1.4.13" 4874 + }, 4875 + "engines": { 4876 + "node": ">=12" 4854 4877 } 4855 4878 }, 4856 4879 "node_modules/tar": { ··· 5138 5161 "optional": true 5139 5162 }, 5140 5163 "node_modules/vite": { 5141 - "version": "4.1.3", 5142 - "resolved": "https://registry.npmjs.org/vite/-/vite-4.1.3.tgz", 5143 - "integrity": "sha512-0Zqo4/Fr/swSOBmbl+HAAhOjrqNwju+yTtoe4hQX9UsARdcuc9njyOdr6xU0DDnV7YP0RT6mgTTOiRtZgxfCxA==", 5164 + "version": "4.1.4", 5165 + "resolved": "https://registry.npmjs.org/vite/-/vite-4.1.4.tgz", 5166 + "integrity": "sha512-3knk/HsbSTKEin43zHu7jTwYWv81f8kgAL99G5NWBcA1LKvtvcVAC4JjBH1arBunO9kQka+1oGbrMKOjk4ZrBg==", 5144 5167 "dev": true, 5145 5168 "dependencies": { 5146 5169 "esbuild": "^0.16.14", ··· 5340 5363 "dev": true 5341 5364 }, 5342 5365 "node_modules/yargs": { 5343 - "version": "17.7.0", 5344 - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.0.tgz", 5345 - "integrity": "sha512-dwqOPg5trmrre9+v8SUo2q/hAwyKoVfu8OC1xPHKJGNdxAvPl4sKxL4vBnh3bQz/ZvvGAFeA5H3ou2kcOY8sQQ==", 5366 + "version": "17.7.1", 5367 + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.1.tgz", 5368 + "integrity": "sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==", 5346 5369 "dev": true, 5347 5370 "dependencies": { 5348 5371 "cliui": "^8.0.1", ··· 5625 5648 "optional": true 5626 5649 }, 5627 5650 "@eslint/eslintrc": { 5628 - "version": "1.4.1", 5629 - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz", 5630 - "integrity": "sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==", 5651 + "version": "2.0.0", 5652 + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.0.tgz", 5653 + "integrity": "sha512-fluIaaV+GyV24CCu/ggiHdV+j4RNh85yQnAYS/G2mZODZgGmmlrgCydjUcV3YvxCm9x8nMAfThsqTni4KiXT4A==", 5631 5654 "dev": true, 5632 5655 "requires": { 5633 5656 "ajv": "^6.12.4", ··· 5640 5663 "minimatch": "^3.1.2", 5641 5664 "strip-json-comments": "^3.1.1" 5642 5665 } 5666 + }, 5667 + "@eslint/js": { 5668 + "version": "8.35.0", 5669 + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.35.0.tgz", 5670 + "integrity": "sha512-JXdzbRiWclLVoD8sNUjR443VVlYqiYmDVT6rGUEIEHU5YJW0gaVZwV2xgM7D4arkvASqD0IlLUVjHiFuxaftRw==", 5671 + "dev": true 5643 5672 }, 5644 5673 "@humanwhocodes/config-array": { 5645 5674 "version": "0.11.8", ··· 5776 5805 "dev": true 5777 5806 }, 5778 5807 "@sveltejs/vite-plugin-svelte": { 5779 - "version": "2.0.2", 5780 - "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-2.0.2.tgz", 5781 - "integrity": "sha512-xCEan0/NNpQuL0l5aS42FjwQ6wwskdxC3pW1OeFtEKNZwRg7Evro9lac9HesGP6TdFsTv2xMes5ASQVKbCacxg==", 5808 + "version": "2.0.3", 5809 + "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-2.0.3.tgz", 5810 + "integrity": "sha512-o+cguBFdwIGtRbNkYOyqTM7KvRUffxh5bfK4oJsWKG2obu+v/cbpT03tJrGl58C7tRXo/aEC0/axN5FVHBj0nA==", 5782 5811 "dev": true, 5783 5812 "requires": { 5784 5813 "debug": "^4.3.4", 5785 - "deepmerge": "^4.2.2", 5814 + "deepmerge": "^4.3.0", 5786 5815 "kleur": "^4.1.5", 5787 - "magic-string": "^0.27.0", 5816 + "magic-string": "^0.29.0", 5788 5817 "svelte-hmr": "^0.15.1", 5789 - "vitefu": "^0.2.3" 5818 + "vitefu": "^0.2.4" 5790 5819 } 5791 5820 }, 5792 5821 "@szmarczak/http-timer": { ··· 5853 5882 "dev": true 5854 5883 }, 5855 5884 "@types/node": { 5856 - "version": "14.18.36", 5857 - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.36.tgz", 5858 - "integrity": "sha512-FXKWbsJ6a1hIrRxv+FoukuHnGTgEzKYGi7kilfMae96AL9UNkPFNWJEEYWzdRI9ooIkbr4AKldyuSTLql06vLQ==", 5885 + "version": "14.18.37", 5886 + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.37.tgz", 5887 + "integrity": "sha512-7GgtHCs/QZrBrDzgIJnQtuSvhFSwhyYSI2uafSwZoNt1iOGhEN5fwNrQMjtONyHm9+/LoA4453jH0CMYcr06Pg==", 5859 5888 "dev": true 5860 5889 }, 5861 5890 "@types/plist": { ··· 5876 5905 "dev": true 5877 5906 }, 5878 5907 "@types/sass": { 5879 - "version": "1.43.1", 5880 - "resolved": "https://registry.npmjs.org/@types/sass/-/sass-1.43.1.tgz", 5881 - "integrity": "sha512-BPdoIt1lfJ6B7rw35ncdwBZrAssjcwzI5LByIrYs+tpXlj/CAkuVdRsgZDdP4lq5EjyWzwxZCqAoFyHKFwp32g==", 5908 + "version": "1.45.0", 5909 + "resolved": "https://registry.npmjs.org/@types/sass/-/sass-1.45.0.tgz", 5910 + "integrity": "sha512-jn7qwGFmJHwUSphV8zZneO3GmtlgLsmhs/LQyVvQbIIa+fzGMUiHI4HXJZL3FT8MJmgXWbLGiVVY7ElvHq6vDA==", 5882 5911 "dev": true, 5883 5912 "requires": { 5884 - "@types/node": "*" 5913 + "sass": "*" 5885 5914 } 5886 5915 }, 5887 5916 "@types/semver": { ··· 5919 5948 "dev": true 5920 5949 }, 5921 5950 "@typescript-eslint/eslint-plugin": { 5922 - "version": "5.53.0", 5923 - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.53.0.tgz", 5924 - "integrity": "sha512-alFpFWNucPLdUOySmXCJpzr6HKC3bu7XooShWM+3w/EL6J2HIoB2PFxpLnq4JauWVk6DiVeNKzQlFEaE+X9sGw==", 5951 + "version": "5.54.0", 5952 + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.54.0.tgz", 5953 + "integrity": "sha512-+hSN9BdSr629RF02d7mMtXhAJvDTyCbprNYJKrXETlul/Aml6YZwd90XioVbjejQeHbb3R8Dg0CkRgoJDxo8aw==", 5925 5954 "dev": true, 5926 5955 "requires": { 5927 - "@typescript-eslint/scope-manager": "5.53.0", 5928 - "@typescript-eslint/type-utils": "5.53.0", 5929 - "@typescript-eslint/utils": "5.53.0", 5956 + "@typescript-eslint/scope-manager": "5.54.0", 5957 + "@typescript-eslint/type-utils": "5.54.0", 5958 + "@typescript-eslint/utils": "5.54.0", 5930 5959 "debug": "^4.3.4", 5931 5960 "grapheme-splitter": "^1.0.4", 5932 5961 "ignore": "^5.2.0", ··· 5937 5966 } 5938 5967 }, 5939 5968 "@typescript-eslint/parser": { 5940 - "version": "5.53.0", 5941 - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.53.0.tgz", 5942 - "integrity": "sha512-MKBw9i0DLYlmdOb3Oq/526+al20AJZpANdT6Ct9ffxcV8nKCHz63t/S0IhlTFNsBIHJv+GY5SFJ0XfqVeydQrQ==", 5969 + "version": "5.54.0", 5970 + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.54.0.tgz", 5971 + "integrity": "sha512-aAVL3Mu2qTi+h/r04WI/5PfNWvO6pdhpeMRWk9R7rEV4mwJNzoWf5CCU5vDKBsPIFQFjEq1xg7XBI2rjiMXQbQ==", 5943 5972 "dev": true, 5944 5973 "requires": { 5945 - "@typescript-eslint/scope-manager": "5.53.0", 5946 - "@typescript-eslint/types": "5.53.0", 5947 - "@typescript-eslint/typescript-estree": "5.53.0", 5974 + "@typescript-eslint/scope-manager": "5.54.0", 5975 + "@typescript-eslint/types": "5.54.0", 5976 + "@typescript-eslint/typescript-estree": "5.54.0", 5948 5977 "debug": "^4.3.4" 5949 5978 } 5950 5979 }, 5951 5980 "@typescript-eslint/scope-manager": { 5952 - "version": "5.53.0", 5953 - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.53.0.tgz", 5954 - "integrity": "sha512-Opy3dqNsp/9kBBeCPhkCNR7fmdSQqA+47r21hr9a14Bx0xnkElEQmhoHga+VoaoQ6uDHjDKmQPIYcUcKJifS7w==", 5981 + "version": "5.54.0", 5982 + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.54.0.tgz", 5983 + "integrity": "sha512-VTPYNZ7vaWtYna9M4oD42zENOBrb+ZYyCNdFs949GcN8Miwn37b8b7eMj+EZaq7VK9fx0Jd+JhmkhjFhvnovhg==", 5955 5984 "dev": true, 5956 5985 "requires": { 5957 - "@typescript-eslint/types": "5.53.0", 5958 - "@typescript-eslint/visitor-keys": "5.53.0" 5986 + "@typescript-eslint/types": "5.54.0", 5987 + "@typescript-eslint/visitor-keys": "5.54.0" 5959 5988 } 5960 5989 }, 5961 5990 "@typescript-eslint/type-utils": { 5962 - "version": "5.53.0", 5963 - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.53.0.tgz", 5964 - "integrity": "sha512-HO2hh0fmtqNLzTAme/KnND5uFNwbsdYhCZghK2SoxGp3Ifn2emv+hi0PBUjzzSh0dstUIFqOj3bp0AwQlK4OWw==", 5991 + "version": "5.54.0", 5992 + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.54.0.tgz", 5993 + "integrity": "sha512-WI+WMJ8+oS+LyflqsD4nlXMsVdzTMYTxl16myXPaCXnSgc7LWwMsjxQFZCK/rVmTZ3FN71Ct78ehO9bRC7erYQ==", 5965 5994 "dev": true, 5966 5995 "requires": { 5967 - "@typescript-eslint/typescript-estree": "5.53.0", 5968 - "@typescript-eslint/utils": "5.53.0", 5996 + "@typescript-eslint/typescript-estree": "5.54.0", 5997 + "@typescript-eslint/utils": "5.54.0", 5969 5998 "debug": "^4.3.4", 5970 5999 "tsutils": "^3.21.0" 5971 6000 } 5972 6001 }, 5973 6002 "@typescript-eslint/types": { 5974 - "version": "5.53.0", 5975 - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.53.0.tgz", 5976 - "integrity": "sha512-5kcDL9ZUIP756K6+QOAfPkigJmCPHcLN7Zjdz76lQWWDdzfOhZDTj1irs6gPBKiXx5/6O3L0+AvupAut3z7D2A==", 6003 + "version": "5.54.0", 6004 + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.54.0.tgz", 6005 + "integrity": "sha512-nExy+fDCBEgqblasfeE3aQ3NuafBUxZxgxXcYfzYRZFHdVvk5q60KhCSkG0noHgHRo/xQ/BOzURLZAafFpTkmQ==", 5977 6006 "dev": true 5978 6007 }, 5979 6008 "@typescript-eslint/typescript-estree": { 5980 - "version": "5.53.0", 5981 - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.53.0.tgz", 5982 - "integrity": "sha512-eKmipH7QyScpHSkhbptBBYh9v8FxtngLquq292YTEQ1pxVs39yFBlLC1xeIZcPPz1RWGqb7YgERJRGkjw8ZV7w==", 6009 + "version": "5.54.0", 6010 + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.54.0.tgz", 6011 + "integrity": "sha512-X2rJG97Wj/VRo5YxJ8Qx26Zqf0RRKsVHd4sav8NElhbZzhpBI8jU54i6hfo9eheumj4oO4dcRN1B/zIVEqR/MQ==", 5983 6012 "dev": true, 5984 6013 "requires": { 5985 - "@typescript-eslint/types": "5.53.0", 5986 - "@typescript-eslint/visitor-keys": "5.53.0", 6014 + "@typescript-eslint/types": "5.54.0", 6015 + "@typescript-eslint/visitor-keys": "5.54.0", 5987 6016 "debug": "^4.3.4", 5988 6017 "globby": "^11.1.0", 5989 6018 "is-glob": "^4.0.3", ··· 5992 6021 } 5993 6022 }, 5994 6023 "@typescript-eslint/utils": { 5995 - "version": "5.53.0", 5996 - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.53.0.tgz", 5997 - "integrity": "sha512-VUOOtPv27UNWLxFwQK/8+7kvxVC+hPHNsJjzlJyotlaHjLSIgOCKj9I0DBUjwOOA64qjBwx5afAPjksqOxMO0g==", 6024 + "version": "5.54.0", 6025 + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.54.0.tgz", 6026 + "integrity": "sha512-cuwm8D/Z/7AuyAeJ+T0r4WZmlnlxQ8wt7C7fLpFlKMR+dY6QO79Cq1WpJhvZbMA4ZeZGHiRWnht7ZJ8qkdAunw==", 5998 6027 "dev": true, 5999 6028 "requires": { 6000 6029 "@types/json-schema": "^7.0.9", 6001 6030 "@types/semver": "^7.3.12", 6002 - "@typescript-eslint/scope-manager": "5.53.0", 6003 - "@typescript-eslint/types": "5.53.0", 6004 - "@typescript-eslint/typescript-estree": "5.53.0", 6031 + "@typescript-eslint/scope-manager": "5.54.0", 6032 + "@typescript-eslint/types": "5.54.0", 6033 + "@typescript-eslint/typescript-estree": "5.54.0", 6005 6034 "eslint-scope": "^5.1.1", 6006 6035 "eslint-utils": "^3.0.0", 6007 6036 "semver": "^7.3.7" 6008 6037 } 6009 6038 }, 6010 6039 "@typescript-eslint/visitor-keys": { 6011 - "version": "5.53.0", 6012 - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.53.0.tgz", 6013 - "integrity": "sha512-JqNLnX3leaHFZEN0gCh81sIvgrp/2GOACZNgO4+Tkf64u51kTpAyWFOY8XHx8XuXr3N2C9zgPPHtcpMg6z1g0w==", 6040 + "version": "5.54.0", 6041 + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.54.0.tgz", 6042 + "integrity": "sha512-xu4wT7aRCakGINTLGeyGqDn+78BwFlggwBjnHa1ar/KaGagnmwLYmlrXIrgAaQ3AE1Vd6nLfKASm7LrFHNbKGA==", 6014 6043 "dev": true, 6015 6044 "requires": { 6016 - "@typescript-eslint/types": "5.53.0", 6045 + "@typescript-eslint/types": "5.54.0", 6017 6046 "eslint-visitor-keys": "^3.3.0" 6018 6047 } 6019 6048 }, ··· 7089 7118 "dev": true 7090 7119 }, 7091 7120 "eslint": { 7092 - "version": "8.34.0", 7093 - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.34.0.tgz", 7094 - "integrity": "sha512-1Z8iFsucw+7kSqXNZVslXS8Ioa4u2KM7GPwuKtkTFAqZ/cHMcEaR+1+Br0wLlot49cNxIiZk5wp8EAbPcYZxTg==", 7121 + "version": "8.35.0", 7122 + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.35.0.tgz", 7123 + "integrity": "sha512-BxAf1fVL7w+JLRQhWl2pzGeSiGqbWumV4WNvc9Rhp6tiCtm4oHnyPBSEtMGZwrQgudFQ+otqzWoPB7x+hxoWsw==", 7095 7124 "dev": true, 7096 7125 "requires": { 7097 - "@eslint/eslintrc": "^1.4.1", 7126 + "@eslint/eslintrc": "^2.0.0", 7127 + "@eslint/js": "8.35.0", 7098 7128 "@humanwhocodes/config-array": "^0.11.8", 7099 7129 "@humanwhocodes/module-importer": "^1.0.1", 7100 7130 "@nodelib/fs.walk": "^1.2.8", ··· 7108 7138 "eslint-utils": "^3.0.0", 7109 7139 "eslint-visitor-keys": "^3.3.0", 7110 7140 "espree": "^9.4.0", 7111 - "esquery": "^1.4.0", 7141 + "esquery": "^1.4.2", 7112 7142 "esutils": "^2.0.2", 7113 7143 "fast-deep-equal": "^3.1.3", 7114 7144 "file-entry-cache": "^6.0.1", ··· 7212 7242 } 7213 7243 }, 7214 7244 "esquery": { 7215 - "version": "1.4.2", 7216 - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.2.tgz", 7217 - "integrity": "sha512-JVSoLdTlTDkmjFmab7H/9SL9qGSyjElT3myyKp7krqjVFQCDLmj1QFaCLRFBszBKI0XVZaiiXvuPIX3ZwHe1Ng==", 7245 + "version": "1.5.0", 7246 + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", 7247 + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", 7218 7248 "dev": true, 7219 7249 "requires": { 7220 7250 "estraverse": "^5.1.0" ··· 7997 8027 } 7998 8028 }, 7999 8029 "magic-string": { 8000 - "version": "0.27.0", 8001 - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", 8002 - "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", 8030 + "version": "0.29.0", 8031 + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.29.0.tgz", 8032 + "integrity": "sha512-WcfidHrDjMY+eLjlU+8OvwREqHwpgCeKVBUpQ3OhYYuvfaYCUgcbuBzappNzZvg/v8onU3oQj+BYpkOJe9Iw4Q==", 8003 8033 "dev": true, 8004 8034 "requires": { 8005 8035 "@jridgewell/sourcemap-codec": "^1.4.13" ··· 8080 8110 "dev": true 8081 8111 }, 8082 8112 "minipass": { 8083 - "version": "4.0.3", 8084 - "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.0.3.tgz", 8085 - "integrity": "sha512-OW2r4sQ0sI+z5ckEt5c1Tri4xTgZwYDxpE54eqWlQloQRoWtXjqt9udJ5Z4dSv7wK+nfFI7FRXyCpBSft+gpFw==", 8113 + "version": "4.2.4", 8114 + "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.4.tgz", 8115 + "integrity": "sha512-lwycX3cBMTvcejsHITUgYj6Gy6A7Nh4Q6h9NP4sTHY1ccJlC7yKzDmiShEHsJ16Jf1nKGDEaiHxiltsJEvk0nQ==", 8086 8116 "dev": true 8087 8117 }, 8088 8118 "minizlib": { ··· 8394 8424 } 8395 8425 }, 8396 8426 "readable-stream": { 8397 - "version": "2.3.7", 8398 - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", 8399 - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", 8427 + "version": "2.3.8", 8428 + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", 8429 + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", 8400 8430 "dev": true, 8401 8431 "requires": { 8402 8432 "core-util-is": "~1.0.0", ··· 8486 8516 } 8487 8517 }, 8488 8518 "rollup": { 8489 - "version": "3.17.2", 8490 - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.17.2.tgz", 8491 - "integrity": "sha512-qMNZdlQPCkWodrAZ3qnJtvCAl4vpQ8q77uEujVCCbC/6CLB7Lcmvjq7HyiOSnf4fxTT9XgsE36oLHJBH49xjqA==", 8519 + "version": "3.18.0", 8520 + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.18.0.tgz", 8521 + "integrity": "sha512-J8C6VfEBjkvYPESMQYxKHxNOh4A5a3FlP+0BETGo34HEcE4eTlgCrO2+eWzlu2a/sHs2QUkZco+wscH7jhhgWg==", 8492 8522 "dev": true, 8493 8523 "requires": { 8494 8524 "fsevents": "~2.3.2" ··· 8814 8844 "dev": true 8815 8845 }, 8816 8846 "svelte-check": { 8817 - "version": "3.0.3", 8818 - "resolved": "https://registry.npmjs.org/svelte-check/-/svelte-check-3.0.3.tgz", 8819 - "integrity": "sha512-ByBFXo3bfHRGIsYEasHkdMhLkNleVfszX/Ns1oip58tPJlKdo5Ssr8kgVIuo5oq00hss8AIcdesuy0Xt0BcTvg==", 8847 + "version": "3.0.4", 8848 + "resolved": "https://registry.npmjs.org/svelte-check/-/svelte-check-3.0.4.tgz", 8849 + "integrity": "sha512-feIyBAA5cSIxq4vq6mwGvGQTHy/wBVQbs5b+/VvE21WN8X7nonAuSqwvZv0UDBowzRka3Rh4gmLPH8rPePz3/w==", 8820 8850 "dev": true, 8821 8851 "requires": { 8822 8852 "@jridgewell/trace-mapping": "^0.3.17", ··· 8848 8878 "magic-string": "^0.27.0", 8849 8879 "sorcery": "^0.11.0", 8850 8880 "strip-indent": "^3.0.0" 8881 + }, 8882 + "dependencies": { 8883 + "magic-string": { 8884 + "version": "0.27.0", 8885 + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", 8886 + "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", 8887 + "dev": true, 8888 + "requires": { 8889 + "@jridgewell/sourcemap-codec": "^1.4.13" 8890 + } 8891 + } 8851 8892 } 8852 8893 }, 8853 8894 "tar": { ··· 9080 9121 } 9081 9122 }, 9082 9123 "vite": { 9083 - "version": "4.1.3", 9084 - "resolved": "https://registry.npmjs.org/vite/-/vite-4.1.3.tgz", 9085 - "integrity": "sha512-0Zqo4/Fr/swSOBmbl+HAAhOjrqNwju+yTtoe4hQX9UsARdcuc9njyOdr6xU0DDnV7YP0RT6mgTTOiRtZgxfCxA==", 9124 + "version": "4.1.4", 9125 + "resolved": "https://registry.npmjs.org/vite/-/vite-4.1.4.tgz", 9126 + "integrity": "sha512-3knk/HsbSTKEin43zHu7jTwYWv81f8kgAL99G5NWBcA1LKvtvcVAC4JjBH1arBunO9kQka+1oGbrMKOjk4ZrBg==", 9086 9127 "dev": true, 9087 9128 "requires": { 9088 9129 "esbuild": "^0.16.14", ··· 9206 9247 "dev": true 9207 9248 }, 9208 9249 "yargs": { 9209 - "version": "17.7.0", 9210 - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.0.tgz", 9211 - "integrity": "sha512-dwqOPg5trmrre9+v8SUo2q/hAwyKoVfu8OC1xPHKJGNdxAvPl4sKxL4vBnh3bQz/ZvvGAFeA5H3ou2kcOY8sQQ==", 9250 + "version": "17.7.1", 9251 + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.1.tgz", 9252 + "integrity": "sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==", 9212 9253 "dev": true, 9213 9254 "requires": { 9214 9255 "cliui": "^8.0.1",
+6 -6
package.json
··· 62 62 }, 63 63 "devDependencies": { 64 64 "@napi-rs/cli": "^2.14.8", 65 - "@sveltejs/vite-plugin-svelte": "^2.0.2", 65 + "@sveltejs/vite-plugin-svelte": "^2.0.3", 66 66 "@types/wicg-mediasession": "^1.1.4", 67 - "@typescript-eslint/eslint-plugin": "^5.53.0", 68 - "@typescript-eslint/parser": "^5.53.0", 67 + "@typescript-eslint/eslint-plugin": "^5.54.0", 68 + "@typescript-eslint/parser": "^5.54.0", 69 69 "concurrently": "^7.6.0", 70 70 "electron": "^14.2.9", 71 71 "electron-builder": "^23.6.0", 72 - "eslint": "^8.34.0", 72 + "eslint": "^8.35.0", 73 73 "eslint-config-prettier": "^8.6.0", 74 74 "eslint-plugin-svelte3": "^4.0.0", 75 75 "prettier": "^2.8.4", 76 76 "prettier-plugin-svelte": "^2.9.0", 77 77 "sass": "^1.58.3", 78 78 "svelte": "^3.55.1", 79 - "svelte-check": "^3.0.3", 79 + "svelte-check": "^3.0.4", 80 80 "svelte-preprocess": "^5.0.1", 81 81 "typescript": "^4.9.5", 82 - "vite": "^4.1.3", 82 + "vite": "^4.1.4", 83 83 "vite-plugin-electron": "^0.11.1", 84 84 "vite-plugin-externals": "^0.6.2" 85 85 },
+15 -11
src-native/itunes_import.rs
··· 3 3 use crate::library_types::{CountObject, Folder, Library, Playlist, Track, TrackList}; 4 4 use crate::tracks::generate_filename; 5 5 use crate::tracks::import::{read_file_metadata, FileType}; 6 - use lofty::AudioFile; 6 + use lofty::{AudioFile, TaggedFileExt}; 7 7 use napi::{Env, Result}; 8 8 use serde::{Deserialize, Serialize}; 9 9 use std::collections::HashMap; 10 10 use std::fs; 11 11 use std::path::{Path, PathBuf}; 12 + use std::sync::Mutex; 12 13 use time::serde::iso8601; 13 14 use time::serde::iso8601::option as iso8601_opt; 14 15 use time::OffsetDateTime; ··· 589 590 590 591 #[napi] 591 592 pub struct ItunesImport { 592 - new_library: Option<Library>, 593 + new_library: Mutex<Option<Library>>, 593 594 /// iTunes path -> Ferrum file 594 - itunes_track_paths: HashMap<PathBuf, String>, 595 + itunes_track_paths: Mutex<HashMap<PathBuf, String>>, 595 596 } 596 597 #[napi] 597 598 impl ItunesImport { ··· 599 600 pub fn new(env: Env) -> Result<Self> { 600 601 let data = get_data(&env)?; 601 602 Ok(Self { 602 - new_library: Some(data.library.clone()), 603 - itunes_track_paths: HashMap::new(), 603 + new_library: Some(data.library.clone()).into(), 604 + itunes_track_paths: HashMap::new().into(), 604 605 }) 605 606 } 606 607 #[napi] 607 - pub async fn start(&mut self, path: String, tracks_dir: String) -> Result<ImportStatus> { 608 + pub async fn start(&self, path: String, tracks_dir: String) -> Result<ImportStatus> { 608 609 import_itunes(self, path, tracks_dir).await 609 610 } 610 611 #[napi] 611 612 pub fn finish(&mut self, env: Env) -> Result<()> { 612 613 let mut data = get_data(&env)?; 613 - for (itunes_path, ferrum_file) in &self.itunes_track_paths { 614 + let itunes_track_paths = &mut *self.itunes_track_paths.lock().unwrap(); 615 + for (itunes_path, ferrum_file) in itunes_track_paths { 614 616 let new_path = data.paths.tracks_dir.join(ferrum_file); 615 617 fs::copy(itunes_path, new_path).or(Err(nerr!("Error copying file")))?; 616 618 } 617 - data.library = self.new_library.take().ok_or(nerr!("Not initialized"))?; 619 + let new_library = &mut self.new_library.lock().unwrap(); 620 + data.library = new_library.take().ok_or(nerr!("Not initialized"))?; 618 621 Ok(()) 619 622 } 620 623 } 621 624 622 625 pub async fn import_itunes( 623 - itunes_import: &mut ItunesImport, 626 + itunes_import: &ItunesImport, 624 627 path: String, 625 628 tracks_dir: String, 626 629 ) -> Result<ImportStatus> { 627 - let mut library = match &mut itunes_import.new_library { 630 + let new_library_lock = &mut *itunes_import.new_library.lock().unwrap(); 631 + let mut library = match new_library_lock { 628 632 Some(library) => library, 629 633 None => throw!("Not initialized"), 630 634 }; 631 - let itunes_track_paths = &mut itunes_import.itunes_track_paths; 635 + let mut itunes_track_paths = itunes_import.itunes_track_paths.lock().unwrap(); 632 636 let original_tracks_count = library.tracks.len(); 633 637 let original_tracklists_count = library.trackLists.len(); 634 638 let xml_lib: XmlLibrary = match plist::from_file(path) {
+4 -4
src-native/lib.rs
··· 1 1 use serde::de::DeserializeOwned; 2 2 use std::fs::File; 3 3 use std::io::BufReader; 4 + use std::mem; 4 5 use std::path::PathBuf; 5 6 use std::time::{SystemTime, UNIX_EPOCH}; 6 7 ··· 78 79 } 79 80 } 80 81 impl From<napi::Error> for UniError { 81 - fn from(n_err: napi::Error) -> Self { 82 - UniError { 83 - message: n_err.reason, 84 - } 82 + fn from(mut n_err: napi::Error) -> Self { 83 + let message = mem::replace(&mut n_err.reason, "".to_string()); 84 + UniError { message } 85 85 } 86 86 } 87 87
+7 -7
src-native/tracks/import.rs
··· 120 120 let tag = opusfile.vorbis_comments_mut(); 121 121 122 122 let title = match tag.title() { 123 - Some(title) => title.to_owned(), 123 + Some(title) => title.into_owned(), 124 124 None => { 125 125 let file_stem = match track_path.file_stem() { 126 126 Some(stem) => stem.to_string_lossy().into_owned(), ··· 131 131 file_stem 132 132 } 133 133 }; 134 - let artist = tag.artist(); 134 + let artist = tag.artist().map(|s| s.into_owned()).unwrap_or_default(); 135 135 136 136 let tracks_dir = &data.paths.tracks_dir; 137 - let filename = generate_filename(&tracks_dir, artist.unwrap_or(""), &title, "opus"); 137 + let filename = generate_filename(&tracks_dir, &artist, &title, "opus"); 138 138 let dest_path = tracks_dir.join(&filename); 139 139 140 140 fs::copy(track_path, &dest_path).expect("Error copying file"); ··· 160 160 file: filename, 161 161 dateModified: date_modified, 162 162 dateAdded: now, 163 - name: title.to_string(), 163 + name: title, 164 164 importedFrom: None, 165 165 originalId: None, 166 - artist: artist.unwrap_or_default().to_string(), 166 + artist, 167 167 composer: tag.get("COMPOSER").map(|s| s.to_string()), 168 168 sortName: tag.get("TITLESORT").map(|s| s.to_string()), 169 169 sortArtist: tag.get("ARTISTSORT").map(|s| s.to_string()), 170 170 sortComposer: tag.get("COMPOSERSORT").map(|s| s.to_string()), 171 - genre: tag.genre().map(|s| s.to_owned()), 171 + genre: tag.genre().map(|s| s.into_owned()), 172 172 rating: None, 173 173 year: tag.year().map(|y| y.into()), 174 174 bpm: match tag.get("BPM") { 175 175 Some(n) => n.parse().ok(), 176 176 None => None, 177 177 }, 178 - comments: tag.comment().map(|s| s.to_owned()), 178 + comments: tag.comment().map(|s| s.into_owned()), 179 179 grouping: tag.get("GROUPING").map(|s| s.to_string()), 180 180 liked: None, 181 181 disliked: None,
+3 -3
src-native/tracks/tag.rs
··· 1 1 use crate::{UniError, UniResult}; 2 2 use id3::{self, TagLike}; 3 - use lofty::{Accessor, TagExt}; 3 + use lofty::{Accessor, TagExt, TaggedFileExt}; 4 4 use mp4ameta; 5 5 use std::io::Cursor; 6 6 use std::path::{Path, PathBuf}; ··· 87 87 Ok(f) => { 88 88 let parse_options = lofty::ParseOptions::new().read_properties(false); 89 89 f.options(parse_options) 90 - }, 90 + } 91 91 Err(e) => throw!("File does not exist: {}", e), 92 92 }; 93 93 ··· 96 96 Err(e) => throw!("Unable to read file: {}", e), 97 97 }; 98 98 99 - let tag = match tagged_file.take(lofty::TagType::VorbisComments) { 99 + let tag = match tagged_file.remove(lofty::TagType::VorbisComments) { 100 100 Some(t) => t, 101 101 None => lofty::Tag::new(lofty::TagType::VorbisComments), 102 102 };