Merge pull request #260011 from lilyinstarlight/fix/prefetch-npm-deps-network-error-recovery

prefetch-npm-deps: read url bodies within the retry loop

authored by Weijia Wang and committed by GitHub 093f098d 7f480265

+172 -214
+140 -184
pkgs/build-support/node/fetch-npm-deps/Cargo.lock
··· 4 4 5 5 [[package]] 6 6 name = "aho-corasick" 7 - version = "1.0.2" 7 + version = "1.1.2" 8 8 source = "registry+https://github.com/rust-lang/crates.io-index" 9 - checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41" 9 + checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" 10 10 dependencies = [ 11 11 "memchr", 12 12 ] 13 13 14 14 [[package]] 15 15 name = "anyhow" 16 - version = "1.0.71" 16 + version = "1.0.75" 17 17 source = "registry+https://github.com/rust-lang/crates.io-index" 18 - checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8" 18 + checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" 19 19 20 20 [[package]] 21 21 name = "async-channel" 22 - version = "1.8.0" 22 + version = "1.9.0" 23 23 source = "registry+https://github.com/rust-lang/crates.io-index" 24 - checksum = "cf46fee83e5ccffc220104713af3292ff9bc7c64c7de289f66dae8e38d826833" 24 + checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35" 25 25 dependencies = [ 26 26 "concurrent-queue", 27 27 "event-listener", ··· 47 47 48 48 [[package]] 49 49 name = "base64" 50 - version = "0.21.2" 50 + version = "0.21.4" 51 51 source = "registry+https://github.com/rust-lang/crates.io-index" 52 - checksum = "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d" 52 + checksum = "9ba43ea6f343b788c8764558649e08df62f86c6ef251fdaeb1ffd010a9ae50a2" 53 53 54 54 [[package]] 55 55 name = "bitflags" ··· 59 59 60 60 [[package]] 61 61 name = "bitflags" 62 - version = "2.3.3" 62 + version = "2.4.0" 63 63 source = "registry+https://github.com/rust-lang/crates.io-index" 64 - checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42" 64 + checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635" 65 65 66 66 [[package]] 67 67 name = "block-buffer" ··· 74 74 75 75 [[package]] 76 76 name = "bytes" 77 - version = "1.4.0" 77 + version = "1.5.0" 78 78 source = "registry+https://github.com/rust-lang/crates.io-index" 79 - checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" 79 + checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" 80 80 81 81 [[package]] 82 82 name = "castaway" ··· 86 86 87 87 [[package]] 88 88 name = "cc" 89 - version = "1.0.79" 89 + version = "1.0.83" 90 90 source = "registry+https://github.com/rust-lang/crates.io-index" 91 - checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" 91 + checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" 92 + dependencies = [ 93 + "libc", 94 + ] 92 95 93 96 [[package]] 94 97 name = "cfg-if" ··· 98 101 99 102 [[package]] 100 103 name = "concurrent-queue" 101 - version = "2.2.0" 104 + version = "2.3.0" 102 105 source = "registry+https://github.com/rust-lang/crates.io-index" 103 - checksum = "62ec6771ecfa0762d24683ee5a32ad78487a3d3afdc0fb8cae19d2c5deb50b7c" 106 + checksum = "f057a694a54f12365049b0958a1685bb52d567f5593b355fbf685838e873d400" 104 107 dependencies = [ 105 108 "crossbeam-utils", 106 109 ] 107 110 108 111 [[package]] 109 112 name = "cpufeatures" 110 - version = "0.2.8" 113 + version = "0.2.9" 111 114 source = "registry+https://github.com/rust-lang/crates.io-index" 112 - checksum = "03e69e28e9f7f77debdedbaafa2866e1de9ba56df55a8bd7cfc724c25a09987c" 115 + checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1" 113 116 dependencies = [ 114 117 "libc", 115 118 ] 116 119 117 120 [[package]] 118 - name = "crossbeam-channel" 119 - version = "0.5.8" 120 - source = "registry+https://github.com/rust-lang/crates.io-index" 121 - checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200" 122 - dependencies = [ 123 - "cfg-if", 124 - "crossbeam-utils", 125 - ] 126 - 127 - [[package]] 128 121 name = "crossbeam-deque" 129 122 version = "0.8.3" 130 123 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 184 177 185 178 [[package]] 186 179 name = "curl-sys" 187 - version = "0.4.63+curl-8.1.2" 180 + version = "0.4.67+curl-8.3.0" 188 181 source = "registry+https://github.com/rust-lang/crates.io-index" 189 - checksum = "aeb0fef7046022a1e2ad67a004978f0e3cacb9e3123dc62ce768f92197b771dc" 182 + checksum = "3cc35d066510b197a0f72de863736641539957628c8a42e70e27c66849e77c34" 190 183 dependencies = [ 191 184 "cc", 192 185 "libc", ··· 194 187 "openssl-sys", 195 188 "pkg-config", 196 189 "vcpkg", 197 - "winapi", 190 + "windows-sys", 198 191 ] 199 192 200 193 [[package]] ··· 209 202 210 203 [[package]] 211 204 name = "either" 212 - version = "1.8.1" 205 + version = "1.9.0" 213 206 source = "registry+https://github.com/rust-lang/crates.io-index" 214 - checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" 207 + checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" 215 208 216 209 [[package]] 217 210 name = "env_logger" ··· 228 221 229 222 [[package]] 230 223 name = "errno" 231 - version = "0.3.1" 224 + version = "0.3.5" 232 225 source = "registry+https://github.com/rust-lang/crates.io-index" 233 - checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a" 226 + checksum = "ac3e13f66a2f95e32a39eaa81f6b95d42878ca0e1db0c7543723dfe12557e860" 234 227 dependencies = [ 235 - "errno-dragonfly", 236 228 "libc", 237 229 "windows-sys", 238 - ] 239 - 240 - [[package]] 241 - name = "errno-dragonfly" 242 - version = "0.1.2" 243 - source = "registry+https://github.com/rust-lang/crates.io-index" 244 - checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" 245 - dependencies = [ 246 - "cc", 247 - "libc", 248 230 ] 249 231 250 232 [[package]] ··· 261 243 dependencies = [ 262 244 "instant", 263 245 ] 246 + 247 + [[package]] 248 + name = "fastrand" 249 + version = "2.0.1" 250 + source = "registry+https://github.com/rust-lang/crates.io-index" 251 + checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" 264 252 265 253 [[package]] 266 254 name = "fnv" ··· 295 283 source = "registry+https://github.com/rust-lang/crates.io-index" 296 284 checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce" 297 285 dependencies = [ 298 - "fastrand", 286 + "fastrand 1.9.0", 299 287 "futures-core", 300 288 "futures-io", 301 289 "memchr", ··· 327 315 328 316 [[package]] 329 317 name = "hermit-abi" 330 - version = "0.3.2" 318 + version = "0.3.3" 331 319 source = "registry+https://github.com/rust-lang/crates.io-index" 332 - checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b" 320 + checksum = "d77f7ec81a6d05a3abb01ab6eb7590f6083d08449fe5a1c8b1e620283546ccb7" 333 321 334 322 [[package]] 335 323 name = "http" ··· 368 356 ] 369 357 370 358 [[package]] 371 - name = "io-lifetimes" 372 - version = "1.0.11" 373 - source = "registry+https://github.com/rust-lang/crates.io-index" 374 - checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" 375 - dependencies = [ 376 - "hermit-abi", 377 - "libc", 378 - "windows-sys", 379 - ] 380 - 381 - [[package]] 382 359 name = "is-terminal" 383 - version = "0.4.8" 360 + version = "0.4.9" 384 361 source = "registry+https://github.com/rust-lang/crates.io-index" 385 - checksum = "24fddda5af7e54bf7da53067d6e802dbcc381d0a8eef629df528e3ebf68755cb" 362 + checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" 386 363 dependencies = [ 387 364 "hermit-abi", 388 - "rustix 0.38.2", 365 + "rustix", 389 366 "windows-sys", 390 367 ] 391 368 ··· 416 393 417 394 [[package]] 418 395 name = "itoa" 419 - version = "1.0.8" 396 + version = "1.0.9" 420 397 source = "registry+https://github.com/rust-lang/crates.io-index" 421 - checksum = "62b02a5381cc465bd3041d84623d0fa3b66738b52b8e2fc3bab8ad63ab032f4a" 398 + checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" 422 399 423 400 [[package]] 424 401 name = "libc" 425 - version = "0.2.147" 402 + version = "0.2.149" 426 403 source = "registry+https://github.com/rust-lang/crates.io-index" 427 - checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" 404 + checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b" 428 405 429 406 [[package]] 430 407 name = "libz-sys" 431 - version = "1.1.9" 408 + version = "1.1.12" 432 409 source = "registry+https://github.com/rust-lang/crates.io-index" 433 - checksum = "56ee889ecc9568871456d42f603d6a0ce59ff328d291063a45cbdf0036baf6db" 410 + checksum = "d97137b25e321a73eef1418d1d5d2eda4d77e12813f8e6dead84bc52c5870a7b" 434 411 dependencies = [ 435 412 "cc", 436 413 "libc", ··· 440 417 441 418 [[package]] 442 419 name = "linux-raw-sys" 443 - version = "0.3.8" 420 + version = "0.4.10" 444 421 source = "registry+https://github.com/rust-lang/crates.io-index" 445 - checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" 446 - 447 - [[package]] 448 - name = "linux-raw-sys" 449 - version = "0.4.3" 450 - source = "registry+https://github.com/rust-lang/crates.io-index" 451 - checksum = "09fc20d2ca12cb9f044c93e3bd6d32d523e6e2ec3db4f7b2939cd99026ecd3f0" 422 + checksum = "da2479e8c062e40bf0066ffa0bc823de0a9368974af99c9f6df941d2c231e03f" 452 423 453 424 [[package]] 454 425 name = "log" 455 - version = "0.4.19" 426 + version = "0.4.20" 456 427 source = "registry+https://github.com/rust-lang/crates.io-index" 457 - checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4" 428 + checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" 458 429 459 430 [[package]] 460 431 name = "memchr" 461 - version = "2.5.0" 432 + version = "2.6.4" 462 433 source = "registry+https://github.com/rust-lang/crates.io-index" 463 - checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" 434 + checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" 464 435 465 436 [[package]] 466 437 name = "memoffset" ··· 472 443 ] 473 444 474 445 [[package]] 475 - name = "num_cpus" 476 - version = "1.16.0" 477 - source = "registry+https://github.com/rust-lang/crates.io-index" 478 - checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" 479 - dependencies = [ 480 - "hermit-abi", 481 - "libc", 482 - ] 483 - 484 - [[package]] 485 446 name = "once_cell" 486 447 version = "1.18.0" 487 448 source = "registry+https://github.com/rust-lang/crates.io-index" ··· 495 456 496 457 [[package]] 497 458 name = "openssl-sys" 498 - version = "0.9.90" 459 + version = "0.9.93" 499 460 source = "registry+https://github.com/rust-lang/crates.io-index" 500 - checksum = "374533b0e45f3a7ced10fcaeccca020e66656bc03dac384f852e4e5a7a8104a6" 461 + checksum = "db4d56a4c0478783083cfafcc42493dd4a981d41669da64b4572a2a089b51b1d" 501 462 dependencies = [ 502 463 "cc", 503 464 "libc", ··· 507 468 508 469 [[package]] 509 470 name = "parking" 510 - version = "2.1.0" 471 + version = "2.1.1" 511 472 source = "registry+https://github.com/rust-lang/crates.io-index" 512 - checksum = "14f2252c834a40ed9bb5422029649578e63aa341ac401f74e719dd1afda8394e" 473 + checksum = "e52c774a4c39359c1d1c52e43f73dd91a75a614652c825408eec30c95a9b2067" 513 474 514 475 [[package]] 515 476 name = "percent-encoding" ··· 519 480 520 481 [[package]] 521 482 name = "pin-project" 522 - version = "1.1.2" 483 + version = "1.1.3" 523 484 source = "registry+https://github.com/rust-lang/crates.io-index" 524 - checksum = "030ad2bc4db10a8944cb0d837f158bdfec4d4a4873ab701a95046770d11f8842" 485 + checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422" 525 486 dependencies = [ 526 487 "pin-project-internal", 527 488 ] 528 489 529 490 [[package]] 530 491 name = "pin-project-internal" 531 - version = "1.1.2" 492 + version = "1.1.3" 532 493 source = "registry+https://github.com/rust-lang/crates.io-index" 533 - checksum = "ec2e072ecce94ec471b13398d5402c188e76ac03cf74dd1a975161b23a3f6d9c" 494 + checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" 534 495 dependencies = [ 535 496 "proc-macro2", 536 497 "quote", ··· 539 500 540 501 [[package]] 541 502 name = "pin-project-lite" 542 - version = "0.2.10" 503 + version = "0.2.13" 543 504 source = "registry+https://github.com/rust-lang/crates.io-index" 544 - checksum = "4c40d25201921e5ff0c862a505c6557ea88568a4e3ace775ab55e93f2f4f9d57" 505 + checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" 545 506 546 507 [[package]] 547 508 name = "pkg-config" ··· 593 554 594 555 [[package]] 595 556 name = "proc-macro2" 596 - version = "1.0.63" 557 + version = "1.0.69" 597 558 source = "registry+https://github.com/rust-lang/crates.io-index" 598 - checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb" 559 + checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da" 599 560 dependencies = [ 600 561 "unicode-ident", 601 562 ] 602 563 603 564 [[package]] 604 565 name = "quote" 605 - version = "1.0.29" 566 + version = "1.0.33" 606 567 source = "registry+https://github.com/rust-lang/crates.io-index" 607 - checksum = "573015e8ab27661678357f27dc26460738fd2b6c86e46f386fde94cb5d913105" 568 + checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" 608 569 dependencies = [ 609 570 "proc-macro2", 610 571 ] ··· 641 602 642 603 [[package]] 643 604 name = "rayon" 644 - version = "1.7.0" 605 + version = "1.8.0" 645 606 source = "registry+https://github.com/rust-lang/crates.io-index" 646 - checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b" 607 + checksum = "9c27db03db7734835b3f53954b534c91069375ce6ccaa2e065441e07d9b6cdb1" 647 608 dependencies = [ 648 609 "either", 649 610 "rayon-core", ··· 651 612 652 613 [[package]] 653 614 name = "rayon-core" 654 - version = "1.11.0" 615 + version = "1.12.0" 655 616 source = "registry+https://github.com/rust-lang/crates.io-index" 656 - checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d" 617 + checksum = "5ce3fb6ad83f861aac485e76e1985cd109d9a3713802152be56c3b1f0e0658ed" 657 618 dependencies = [ 658 - "crossbeam-channel", 659 619 "crossbeam-deque", 660 620 "crossbeam-utils", 661 - "num_cpus", 662 621 ] 663 622 664 623 [[package]] ··· 672 631 673 632 [[package]] 674 633 name = "regex" 675 - version = "1.8.4" 634 + version = "1.9.6" 676 635 source = "registry+https://github.com/rust-lang/crates.io-index" 677 - checksum = "d0ab3ca65655bb1e41f2a8c8cd662eb4fb035e67c3f78da1d61dffe89d07300f" 636 + checksum = "ebee201405406dbf528b8b672104ae6d6d63e6d118cb10e4d51abbc7b58044ff" 678 637 dependencies = [ 679 638 "aho-corasick", 680 639 "memchr", 640 + "regex-automata", 681 641 "regex-syntax", 682 642 ] 683 643 684 644 [[package]] 685 - name = "regex-syntax" 686 - version = "0.7.2" 645 + name = "regex-automata" 646 + version = "0.3.9" 687 647 source = "registry+https://github.com/rust-lang/crates.io-index" 688 - checksum = "436b050e76ed2903236f032a59761c1eb99e1b0aead2c257922771dab1fc8c78" 648 + checksum = "59b23e92ee4318893fa3fe3e6fb365258efbfe6ac6ab30f090cdcbb7aa37efa9" 649 + dependencies = [ 650 + "aho-corasick", 651 + "memchr", 652 + "regex-syntax", 653 + ] 689 654 690 655 [[package]] 691 - name = "rustix" 692 - version = "0.37.22" 656 + name = "regex-syntax" 657 + version = "0.7.5" 693 658 source = "registry+https://github.com/rust-lang/crates.io-index" 694 - checksum = "8818fa822adcc98b18fedbb3632a6a33213c070556b5aa7c4c8cc21cff565c4c" 695 - dependencies = [ 696 - "bitflags 1.3.2", 697 - "errno", 698 - "io-lifetimes", 699 - "libc", 700 - "linux-raw-sys 0.3.8", 701 - "windows-sys", 702 - ] 659 + checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da" 703 660 704 661 [[package]] 705 662 name = "rustix" 706 - version = "0.38.2" 663 + version = "0.38.18" 707 664 source = "registry+https://github.com/rust-lang/crates.io-index" 708 - checksum = "aabcb0461ebd01d6b79945797c27f8529082226cb630a9865a71870ff63532a4" 665 + checksum = "5a74ee2d7c2581cd139b42447d7d9389b889bdaad3a73f1ebb16f2a3237bb19c" 709 666 dependencies = [ 710 - "bitflags 2.3.3", 667 + "bitflags 2.4.0", 711 668 "errno", 712 669 "libc", 713 - "linux-raw-sys 0.4.3", 670 + "linux-raw-sys", 714 671 "windows-sys", 715 672 ] 716 673 717 674 [[package]] 718 675 name = "ryu" 719 - version = "1.0.14" 676 + version = "1.0.15" 720 677 source = "registry+https://github.com/rust-lang/crates.io-index" 721 - checksum = "fe232bdf6be8c8de797b22184ee71118d63780ea42ac85b61d1baa6d3b782ae9" 678 + checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" 722 679 723 680 [[package]] 724 681 name = "same-file" ··· 740 697 741 698 [[package]] 742 699 name = "scopeguard" 743 - version = "1.1.0" 700 + version = "1.2.0" 744 701 source = "registry+https://github.com/rust-lang/crates.io-index" 745 - checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" 702 + checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" 746 703 747 704 [[package]] 748 705 name = "serde" 749 - version = "1.0.166" 706 + version = "1.0.188" 750 707 source = "registry+https://github.com/rust-lang/crates.io-index" 751 - checksum = "d01b7404f9d441d3ad40e6a636a7782c377d2abdbe4fa2440e2edcc2f4f10db8" 708 + checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e" 752 709 dependencies = [ 753 710 "serde_derive", 754 711 ] 755 712 756 713 [[package]] 757 714 name = "serde_derive" 758 - version = "1.0.166" 715 + version = "1.0.188" 759 716 source = "registry+https://github.com/rust-lang/crates.io-index" 760 - checksum = "5dd83d6dde2b6b2d466e14d9d1acce8816dedee94f735eac6395808b3483c6d6" 717 + checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2" 761 718 dependencies = [ 762 719 "proc-macro2", 763 720 "quote", ··· 766 723 767 724 [[package]] 768 725 name = "serde_json" 769 - version = "1.0.99" 726 + version = "1.0.107" 770 727 source = "registry+https://github.com/rust-lang/crates.io-index" 771 - checksum = "46266871c240a00b8f503b877622fe33430b3c7d963bdc0f2adc511e54a1eae3" 728 + checksum = "6b420ce6e3d8bd882e9b243c6eed35dbc9a6110c9769e74b584e0d68d1f20c65" 772 729 dependencies = [ 773 730 "itoa", 774 731 "ryu", ··· 777 734 778 735 [[package]] 779 736 name = "sha1" 780 - version = "0.10.5" 737 + version = "0.10.6" 781 738 source = "registry+https://github.com/rust-lang/crates.io-index" 782 - checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3" 739 + checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" 783 740 dependencies = [ 784 741 "cfg-if", 785 742 "cpufeatures", ··· 788 745 789 746 [[package]] 790 747 name = "sha2" 791 - version = "0.10.7" 748 + version = "0.10.8" 792 749 source = "registry+https://github.com/rust-lang/crates.io-index" 793 - checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8" 750 + checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" 794 751 dependencies = [ 795 752 "cfg-if", 796 753 "cpufeatures", ··· 799 756 800 757 [[package]] 801 758 name = "slab" 802 - version = "0.4.8" 759 + version = "0.4.9" 803 760 source = "registry+https://github.com/rust-lang/crates.io-index" 804 - checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" 761 + checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" 805 762 dependencies = [ 806 763 "autocfg", 807 764 ] ··· 829 786 830 787 [[package]] 831 788 name = "syn" 832 - version = "2.0.23" 789 + version = "2.0.38" 833 790 source = "registry+https://github.com/rust-lang/crates.io-index" 834 - checksum = "59fb7d6d8281a51045d62b8eb3a7d1ce347b76f312af50cd3dc0af39c87c1737" 791 + checksum = "e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b" 835 792 dependencies = [ 836 793 "proc-macro2", 837 794 "quote", ··· 840 797 841 798 [[package]] 842 799 name = "tempfile" 843 - version = "3.6.0" 800 + version = "3.8.0" 844 801 source = "registry+https://github.com/rust-lang/crates.io-index" 845 - checksum = "31c0432476357e58790aaa47a8efb0c5138f137343f3b5f23bd36a27e3b0a6d6" 802 + checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef" 846 803 dependencies = [ 847 - "autocfg", 848 804 "cfg-if", 849 - "fastrand", 805 + "fastrand 2.0.1", 850 806 "redox_syscall", 851 - "rustix 0.37.22", 807 + "rustix", 852 808 "windows-sys", 853 809 ] 854 810 855 811 [[package]] 856 812 name = "termcolor" 857 - version = "1.2.0" 813 + version = "1.3.0" 858 814 source = "registry+https://github.com/rust-lang/crates.io-index" 859 - checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6" 815 + checksum = "6093bad37da69aab9d123a8091e4be0aa4a03e4d601ec641c327398315f62b64" 860 816 dependencies = [ 861 817 "winapi-util", 862 818 ] ··· 921 877 922 878 [[package]] 923 879 name = "typenum" 924 - version = "1.16.0" 880 + version = "1.17.0" 925 881 source = "registry+https://github.com/rust-lang/crates.io-index" 926 - checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" 882 + checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" 927 883 928 884 [[package]] 929 885 name = "unicode-bidi" ··· 933 889 934 890 [[package]] 935 891 name = "unicode-ident" 936 - version = "1.0.10" 892 + version = "1.0.12" 937 893 source = "registry+https://github.com/rust-lang/crates.io-index" 938 - checksum = "22049a19f4a68748a168c0fc439f9516686aa045927ff767eca0a85101fb6e73" 894 + checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" 939 895 940 896 [[package]] 941 897 name = "unicode-normalization" ··· 948 904 949 905 [[package]] 950 906 name = "url" 951 - version = "2.4.0" 907 + version = "2.4.1" 952 908 source = "registry+https://github.com/rust-lang/crates.io-index" 953 - checksum = "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb" 909 + checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5" 954 910 dependencies = [ 955 911 "form_urlencoded", 956 912 "idna", ··· 972 928 973 929 [[package]] 974 930 name = "waker-fn" 975 - version = "1.1.0" 931 + version = "1.1.1" 976 932 source = "registry+https://github.com/rust-lang/crates.io-index" 977 - checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca" 933 + checksum = "f3c4517f54858c779bbcbf228f4fca63d121bf85fbecb2dc578cdf4a39395690" 978 934 979 935 [[package]] 980 936 name = "walkdir" 981 - version = "2.3.3" 937 + version = "2.4.0" 982 938 source = "registry+https://github.com/rust-lang/crates.io-index" 983 - checksum = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698" 939 + checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee" 984 940 dependencies = [ 985 941 "same-file", 986 942 "winapi-util", ··· 1010 966 1011 967 [[package]] 1012 968 name = "winapi-util" 1013 - version = "0.1.5" 969 + version = "0.1.6" 1014 970 source = "registry+https://github.com/rust-lang/crates.io-index" 1015 - checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" 971 + checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" 1016 972 dependencies = [ 1017 973 "winapi", 1018 974 ] ··· 1034 990 1035 991 [[package]] 1036 992 name = "windows-targets" 1037 - version = "0.48.1" 993 + version = "0.48.5" 1038 994 source = "registry+https://github.com/rust-lang/crates.io-index" 1039 - checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f" 995 + checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" 1040 996 dependencies = [ 1041 997 "windows_aarch64_gnullvm", 1042 998 "windows_aarch64_msvc", ··· 1049 1005 1050 1006 [[package]] 1051 1007 name = "windows_aarch64_gnullvm" 1052 - version = "0.48.0" 1008 + version = "0.48.5" 1053 1009 source = "registry+https://github.com/rust-lang/crates.io-index" 1054 - checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" 1010 + checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" 1055 1011 1056 1012 [[package]] 1057 1013 name = "windows_aarch64_msvc" 1058 - version = "0.48.0" 1014 + version = "0.48.5" 1059 1015 source = "registry+https://github.com/rust-lang/crates.io-index" 1060 - checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" 1016 + checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" 1061 1017 1062 1018 [[package]] 1063 1019 name = "windows_i686_gnu" 1064 - version = "0.48.0" 1020 + version = "0.48.5" 1065 1021 source = "registry+https://github.com/rust-lang/crates.io-index" 1066 - checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" 1022 + checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" 1067 1023 1068 1024 [[package]] 1069 1025 name = "windows_i686_msvc" 1070 - version = "0.48.0" 1026 + version = "0.48.5" 1071 1027 source = "registry+https://github.com/rust-lang/crates.io-index" 1072 - checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" 1028 + checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" 1073 1029 1074 1030 [[package]] 1075 1031 name = "windows_x86_64_gnu" 1076 - version = "0.48.0" 1032 + version = "0.48.5" 1077 1033 source = "registry+https://github.com/rust-lang/crates.io-index" 1078 - checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" 1034 + checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" 1079 1035 1080 1036 [[package]] 1081 1037 name = "windows_x86_64_gnullvm" 1082 - version = "0.48.0" 1038 + version = "0.48.5" 1083 1039 source = "registry+https://github.com/rust-lang/crates.io-index" 1084 - checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" 1040 + checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" 1085 1041 1086 1042 [[package]] 1087 1043 name = "windows_x86_64_msvc" 1088 - version = "0.48.0" 1044 + version = "0.48.5" 1089 1045 source = "registry+https://github.com/rust-lang/crates.io-index" 1090 - checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" 1046 + checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
+10 -10
pkgs/build-support/node/fetch-npm-deps/Cargo.toml
··· 6 6 # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 7 7 8 8 [dependencies] 9 - anyhow = "1.0.71" 9 + anyhow = "1.0.75" 10 10 backoff = "0.4.0" 11 - base64 = "0.21.2" 11 + base64 = "0.21.4" 12 12 digest = "0.10.7" 13 13 env_logger = "0.10.0" 14 14 isahc = { version = "1.7.2", default_features = false } 15 - rayon = "1.7.0" 16 - serde = { version = "1.0.164", features = ["derive"] } 17 - serde_json = "1.0.99" 18 - sha1 = "0.10.5" 19 - sha2 = "0.10.7" 20 - tempfile = "3.6.0" 21 - url = { version = "2.4.0", features = ["serde"] } 22 - walkdir = "2.3.3" 15 + rayon = "1.8.0" 16 + serde = { version = "1.0.188", features = ["derive"] } 17 + serde_json = "1.0.107" 18 + sha1 = "0.10.6" 19 + sha2 = "0.10.8" 20 + tempfile = "3.8.0" 21 + url = { version = "2.4.1", features = ["serde"] } 22 + walkdir = "2.4.0"
+4 -10
pkgs/build-support/node/fetch-npm-deps/src/parse/mod.rs
··· 4 4 use serde_json::{Map, Value}; 5 5 use std::{ 6 6 fs, 7 - io::{self, Read}, 7 + io::Write, 8 8 process::{Command, Stdio}, 9 9 }; 10 10 use tempfile::{tempdir, TempDir}; ··· 106 106 107 107 let specifics = match get_hosted_git_url(&resolved)? { 108 108 Some(hosted) => { 109 - let mut body = util::get_url_with_retry(&hosted)?; 109 + let body = util::get_url_body_with_retry(&hosted)?; 110 110 111 111 let workdir = tempdir()?; 112 112 ··· 120 120 .stdin(Stdio::piped()) 121 121 .spawn()?; 122 122 123 - io::copy(&mut body, &mut cmd.stdin.take().unwrap())?; 123 + cmd.stdin.take().unwrap().write_all(&body)?; 124 124 125 125 let exit = cmd.wait()?; 126 126 ··· 154 154 155 155 pub fn tarball(&self) -> anyhow::Result<Vec<u8>> { 156 156 match &self.specifics { 157 - Specifics::Registry { .. } => { 158 - let mut body = Vec::new(); 159 - 160 - util::get_url_with_retry(&self.url)?.read_to_end(&mut body)?; 161 - 162 - Ok(body) 163 - } 157 + Specifics::Registry { .. } => Ok(util::get_url_body_with_retry(&self.url)?), 164 158 Specifics::Git { workdir } => Ok(Command::new("tar") 165 159 .args([ 166 160 "--sort=name",
+18 -10
pkgs/build-support/node/fetch-npm-deps/src/util.rs
··· 4 4 Body, Request, RequestExt, 5 5 }; 6 6 use serde_json::{Map, Value}; 7 - use std::{env, path::Path}; 7 + use std::{env, io::Read, path::Path}; 8 8 use url::Url; 9 9 10 10 pub fn get_url(url: &Url) -> Result<Body, isahc::Error> { ··· 28 28 if let Some(host) = url.host_str() { 29 29 if let Ok(npm_tokens) = env::var("NIX_NPM_TOKENS") { 30 30 if let Ok(tokens) = serde_json::from_str::<Map<String, Value>>(&npm_tokens) { 31 - if let Some(token) = tokens.get(host).and_then(|val| val.as_str()) { 31 + if let Some(token) = tokens.get(host).and_then(serde_json::Value::as_str) { 32 32 request = request.header("Authorization", format!("Bearer {token}")); 33 33 } 34 34 } ··· 38 38 Ok(request.body(())?.send()?.into_body()) 39 39 } 40 40 41 - pub fn get_url_with_retry(url: &Url) -> Result<Body, isahc::Error> { 41 + pub fn get_url_body_with_retry(url: &Url) -> Result<Vec<u8>, isahc::Error> { 42 42 retry(ExponentialBackoff::default(), || { 43 - get_url(url).map_err(|err| { 44 - if err.is_network() || err.is_timeout() { 45 - backoff::Error::transient(err) 46 - } else { 47 - backoff::Error::permanent(err) 48 - } 49 - }) 43 + get_url(url) 44 + .and_then(|mut body| { 45 + let mut buf = Vec::new(); 46 + 47 + body.read_to_end(&mut buf)?; 48 + 49 + Ok(buf) 50 + }) 51 + .map_err(|err| { 52 + if err.is_network() || err.is_timeout() { 53 + backoff::Error::transient(err) 54 + } else { 55 + backoff::Error::permanent(err) 56 + } 57 + }) 50 58 }) 51 59 .map_err(|backoff_err| match backoff_err { 52 60 backoff::Error::Permanent(err)