mrs-toolbox-cli 11.1.2-fd1156b0 → 11.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (323) hide show
  1. package/Kotlin-DateTime-library-kotlinx-datetime.js +1 -1
  2. package/kotlin-kotlin-stdlib.js +10 -10
  3. package/kotlin-kotlin-stdlib.js.map +1 -1
  4. package/kotlinx-coroutines-core.js +7 -7
  5. package/kotlinx-coroutines-core.js.map +1 -1
  6. package/ktor-ktor-websockets.js +2 -2
  7. package/npm-cache/_cacache/content-v2/sha512/{77/5f/03c8c5afdc4ec0e7c5a96328794cb844e6b53b0f879f734969c261ac051ece54c4b966ca47d6cced8b80fa1878ed54bdf036595d181a20c97ab459ba2965 → 00/ea/cfce535c5a86957c093d8264a22cc4b044cf2b0fa942e134d9cb80f29a97132523cb72ae245333aa320417d0184610f0d579a2b190b91219724e645b8816} +1 -1
  8. package/npm-cache/_cacache/content-v2/sha512/{19/b8/c8f05c3308dd72ebd78dc04cd64fa7f8df99491880d687f65ed695194801c009985075de44dcbc0a6aa0f9f9d25ad9ce09351ccf89c3b2e6ed4ca84e82af → 02/fe/653c86fcf8fd4226fc819f5b63405000b74496180afaa449b40e7487371006ca7134333e466531589e3881b1231658a5b45b3c253a8dcd449831d901f8ee} +1 -1
  9. package/npm-cache/_cacache/content-v2/sha512/{d4/47/f647e7e23b29792879e01677d1ed84132e1d926be3eb7ea77d7a1b119ba737d6a15a717147e1997adf13ae4c467bdf891aa9d87110f552b67eb354807c35 → 03/2a/55a7bceffb642388b8272646c4b31972346b09080cd68e64342541ea335e82acf84f583b4ed25f03adc74cf53866a6e4c06c8b0b34a7d352db41526a26bf} +445 -5
  10. package/npm-cache/_cacache/content-v2/sha512/{dc/d7/ceb9c69c77b5011262524157cc285dcba31b7bfcc9a0d3b59a5c7c0818e4b1ddfcf373527baa88a8e3ef3c30900c8007a0722357dd97e3a0d43bc87814ba → 07/68/09c11178e5c20e4ca7c94c816c6379d522b9744caf431e826aa718e82299de38adda9dcf92c0b47e92a2fe164a35d571809fc435a80f110ea7725c405502} +1 -1
  11. package/npm-cache/_cacache/content-v2/sha512/{1b/9f/8f332b3a37ab921146dce7ee602df17ab11ec8381eb066cf7e934641c617280262fbc62287f0794322405b49885047b7a2e70accb4fcd5e74824a0017218 → 07/d6/4a940eb4cb068c5688a6ca3322f23bdad199a4c0748fceed96fb13293082eee7cf67db293eb9a37973887fa4f022828c69f72bbbfdf96391b96891a9f697} +1 -1
  12. package/npm-cache/_cacache/content-v2/sha512/{a4/65/efe62feee4b6f718bd86725221cd43e067532edad72c1cc8374132fd5d422756b10730531df70cbc825f93db26a74ae13341946ce034288c35716691eba9 → 07/e7/0449f299c05d4b23d701b0c11a63fbde1c3e46b7f852fb31fd8dda94073f348ae5c7224a70992ac62dd8e1f58f15a376e8715b9e43cd99a783d7cea2455f} +1 -1
  13. package/npm-cache/_cacache/content-v2/sha512/{bb/ca/38dcbc658dfd972082f5c09884f67d3ef8a08ae25bda9d1b17aac3f07aa2b0c7d17967fbf29904bb5a0a6a6846d09819469eb9e7489c668b75c7879d5f73 → 09/e6/84eeea36b42159e84feb834165d4532561f931f4b17e9e0ecf8efd7d4181609e17a4f401927d2f9512e83355eb700af25dc7c615ce885c5dc3fb9705ff8a} +1 -1
  14. package/npm-cache/_cacache/content-v2/sha512/{54/89/d798d5d56aaff0ae5c86d094b8c69ceedc59b92d538efe0ea822f36c96048f27c67fe993911e31de296b8eb03eacf72c12d5ce21e910e973acf0d35dab34 → 0b/fb/f0cf72ee7d6e88ee3d529fe306301da6cf1eeebe74ada0a1e8c2358b5776237ba62fb17543b2413dde9824a879fd4cde8c028b736d4217c059ce9ce679f9} +1 -1
  15. package/npm-cache/_cacache/content-v2/sha512/{93/77/b82f9f25cda6c20bea3c0fc4a5169faa5fa5c7aa3f19e22871d35e5f578b34163a630a2752b8a67b1f9688dc40f2217165c63e6b4dfe3e7ed1324521bfb6 → 0c/18/e02f57c6d96b63815f1b9258b096111d2376aa06b337eaf385696345533793e221ba3f851c493d08fc5d38c742707b92e963a40538e1ba72b1a65d3498e5} +1 -1
  16. package/npm-cache/_cacache/content-v2/sha512/{0b/95/0bf7b6ff66d1fd58b3afa11662d38c5b598d2e4d14670d8214092dab96a6508aa9dcecd520784050a8375143fdc1f0b137fb64a7f8ab5e635d11ed338423 → 0d/e4/6e3b88f39bbe49c3ba6028a3332762c6cf93c6761ce0f4b84a97cd41e7688d8403b2111151a2e13c2a67801d3f61fc316647d648026ab24a72a9e374214b} +1 -1
  17. package/npm-cache/_cacache/content-v2/sha512/{58/30/4ee56ac7b1441404b00b47dd2ee1fc0ba13e70693232a657d317dabdd0267b38d9a0b165614aeddc08ce281a2f874232f4d81020678f4b84057dbb042869 → 0f/33/327542a4e58d5011775c9a97615cf8fd45aa507496a055d1417954034512c9e3d35f8f2ebe80abc3d7602e612c83c313e6564e0c8818e09ef130688df1b8} +1 -1
  18. package/npm-cache/_cacache/content-v2/sha512/{cd/6d/1f19132c6136a247195c2deb0005f88701477278008c2decbda088a8aa5ef9b7f8df2f00236be4f08a2e4f02c4b705dc8392c0963311dbb8beca47ce02d0 → 10/d5/32260793fe6bd4cc2021230a560a337b920944e092910bc92e9c6ba9735b707c00c733bb9129fde22e4e6f6ec06abe8d1bd0e82d0f9b012a4eaec263e2eb} +1 -1
  19. package/npm-cache/_cacache/content-v2/sha512/{05/26/098ab1ba8c0bce403ebaf250f65266018846c93732e72c30d51623505774cd74d2d8f78094251db322e41c9edc31fbb7a17988d733892b6968b3c6cd535f → 11/47/f6bd10318820c7a9db58c8aa7dd9395edfea3709c64cb6720845c62963181b26348afbb68ed7ff41ed22044d261556c403cf658c8f23d73d16ee8ec55c47} +1 -1
  20. package/npm-cache/_cacache/content-v2/sha512/{63/ff/af37a4868f9f7503ef9b13fbd67aaaf21fc26674ddc430012bb2121fbae0c4b251eee50101eddf9da2ed0b2495d7a748c27c5923191a6db042d8126625f5 → 15/46/df56f1f7af5c0bbdc0da448548b950111f5e5810572d1e88ef5032bfffbdcb49670ccd6b5a0e418aa822a7b18926fb47fb46dcb2b303fbd0119db6d36daa} +1 -1
  21. package/npm-cache/_cacache/content-v2/sha512/{4e/ab/d4b5b6ef80bea9c2b4ec85a586ac9cf945067698f1ab73d0d5239cebc961c7c358c0ffdff656b7260e4426926f1dad124ea5374ae4f9caa91708a3666c53 → 1f/db/ad01a65b0dd49c80ad8a068f8b907071c3b7b8d5c5318b5c6a6a650d32707220db973242fe3bb04af6862574e1155e4db7ce48335b210aae7149381b2892} +1 -1
  22. package/npm-cache/_cacache/content-v2/sha512/{9a/af/2d8cd374051f509e7e5bae15e6e827976033adadb2a2d470cd2746f63183a7cdbaffa4b3d418b3f2db3ce562ccf4029c13640e9c2dc1a089750b71616893 → 20/64/eeddebe4194b3878a0261d8f9b4eeceaba45e8f8a04ad4e20d611d27639e7ebd3b27c3b7ab078f391a29953fb9a8b69a7b11052b14a22e38465fbc59618e} +1 -1
  23. package/npm-cache/_cacache/content-v2/sha512/{a9/b9/c72ff03c5ad28aae82fcd7e1758e9e57b99c09f44998303ce115cc24f0d5a87c06a9f7ded49ba451c621820a52a2873b968a3406259e693607a1a7fc30c0 → 20/ea/1c4f2647d21453d1e78a7438550718d89bb43aac4042c27f539fbcb9d6c0ce94d084714b02fcc9908a5ace4c07fefbfacb04856a7aaf09dc65a626c6964c} +1 -1
  24. package/npm-cache/_cacache/content-v2/sha512/{50/84/8c11eb72b0533080c8d47e50c45c3cd70d2e6cef1c43b4df6d5079df0cd0d3d303ab7046e7fbe320a97efd7303d339afbaaef54eec2f6449e6985e7f09a0 → 21/07/7585cf5d10b0faa80118ce95213ba519779bce266fac674e76fbcee991b90e76f605e7a5b0fe0115c3ca22b84b4197ccb5364314fbbfe7a9209cfab4cdf1} +1 -1
  25. package/npm-cache/_cacache/content-v2/sha512/{32/9d/12ec69ba1eb8832f3bccff3a4754b429e3bf3f022d4a5cf294c78bef6e76394c755cd238211b9d6594689c63a6dcae468c7c89da4b6271e8e3c08de9243d → 25/06/74640593fb61e87b19daef3020f7df01ce74d48584507b2c1de92d9c70d0a63ffe4f1b3d86544e552408069540b250c9cdcdffe36c39901ceaa398225787} +1 -1
  26. package/npm-cache/_cacache/content-v2/sha512/{19/bc/a7722720a494cbc8ade5df243c8802fec48fd87cfa2456f6e643d401af0941fc5ac69a210882df3a195565936bed095260e97eb94daacb9522cee6adcd41 → 26/a0/5fd51e586aa506dc125bb081b516ea46453d2c203c31141827e799b9df688e2fb2e00403ebd0b8f0407f76bc418dbbcf2224ee7d4faf96b6558db01aad21} +1 -1
  27. package/npm-cache/_cacache/content-v2/sha512/{85/e5/daea4d9f029cb64333d5851d25f7ddd7a613c18c09ef781d5deceb31981c74a4fd287a31e3aced2762e8ca6315083b164c3b5ee1f7726b53d4cdcc85de43 → 27/9e/3f1cd9bcaf8e7055525ebc6391a6f9eb6f03ec27b6cc3bb41403648614f432ffaf05686b30274be8b12ffd4fe1f29a3cb7afe95264f263c9e5d629ca4955} +292 -4
  28. package/npm-cache/_cacache/content-v2/sha512/{d8/a7/ad4f93330cd16d17cdaffddeb353349b68cfffe65daa14dba556d71736073056167ef6748c320900d5df5b02f62b67e7da588aa8a94bf683d0211b3cd6bc → 28/13/a16c8d8a96d787ec41ab26acb58f67e320b0067c4e35abef77c9f7016f80b9b91534be2efa018ad2b21808e92fa12fde834803af52e41bda91c915caf83a} +1 -1
  29. package/npm-cache/_cacache/content-v2/sha512/{e0/98/c7b3fd1b80157e5896d396b0650e94552c838422807881e2b22e3c4acc455be5857b6c46ce712865a2682836d7e5f03d6f9dce39fe1b757d5035090eea5f → 2c/66/fa24de16259b2a8266bc6d4a36685ff799bd532d9572c84a3c0d95bf34ebd785475cc212a3c8ef0a571aac4b5829227848a681feb5e868338eade261ef9f} +1 -1
  30. package/npm-cache/_cacache/content-v2/sha512/{5d/ee/dfd83a45abdad26e3220e45896b85311f54a40036c0cef04997dcfea9a93939bd2dc5b9f257e70665eacface5e14c58b096ea2d7659182f9874304f7a23c → 2d/37/f7f141e0a85e86852ab605f622cf0f253d68eefd7eab648378ce965beb8aade486076f144aab750802dcbca95d2c9c6e7e3de8dab7e213d8cae6040a7033} +1 -1
  31. package/npm-cache/_cacache/content-v2/sha512/{9f/8a/ca7684d8e978c1e2da822ef000668bfeb21a21a88de8fcc81190f89930464987d34a2565a72e41bbc804a2356606f424d5951a71bd7df5bc5b44504a3a34 → 33/30/076b1fd6b8eebc39e875530dcb6d23db3ca640666a9a6f926efb8e6159904988a05230841e09a2e34d76e20ffd23362ab4cea861586c246ed636ca4df2b5} +129 -4
  32. package/npm-cache/_cacache/content-v2/sha512/{8b/3f/d68796af2adec73838f63b51c97af27b0b423bc1959563fabd86ff259596efbf3c9655e9aa310eeba3dd3b0bbe66910b5507604d000c062a1a8d35b35344 → 34/e3/867fcebebd04fceb0dd45e1e888aa451e8f9446c98e11c887ff16fce9171a8628ca6a3e692d9bbddfe09e51331f92a49d32609a51ffc986beb7da512feb4} +1 -1
  33. package/npm-cache/_cacache/content-v2/sha512/{4e/8b/d991acc0d2bf2bff3fc77280193fed85ce092824650e1270e5c4c7aa9d667754064cdac3fc818fe44402a253ca13cb9c8f1c63910a0518c00b1fff731dd5 → 35/8b/365e35d6fbb47ba6964afbb0a33424356fac6c963e1e9647a9b417656f5b1ad6c720cbda91da47d22ff8a9811e46c3b07ae40731848a3f2272e258ff20c8} +1 -1
  34. package/npm-cache/_cacache/content-v2/sha512/{6a/a0/ebd4220370d3aea51bc0083be2fd7acbc60fd356dc2da001d0295bf4e0ccc425836fbdabd1a56afe29c882cefba65a29df1b57f263eaae21998940a1dec6 → 39/c1/75abc305b68e4ae2126e0b14f3f45dd52a4aea4201bdaf6c7fd59b123b0603ccce38e35110a58aaf5fa1fd487ce4b10f90e7fed24027bf3d72f1246cea6c} +1 -1
  35. package/npm-cache/_cacache/content-v2/sha512/{77/c3/adc268727ad51f77ff93d0b00271b7988301b8d14be07b7f9dd7bd4d9a32180fc089a328d0a3abc8a176fcf19f5eec2011e14ca7b6ab73ad6d1b356c7bce → 3b/2d/6b61d8bd0ee5c3dce1a9c2806d2650eff3497c72dc1c8b54c1477781e47287af898a5ba7fe33e74f198f4ef3e6466756ba6f64c54af209b82496c10741df} +1 -1
  36. package/npm-cache/_cacache/content-v2/sha512/{4c/6c/1967928c58cdb194caf8dc921299e639f1e36cd96bbf9ed5022d805d6d475f7872dbb5a12232367839673f20863f96d152c9eabd1f2bb2f08c38941f1475 → 3e/db/9fbffe54ca68505f7edc4250be0690c8231f0e0ddae1cfdbe30c23871aff36cd1fbca8b2155d4a21688bf91013004ad1b49e9d86c807c54c7c4ba3b776b0} +1 -1
  37. package/npm-cache/_cacache/content-v2/sha512/{2c/12/5e19f2a4897f79e4625c17fa4468cac73a15831e6ab9e03d2da57e0c6a5ef682a8ce14216d5ba9c5451bb127ff5d6761233359b3052d0c323cf366249671 → 47/1e/c009c62488ca085d8d349aec30c8696b54d8044734d44e0ed42d22319eb6f77cc2f8806f63d983d4197f1a36efc3cda89242566b4829bf8c425a99a2a611} +1 -1
  38. package/npm-cache/_cacache/content-v2/sha512/{f5/fb/151d5f743357a6f2ac01be05dc0a619eabe6104faa4146dd2247d8e00bf2863aa410bb075b93b9bcd40aa98aad72cf3f398f354d230fdc1282f2afb0a2b0 → 48/4e/71c35ea6cb9e8dc8ec4b4afd55d5a468279057bb9b0ef9065c9c2408e1481e6ccb2fd971fd5b110b0935c0dd2d860b6dc8b43937a4cd4b52a1c206c3029d} +1 -1
  39. package/npm-cache/_cacache/content-v2/sha512/{fb/9f/2c3bb2d0fdc7d658f45a9e2ee48bb7fe7fd7383262718ebc93b835d4cc5729c39d34e1e5da61bdd6d27f6171a7bf1de8e262eaede86ea5ce29a02b4ee2d9 → 48/a8/b493c0982e3bf8db2801b48fcdb3831b316c2122176c70b01828597440b3a12cd6589c267339fae7889986906e60d736793b4543733893180facc723ce0d} +115 -4
  40. package/npm-cache/_cacache/content-v2/sha512/{51/03/bb3ad3614a9dbebbad4f2703c460ca56851ef3c242d747effd44bf6ca14aa545c1ffee2236152e6fc6705bac0cbf4b3561d5941690d899db543216b0885a → 4b/2c/09766e167941bc7f119a45556d97d0eabd68474ad69380e17bad847846fce39b5bc0bbdf468b4f362c67874f07c6ef93893d2a6176369b221bf66d9c8316} +1 -1
  41. package/npm-cache/_cacache/content-v2/sha512/{a9/f8/24be6a9b1be060d2d6819ce742fc81dd19ec6c788f87f8e33a231d5362948e1f9ebe0c59d6904224fdc6c9d5ad3e11ff52fbd5021b33c695f970b65ab93e → 4c/73/2dcc1ff983379a7ce759ecc52bd0665e926fc2b545a76aa9b1f0929dcefb1578c0163e1ec27f292f8cb6e9df6d155f3216e982c3bfae8f9b65fe0e1f5d96} +1 -1
  42. package/npm-cache/_cacache/content-v2/sha512/{49/5a/b96d48aeb5ab120279610520b8f89f95a90d3c24e610464e6bf1bcd2c127d13e8c0c348d4d1d5656a47d93a7e0726016388f7b6a09189907ca0ef83e2c56 → 4f/9c/ba970e07affdce82a84c73cf64de70eeee39425594406c4278e8056e57ef32c2794de218cadaf64cd672ab45db45ad94e6acbbc73ef3dfe34c6b0c6832c6} +1 -1
  43. package/npm-cache/_cacache/content-v2/sha512/{28/b2/50cb56f821026401f6a365edca4e90f236c058dec42f0211ada2e5903172c6b3b7ef9a8847366c361873bfc2dc5e3c8468cb699df85af64ac6036a1e97ee → 50/22/6db39f0ceaf25d34edb68a05d36fc5b1b4a1f98dae4a231adecd87559ac5ec83ef25b8cd38a7698dccf4ee4b1e51ddb3ca38496d925e0f6091d20f4805ea} +1 -1
  44. package/npm-cache/_cacache/content-v2/sha512/{73/10/4e9754d4a4f3677c6c32fc087576039095d643046b1aebfeca6e26df89a89a137f1e06e6fa688bfae37bed67ac5468515cfcb625a34ed4861fa8e2658ad0 → 50/b1/0788cb50a62e20f5ddad2c68a903d772e66f436c6ac667663f4b13d1592bfd4997093141230e755bf544a448a052dd64311d9c54f6e3fcd4a7ade0d9b63e} +1 -1
  45. package/npm-cache/_cacache/content-v2/sha512/{2f/8f/9b44241a3c46314af40843635e16c2f740ef7c4bc6d18514f555afa1a48838c6dfa6efa41b15ba7b025c6421e0cc89eac5099577dbd76621fd183bcde6cc → 55/16/b915ce5806d24f214afb7b663382caab6c1215bc89f4e6b40da6e26a53ec7b2126f7a0bf47a30c75d16bfdcd1c678ec9fb5813ef4e37886b13cfcc4656f9} +1 -1
  46. package/npm-cache/_cacache/content-v2/sha512/{78/dc/7d3c0c0b74b14b7b5bb042600c2061c4a02990f98da857138a1074dcbabb81f48fe7708caa52573f2b0ba71ae6cef56baafd78955840f697b4a4ed8b4946 → 55/24/e4c15da11adf9184a1266c28dcc38e7f6e671fa4038c443a6020a253971ac47bd4e6e68fe730cf73a58bc259aa3980a8e7d1f01aab9c56410ea7a72efd78} +1 -1
  47. package/npm-cache/_cacache/content-v2/sha512/{d8/98/4b8d8c1e8663e54f4df924ffcd7f916302c30866f5ed503a886a3745c7747b187d1cdc85170ad21fc50cf3fa3517b7ccd2e03fe61ab39be71d46b288837d → 56/14/bdf78674c42c72d328f498f193fb7f41c260ff099c0fd20d91f84e21d65bca8e6fdba33ecf5d147dbd468d800e018c0d6e8a3dc4e14edd25b11cb37bcc4f} +1 -1
  48. package/npm-cache/_cacache/content-v2/sha512/{58/15/79feacb8fa30357f01df792adb226efa47e3a25ba0c13760ed72964ca8f4c1bcfc0bbfddac8a39ac8c32d2a9012222849b13d4a148410b9f1df365d38632 → 59/0c/458ad1d4794f75aa735d573fc6c05bef715f87d9921d9e7af326b9efc59564399066026811fb8f5bd7bc242670b8ceed9f7d7cf4b7e63660770bf35934f6} +1 -1
  49. package/npm-cache/_cacache/content-v2/sha512/{cd/c8/38cfdf37a779de8bf1405d2093b92fcbdb84c8c05a1584276a67dc4f1b4bf99359b700f7d6f7ba8f3969da3a99e241438ce123ee924c9eeee3abee6f60fb → 61/0c/a390f639b45236201af876422398b23a400471c7004e94d7e5ade78cfbc7420f764290d460eff6ce953ccec2dfa5c477f68c51e108f5a7eb2129a5fb7aab} +1 -1
  50. package/npm-cache/_cacache/content-v2/sha512/{00/f3/2a5a6e1168b238cd6ba2f100d62b4e539e552f925fb8b1a024297f87e8a42ba73e1cbf8385a597aa86cb51a2cb3945989382df29313c4a0497f0ae2664e3 → 64/6e/1665f4ec36752bb17718c76494757ef7ba658d15050c3c7c8671b0cff4ff541530363a8ec9f43dd08d42d37236e3fce64bddb28cc929083d6ba65a54e8be} +1 -1
  51. package/npm-cache/_cacache/content-v2/sha512/{bb/59/32d2b8c5f8b6aaf6538c52d629f7d19c80e11d238b38c75e378289b0219fbfdcbaaa5fa29e844a4971a2292740f2cf219b518218afc1192e1acf3e090029 → 64/ae/7e8aff15f77e73c8e395b1ec8f8d3be1511c675341b7a92e226a37874b64b42a212abd84d24f1f659a7f9bc3dc8303cbf4bfc370d11b2f6db45f99c8b4d2} +1 -1
  52. package/npm-cache/_cacache/content-v2/sha512/{5c/60/87a395cf0b1b0cb7c7568ab77f9d6febad394211b74dca9d36d482e7eebb2f1b22c389777be629608d0533206010281aab78987412b17ea508c5edd8a9ab → 6b/f9/ca0fa6e3890bc06878bc8f6035fcb9285f0b01b91b6b5eabec55e39029f5a656b84c75010166079e8a5dbbfe5a43f697f77eb29478218f5ccad432b00554} +1 -1
  53. package/npm-cache/_cacache/content-v2/sha512/{b7/b9/285b3a20a89464130171f6644063ed3c33ad4ef296fbb3bf430a70e04280a9e5fef29d3e554c1c773bce2a9710768e688e2976f0f9197fe3959edd78e59f → 6c/4c/dcd0471777c8229c0cc6f98ac7854ef20144c9c6aec2af2b1c10ef5146a33b3d81e14d72bc233c3fcb119041b06c78d8fab4003562c64868b3d3189e6ef2} +1 -1
  54. package/npm-cache/_cacache/content-v2/sha512/{9b/77/622450fb1589afa02e0c2db5ca3434910982fd86fc2cc6b39e40a15feed0c0e87e3aab3611cd0fb00c12a0ad58c06637774c3160a542723284c8645517b3 → 6d/07/937a04ecece6ded687d188c7055a1f5c36ce70bc0ede685d6106f87b38c446aa3120acc9744df78d49e2833c33d76eee2b5ae07466df1bf1d2026d0d3eb0} +1 -1
  55. package/npm-cache/_cacache/content-v2/sha512/{8e/32/9397fbde1b58e2a051e50973d78ec7de7e7f10869fc7dfcf95d2e65000dcc93b325d561e0208c4774fe023a8366b2df1ff3a0d36012e85c06b28d5407056 → 6e/34/af33e033e10587b3e6ccda5210743fbbbd20c0519750e70bcc843754595f51593f47b28e9e285ff8585d6bc240edc0f789b66f783a6987ada58365ce0787} +1 -1
  56. package/npm-cache/_cacache/content-v2/sha512/{59/6f/1d23bfb36a39c95a1c90887c1e212624f0e96a36bf90ab2a990b8a5ca692a583ecfe6968cffd2e1c241e7ebb409cc859bf11388fd64cb3c81b41a44c2940 → 6e/7b/dec16e646537801b4cb8cf9f850140ba4873ab493cc48b42e50e0a65ca6935f65bfe1da34fac0bda33db8b61d45a807113c89cd641dab017409f2b7e4929} +1 -1
  57. package/npm-cache/_cacache/content-v2/sha512/{fb/33/445514162240a94af9f780b6fe1eb26330b9b47624296c93c23493b86ecad90e0cdab1bc2cd6f285c2c5f3e20b655f290f17a5244061d3a860390310ae77 → 72/62/0cf56036a7f48b1b1846bb86c7f0bd5727041f9fbaee40a1f19a1180381feeafcb23c97ccc362f29e4ee2d127b4e0c4ac7d8db47024b147895c209e87840} +1 -1
  58. package/npm-cache/_cacache/content-v2/sha512/{d0/fe/3c57289a4431502b57797e4e3973b940b17f0f4fc890eedcad7bf17e8d88710dfeeecaba2ef0d07f1a539ee60200b657005f4767eeb82c7392d604419571 → 74/b6/fb7d61703acf670bd227e682a02070d02f556b9b05be06d6ec65c14da9bbd00c46947874f11ddac4e4b896b8dab19daa23d692a0226630ee46e64e3e1c2e} +1 -1
  59. package/npm-cache/_cacache/content-v2/sha512/{fb/e4/4b18d589a8fb6ff0815d68a905db23456130b32b3874658dd0e4fefbe954df54409e13baadc08b34a9c3aa5f32d3ffbeb84a8b2632854abdb4428a9084b5 → 7f/b5/ed9f4aef19f31b3b34a67bcd02c40edcf86875ede8cd1627dee33286cd6a3d86b8c26985d05fc62bcf936b00f446572339f83c8f6ab5ff8a7f84a7fb8ca8} +1 -1
  60. package/npm-cache/_cacache/content-v2/sha512/{fc/f2/b55929c084066a61a91f9772946419a65d69a2a1f004fd41cbe0330430eb9d08c1036018e3bd33881475045fc044e77680678999563246d18beb87f1e0e7 → 80/40/9b10c8ca0972681a4de5b47fe8b880857356b241a5d13d5e294fa149f7681b7c019df63d66b704e1f2e2156776200565a55cbd7a90f56cc2dd700cd0780a} +1 -1
  61. package/npm-cache/_cacache/content-v2/sha512/{eb/ee/b1452d6f3a664a803534d38bb5b5923c7d8a74c14625afee5dfdd435a347272318fce7d1eaeb8f35eaeffae020e8ca4f9d744cb350f3c0ee10333b03778f → 8c/54/c5d38616e0752ed4fbe2a1ce774db34c515495ed4ec42a22499c788a46bf10a06f4a1e10dde1213480d2137348850d1f66c0edf118c59320c8b1158cd2d1} +1 -1
  62. package/npm-cache/_cacache/content-v2/sha512/{9a/82/e0b9427899986afb8aa319cfb0eb6f0a2cf16bb62e2bca3c9eadbd5e7aac7d6e2bac18299958538cfbfaec8b3b93346f2b857ce913fc70e934eeed3ba51c → 91/cb/a87d3339691c1ec98c1bf69e033a2a94419b2e595508d186331e5d1d393e085dac0f6e19e020ebb6dd1557c1a22e3d6456146ad62f379fec21ed42dd4bdf} +1 -1
  63. package/npm-cache/_cacache/content-v2/sha512/{ec/20/de841a85fd65797b49a4cefa7e0ab7463cd3c74c25c4e1ac9e1d62ca77587957404f191711f81509d1578fbb466a925373c3a94cff2ead910528a86837eb → 94/da/f58e74d4e992ee1633be8cbdac53e2b5c005e48b2ea43ebb4d07690307333b33a1edb965be8a5ee6a78b0539123b9aab3ca294c6bc7903477f7b09279f2d} +1 -1
  64. package/npm-cache/_cacache/content-v2/sha512/{b9/35/b483128444e21fc8a7ac8a0412833ee8456bcf254964d6c3e44aa0a4f16a3f496a54cbc3c6a94e87d9a66998275ea7fcc1652e51b8b201a18c4cf2b353a5 → 98/df/c4de3d3f1beff7b72331ebcf7852ff48e68bb7693c7f13dfc082f6a8c0b267b478e35194c45261d9f29f094c9273c032c14f82c3b7d83a0c339b7524bbad} +1 -1
  65. package/npm-cache/_cacache/content-v2/sha512/{83/60/d7546a14ebfa517a24e2e1a7e3ff00858ef2070629ca4634e17ad889cc7f80c688cdd88798c8f9b1585b56292937dc0d86565fa113130c3851287572113a → 9b/82/cddb6ca66a7a477fa5f791b77da3021074b6990ae65f382fb4cf15774668fd303839e9b6dca10ca57df2c03bb289110308697a4b50cf48360b17da44bfbd} +1 -1
  66. package/npm-cache/_cacache/content-v2/sha512/{88/40/2fde88d53d4f104fe38fd1ad9016f7d57464e235fd1e2023cb382fab16121a5b881e7055a017632d405939a6a158867988031d494fb97ac6560d82c37fae → 9e/bc/3c4f4564cd0eefec6a269d183efc10c74f153b7ffde17fb86cf948896c5d0676da016bf290436a5d8a6ea30336a67cb5bc33a706b732e721fa4c26f0b84e} +1 -1
  67. package/npm-cache/_cacache/content-v2/sha512/{0d/26/b9b9368b2f054cdc34a8146b29b7492bdbdbf1a90f9857eec4811c609424e80e8f749bc1fa196c8b0641c690e7f40c3a748287940324eaaddc11d0395be0 → 9e/cc/859a52163cd5847aaa51c40c565b63e679463086221a40d2abe09d934859b321d0770137508bff31c79329627e5d1607e64c23527afe8a2be1db68606eca} +1 -1
  68. package/npm-cache/_cacache/content-v2/sha512/{b4/e6/4110defe2dc2a975a026b65c68392b501443775b16533d07387fb857a033efec88ee79a74e6193dbd2e2024ff4bbcdd98636e3aa1e8ac2fa78c549db1d21 → 9f/24/2a6cb714bddb0d48783e4eb16c40e7851079ac7d81655a5f5a833a600506c72bff744d8ed707cced5fcb57416fb0629300ad79e81674a259a1c2dfe8d5eb} +1 -1
  69. package/npm-cache/_cacache/content-v2/sha512/{bb/57/d3a0fe07103b79594b2e2b1355737e6b82d8449c1562607525753df06ec761370108f216be29e32393e172f63b86c96ea8d7eddaf48d346706704f12067c → a1/2d/058e913e40010f427d5f1dc74381f5926a58bc808492fbf5eabeef0d2ab90b16308571a052118c33b38d2df1e1c1f56aff31d01e5c5e7052b95a4958d5dc} +1 -1
  70. package/npm-cache/_cacache/content-v2/sha512/{df/58/98cb0b7f69ea470fe29b097ee1912eaf136b29cb651d9039793b3c6d2b7784b600942ae768c1428a4e4e2595c3cfbfeca67f23d7dbe5a7674b306da3f109 → a6/24/66ac8a51537289b13740e0fd3e58a31f925c2bdbe9aba545328fb6974d16358c777683154e94187f89ede34691607ab6cfbb916412c1fedf8a5d0be4847f} +1 -1
  71. package/npm-cache/_cacache/content-v2/sha512/{4a/8e/3f7e76dec3d3c46e05ab847cbe383a55a04117c6964c5996e28e0a25a429191e82284372ba16a245b8fe69695ba40e5cc22a017e6ddd4a5e574036ca5af3 → a6/b3/b5fca037576b7744a1cf8b27121ceda39657009fcb69ba3217b10c25010db9f8cb8e6f62ac09584c3b4ce8b8cdea4c4cd489b176248c7f932834a1ec1048} +1 -1
  72. package/npm-cache/_cacache/content-v2/sha512/{3e/4e/9f2fcf216486d9678a4aad92dbd2fb56c55e0d0bea5aba566b09eeade802e23d38a5acdf0f157e6fd6e75e18afb6be2413cce5a7ea3bcfdb446e0b0324b1 → a8/68/6b38221b6fd66442ee904bc042934a0ad17445f3956b38409c4510ec7595665f02931f15e0d1e982bd1251b21cff1868caba63d64b519eb0b15a4cec8f7e} +1 -1
  73. package/npm-cache/_cacache/content-v2/sha512/{23/dd/0680c51e0ee7e62367d34adef36b012ff4b23de41098293e8aa68693b28d0e9ce12fb4ddcf05dec2b45888b114c19ddc020d31b0f1174b29a93392177caa → a8/69/091c5deabb2c5f0263085864d596c084ea0ae71a09ca2529e63be73a30e0f1d74bbad01b7374a6df5dc15052bada8134324d997c25a4d4e1b66b5337f8b9} +1 -1
  74. package/npm-cache/_cacache/content-v2/sha512/{78/10/77f8b51506f347f3393eb0d075b62173eae66d9623d6b2c986daf04122a68a7e4ee307fc6740c96d8cd1fd4d13c9fd41eae8f5e7b87980e59f38c23d8a6a → a8/b6/51de5c02dfe7b605803ccc52b86492f67f2fca35fe260b2690aa1c0e78bf4d4dbde1dcfd040ba33357fe6890ba9cc4f2b060cae50651f89d7840e9649cd8} +1 -1
  75. package/npm-cache/_cacache/content-v2/sha512/{62/6c/927b1d2b5363a8cd3e2d8a26aaa58b1fa8f7ed6b55c2a7009fe56eec2b73ea6fe9d8eaf7b740f5eaa59faf8cd69ac2764ba48f2c8e618a3166372ff1b865 → ac/ba/0ffc54c31d776e713d0953452ba549a93412758320d397fa27e20bfae35f01ed4c9e4e3d92793057f90036d9362344a1a5a8efcca95738810041b0c52b83} +1 -1
  76. package/npm-cache/_cacache/content-v2/sha512/{6d/f6/5093ed386cdab9b02f63d047d8287e5c300df9b9987eb2530c3fdea902fe20ffd9bad2e50ad7dfcfca1bafc26bd51afd95810fc5792fd6273967427ea90c → af/77/6b739e49bfeb6e09df53046b974690c2d1d090e64f5c85372323fd3a24c2ecf9e9b43b825ac8a94817812f73e9cb3fe19e4afd288d628716f02e014b1120} +1 -1
  77. package/npm-cache/_cacache/content-v2/sha512/{4c/be/a44530b0170bf6c087d8b6815586bb5c8e54991e61967e8127e0f276b900f3bc4567a808af1a573bfccd4180d12785e1050a258a8f9b764a793ab50f6bd2 → b0/74/a27b11f879ffd03fe177edc49bdf25d06f5b2f7c608d78a246ad802d98ac752f443f7e40c5b534bf803f18ba44d74957d9d1bb4c654ea99aa48dd1b8cd5e} +1 -1
  78. package/npm-cache/_cacache/content-v2/sha512/{18/9c/6878433f63deb3f33bb731541af6f79badd5c2d2a8b69a85db0ab7d8f3fe90f36b1c3224f941fcb16b9af4a4374f199034b71e1bebc2d902723fc785a157 → b2/cf/a693f6555c4a4d015600a8e487096ad4687fdc6d04c316c021897ab1442bf02cd3b42238e39716f82a19ff90d60ec145241cef4e3d1630dace247003ced3} +1 -1
  79. package/npm-cache/_cacache/content-v2/sha512/{2a/33/e50c61ba041c25d5605d97790996c70e0d3714f67c5a5f94506756e51dac4abd0ff509eb7744a75b0bacb9fbc6ed67ae88366fb30a8cf5eb0fb7d2aff4b7 → b6/8a/dc392a7d62bece1d26ca0e184e57a98949cfb81e18f61ebd0cdcf503ca48c13d0102903fb0ecf1afea8365fad34a2bf9c87a32e60b8e6a92616ec0f05f28} +1 -1
  80. package/npm-cache/_cacache/content-v2/sha512/{6e/ba/fdefeb3919f0f557e39a8549a9353eb77ffcd0b01a01721f24111285099e5c242c96e7f2707bbf2396bd3040177b551efecfda1ca2e80bfbe92d4c1bd8fe → b7/9e/3321f97da0de27408b8e63ff1e1ec0056937d82e0481aa72c93c31930657794e838ccde3bb0e83f045a954cdaa725a0ef4f662c06b37075c7863afc9a7b3} +1 -1
  81. package/npm-cache/_cacache/content-v2/sha512/{1d/f2/ef435eabad738bbb16b95a73aecd7984295a4a0af57213219b394d8d5fa0b8624f78dedc186ddbe21d3a735ec5656509d81fe1de54c98709ece1f99c896a → bb/1e/8a235a2ccc186524d4b312a2d532c9219b17214e31efaa204f901d074784a652e6349dbc0332a453678f0a200c66b19645b14822ebca8debe5d8a4cb5df6} +1 -1
  82. package/npm-cache/_cacache/content-v2/sha512/{19/9d/08ab8dc27d21ef371ea4a4ea495c94573ce2777b0dac73a1cc9494bfc4e759c5181826a8c0ae321f98251e1789a9e73e49b225ad127f663b0ad8e0063dda → bb/2f/85ff20fba1d88d32842c3df4f183f5db935b2b7ce6ea1323c4aaacb1a1e3f2403c04afa7b421a7163e73f525920c184f1d184a349c8f63cc05fff964d0fd} +1 -1
  83. package/npm-cache/_cacache/content-v2/sha512/{9f/62/0aae3f4c31ee2541eb07524ad9d40e1885246b080fc8977d9f97b6a776df6004eeee19056827f38db32071c93f221cc022aec879438bc7ca5c8ca711a50c → bd/09/e4d1dfb9a0eca13175ae642685ce28bec92a113eb6f7c72fccf168dcc77ca26fabdf2599deddfc744a547f20a364614629e6199e5f2e89edb828d984c217} +1 -1
  84. package/npm-cache/_cacache/content-v2/sha512/{66/80/6aa0e69649f449fb0e7f3c46e4ff069bbcd68d4b283aa7c95f417026ce2aad9c49f75180cdf94d3016fe97a4ddb2873f7e921f2a9fc185fd20801c407b0d → bd/7f/e0bff0266845406eb8b4863698a743f3d0634783e21db567c4f9ac90b169b61ad9e071e768ac1ff738ecf04fb98bf823f9572843a460438ecd6c4e0b94cf} +1 -1
  85. package/npm-cache/_cacache/content-v2/sha512/{54/02/09cad3b811005be3807d6189a05b73c3674d709488e16ecb3b1308db0d2028cbe83f14e1812b3f8f8ae12f9383449e5bcd50ed815f563b870296f6b69011 → bd/a4/2d2aa01f2cf3b3318dfe8944e77970711de68f25075af4ccb267104b5b2956207892628e400e4f680a22c8a1ec26cab223252a389966806a4d7a4019262d} +1 -1
  86. package/npm-cache/_cacache/content-v2/sha512/{e3/43/8247d0fcf30834bd8078fcbdaa3178c74db799673fd552c239fb227fc190473cee9e5343713b02d47836921514584a120929643367924908b88c6220c720 → c2/25/29e9835937cffb7e906b1695d4599b3aba53823fbdefa249a39e84ebff47701dbf01475525b77bc5d3f76971b00785f638eef68c21c5400e80e618f385b3} +1 -1
  87. package/npm-cache/_cacache/content-v2/sha512/{5a/77/782bd29a877c5ac11915f09385aab2ff6d9f012b8ebe4f656c725fd74796ef70c136c6fcc7e9e75b855f64855ad4865c1f04ab6e2ab5a3f8226609ef5d99 → c3/5e/40426f63c5b662baa0bb2ff8f1efb4c60c1817f1c982d295796b88c68703f54ca15eb1818ac443f34278aba8aff2f2b5dd0897d5a389763bfcda38dd449f} +1 -1
  88. package/npm-cache/_cacache/content-v2/sha512/{fc/2e/034e20669aa95c51d8306903f5b0105b79aa331253c307476eeeba2e664b719525a7965e0c680730fa728a4be6c14a0cd658b1de9bfd17b97bedea418d2e → c5/bf/ad24c2ab9d2fd27178239e798f68f284b51998bc587e000373e3cdf2be0bcc650aad31d87938513637e11a204e378969d351c9bcc7f462de6eaf8ef3b128} +1 -1
  89. package/npm-cache/_cacache/content-v2/sha512/{2d/b5/28bbceeffd418b70b855bbad3cfe0cdacad1b1994ce5cd8e1f7d837c72fe982dece513c23f2355cf4d57a7c7795964b08d227f51169baf4c31b5d9a71a19 → c5/d7/c734dc6461c3018563469d6f6947ae29d608ef13ac2400bdccb4c8eed859251974812b9bd24fbcb9627e7137158fdc8ebe0f7b6e21b903238ba7f43c17b1} +1 -1
  90. package/npm-cache/_cacache/content-v2/sha512/{70/3c/efd8bbc17d534743be38577a626fe5e6148b29da915983e3b2ae54040a828787c83613470697348627fc98bdd0240c901b55ea50f4c9d27ef1189c0e69cf → c8/44/edfb79456324ec04c399e1445b17634703de1bb7a419f2fd550f9a15fc826c7c879fb5852c2d5fa7f886767f337dd6926493e68c98097f22c8ea7d7e9b9c} +1 -1
  91. package/npm-cache/_cacache/content-v2/sha512/{f4/40/35ccff85605e12c684306bec72ce8508b0903d62f53c5d186d519a9621a51f6f013d7e4c7a9e92d68dcd5b36800288b8d6edec2da18b9f4a9929faebcddc → c8/8e/dfa1ae62c5dcb306d2a77d01140f5262191fc41b7b77f5a19ca5452b581e75d5ddefa75cfba2ac5e58e1657f7f059cda95da48dd657f0c4ad12f33ef0ebb} +1 -1
  92. package/npm-cache/_cacache/content-v2/sha512/{c9/4c/ae5df984664207381ad99861c124ae399f15a5e58d9519277967587be6c1daaf393a2dca46bf8dfd0b2d5b82b9372621b8d906daaeb8f7beb002adbdde37 → c8/db/60cda8aac0886f11916ae6a663900c02a0c95ef50659f27480b7864a6d8a3399a39e8b8c159d672efbae495ec98f50822cd657db2657cc60b542b8fa5f99} +1 -1
  93. package/npm-cache/_cacache/content-v2/sha512/{8b/dd/0d34c8cfe02d61661ebd8b0f3f26301b33ce5a29db41ec8c3039f7f89abe03bcdaa44cec11a4d4e33fe34a0da317c006a982f5f7e5f6c708d32f5ea09185 → c9/82/7ef8330fb15222b575703eafcd6e378288b591f2186384fa72f82dbc9cc4842211e247013c33f2bb738264d13eff73d72a80c1d0e9ed3069c1a95cd6c157} +1 -1
  94. package/npm-cache/_cacache/content-v2/sha512/{8b/85/d27803dd7e2d87100b590f5c58b6435ced33836b8f807ea800af068deb30b8b8eea460dc75889473a0265e527172cb704baffbcb828f716fb05f1d09ce6e → cb/36/78973707719783a4e170c3b47f707f9f4ecd3c8ee481ec3a05a44fdc96a9b58d0e063edaebdb38161cda847732499ff949a6c46936380b0d01587ad196a6} +1 -1
  95. package/npm-cache/_cacache/content-v2/sha512/{bb/b6/47e686d67c283f11268a0ea8ff8aa614a7595ce3253f7e96617ef83d972cd5d93d76e47dbcbaaa368f396f12af13b19b6572123ef662673b5e206421efbd → cd/8d/75a04550bd26a98d9631912e0922e7e6c58534d0ebe4328a255272a6bce0b2a43b793fc7fc6ec7077f35d8f35fcb58a31add5e46160ed03166704e8c3b78} +1 -1
  96. package/npm-cache/_cacache/content-v2/sha512/{3d/ab/69cb81a132025c65a2fb2c6e30e8d1954bddf8fe636e86e698c025b7e05b3c7a63834392374c4f8e68efa6915a2ac217bc70a892031ae04f1782fdadfb58 → d3/35/ecbce3df1cf4f9f65d1e3af7b96629ef27d4c9cd3700deff093eab8ebbedf2c850b628c26a87697d241d6ef7f36789edee207a5d6b29c9fba47e98544c34} +1 -1
  97. package/npm-cache/_cacache/content-v2/sha512/{88/80/f87a25c397421fbfefd00b503274d38075e089168e93608a24ece635956a5324e6eb1dff41ef72d56ba7bd6950455647d3690f1e51ae4f82fa2cfd28ec9e → e2/8d/b8cf235d73dfa06394368b6c14d7b4c15a83425e2e9f7272874e9e0b7b77e0ce9d5476886e88aa7191a276c8a0b32b58aa100938206315890991ac7d17ea} +1 -1
  98. package/npm-cache/_cacache/content-v2/sha512/{0d/42/6014b4af17e726d5ba291fdf316660fcf8f7c8d16bde1fa88e7430149756b39383ff6e9fe703d6175b2e8028198b827dd7e3d5421ecc99349de8ab59b119 → e3/85/c6a19c9c28d40098ca40f05fba131532fcaf6b9017e3c400258aa092e1a4e4cafb6e0c02b57b885964b8d476235cecc0b904d1638b0069664e36485df8cc} +1 -1
  99. package/npm-cache/_cacache/content-v2/sha512/{91/fb/67b4be13e21402798a37d2e82f92639aec0ee449ef52766ddfd6036208c8dd12777b6c3a271c1af7f5e696dcf63bb76c0f74717d47e905c85b654f26130f → e8/3e/03613db68daf2e66a114355953aaccbd0572cdf538e561c37cb3e90ccdc7bfe6172fa10273759ab298ab1b1cd5623b3912ee3fcfdf47595c10e7fd8676f3} +1 -1
  100. package/npm-cache/_cacache/content-v2/sha512/{9f/af/059752f77991560afefd1c6a4059dc5b9e00ff648141114273ef1335cdab889a23742f32d92783ab16f1401e90215b1429b17275b31734d7e2b316066bf3 → ea/95/ba42d659c16f6f2e0ee3791b66a849cd54f3ae9ad7ac7a423a513afc1706b61b37a98323fe90f5cfbb133c9c93b448a0f6a1a51966c3773c6ffe2d08cd8c} +1 -1
  101. package/npm-cache/_cacache/content-v2/sha512/{48/5b/1640c4f6c7f358ce32767f9c9572a8356ab4e721b31dec60d5bf5a3acf7fc80ae1cfd94f155a61a544a68b2e7fafd4b2808ebaa5355ba10a1bb7d1d1d075 → eb/bc/5c9531d147c6523bdf81fa537131a639c15736699cef97a7b8e735350dd1b6f1cf6965e38c6e16e1296bf10bbe229345695a3be131887587424f5a73fba6} +1 -1
  102. package/npm-cache/_cacache/content-v2/sha512/{2f/32/f83288a165538c7b27b5eb484fe089b38a125c4ac36108b6de769c776096fbeab576e56ef09ec1062d6bad36185a1f3fb4bd98b83af61b131b48017f0233 → ec/f5/d0a2863058da34ffcf8519fc0d4c620357e0da21b396a95ee8d0cafb3088a1f3574bd3ace3d4f42ecfafee48189dae956efd3ba5b94569b8eb5303331d31} +1 -1
  103. package/npm-cache/_cacache/content-v2/sha512/{ce/fd/b1c1e8aaf3d559dfc15bb8219e41bb05bb1eb5df337b5f84c84a34e7ee60fe45c5acbd0d18829024f593a19704634cbecbc13e6b86f234c255df44bc5616 → f1/41/aff9f8ab8cc8b53355de9b85f165a6ca45f83634df87e003c9da49e29e28124a4b6a2404465769ede6437b2ead3fb7d75d5eafcc1b02ee0cd1e114f82c8c} +1 -1
  104. package/npm-cache/_cacache/content-v2/sha512/{97/75/80b56d8e525836405ee7b199463e037fb756cc30ffc68e4f7bd6f547f4913fd945c72fa52813edad56394c26c5928505b25ca4e4abf9da97ab0f6fbc36c4 → f3/4e/c85520300f23fcd12af53238e94181b3789f11bc2560f4ce5eb3175c44698f95c306536e86be0c9e6a4563afc78b66c19ee7b43de3e8355ac1a2bcf0d2fe} +1 -1
  105. package/npm-cache/_cacache/content-v2/sha512/{5d/9a/7e738fd41cee5de8f95b952cdf2dc99f494c381bcd6ee64d14ccdcaa05d0180236089c166d21289d7adbe4d70d1e16a64c2f21bf8a83bdefba4667edc303 → f4/63/48532ba52205b03c6ef19951971ed7b236662799f635e5aeaad5aa83b43de3283c285be29d52188c1b6c60326542a386857c6a6de1bf9832461684b771ee} +1 -1
  106. package/npm-cache/_cacache/content-v2/sha512/{e3/13/b12fe3ac03b07faa739fef590241e5376e16d2375afd7c67edf16115617b7bd6d4df585406dcb3b72a98a3da12bd13ac82bbf12ed3bb01d730b674ca88bd → f7/6d/7649e65af2834f830db0194127fa97bc5461c1b64515cfb9b0e52c59e27a379b76b680aa1d8a0ab4f7760d894f1860206d09029fd627f2fd954b855c7e97} +1 -1
  107. package/npm-cache/_cacache/content-v2/sha512/{86/d6/6bbeb86e89cba32da10a56e40d8964c5787f3769c2bf18ea6bbb37f5630b42d89ed0afcf46ef7131bcbf278abc3ff8a39d462305eba5f9dfa181f7ca133d → f7/8b/25a61c4fc963c1e03a91dd8586776f8b76c7a62081d095d3fa8d2a5e5fa82cb5e4d43e257eef308ba46c9305ed5961daea1b46146bd8fad869432d15f651} +1 -1
  108. package/npm-cache/_cacache/content-v2/sha512/{39/12/fbf679dde4de9fe4186d0e4d1ae54a9e05735f0323e34c06342d6c45d75182940bcff2859e715844ae6c67d2f623379dc162ce51266930032a957dac5dec → f8/0f/108bbe9ebcd7a7292c422cd6047810873aedbca7b52c8e678fb53bde4d8fe7e0d47107178787a958e0723a9068680894e8fd378d6e31f0b9d2bf6a5e0469} +1 -1
  109. package/npm-cache/_cacache/content-v2/sha512/{b2/91/55ca11af3ddd042927743655e213107d77225dd11c83354fd1bb98445bee5391ebf4087996957c9b4868a72f018cf7f3df02726984e32773b2107075d761 → f8/dd/7787bb6c1397c817c89fc87db3b8b4127d13c7a9e874ee2ff5c75de7fdf5664529ccc836eb8482ee54a257b4cc2155aea01877a2bbc3f71ff88de1f1aa52} +1 -1
  110. package/npm-cache/_cacache/content-v2/sha512/{bf/87/0af1ac4c8be330c42f0b497e6d1920fd808b44099d66d89dba7f671d24f1d31598f85054978d1a8a63edbcc4eff39b5c0e4d545367686a64a6b38cf42749 → fd/e2/953da4f501b7e70e01b785f1a9dfb7bf410625087880ee895d51df69020953bae00abf8b6d6ec91bdbfdecb86d52e57ca66eca5a806ee30ae5f32e19186e} +1 -1
  111. package/npm-cache/_cacache/content-v2/sha512/{3b/11/c7c168cca3a104fd2de990b341f538e65f9b27421e48e90987c9dd995023a30b58fac06f9607e888ad69620f839fb2401ca7f9d1543f9426875bd2189238 → ff/a9/2ad16bc4450f218723833206f61c2ccd39a111269c500ea98f5acaf39ec8b2730b305f5f188bf50d567b238d4819025c329c48e9cc47a44704979dec5c12} +1 -1
  112. package/npm-cache/_cacache/index-v5/00/a4/2561c4bd29542a45f200119a7266ed0af6c0127d1713d8426a76afcebc3b +1 -1
  113. package/npm-cache/_cacache/index-v5/00/cb/84ea144914dd27ee92426713e8733c1963655f77b2b23dca127423ff84fe +1 -1
  114. package/npm-cache/_cacache/index-v5/03/fc/2e4971871cbe7c4683c40028c9841909eb95da70a8c271cc5e74d2274db0 +1 -1
  115. package/npm-cache/_cacache/index-v5/04/85/a4ceacb93ac66c9bba8c1b8bbb142a6e1c7bf86a0d2b5d869b54a691365d +1 -1
  116. package/npm-cache/_cacache/index-v5/04/8d/10076bb0eb85eac4949c62dac26556c750c17b235801520151aafb9fbdd9 +1 -1
  117. package/npm-cache/_cacache/index-v5/06/13/b1afe0e948c19311bda26082af21cef26f94f55cad61f965ed58a0b1bf05 +1 -1
  118. package/npm-cache/_cacache/index-v5/07/0a/870046ded9759ff1db8e3ae4aa36da025915f92ef539d3cd476115aedfd3 +1 -1
  119. package/npm-cache/_cacache/index-v5/09/db/6b917a5246682f40adef5e0b2418e4f1677e4cd44fd697a963fe378c10d4 +1 -1
  120. package/npm-cache/_cacache/index-v5/09/e5/c408e16d39c9a61a4ead46272dcd3f2cc73539be1f431b8aeb12ea4b9745 +2 -2
  121. package/npm-cache/_cacache/index-v5/0a/fa/33b8f37787b39b496d4c4e327d6e6c1d59f468f618313987170c91f9bb47 +1 -1
  122. package/npm-cache/_cacache/index-v5/0b/c4/de5b49df6d6a44f0e13ef52d79599a3419c0fad648ee1808c21623eacba4 +2 -2
  123. package/npm-cache/_cacache/index-v5/0c/28/4c87c494f76b8f44df08ece092f236cba2a02940b10b6326b5742a1ea58b +1 -1
  124. package/npm-cache/_cacache/index-v5/0c/fe/68604c3c34ec2d82954afcff1a1025076c2a03c30a15ab265a0d4f75661f +1 -1
  125. package/npm-cache/_cacache/index-v5/10/16/643d60bb1201bbf3f970d31ffbbabf5279748b0ed32b8966a2874beb9d2e +2 -2
  126. package/npm-cache/_cacache/index-v5/10/a4/4d04637b9c74b4e3200962b7aa2d7e1650aa732ef9c9350b7e291b00b928 +1 -1
  127. package/npm-cache/_cacache/index-v5/10/c7/69a75617f1eb0427a348f5bc4c9e67b8091dbe2e8c076c20c4032685947c +1 -1
  128. package/npm-cache/_cacache/index-v5/11/20/4ecebb0a23a70a1a49205693fe7e819477a3e9afdce98747f6d55a99f1ce +1 -1
  129. package/npm-cache/_cacache/index-v5/11/cb/2b0f91de06565c83ddce42e4b59bc39db9fcba5ba733a10403d76dd86212 +1 -1
  130. package/npm-cache/_cacache/index-v5/14/34/7852b69ae8d1ec1c13c8ac46434436302e85ee3093864f0bdbde8d446b0e +1 -1
  131. package/npm-cache/_cacache/index-v5/14/88/7266de110bc26277730b3de506233b0cc25bea87e84c07f2c1f9bd0ca78e +1 -1
  132. package/npm-cache/_cacache/index-v5/1c/c8/391a0d8a18f1541a9666e57c00b0af567c9c94b909d6ea95c89d1e62c6c9 +1 -1
  133. package/npm-cache/_cacache/index-v5/1c/f5/68513b2dfdf84ca23cf457a03b0349cb89f137932ec0685e3b355cf61eef +1 -1
  134. package/npm-cache/_cacache/index-v5/1e/71/a5e7c323c625fefd198081f7d7da668848af967e9fcdc9d6634b0a65879b +1 -1
  135. package/npm-cache/_cacache/index-v5/21/94/518c566ad78afacb599dcff452e67d041797dc04024ce153bb09ecebbe7a +1 -1
  136. package/npm-cache/_cacache/index-v5/22/42/979b475714e594a0837378b40549cbe6cf60c8391684832b176f8a66c783 +1 -1
  137. package/npm-cache/_cacache/index-v5/22/93/4e00232684e983dc9546a904ffb04997dda7fc10fb28998bc31da03a85f0 +1 -1
  138. package/npm-cache/_cacache/index-v5/26/00/d320859b1f51f2315dd976e2e52a222df1922a4eee68fa98edc4a548dd90 +1 -1
  139. package/npm-cache/_cacache/index-v5/27/44/aadf2b66990731e5eae895635531ea3f7090b200c0550ee7a9cd233eaef9 +1 -1
  140. package/npm-cache/_cacache/index-v5/29/e7/3b67ce9018a5cce5952ac73369e43ca70677b2b34ef9c02d267435810cb2 +1 -1
  141. package/npm-cache/_cacache/index-v5/29/f7/1330f48086f95c0bc5e9edb6769e6aed919b013ac1c751c0cb473ef431d8 +1 -1
  142. package/npm-cache/_cacache/index-v5/2a/f6/ec0a8ef0e54f06d663df9790394dafaccdb9cf95b6a5e86ceceeb55e7cb0 +1 -1
  143. package/npm-cache/_cacache/index-v5/2c/eb/605b2abdc74f93e9f757db137105c7b4f44b8c86506371fb9f84d14b1b12 +1 -1
  144. package/npm-cache/_cacache/index-v5/2f/31/efddc30ba28f899c91badbcd872f5e8d1d981edc8b859acd6cbe01ac4e5f +2 -2
  145. package/npm-cache/_cacache/index-v5/31/d8/a1c0d9a4ca3a73b1281d4c25b3966ffd3ac333d55a0a353885dc5fdbcfa3 +1 -1
  146. package/npm-cache/_cacache/index-v5/32/19/716b5dd397b5cad2a4396c5b87fe205d4971171d20ef513a548a940d04d0 +1 -1
  147. package/npm-cache/_cacache/index-v5/32/78/cf4711d0c6cd2923a63b30736403e3c61f1ce0d5635edea7f324e744b23f +1 -1
  148. package/npm-cache/_cacache/index-v5/32/7d/7f1cdee9b7102200dfc9c0132801d37b2d797e876b4615bc5eac237331fa +1 -1
  149. package/npm-cache/_cacache/index-v5/32/c6/f5efec97cd2d4a47c3b5bb8343c78688e539ecc1d1561fbab3adf1726bb2 +1 -1
  150. package/npm-cache/_cacache/index-v5/34/78/6886c559c91a5b7c29a8d2faf905269d2107abd5127ee8ee8f1658ba4594 +1 -1
  151. package/npm-cache/_cacache/index-v5/35/24/adb625edd745d166ea0363eeedd76af71a459a4706355c6e0d15c33f173d +1 -1
  152. package/npm-cache/_cacache/index-v5/36/4d/ecd5319ea0c408367f689e733b990720ac813fafa3ac39587f40fd29311a +1 -1
  153. package/npm-cache/_cacache/index-v5/36/77/1c1f669583dacb41d5046be7b85b0fee735cd8d8a0ae96e7a5a93a9c7ad4 +1 -1
  154. package/npm-cache/_cacache/index-v5/37/94/018e9e45c38f96793e7db5e1b577ebf22c028bb1ba441df96f481564cdda +1 -1
  155. package/npm-cache/_cacache/index-v5/38/cc/aa73b30f32538694e8d06d1991682cc9d58b07499da9554e2a1efea9c214 +1 -1
  156. package/npm-cache/_cacache/index-v5/3c/78/c616b75928b4cfe81b30efff60de5b7fd12d1ef32338eb5424e17fd633fd +1 -1
  157. package/npm-cache/_cacache/index-v5/3c/d5/5c88b3a75335b6dd5b5b5144c1a1a005fdb24b1695a605beea079865052d +1 -1
  158. package/npm-cache/_cacache/index-v5/3d/e8/e9ef9727e5339a4707d6d4f92541a33949ae9c7e6a9926d6cf84d7b3b803 +1 -1
  159. package/npm-cache/_cacache/index-v5/3d/ff/b7f2dc191f665a37be240e4ab574e3708e1932f773d3abae5ebbc52db86f +1 -1
  160. package/npm-cache/_cacache/index-v5/3e/76/cac1a661b02b2714e590fbc3c700a88705428cdca0985758f8da69869d85 +1 -1
  161. package/npm-cache/_cacache/index-v5/40/10/77a8f5c51fcffe87a126ca9cadc0071840d688d2d6c1623c3bccce6b9853 +1 -1
  162. package/npm-cache/_cacache/index-v5/40/18/8c641ab4332c83f2c7387bc3855050defba350b0796fc247ecb4a84de6d7 +1 -1
  163. package/npm-cache/_cacache/index-v5/41/77/bb910a7fdf7c84c4343a68269328953de02859106a2dfb957feb22178d22 +1 -1
  164. package/npm-cache/_cacache/index-v5/41/9f/a4e9413542a1095da1906c6b3e3c7e1e254246090c42b419b59512b3b199 +2 -2
  165. package/npm-cache/_cacache/index-v5/44/dc/484af8ba96dc6aa7f4295e6a7cbdad563a9f3ca686b07d8cb8b652948632 +1 -1
  166. package/npm-cache/_cacache/index-v5/45/28/92ec847182e8e00c2fd6b6170697e7ff5da75cfadc4822bdd73c1e7c0e85 +1 -1
  167. package/npm-cache/_cacache/index-v5/4a/32/732d98948bf6ad03f44f78b8ce808735ee00a0d8cf3842e4244b20fda532 +1 -1
  168. package/npm-cache/_cacache/index-v5/4a/67/e43e3688ff5a0e39ebecc9b1faf3da545adcc323933c0b8355efa02d9fe7 +2 -2
  169. package/npm-cache/_cacache/index-v5/4b/47/fe08a251d6a7e0f1c077da3b1a9bd8d1962fa4e5fb1174a0e9f11fcea2a8 +1 -1
  170. package/npm-cache/_cacache/index-v5/4e/4f/fe26e91353504dc7c86f696a26f3fe64e74137cb91b56e74b10526fba6c3 +1 -1
  171. package/npm-cache/_cacache/index-v5/4e/fc/b5cc16501063bc1631d51a2e3e209c9325794566322c5a2ca7f2d99aec07 +1 -1
  172. package/npm-cache/_cacache/index-v5/4f/9f/f77b80d259e42a54b66378b3ffbaae7691e9fb8ed59e990ff106d5edff30 +1 -1
  173. package/npm-cache/_cacache/index-v5/50/ec/7f611a9c669e5600fd64ae903ac13b283b115aaf5ab4fed5f0764556214b +1 -1
  174. package/npm-cache/_cacache/index-v5/51/09/691188a6b343b62c49c4438350370f812b5af3d98ee75bb43a8a070b0a51 +1 -1
  175. package/npm-cache/_cacache/index-v5/52/64/e4dd2bf213ecf320b0ccbd9a71550e165ba8f2ffc9796e22f922db40f709 +1 -1
  176. package/npm-cache/_cacache/index-v5/53/b8/b33f9735e0f4d78e36abe835858c2a91cda40783f4fa0cd6b38d235170c4 +2 -2
  177. package/npm-cache/_cacache/index-v5/58/0c/4e22c1685937f0bcf3d3a17e51e8c73cd87590f53a14e2b99cbcf3baaeb2 +1 -1
  178. package/npm-cache/_cacache/index-v5/58/62/394babe1661820f396afc433e46ac82d24b89ce4f42fac01e2834fe7aa50 +1 -1
  179. package/npm-cache/_cacache/index-v5/59/d3/159f146a8a1dcc3a63164ac6ad640a458fbf25c741d01602d2ac285a29cf +1 -1
  180. package/npm-cache/_cacache/index-v5/5a/22/51e204d6fc431421ab78fe24211364b0d0085dc5a8df868f5098df3f4062 +1 -1
  181. package/npm-cache/_cacache/index-v5/5c/89/2c894d6ae850f7e31f8bf97087c870e8c7323e466b7e1ddae27411263544 +1 -1
  182. package/npm-cache/_cacache/index-v5/5d/66/0136dda6331d3f465c368a63a37fc204a82ce9c02bdbfd3aa5cbfb09b025 +1 -1
  183. package/npm-cache/_cacache/index-v5/5f/35/c5b4cbb4134d713aa3b89e08f875469a387933d8afd3322dc57bdee755b5 +1 -1
  184. package/npm-cache/_cacache/index-v5/60/7b/2dd09ff3a28facbe75e190ed33e00dbc1c1c0fdf8b103d712b0dc95a2380 +1 -1
  185. package/npm-cache/_cacache/index-v5/63/c0/decc4ba67bb67abf948ab2b443e12dd4798181c5b42e912b958c413b0691 +1 -1
  186. package/npm-cache/_cacache/index-v5/63/ec/570fa50cbe8043ce123996fe16db3152436a786a3234437ac9fcfa5a7d48 +1 -1
  187. package/npm-cache/_cacache/index-v5/64/63/a614493a2a5ffd13d9041bdf16535beb3911aa0958729cf279e1771f3f14 +1 -1
  188. package/npm-cache/_cacache/index-v5/66/57/78c1a3c02b9ff69ce79fc3f8050553604384420ef9387d2d382b6c75367e +1 -1
  189. package/npm-cache/_cacache/index-v5/67/6c/3c138c91ed61f14e6509f0ee955b1c72a12bd7b7c77be434822a7c42dfc1 +1 -1
  190. package/npm-cache/_cacache/index-v5/69/26/d205b58e75c37d2300c72727e586349dbe114b3c84931a398f2ce28f7f89 +1 -1
  191. package/npm-cache/_cacache/index-v5/69/e0/d2ad3268767b808774a73bafba4f140153f0df83670adb3f2f79b91622f5 +1 -1
  192. package/npm-cache/_cacache/index-v5/6a/75/8271b4673a3907eafe84143c1ebf96549ee3f41fca09aab6c330f7036345 +1 -1
  193. package/npm-cache/_cacache/index-v5/6b/cd/2b4af3cb246e94de48f5e8db73b0791ee9752114ab406ebf788b9888d52f +1 -1
  194. package/npm-cache/_cacache/index-v5/6c/84/0bbc09c6e788eb5505587b1e6822116df246c7578f1a30c8026e5e998143 +1 -1
  195. package/npm-cache/_cacache/index-v5/6c/a6/3abf0a3fd196b864eed75161dea408775ae499b295f14deabdee51b6b24c +1 -2
  196. package/npm-cache/_cacache/index-v5/6c/bc/52e7f6ffb8c6305bb83444f7607924ca0e0d6b2abf074b3500f128fb0b84 +1 -1
  197. package/npm-cache/_cacache/index-v5/6d/77/b6d15baf05ffecf9961d8c56c81198eccf9b627f994dda8cad2adfb1d093 +1 -1
  198. package/npm-cache/_cacache/index-v5/6e/4e/af5a6f10d9ea752745b4505fb7c8e1afdf6c24fadb1031c0be4096d7c077 +1 -1
  199. package/npm-cache/_cacache/index-v5/6e/d5/e14f23d6260baceec17b2b54672cfde24af920d3e9defdb35ffcccb5dea6 +1 -1
  200. package/npm-cache/_cacache/index-v5/6f/b4/368074d27d8f033fbf6f5aa35a3f7dc7fe7f992beca8a0838dbf604a8ac7 +1 -1
  201. package/npm-cache/_cacache/index-v5/70/ec/c8674a76e3fdb3367b9e908aefe158eacce3858efe45e31647ee784bf3ba +1 -1
  202. package/npm-cache/_cacache/index-v5/71/25/8fbcc83880409f1f01ee29428a27794db5b4a050ffddc2f445b67305e2d1 +1 -1
  203. package/npm-cache/_cacache/index-v5/71/30/723927f34f3a3bc9de4f0934ed7d9eff69277f6e48e2725baaad51a41165 +1 -1
  204. package/npm-cache/_cacache/index-v5/71/56/174350e7c137d909a85baa52ef63930fc1ced90842393b40b0ad1a5335ee +1 -1
  205. package/npm-cache/_cacache/index-v5/71/7a/cfb4a4d2cf2bc217b46d6e3b4c4574f69a13de03d76e262b79a9ca51838f +1 -1
  206. package/npm-cache/_cacache/index-v5/74/9c/409473e5b8efe3ff71fdca49628eb21a43b6e95c5bd64c4a71bdc0153ec8 +1 -1
  207. package/npm-cache/_cacache/index-v5/75/cd/ffafc14f444980a3e554de95198e9ac8c5a38487ec12ee93d8cf2ef7323e +1 -1
  208. package/npm-cache/_cacache/index-v5/78/8b/9c1005a28c9efb1ed1bffb8269000bcc14bf01994709e45cec175538afa0 +1 -1
  209. package/npm-cache/_cacache/index-v5/79/9e/683e2c64a3177cb58b8f1d0fc715e76f4b9980579f1e0427015b3f0ed8ae +1 -1
  210. package/npm-cache/_cacache/index-v5/7a/73/016f3471eb40039cd19b457815eb7edd93f5165e708e564ff44a8a36234b +1 -1
  211. package/npm-cache/_cacache/index-v5/7f/3d/8f459f794a92500585c0ab802f986b1d64b5eee36637ad68ae86eaa22cd4 +1 -1
  212. package/npm-cache/_cacache/index-v5/7f/56/8c532ba1a8b414d263e39aa65290cc1aef54fb479d4990dabb9f0f3f529c +1 -1
  213. package/npm-cache/_cacache/index-v5/80/61/17b28d82b94e38e01e2848b39943ad5a6f670ae0e4a13bfcacc5672747fb +1 -1
  214. package/npm-cache/_cacache/index-v5/80/c1/5f0d8787035b3fb019f3ce0ee84874dc65f8eac9d70dc5727cb54a37b6c5 +1 -1
  215. package/npm-cache/_cacache/index-v5/81/72/5198576cc33b42052a71afff1fe5b3f99ebceef2abac3c4b0c8ab3aab1a9 +1 -1
  216. package/npm-cache/_cacache/index-v5/82/4f/935589ebd227b786f6e3fd8cb9e39011c5adf2b1423d6e16c33fd5dad6af +1 -1
  217. package/npm-cache/_cacache/index-v5/82/65/bc13f2939f0f4e8b5abeb94830c85a6d5cedf4791028234f26d12c4eace3 +1 -1
  218. package/npm-cache/_cacache/index-v5/82/a6/bf6bb1103b6a6f8c3cca891cd04f73568918c5feaa42abcedecdfada1ec7 +1 -1
  219. package/npm-cache/_cacache/index-v5/84/94/ebaab8deb1190ff42935bfc0427761369021116ac4a6733e2d9a9f0fe88a +1 -1
  220. package/npm-cache/_cacache/index-v5/86/32/cbab75a78504c819eeb2bb06c7bb311704ebb5a861484fd3f8e3e454f0e8 +1 -1
  221. package/npm-cache/_cacache/index-v5/88/1a/cc116ad228491980498749a8c98efb849662786f4977dd74426f3e6025f1 +1 -1
  222. package/npm-cache/_cacache/index-v5/8b/7d/831b2479d25a78b98a2adee587db2c6d362c99f317c377b898709e502626 +1 -1
  223. package/npm-cache/_cacache/index-v5/8b/8c/907953f0508611e8b8731db3f56d2eef714b6cce9de5b087aa7decd0a492 +1 -1
  224. package/npm-cache/_cacache/index-v5/8c/b1/7c08aea7bbba9e7a8e1a5f3d5c50d1aa3af7f189a6994f413663a065dbc1 +1 -1
  225. package/npm-cache/_cacache/index-v5/8c/db/d4d1c521c18165b38eea6d9f1aa2ff6cd55fd074b726567269ff441806c9 +1 -1
  226. package/npm-cache/_cacache/index-v5/8d/5d/6785b7ea2be7c6f6967cd3bd1e8a3a4e148bbcc7b3113cb4dec129895012 +1 -1
  227. package/npm-cache/_cacache/index-v5/8e/1c/06fa068a87899af8b605e7bb174220c757b25b0229bf38218af3a307af01 +1 -1
  228. package/npm-cache/_cacache/index-v5/90/75/88694dc179514294892226ce2712154f79f7728c1ac2087436dab672f076 +1 -1
  229. package/npm-cache/_cacache/index-v5/94/db/32b4c1799776e242f06631d6ec0307634aad3703141d8d8ab9c588c41f33 +1 -1
  230. package/npm-cache/_cacache/index-v5/96/11/bc784a53f33b35d3c8c079b0b1ce06bffa8248f97ab0c7d13554cf3a81ae +1 -1
  231. package/npm-cache/_cacache/index-v5/97/ca/050529386876f07d9cec38c84189617992b9d7f6fb828b55fb71536bae30 +1 -1
  232. package/npm-cache/_cacache/index-v5/97/cd/140c3630b343d2116b1a10acaa2ecde9f1df9b8be28ecc143c86181fc1dc +1 -1
  233. package/npm-cache/_cacache/index-v5/98/99/f0e17e0e38c059d05babfaa47a03c9d8db1a02a4b282eb077edd80c66fac +1 -1
  234. package/npm-cache/_cacache/index-v5/9a/8d/9e9124b5c1741db990db779dbe3aa90ff4319aa7abbcaf4b71722a6159f5 +1 -1
  235. package/npm-cache/_cacache/index-v5/9b/07/f828ebc8b95e9b5a0c766d5621f5f1722a0fe949a9ff9740aea1ee73bfdb +1 -1
  236. package/npm-cache/_cacache/index-v5/9b/c2/f971239099163d00800ffb839bc4fa0e69cb5a8e6956155250e2038830b5 +1 -1
  237. package/npm-cache/_cacache/index-v5/9e/56/58b6e51b8d3072aac0d648b89d980bf60503cde2b02f3e58b778dc50cfa3 +1 -1
  238. package/npm-cache/_cacache/index-v5/a0/d5/0f237f20b1e438891d68a95d4ee986a17c2795c74241b771143decf94356 +1 -1
  239. package/npm-cache/_cacache/index-v5/a1/00/4b368f6fab8b18540d40ef384e19e71bccfdb58bb2107f6c324eb1966867 +1 -1
  240. package/npm-cache/_cacache/index-v5/a1/a5/80a8603b2dda6fc55f94a270fc8a490babad3a0730e7bfc71c4295aeb677 +1 -1
  241. package/npm-cache/_cacache/index-v5/a1/c5/f25b661fed12a9a0aedeab1423381b7c485e468fa026eb3cf619b93f6a0b +1 -1
  242. package/npm-cache/_cacache/index-v5/a2/67/59091680a451687e684a6fb82b30d5466c4aff869e446549a4f56d76308e +1 -1
  243. package/npm-cache/_cacache/index-v5/a5/d0/628432ce9407eb9b1d481981bdb3d6d166263853ebe4651ad081c6c6d789 +1 -1
  244. package/npm-cache/_cacache/index-v5/a6/ad/d01c8fc46cd6914231dacf26c3b0a2d524fc5c9b68e2bbac2ecd17808402 +1 -1
  245. package/npm-cache/_cacache/index-v5/a8/a6/c1e067475d0053df13543e8c2a188e370dbd99daf977e54cb6864f7b8923 +1 -1
  246. package/npm-cache/_cacache/index-v5/aa/1a/76dc1528ee45c59d2e839a69ec25208da49745ae5a3cd5954cb9672eda00 +2 -2
  247. package/npm-cache/_cacache/index-v5/ac/59/858830b19c3c1133f7b36059774a02cb368163640f95ec2700d442ae9ff4 +1 -1
  248. package/npm-cache/_cacache/index-v5/ac/62/dde8a3b4f84b2bc210deb541c813f1986eaeb663a591afdd009a23ca71f4 +1 -1
  249. package/npm-cache/_cacache/index-v5/ac/64/befd04b1f30a8e877736b9af292f6414e7daf7cc5eef7ca388b8c4e3bff5 +1 -1
  250. package/npm-cache/_cacache/index-v5/ac/cc/fc50e2ee02f8d3c90fef448f4419e67a865c450fb56bac5c3ddf12198a61 +1 -1
  251. package/npm-cache/_cacache/index-v5/ac/f1/4f591c7f01fa877461db2a467859721c0fc9a62d0985d298463bee0d5aeb +1 -1
  252. package/npm-cache/_cacache/index-v5/ac/f4/1b4fa464c92b8cc30d03ef86aeaf383eb011e6911f6b7826e4670e60ffec +1 -1
  253. package/npm-cache/_cacache/index-v5/ad/41/fcd5803f01fdd5597fc5139b3f31419374e882ee5a8da02680f24da542a4 +1 -1
  254. package/npm-cache/_cacache/index-v5/ad/8c/86a3f4fe11e08795f6f922abe8ca76118f8dee062eba8bebad07b05feccf +1 -1
  255. package/npm-cache/_cacache/index-v5/ae/05/656555d63c33ebf8afafb81ab5a499db2cbaf78c9fe03920c0e296372580 +1 -1
  256. package/npm-cache/_cacache/index-v5/af/a6/7d86c5a2b60a67ce149ca6403a4e3c5108cce535eb71758507600659e627 +1 -1
  257. package/npm-cache/_cacache/index-v5/af/e8/3e6bd6b5863046df6a35292ad9b1216300aaeebb7b45f6305bfe1559787b +1 -1
  258. package/npm-cache/_cacache/index-v5/b0/8d/ac718808a492ebaed8bf28d37ea2230fbfcf0eb9858575466ab851b2688a +1 -1
  259. package/npm-cache/_cacache/index-v5/b1/ec/053fb6f41b2aa36f537b343f3369f11679773cf7c37e724c3050a74ca653 +1 -1
  260. package/npm-cache/_cacache/index-v5/b5/cc/315634719049634e60583d7a7b62885d7fa7965ecbab822b2a5482ab0c1b +1 -1
  261. package/npm-cache/_cacache/index-v5/b6/56/340ee2f010d5050b97af1b59ba82733d6bce38ed281734741707d7d5ae38 +1 -1
  262. package/npm-cache/_cacache/index-v5/b8/a7/610e61d34851733f6eb1819f28adf0abaa314d8463d767f6d6ba58a688f8 +1 -1
  263. package/npm-cache/_cacache/index-v5/b9/e5/048be7cf8cb86be8220fd5e11221b2ed464eabc69cf1d6b4eef390b43d54 +1 -1
  264. package/npm-cache/_cacache/index-v5/bb/aa/0e7a52a453e978d003924467fbfdf0e95de72af5f980a194337c5465d681 +2 -2
  265. package/npm-cache/_cacache/index-v5/bb/bb/f3f28681f6a2655774cc276a151e0a63a851182f267fede249957e754a56 +2 -2
  266. package/npm-cache/_cacache/index-v5/bb/f6/55fe567f91eeefe92ee53de633799f80aabc93f9f8a207642fcf22c7f5ff +1 -1
  267. package/npm-cache/_cacache/index-v5/bc/9f/208ee3981de0cba7ba79204460de5bc240683f0f91e25407b6a8b74c9715 +1 -1
  268. package/npm-cache/_cacache/index-v5/bd/2a/25ed44b74b78a0fcd39d3689b5b7d6b710d8e5d790e3e3d137b847b118d0 +1 -1
  269. package/npm-cache/_cacache/index-v5/be/9d/6c4cf469c16f24b89f9012983ff704d64df129af84d59d9fcf8559d79df9 +1 -1
  270. package/npm-cache/_cacache/index-v5/c1/42/e6ff8e42c165eab6246c9730d0a2fac918cf384f45cc7d1edfac768c218a +1 -1
  271. package/npm-cache/_cacache/index-v5/c2/ba/9d9258ee0c2ab75d8bba169b80753c4dec8a7f5eb3674a1c8d6c6cae486b +1 -1
  272. package/npm-cache/_cacache/index-v5/c4/6c/1ea399686abe4bad54196b37844ea8ba115c0c3bb6cfb4776b77a95d7f61 +1 -1
  273. package/npm-cache/_cacache/index-v5/c8/24/586991a2afd857a39294276f62908b1c0098ead50f97bfc855c2eeda548f +1 -1
  274. package/npm-cache/_cacache/index-v5/cb/b2/038d87336c50673a045cc3b5c5026e643296d2bc2e5974260b5619a9b067 +1 -1
  275. package/npm-cache/_cacache/index-v5/cc/ed/e02d4c933417654f3429283620d4e62845bfc33901f458df08c9597b4d96 +2 -2
  276. package/npm-cache/_cacache/index-v5/cf/f9/2dd6581bde268e2263e419841af384f855931ae58b466a979d851650adb2 +1 -1
  277. package/npm-cache/_cacache/index-v5/d2/d9/3bbd1b7d4482ccb62ddc3cda9f1d0d9cfa47d7c2efe6bf54160707ba5fb0 +1 -1
  278. package/npm-cache/_cacache/index-v5/d3/d4/6bf0e9be6f8aec85e3e89737a933111ee25dce7798c6f4e9b327b8d63fb2 +1 -1
  279. package/npm-cache/_cacache/index-v5/d4/bb/1edc44d2d976bfb48a85dec6619a61b20e58add5c7c89a167da7f97d26c7 +1 -1
  280. package/npm-cache/_cacache/index-v5/d6/95/e6ee3e87667b0ca08405979157884a357b6761a15de5d976d137fdbdf59b +1 -1
  281. package/npm-cache/_cacache/index-v5/d9/73/14362c3f5b894f07281e7fcbc0cd1d01a9237de1a4978ebc120bc9d5057c +1 -1
  282. package/npm-cache/_cacache/index-v5/da/00/c9cd38a9efb5b010f96c7ebb13a53b021ffae2facbac32ea345fc79fcd83 +1 -1
  283. package/npm-cache/_cacache/index-v5/dc/1d/36f427261e3fe1d3b0dd35d987126a1a71e16f63d1a4c314e6329a8ae956 +1 -1
  284. package/npm-cache/_cacache/index-v5/dd/09/f58df28338ce06e38dcadac4b9f98a28dcfe1bff5cbde8fb73f694cab3e6 +1 -1
  285. package/npm-cache/_cacache/index-v5/dd/1c/bcc1f709950f1383807fb39e140d3aac8716b33c15565b9b222936ad8769 +1 -1
  286. package/npm-cache/_cacache/index-v5/dd/92/d0cab31acafdeccaf93de780398c2e6b187cb86661de094d9c0bf0c33db6 +1 -1
  287. package/npm-cache/_cacache/index-v5/dd/a4/101bb6faa7eaa5d3fe352b4602206d2689b7549281a2b34cfc97b977defd +1 -1
  288. package/npm-cache/_cacache/index-v5/de/2b/6a4832b046c35f830d1e128f6d89f34d6f04943ea12b38a5d0d2d985b4b0 +1 -1
  289. package/npm-cache/_cacache/index-v5/de/73/e9caeba3b1b1f206044a576acacea780fa297c40c7494e194c50b7aa9b92 +1 -1
  290. package/npm-cache/_cacache/index-v5/de/bb/65a16c24e12e0fc24e080de170cc984399489892fedc81e8ace36b421c6b +1 -1
  291. package/npm-cache/_cacache/index-v5/e0/5b/421fa6b3b0d609059e018465e0757940a0217a587ef3ceb70f47b1d941a5 +2 -2
  292. package/npm-cache/_cacache/index-v5/e1/f1/25fed3313de95750171cbf40668b505efb352332c88159d22c268e677ea9 +1 -1
  293. package/npm-cache/_cacache/index-v5/e3/72/0e6a429604e3fbc023c5a4de075d0897566974261a38d0b0ac64018c2141 +1 -1
  294. package/npm-cache/_cacache/index-v5/e4/f6/abd881a4315f953a21d0ee758ba2f12f9db54886778a2c6f86a2386f52ce +1 -1
  295. package/npm-cache/_cacache/index-v5/e5/13/0c26ab543a75d9db18d6cfeedca6fb0827e2078f1720ae9aaa496cadc864 +1 -1
  296. package/npm-cache/_cacache/index-v5/eb/42/4b795254eda4a03e5795ff8768851dccae2296fa569ccd7459d5a19d6793 +1 -1
  297. package/npm-cache/_cacache/index-v5/ec/99/cdff9ef4557e986ea0821d582abf1d4dce9096a53220e5d1c642d480ad75 +1 -1
  298. package/npm-cache/_cacache/index-v5/ed/1f/73c80c5a97f1b84ec45d95de45bac2f30257cad6264daba6eb5ccdab895a +1 -1
  299. package/npm-cache/_cacache/index-v5/ed/a8/7f36c1db45a95f95c67b3b227946bcc9e078d07565c497de9f3df560fb6f +1 -1
  300. package/npm-cache/_cacache/index-v5/ef/50/eec933ed51733c31c102cebfcc307ddba8fd0c2d43b4cf581210f13fd6d5 +1 -1
  301. package/npm-cache/_cacache/index-v5/ef/b1/d347bc48d84b9d46d9a9452851b321fe4eda0bd34451ddfabd3c987ba9bd +1 -1
  302. package/npm-cache/_cacache/index-v5/f0/13/2ba41872fef5035bd857d266ad8aa7ebc37cd20212af10760dfea28f5360 +1 -1
  303. package/npm-cache/_cacache/index-v5/f2/08/36628a12c4095a731d48c9092755e11b7aa696b412069ed8393f29502d87 +1 -1
  304. package/npm-cache/_cacache/index-v5/f2/0b/057113f8dd025675c496228016f63835396bd7a0d93db75562f80a294434 +1 -1
  305. package/npm-cache/_cacache/index-v5/f3/70/2b1e45c06bd249f9b55908df30f3d8cecab44c4fd0367ab02e524564e50a +1 -1
  306. package/npm-cache/_cacache/index-v5/f5/8b/87b38e8f478041104c2e1181b85ca30f311687cbc364e283ba396170d31a +1 -1
  307. package/npm-cache/_cacache/index-v5/f7/c3/e9670651069a6091a0a54cb3c1d4f5a374dce8d6e6164f785da0bf4808b2 +1 -1
  308. package/npm-cache/_cacache/index-v5/fa/41/e6d28d9c2522d10a750d135b3b893df381f49f3d16b70aae61f64097c14b +1 -1
  309. package/npm-cache/_cacache/index-v5/fa/8e/5bc93a82136a438fe240e47f9ff34f3c80a5aab772a014031d8ab91be519 +1 -1
  310. package/npm-cache/_cacache/index-v5/fa/db/7e1ffa1755b41843b8fa75e5314390b1c19690e23ad58bc11e79a6595fa7 +1 -1
  311. package/npm-cache/_cacache/index-v5/fb/4a/81d720868edd40cb1c4e111506192fa48855802d5279ccf74e3a0a938aff +1 -1
  312. package/npm-cache/_cacache/index-v5/fb/df/fc91cf7f5053e619c87bfedb1b9db73646c4cdb5796e83006ae1126a7a82 +1 -1
  313. package/npm-cache/_cacache/index-v5/fe/c3/b170ff6db9a7022ce08991d03c0ccec12e8438baaacd1e6a732f0e199164 +1 -1
  314. package/npm-cache/_cacache/index-v5/ff/9b/60156c8e9a71c54e9917fbd42fafb957274277060a37362dcc5ba56867c4 +1 -1
  315. package/npm-cache/_cacache/index-v5/ff/bc/4a7636025771bb0b1114cc594c67d17b39155dae319209c1b53f983f2a05 +1 -1
  316. package/npm-cache/_cacache/index-v5/ff/e2/6cd7ee939196f10ecd3d2b6e444e90b95a1fa7b210d987cf689672209dc0 +1 -1
  317. package/npm-cache/_logs/2026-09-22T09_18_57_609Z-debug-0.log +1142 -0
  318. package/npm-cache/_logs/{2026-09-21T07_22_34_855Z-debug-0.log → 2026-09-22T09_19_12_826Z-debug-0.log} +3 -3
  319. package/package.json +1 -1
  320. package/npm-cache/_cacache/content-v2/sha512/9f/ff/eff3ecf0a1e81f5b8309ab84cacaa929c632dee6e9df89e6929a1a61a5ef215da46107d718e4a3432aa1175a090115f09f1f530b8e86c60004af6e35c869 +0 -7318
  321. package/npm-cache/_cacache/content-v2/sha512/a2/1f/ce928f03a5d1dc6fa67b08f116a3c8c33a982df81d8ef08c73e4d745f6cbae3860638d747cd96e95ed73bfd9973c210fcdc3f7b2739fdc3b05cef0714e08 +0 -4436
  322. package/npm-cache/_cacache/content-v2/sha512/b0/76/baaf90d4d82ad773f7c8095a01936a84d0ac87dfbc1e95e597e9cc207e4ae61c675c4b4ea37232300e91e7610a8f6f9cd0be01f3660b54a77ff7851928cd +0 -30450
  323. package/npm-cache/_logs/2026-09-21T07_22_12_263Z-debug-0.log +0 -1146
@@ -5433,7 +5433,7 @@
5433
5433
  "dist-tags": {
5434
5434
  "latest": "2.6.2"
5435
5435
  },
5436
- "_rev": "4437-18525cb9d99e8da2",
5436
+ "_rev": "4441-fd11510bcbfbbd5d",
5437
5437
  "_id": "neo-async",
5438
5438
  "readme": "<h1 align=\"center\">Neo-Async</h1>\n\n<p align=\"center\">\n <img src=\"https://raw.githubusercontent.com/wiki/suguru03/neo-async/images/neo_async_v2.png\" width=\"250px\" />\n</p>\n\n<p align=\"center\">\n <a href=\"https://www.npmjs.com/package/neo-async\"><img alt=\"npm\" src=\"https://img.shields.io/npm/v/neo-async.svg\"></a>\n <a href=\"https://travis-ci.org/suguru03/neo-async\"><img alt=\"Travis Status\" src=\"https://img.shields.io/travis/suguru03/neo-async.svg\"></a>\n <a href=\"https://codecov.io/gh/suguru03/neo-async\"><img alt=\"Coverage Status\" src=\"https://img.shields.io/codecov/c/github/suguru03/neo-async/master.svg\"></a>\n <a href=\"https://www.npmjs.com/package/neo-async\"><img alt=\"download\" src=\"https://img.shields.io/npm/dm/neo-async.svg\"></a>\n <a href=\"https://lgtm.com/projects/g/suguru03/neo-async/context:javascript\"><img src=\"https://img.shields.io/lgtm/grade/javascript/g/suguru03/neo-async.svg?logo=lgtm&logoWidth=18\" alt=\"Code Quality: Javascript\" height=\"18\"></a>\n <a href=\"https://lgtm.com/projects/g/suguru03/neo-async/alerts\"><img src=\"https://img.shields.io/lgtm/alerts/g/suguru03/neo-async.svg?logo=lgtm&logoWidth=18\" alt=\"Total Alerts\" height=\"18\"></a>\n <a href=\"https://app.fossa.io/projects/git%2Bgithub.com%2Fsuguru03%2Fneo-async?ref=badge_shield\"><img src=\"https://app.fossa.io/api/projects/git%2Bgithub.com%2Fsuguru03%2Fneo-async.svg?type=shield\" alt=\"FOSSA\" height=\"18\"></a>\n</p>\n\nNeo-Async is thought to be used as a drop-in replacement for [Async](https://github.com/caolan/async), it almost fully covers its functionality and runs [faster](#benchmark).\n\nBenchmark is [here](#benchmark)!\n\nBluebird's benchmark is [here](https://github.com/suguru03/bluebird/tree/aigle/benchmark)!\n\n## Code Coverage\n![coverage](https://raw.githubusercontent.com/wiki/suguru03/neo-async/images/coverage.png)\n\n## Installation\n\n### In a browser\n```html\n<script src=\"async.min.js\"></script>\n```\n\n### In an AMD loader\n```js\nrequire(['async'], function(async) {});\n```\n\n### Promise and async/await\n\nI recommend to use [`Aigle`](https://github.com/suguru03/aigle).\n\nIt is optimized for Promise handling and has almost the same functionality as `neo-async`.\n\n### Node.js\n\n#### standard\n\n```bash\n$ npm install neo-async\n```\n```js\nvar async = require('neo-async');\n```\n\n#### replacement\n```bash\n$ npm install neo-async\n$ ln -s ./node_modules/neo-async ./node_modules/async\n```\n```js\nvar async = require('async');\n```\n\n### Bower\n\n```bash\nbower install neo-async\n```\n\n## Feature\n\n[JSDoc](http://suguru03.github.io/neo-async/doc/async.html)\n\n\\* not in Async\n\n### Collections\n\n- [`each`](http://suguru03.github.io/neo-async/doc/async.each.html)\n- [`eachSeries`](http://suguru03.github.io/neo-async/doc/async.eachSeries.html)\n- [`eachLimit`](http://suguru03.github.io/neo-async/doc/async.eachLimit.html)\n- [`forEach`](http://suguru03.github.io/neo-async/doc/async.each.html) -> [`each`](http://suguru03.github.io/neo-async/doc/async.each.html)\n- [`forEachSeries`](http://suguru03.github.io/neo-async/doc/async.eachSeries.html) -> [`eachSeries`](http://suguru03.github.io/neo-async/doc/async.eachSeries.html)\n- [`forEachLimit`](http://suguru03.github.io/neo-async/doc/async.eachLimit.html) -> [`eachLimit`](http://suguru03.github.io/neo-async/doc/async.eachLimit.html)\n- [`eachOf`](http://suguru03.github.io/neo-async/doc/async.each.html) -> [`each`](http://suguru03.github.io/neo-async/doc/async.each.html)\n- [`eachOfSeries`](http://suguru03.github.io/neo-async/doc/async.eachSeries.html) -> [`eachSeries`](http://suguru03.github.io/neo-async/doc/async.eachSeries.html)\n- [`eachOfLimit`](http://suguru03.github.io/neo-async/doc/async.eachLimit.html) -> [`eachLimit`](http://suguru03.github.io/neo-async/doc/async.eachLimit.html)\n- [`forEachOf`](http://suguru03.github.io/neo-async/doc/async.each.html) -> [`each`](http://suguru03.github.io/neo-async/doc/async.each.html)\n- [`forEachOfSeries`](http://suguru03.github.io/neo-async/doc/async.eachSeries.html) -> [`eachSeries`](http://suguru03.github.io/neo-async/doc/async.eachSeries.html)\n- [`eachOfLimit`](http://suguru03.github.io/neo-async/doc/async.eachLimit.html) -> [`forEachLimit`](http://suguru03.github.io/neo-async/doc/async.eachLimit.html)\n- [`map`](http://suguru03.github.io/neo-async/doc/async.map.html)\n- [`mapSeries`](http://suguru03.github.io/neo-async/doc/async.mapSeries.html)\n- [`mapLimit`](http://suguru03.github.io/neo-async/doc/async.mapLimit.html)\n- [`mapValues`](http://suguru03.github.io/neo-async/doc/async.mapValues.html)\n- [`mapValuesSeries`](http://suguru03.github.io/neo-async/doc/async.mapValuesSeries.html)\n- [`mapValuesLimit`](http://suguru03.github.io/neo-async/doc/async.mapValuesLimit.html)\n- [`filter`](http://suguru03.github.io/neo-async/doc/async.filter.html)\n- [`filterSeries`](http://suguru03.github.io/neo-async/doc/async.filterSeries.html)\n- [`filterLimit`](http://suguru03.github.io/neo-async/doc/async.filterLimit.html)\n- [`select`](http://suguru03.github.io/neo-async/doc/async.filter.html) -> [`filter`](http://suguru03.github.io/neo-async/doc/async.filter.html)\n- [`selectSeries`](http://suguru03.github.io/neo-async/doc/async.filterSeries.html) -> [`filterSeries`](http://suguru03.github.io/neo-async/doc/async.filterSeries.html)\n- [`selectLimit`](http://suguru03.github.io/neo-async/doc/async.filterLimit.html) -> [`filterLimit`](http://suguru03.github.io/neo-async/doc/async.filterLimit.html)\n- [`reject`](http://suguru03.github.io/neo-async/doc/async.reject.html)\n- [`rejectSeries`](http://suguru03.github.io/neo-async/doc/async.rejectSeries.html)\n- [`rejectLimit`](http://suguru03.github.io/neo-async/doc/async.rejectLimit.html)\n- [`detect`](http://suguru03.github.io/neo-async/doc/async.detect.html)\n- [`detectSeries`](http://suguru03.github.io/neo-async/doc/async.detectSeries.html)\n- [`detectLimit`](http://suguru03.github.io/neo-async/doc/async.detectLimit.html)\n- [`find`](http://suguru03.github.io/neo-async/doc/async.detect.html) -> [`detect`](http://suguru03.github.io/neo-async/doc/async.detect.html)\n- [`findSeries`](http://suguru03.github.io/neo-async/doc/async.detectSeries.html) -> [`detectSeries`](http://suguru03.github.io/neo-async/doc/async.detectSeries.html)\n- [`findLimit`](http://suguru03.github.io/neo-async/doc/async.detectLimit.html) -> [`detectLimit`](http://suguru03.github.io/neo-async/doc/async.detectLimit.html)\n- [`pick`](http://suguru03.github.io/neo-async/doc/async.pick.html) *\n- [`pickSeries`](http://suguru03.github.io/neo-async/doc/async.pickSeries.html) *\n- [`pickLimit`](http://suguru03.github.io/neo-async/doc/async.pickLimit.html) *\n- [`omit`](http://suguru03.github.io/neo-async/doc/async.omit.html) *\n- [`omitSeries`](http://suguru03.github.io/neo-async/doc/async.omitSeries.html) *\n- [`omitLimit`](http://suguru03.github.io/neo-async/doc/async.omitLimit.html) *\n- [`reduce`](http://suguru03.github.io/neo-async/doc/async.reduce.html)\n- [`inject`](http://suguru03.github.io/neo-async/doc/async.reduce.html) -> [`reduce`](http://suguru03.github.io/neo-async/doc/async.reduce.html)\n- [`foldl`](http://suguru03.github.io/neo-async/doc/async.reduce.html) -> [`reduce`](http://suguru03.github.io/neo-async/doc/async.reduce.html)\n- [`reduceRight`](http://suguru03.github.io/neo-async/doc/async.reduceRight.html)\n- [`foldr`](http://suguru03.github.io/neo-async/doc/async.reduceRight.html) -> [`reduceRight`](http://suguru03.github.io/neo-async/doc/async.reduceRight.html)\n- [`transform`](http://suguru03.github.io/neo-async/doc/async.transform.html)\n- [`transformSeries`](http://suguru03.github.io/neo-async/doc/async.transformSeries.html) *\n- [`transformLimit`](http://suguru03.github.io/neo-async/doc/async.transformLimit.html) *\n- [`sortBy`](http://suguru03.github.io/neo-async/doc/async.sortBy.html)\n- [`sortBySeries`](http://suguru03.github.io/neo-async/doc/async.sortBySeries.html) *\n- [`sortByLimit`](http://suguru03.github.io/neo-async/doc/async.sortByLimit.html) *\n- [`some`](http://suguru03.github.io/neo-async/doc/async.some.html)\n- [`someSeries`](http://suguru03.github.io/neo-async/doc/async.someSeries.html)\n- [`someLimit`](http://suguru03.github.io/neo-async/doc/async.someLimit.html)\n- [`any`](http://suguru03.github.io/neo-async/doc/async.some.html) -> [`some`](http://suguru03.github.io/neo-async/doc/async.some.html)\n- [`anySeries`](http://suguru03.github.io/neo-async/doc/async.someSeries.html) -> [`someSeries`](http://suguru03.github.io/neo-async/doc/async.someSeries.html)\n- [`anyLimit`](http://suguru03.github.io/neo-async/doc/async.someLimit.html) -> [`someLimit`](http://suguru03.github.io/neo-async/doc/async.someLimit.html)\n- [`every`](http://suguru03.github.io/neo-async/doc/async.every.html)\n- [`everySeries`](http://suguru03.github.io/neo-async/doc/async.everySeries.html)\n- [`everyLimit`](http://suguru03.github.io/neo-async/doc/async.everyLimit.html)\n- [`all`](http://suguru03.github.io/neo-async/doc/async.every.html) -> [`every`](http://suguru03.github.io/neo-async/doc/async.every.html)\n- [`allSeries`](http://suguru03.github.io/neo-async/doc/async.everySeries.html) -> [`every`](http://suguru03.github.io/neo-async/doc/async.everySeries.html)\n- [`allLimit`](http://suguru03.github.io/neo-async/doc/async.everyLimit.html) -> [`every`](http://suguru03.github.io/neo-async/doc/async.everyLimit.html)\n- [`concat`](http://suguru03.github.io/neo-async/doc/async.concat.html)\n- [`concatSeries`](http://suguru03.github.io/neo-async/doc/async.concatSeries.html)\n- [`concatLimit`](http://suguru03.github.io/neo-async/doc/async.concatLimit.html) *\n\n### Control Flow\n\n- [`parallel`](http://suguru03.github.io/neo-async/doc/async.parallel.html)\n- [`series`](http://suguru03.github.io/neo-async/doc/async.series.html)\n- [`parallelLimit`](http://suguru03.github.io/neo-async/doc/async.series.html)\n- [`tryEach`](http://suguru03.github.io/neo-async/doc/async.tryEach.html)\n- [`waterfall`](http://suguru03.github.io/neo-async/doc/async.waterfall.html)\n- [`angelFall`](http://suguru03.github.io/neo-async/doc/async.angelFall.html) *\n- [`angelfall`](http://suguru03.github.io/neo-async/doc/async.angelFall.html) -> [`angelFall`](http://suguru03.github.io/neo-async/doc/async.angelFall.html) *\n- [`whilst`](#whilst)\n- [`doWhilst`](#doWhilst)\n- [`until`](#until)\n- [`doUntil`](#doUntil)\n- [`during`](#during)\n- [`doDuring`](#doDuring)\n- [`forever`](#forever)\n- [`compose`](#compose)\n- [`seq`](#seq)\n- [`applyEach`](#applyEach)\n- [`applyEachSeries`](#applyEachSeries)\n- [`queue`](#queue)\n- [`priorityQueue`](#priorityQueue)\n- [`cargo`](#cargo)\n- [`auto`](#auto)\n- [`autoInject`](#autoInject)\n- [`retry`](#retry)\n- [`retryable`](#retryable)\n- [`iterator`](#iterator)\n- [`times`](http://suguru03.github.io/neo-async/doc/async.times.html)\n- [`timesSeries`](http://suguru03.github.io/neo-async/doc/async.timesSeries.html)\n- [`timesLimit`](http://suguru03.github.io/neo-async/doc/async.timesLimit.html)\n- [`race`](#race)\n\n### Utils\n- [`apply`](#apply)\n- [`setImmediate`](#setImmediate)\n- [`nextTick`](#nextTick)\n- [`memoize`](#memoize)\n- [`unmemoize`](#unmemoize)\n- [`ensureAsync`](#ensureAsync)\n- [`constant`](#constant)\n- [`asyncify`](#asyncify)\n- [`wrapSync`](#asyncify) -> [`asyncify`](#asyncify)\n- [`log`](#log)\n- [`dir`](#dir)\n- [`timeout`](http://suguru03.github.io/neo-async/doc/async.timeout.html)\n- [`reflect`](#reflect)\n- [`reflectAll`](#reflectAll)\n- [`createLogger`](#createLogger)\n\n## Mode\n- [`safe`](#safe) *\n- [`fast`](#fast) *\n\n## Benchmark\n\n[Benchmark: Async vs Neo-Async](http://suguru03.hatenablog.com/entry/2016/06/10/135559)\n\n### How to check\n\n```bash\n$ node perf\n```\n\n### Environment\n\n* Darwin 17.3.0 x64\n* Node.js v8.9.4\n* async v2.6.0\n* neo-async v2.5.0\n* benchmark v2.1.4\n\n### Result\n\nThe value is the ratio (Neo-Async/Async) of the average speed.\n\n#### Collections\n|function|benchmark|\n|---|--:|\n|each/forEach|2.43|\n|eachSeries/forEachSeries|1.75|\n|eachLimit/forEachLimit|1.68|\n|eachOf|3.29|\n|eachOfSeries|1.50|\n|eachOfLimit|1.59|\n|map|3.95|\n|mapSeries|1.81|\n|mapLimit|1.27|\n|mapValues|2.73|\n|mapValuesSeries|1.59|\n|mapValuesLimit|1.23|\n|filter|3.00|\n|filterSeries|1.74|\n|filterLimit|1.17|\n|reject|4.59|\n|rejectSeries|2.31|\n|rejectLimit|1.58|\n|detect|4.30|\n|detectSeries|1.86|\n|detectLimit|1.32|\n|reduce|1.82|\n|transform|2.46|\n|sortBy|4.08|\n|some|2.19|\n|someSeries|1.83|\n|someLimit|1.32|\n|every|2.09|\n|everySeries|1.84|\n|everyLimit|1.35|\n|concat|3.79|\n|concatSeries|4.45|\n\n#### Control Flow\n|funciton|benchmark|\n|---|--:|\n|parallel|2.93|\n|series|1.96|\n|waterfall|1.29|\n|whilst|1.00|\n|doWhilst|1.12|\n|until|1.12|\n|doUntil|1.12|\n|during|1.18|\n|doDuring|2.42|\n|times|4.25|\n|auto|1.97|\n\n\n## License\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fsuguru03%2Fneo-async.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fsuguru03%2Fneo-async?ref=badge_large)",
5439
5439
  "_attachments": {}
@@ -7888,7 +7888,7 @@
7888
7888
  "latest": "6.1.3",
7889
7889
  "v5-legacy": "5.0.10"
7890
7890
  },
7891
- "_rev": "5072-c40c664f4e3480e8",
7891
+ "_rev": "5076-50f9d7b360e9d3c6",
7892
7892
  "_id": "rimraf",
7893
7893
  "readme": "The [UNIX command](<http://en.wikipedia.org/wiki/Rm_(Unix)>) `rm -rf` for node\nin a cross-platform implementation.\n\nInstall with `npm install rimraf`.\n\n> [!CAUTION]\n>\n> ## Please Be Safe, this tool deletes and moves stuff, by design\n>\n> The _intended purpose_ of this tool is to remove files and\n> directories from the filesystem, aggressively and recursively\n> removing all items that it can find under a given target.\n>\n> It goes without saying that you _must not pass untrusted input\n> to this function or CLI tool_, just as you would not to the\n> `rm(1)` command or the `unlink(2)` function. It is very\n> challenging to guarantee that _any_ user input will be safe to\n> remove recursively in this way.\n>\n> Furthermore, note that if you allow untrusted parties to\n> provide arguments to the `rimraf` command line tool, they may\n> also specify the `--tmp=<dir>` folder used by the\n> `--impl=move-remove` strategy, which can move files to an\n> arbitrary place on disk.\n>\n> Because the intended purpose of this tool is the permanent\n> destruction of filesystem entries, any security reports that\n> rely on untrusted input being passed to the function or command\n> line tool will be rejected.\n>\n> **It is your responsibility as a user to never pass untrusted\n> user input to this module, or your system can be destroyed or\n> compromised.**\n\n## Major Changes\n\n### v5 to v6\n\n- Require node `20` or `>=22`\n- Add `--version` to CLI\n\n### v4 to v5\n\n- There is no default export anymore. Import the functions directly\n using, e.g., `import { rimrafSync } from 'rimraf'`.\n\n### v3 to v4\n\n- The function returns a `Promise` instead of taking a callback.\n- Globbing requires the `--glob` CLI option or `glob` option property\n to be set. (Removed in 4.0 and 4.1, opt-in support added in 4.2.)\n- Functions take arrays of paths, as well as a single path.\n- Native implementation used by default when available, except on\n Windows, where this implementation is faster and more reliable.\n- New implementation on Windows, falling back to \"move then\n remove\" strategy when exponential backoff for `EBUSY` fails to\n resolve the situation.\n- Simplified implementation on POSIX, since the Windows\n affordances are not necessary there.\n- As of 4.3, return/resolve value is boolean instead of undefined.\n\n## API\n\nHybrid module, load either with `import` or `require()`.\n\n```js\n// 'rimraf' export is the one you probably want, but other\n// strategies exported as well.\nimport { rimraf, rimrafSync, native, nativeSync } from 'rimraf'\n// or\nconst { rimraf, rimrafSync, native, nativeSync } = require('rimraf')\n```\n\nAll removal functions return a boolean indicating that all\nentries were successfully removed.\n\nThe only case in which this will not return `true` is if\nsomething was omitted from the removal via a `filter` option.\n\n### `rimraf(f, [opts]) -> Promise`\n\nThis first parameter is a path or array of paths. The second\nargument is an options object.\n\nOptions:\n\n- `preserveRoot`: If set to boolean `false`, then allow the\n recursive removal of the root directory. Otherwise, this is\n not allowed.\n- `tmp`: Windows only. Temp folder to place files and\n folders for the \"move then remove\" fallback. Must be on the\n same physical device as the path being deleted. Defaults to\n `os.tmpdir()` when that is on the same drive letter as the path\n being deleted, or `${drive}:\\temp` if present, or `${drive}:\\`\n if not.\n- `maxRetries`: Windows and Native only. Maximum number of\n retry attempts in case of `EBUSY`, `EMFILE`, and `ENFILE`\n errors. Default `10` for Windows implementation, `0` for Native\n implementation.\n- `backoff`: Windows only. Rate of exponential backoff for async\n removal in case of `EBUSY`, `EMFILE`, and `ENFILE` errors.\n Should be a number greater than 1. Default `1.2`\n- `maxBackoff`: Windows only. Maximum total backoff time in ms to\n attempt asynchronous retries in case of `EBUSY`, `EMFILE`, and\n `ENFILE` errors. Default `200`. With the default `1.2` backoff\n rate, this results in 14 retries, with the final retry being\n delayed 33ms.\n- `retryDelay`: Native only. Time to wait between retries, using\n linear backoff. Default `100`.\n- `signal` Pass in an AbortSignal to cancel the directory\n removal. This is useful when removing large folder structures,\n if you'd like to limit the time spent.\n\n Using a `signal` option prevents the use of Node's built-in\n `fs.rm` because that implementation does not support abort\n signals.\n\n- `glob` Boolean flag to treat path as glob pattern, or an object\n specifying [`glob` options](https://github.com/isaacs/node-glob).\n- `filter` Method that returns a boolean indicating whether that\n path should be deleted. With async `rimraf` methods, this may\n return a Promise that resolves to a boolean. (Since Promises\n are truthy, returning a Promise from a sync filter is the same\n as just not filtering anything.)\n\n The first argument to the filter is the path string. The\n second argument is either a `Dirent` or `Stats` object for that\n path. (The first path explored will be a `Stats`, the rest\n will be `Dirent`.)\n\n If a filter method is provided, it will _only_ remove entries\n if the filter returns (or resolves to) a truthy value. Omitting\n a directory will still allow its children to be removed, unless\n they are also filtered out, but any parents of a filtered entry\n will not be removed, since the directory will not be empty in\n that case.\n\n Using a filter method prevents the use of Node's built-in\n `fs.rm` because that implementation does not support filtering.\n\nAny other options are provided to the native Node.js `fs.rm` implementation\nwhen that is used.\n\nThis will attempt to choose the best implementation, based on the Node.js\nversion and `process.platform`. To force a specific implementation, use\none of the other functions provided.\n\n### `rimraf.sync(f, [opts])` <br> `rimraf.rimrafSync(f, [opts])`\n\nSynchronous form of `rimraf()`\n\nNote that, unlike many file system operations, the synchronous form will\ntypically be significantly _slower_ than the async form, because recursive\ndeletion is extremely parallelizable.\n\n### `rimraf.native(f, [opts])`\n\nUses the built-in `fs.rm` implementation that Node.js provides. This is\nused by default on Node.js versions greater than or equal to `14.14.0`.\n\n### `rimraf.native.sync(f, [opts])` <br> `rimraf.nativeSync(f, [opts])`\n\nSynchronous form of `rimraf.native`\n\n### `rimraf.manual(f, [opts])`\n\nUse the JavaScript implementation appropriate for your operating system.\n\n### `rimraf.manual.sync(f, [opts])` <br> `rimraf.manualSync(f, opts)`\n\nSynchronous form of `rimraf.manual()`\n\n### `rimraf.windows(f, [opts])`\n\nJavaScript implementation of file removal appropriate for Windows\nplatforms. Works around `unlink` and `rmdir` not being atomic\noperations, and `EPERM` when deleting files with certain\npermission modes.\n\nFirst deletes all non-directory files within the tree, and then\nremoves all directories, which should ideally be empty by that\ntime. When an `ENOTEMPTY` is raised in the second pass, falls\nback to the `rimraf.moveRemove` strategy as needed.\n\n### `rimraf.windows.sync(path, [opts])` <br> `rimraf.windowsSync(path, [opts])`\n\nSynchronous form of `rimraf.windows()`\n\n### `rimraf.moveRemove(path, [opts])`\n\nMoves all files and folders to the parent directory of `path`\nwith a temporary filename prior to attempting to remove them.\n\nNote that, in cases where the operation fails, this _may_ leave\nfiles lying around in the parent directory with names like\n`.file-basename.txt.0.123412341`. Until the Windows kernel\nprovides a way to perform atomic `unlink` and `rmdir` operations,\nthis is, unfortunately, unavoidable.\n\nTo move files to a different temporary directory other than the\nparent, provide `opts.tmp`. Note that this _must_ be on the same\nphysical device as the folder being deleted, or else the\noperation will fail.\n\nThis is the slowest strategy, but most reliable on Windows\nplatforms. Used as a last-ditch fallback by `rimraf.windows()`.\n\n### `rimraf.moveRemove.sync(path, [opts])` <br> `rimraf.moveRemoveSync(path, [opts])`\n\nSynchronous form of `rimraf.moveRemove()`\n\n### Command Line Interface\n\n```\nrimraf version 6.0.1\n\nUsage: rimraf <path> [<path> ...]\nDeletes all files and folders at \"path\", recursively.\n\nOptions:\n -- Treat all subsequent arguments as paths\n -h --help Display this usage info\n --version Display version\n --preserve-root Do not remove '/' recursively (default)\n --no-preserve-root Do not treat '/' specially\n -G --no-glob Treat arguments as literal paths, not globs (default)\n -g --glob Treat arguments as glob patterns\n -v --verbose Be verbose when deleting files, showing them as\n they are removed. Not compatible with --impl=native\n -V --no-verbose Be silent when deleting files, showing nothing as\n they are removed (default)\n -i --interactive Ask for confirmation before deleting anything\n Not compatible with --impl=native\n -I --no-interactive Do not ask for confirmation before deleting\n\n --impl=<type> Specify the implementation to use:\n rimraf: choose the best option (default)\n native: the built-in implementation in Node.js\n manual: the platform-specific JS implementation\n posix: the Posix JS implementation\n windows: the Windows JS implementation (falls back to\n move-remove on ENOTEMPTY)\n move-remove: a slow reliable Windows fallback\n\nImplementation-specific options:\n --tmp=<path> Temp file folder for 'move-remove' implementation\n --max-retries=<n> maxRetries for 'native' and 'windows' implementations\n --retry-delay=<n> retryDelay for 'native' implementation, default 100\n --backoff=<n> Exponential backoff factor for retries (default: 1.2)\n```\n\n## mkdirp\n\nIf you need to _create_ a directory recursively, check out\n[mkdirp](https://github.com/isaacs/node-mkdirp).",
7894
7894
  "_attachments": {}
@@ -15525,7 +15525,7 @@
15525
15525
  "legacy-v10": "10.5.0",
15526
15526
  "legacy-v9": "9.3.5"
15527
15527
  },
15528
- "_rev": "5755-dfdaa1735b0f515f",
15528
+ "_rev": "5759-f06ae8b183568f2d",
15529
15529
  "_id": "glob",
15530
15530
  "readme": "# Glob\n\nMatch files using the patterns the shell uses.\n\nThe most correct and second fastest glob implementation in\nJavaScript. (See [**Comparison to Other JavaScript Glob\nImplementations**](#comparisons-to-other-fnmatchglob-implementations)\nat the bottom of this readme.)\n\n![a fun cartoon logo made of glob\ncharacters](https://github.com/isaacs/node-glob/raw/main/logo/glob.png)\n\n## Usage\n\nInstall with npm\n\n```\nnpm i glob\n```\n\n> [!NOTE]\n> The npm package name is _not_ `node-glob` that's a\n> different thing that was abandoned years ago. Just `glob`.\n\n```js\n// load using import\nimport { glob, globSync, globStream, globStreamSync, Glob } from 'glob'\n// or using commonjs, that's fine, too\nconst {\n glob,\n globSync,\n globStream,\n globStreamSync,\n Glob,\n} = require('glob')\n\n// the main glob() and globSync() resolve/return array of filenames\n\n// all js files, but don't look in node_modules\nconst jsfiles = await glob('**/*.js', { ignore: 'node_modules/**' })\n\n// pass in a signal to cancel the glob walk\nconst stopAfter100ms = await glob('**/*.css', {\n signal: AbortSignal.timeout(100),\n})\n\n// multiple patterns supported as well\nconst images = await glob(['css/*.{png,jpeg}', 'public/*.{png,jpeg}'])\n\n// but of course you can do that with the glob pattern also\n// the sync function is the same, just returns a string[] instead\n// of Promise<string[]>\nconst imagesAlt = globSync('{css,public}/*.{png,jpeg}')\n\n// you can also stream them, this is a Minipass stream\nconst filesStream = globStream(['**/*.dat', 'logs/**/*.log'])\n\n// construct a Glob object if you wanna do it that way, which\n// allows for much faster walks if you have to look in the same\n// folder multiple times.\nconst g = new Glob('**/foo', {})\n// glob objects are async iterators, can also do globIterate() or\n// g.iterate(), same deal\nfor await (const file of g) {\n console.log('found a foo file:', file)\n}\n// pass a glob as the glob options to reuse its settings and caches\nconst g2 = new Glob('**/bar', g)\n// sync iteration works as well\nfor (const file of g2) {\n console.log('found a bar file:', file)\n}\n\n// you can also pass withFileTypes: true to get Path objects\n// these are like a fs.Dirent, but with some more added powers\n// check out https://isaacs.github.io/path-scurry/classes/PathBase.html\n// for more info on their API\nconst g3 = new Glob('**/baz/**', { withFileTypes: true })\ng3.stream().on('data', path => {\n console.log(\n 'got a path object',\n path.fullpath(),\n path.isDirectory(),\n path.readdirSync().map(e => e.name),\n )\n})\n\n// if you use stat:true and withFileTypes, you can sort results\n// by things like modified time, filter by permission mode, etc.\n// All Stats fields will be available in that case. Slightly\n// slower, though.\n// For example:\nconst results = await glob('**', { stat: true, withFileTypes: true })\n\nconst timeSortedFiles = results\n .sort((a, b) => a.mtimeMs - b.mtimeMs)\n .map(path => path.fullpath())\n\nconst groupReadableFiles = results\n .filter(path => path.mode & 0o040)\n .map(path => path.fullpath())\n\n// custom ignores can be done like this, for example by saying\n// you'll ignore all markdown files, and all folders named 'docs'\nconst customIgnoreResults = await glob('**', {\n ignore: {\n ignored: p => /\\.md$/.test(p.name),\n childrenIgnored: p => p.isNamed('docs'),\n },\n})\n\n// another fun use case, only return files with the same name as\n// their parent folder, plus either `.ts` or `.js`\nconst folderNamedModules = await glob('**/*.{ts,js}', {\n ignore: {\n ignored: p => {\n const pp = p.parent\n return !(p.isNamed(pp.name + '.ts') || p.isNamed(pp.name + '.js'))\n },\n },\n})\n\n// find all files edited in the last hour, to do this, we ignore\n// all of them that are more than an hour old\nconst newFiles = await glob('**', {\n // need stat so we have mtime\n stat: true,\n // only want the files, not the dirs\n nodir: true,\n ignore: {\n ignored: p => {\n return new Date() - p.mtime > 60 * 60 * 1000\n },\n // could add similar childrenIgnored here as well, but\n // directory mtime is inconsistent across platforms, so\n // probably better not to, unless you know the system\n // tracks this reliably.\n },\n})\n```\n\n> [!NOTE]\n> Glob patterns should always use `/` as a path separator,\n> even on Windows systems, as `\\` is used to escape glob\n> characters. If you wish to use `\\` as a path separator _instead\n> of_ using it as an escape character on Windows platforms, you may\n> set `windowsPathsNoEscape:true` in the options. In this mode,\n> special glob characters cannot be escaped, making it impossible\n> to match a literal `*` `?` and so on in filenames.\n\n## Command Line Interface\n\nThe glob CLI has been moved to the `glob-bin` package, and must\nbe installed separately, as of version 13.\n\n```\nnpm install glob-bin\n```\n\n## `glob(pattern: string | string[], options?: GlobOptions) => Promise<string[] | Path[]>`\n\nPerform an asynchronous glob search for the pattern(s) specified.\nReturns\n[Path](https://isaacs.github.io/path-scurry/classes/PathBase)\nobjects if the `withFileTypes` option is set to `true`. See below\nfor full options field desciptions.\n\n## `globSync(pattern: string | string[], options?: GlobOptions) => string[] | Path[]`\n\nSynchronous form of `glob()`.\n\nAlias: `glob.sync()`\n\n## `globIterate(pattern: string | string[], options?: GlobOptions) => AsyncGenerator<string>`\n\nReturn an async iterator for walking glob pattern matches.\n\nAlias: `glob.iterate()`\n\n## `globIterateSync(pattern: string | string[], options?: GlobOptions) => Generator<string>`\n\nReturn a sync iterator for walking glob pattern matches.\n\nAlias: `glob.iterate.sync()`, `glob.sync.iterate()`\n\n## `globStream(pattern: string | string[], options?: GlobOptions) => Minipass<string | Path>`\n\nReturn a stream that emits all the strings or `Path` objects and\nthen emits `end` when completed.\n\nAlias: `glob.stream()`\n\n## `globStreamSync(pattern: string | string[], options?: GlobOptions) => Minipass<string | Path>`\n\nSyncronous form of `globStream()`. Will read all the matches as\nfast as you consume them, even all in a single tick if you\nconsume them immediately, but will still respond to backpressure\nif they're not consumed immediately.\n\nAlias: `glob.stream.sync()`, `glob.sync.stream()`\n\n## `hasMagic(pattern: string | string[], options?: GlobOptions) => boolean`\n\nReturns `true` if the provided pattern contains any \"magic\" glob\ncharacters, given the options provided.\n\nBrace expansion is not considered \"magic\" unless the\n`magicalBraces` option is set, as brace expansion just turns one\nstring into an array of strings. So a pattern like `'x{a,b}y'`\nwould return `false`, because `'xay'` and `'xby'` both do not\ncontain any magic glob characters, and it's treated the same as\nif you had called it on `['xay', 'xby']`. When\n`magicalBraces:true` is in the options, brace expansion _is_\ntreated as a pattern having magic.\n\n## `escape(pattern: string, options?: GlobOptions) => string`\n\nEscape all magic characters in a glob pattern, so that it will\nonly ever match literal strings\n\nIf the `windowsPathsNoEscape` option is used, then characters are\nescaped by wrapping in `[]`, because a magic character wrapped in\na character class can only be satisfied by that exact character.\n\nSlashes (and backslashes in `windowsPathsNoEscape` mode) cannot\nbe escaped or unescaped.\n\n## `unescape(pattern: string, options?: GlobOptions) => string`\n\nUn-escape a glob string that may contain some escaped characters.\n\nIf the `windowsPathsNoEscape` option is used, then square-brace\nescapes are removed, but not backslash escapes. For example, it\nwill turn the string `'[*]'` into `*`, but it will not turn\n`'\\\\*'` into `'*'`, because `\\` is a path separator in\n`windowsPathsNoEscape` mode.\n\nWhen `windowsPathsNoEscape` is not set, then both brace escapes\nand backslash escapes are removed.\n\nSlashes (and backslashes in `windowsPathsNoEscape` mode) cannot\nbe escaped or unescaped.\n\n## Class `Glob`\n\nAn object that can perform glob pattern traversals.\n\n### `const g = new Glob(pattern: string | string[], options: GlobOptions)`\n\nOptions object is required.\n\nSee full options descriptions below.\n\n> [!NOTE]\n> A previous `Glob` object can be passed as the\n> `GlobOptions` to another `Glob` instantiation to re-use settings\n> and caches with a new pattern.\n\nTraversal functions can be called multiple times to run the walk\nagain.\n\n### `g.stream()`\n\nStream results asynchronously.\n\n### `g.streamSync()`\n\nStream results synchronously.\n\n### `g.iterate()`\n\nDefault async iteration function. Returns an AsyncGenerator that\niterates over the results.\n\n### `g.iterateSync()`\n\nDefault sync iteration function. Returns a Generator that\niterates over the results.\n\n### `g.walk()`\n\nReturns a Promise that resolves to the results array.\n\n### `g.walkSync()`\n\nReturns a results array.\n\n### Properties\n\nAll options are stored as properties on the `Glob` object.\n\n- `opts` The options provided to the constructor.\n- `patterns` An array of parsed immutable `Pattern` objects.\n\n## Options\n\nExported as `GlobOptions` TypeScript interface. A `GlobOptions`\nobject may be provided to any of the exported methods, and must\nbe provided to the `Glob` constructor.\n\nAll options are optional, boolean, and false by default, unless\notherwise noted.\n\nAll resolved options are added to the Glob object as properties.\n\nIf you are running many `glob` operations, you can pass a Glob\nobject as the `options` argument to a subsequent operation to\nshare the previously loaded cache.\n\n- `cwd` String path or `file://` string or URL object. The\n current working directory in which to search. Defaults to\n `process.cwd()`. See also: \"Windows, CWDs, Drive Letters, and\n UNC Paths\", below.\n\n This option may be either a string path or a `file://` URL\n object or string.\n\n- `root` A string path resolved against the `cwd` option, which\n is used as the starting point for absolute patterns that start\n with `/`, (but not drive letters or UNC paths on Windows).\n\n To start absolute and non-absolute patterns in the same path,\n you can use `{root:''}`. However, be aware that on Windows\n systems, a pattern like `x:/*` or `//host/share/*` will\n _always_ start in the `x:/` or `//host/share` directory,\n regardless of the `root` setting.\n\n> [!NOTE] This _doesn't_ necessarily limit the walk to the\n> `root` directory, and doesn't affect the cwd starting point\n> for non-absolute patterns. A pattern containing `..` will\n> still be able to traverse out of the root directory, if it\n> is not an actual root directory on the filesystem, and any\n> non-absolute patterns will be matched in the `cwd`. For\n> example, the pattern `/../*` with `{root:'/some/path'}`\n> will return all files in `/some`, not all files in\n> `/some/path`. The pattern `*` with `{root:'/some/path'}`\n> will return all the entries in the cwd, not the entries in\n> `/some/path`.\n\n- `windowsPathsNoEscape` Use `\\\\` as a path separator _only_, and\n _never_ as an escape character. If set, all `\\\\` characters are\n replaced with `/` in the pattern.\n\n> [!NOTE]\n> This makes it **impossible** to match against paths\n> containing literal glob pattern characters, but allows matching\n> with patterns constructed using `path.join()` and\n> `path.resolve()` on Windows platforms, mimicking the (buggy!)\n> behavior of Glob v7 and before on Windows. Please use with\n> caution, and be mindful of [the caveat below about Windows\n> paths](#windows). (For legacy reasons, this is also set if\n> `allowWindowsEscape` is set to the exact value `false`.)\n\n- `dot` Include `.dot` files in normal matches and `globstar`\n matches. Note that an explicit dot in a portion of the pattern\n will always match dot files.\n\n- `magicalBraces` Treat brace expansion like `{a,b}` as a \"magic\"\n pattern. Has no effect if {@link nobrace} is set.\n\n Only has effect on the {@link hasMagic} function, no effect on\n glob pattern matching itself.\n\n- `dotRelative` Prepend all relative path strings with `./` (or\n `.\\` on Windows).\n\n Without this option, returned relative paths are \"bare\", so\n instead of returning `'./foo/bar'`, they are returned as\n `'foo/bar'`.\n\n Relative patterns starting with `'../'` are not prepended with\n `./`, even if this option is set.\n\n- `mark` Add a `/` character to directory matches. Note that this\n requires additional stat calls.\n\n- `nobrace` Do not expand `{a,b}` and `{1..3}` brace sets.\n\n- `noglobstar` Do not match `**` against multiple filenames. (Ie,\n treat it as a normal `*` instead.)\n\n- `noext` Do not match \"extglob\" patterns such as `+(a|b)`.\n\n- `nocase` Perform a case-insensitive match. This defaults to\n `true` on macOS and Windows systems, and `false` on all others.\n\n> [!NOTE]\n> `nocase` should only be explicitly set when it is known that\n> the filesystem's case sensitivity differs from the platform\n> default. If set `true` on case-sensitive file systems, or\n> `false` on case-insensitive file systems, then the walk may\n> return more or less results than expected.\n>\n> As a shortcut to avoid excessive `RegExp` creations, `Glob`\n> will use string portions as-is to `readdir()` calls while doing\n> its traversal. If you are setting a `nocase: true` match on a\n> file system that is in fact case sensitive, then this will\n> result in matches not being found that you might expect,\n> because for example the pattern `Foo/*` will fail to read the\n> `FOO/` or `foo/` directories.\n>\n> On the other hand, if you set `nocase: false` on a\n> case-_insensitive_ system, then the opposite problem occurs:\n> `Foo/*` will match `foo/bar`, but because we only detect the\n> existence of the `foo/` folder by successfully performing a\n> `readdir`, there's no way to know what the \"real\" case is, and\n> the match will be reported as `Foo/bar`, using the case of the\n> string portion of the glob pattern.\n>\n> The default is usually correct, however it _is_ possible to\n> mount file systems with a different case-sensitivity from the\n> host system. If you know this is the case, set this flag\n> appropriately to the file system you are searching.\n\n- `maxDepth` Specify a number to limit the depth of the directory\n traversal to this many levels below the `cwd`.\n\n- `matchBase` Perform a basename-only match if the pattern does\n not contain any slash characters. That is, `*.js` would be\n treated as equivalent to `**/*.js`, matching all js files in\n all directories.\n\n- `nodir` Do not match directories, only files. (Note: to match\n _only_ directories, put a `/` at the end of the pattern.)\n\n> [!NOTE]\n> When `follow` and `nodir` are both set, then symbolic\n> links to directories are also omitted.\n\n- `stat` Call `lstat()` on all entries, whether required or not\n to determine whether it's a valid match. When used with\n `withFileTypes`, this means that matches will include data such\n as modified time, permissions, and so on. Note that this will\n incur a performance cost due to the added system calls.\n\n- `ignore` string or string[], or an object with `ignored` and\n `childrenIgnored` methods.\n\n If a string or string[] is provided, then this is treated as\n a glob pattern or array of glob patterns to exclude from\n matches. To ignore all children within a directory, as well\n as the entry itself, append `'/**'` to the ignore pattern.\n\n If an object is provided that has `ignored(path)` and/or\n `childrenIgnored(path)` methods, then these methods will be\n called to determine whether any Path is a match or if its\n children should be traversed, respectively.\n\n The `path` argument to the methods will be a\n [`path-scurry`](https://isaacs.github.io/path-scurry/index.html)\n [`Path`](https://isaacs.github.io/path-scurry/classes/PathBase)\n object, which extends\n [`fs.Dirent`](https://nodejs.org/docs/latest/api/fs.html#class-fsdirent)\n with additional useful methods like\n [`.fullpath()`](https://isaacs.github.io/path-scurry/classes/PathBase.html#fullpath),\n [`.relative()`](https://isaacs.github.io/path-scurry/classes/PathBase.html#relative),\n and more.\n\n> [!NOTE]\n> `ignore` patterns are _always_ in `dot:true` mode,\n> regardless of any other settings.\n\n- `follow` Follow symlinked directories when expanding `**`\n patterns. This can result in a lot of duplicate references in\n the presence of cyclic links, and make performance quite bad.\n\n By default, a `**` in a pattern will follow 1 symbolic link if\n it is not the first item in the pattern, or none if it is the\n first item in the pattern, following the same behavior as Bash.\n\n> [!NOTE]\n> When `follow` and `nodir` are both set, then symbolic\n> links to directories are also omitted.\n\n- `realpath` Set to true to call `fs.realpath` on all of the\n results. In the case of an entry that cannot be resolved, the\n entry is omitted. This incurs a slight performance penalty, of\n course, because of the added system calls.\n\n- `absolute` Set to true to always receive absolute paths for\n matched files. Set to `false` to always receive relative paths\n for matched files.\n\n By default, when this option is not set, absolute paths are\n returned for patterns that are absolute, and otherwise paths\n are returned that are relative to the `cwd` setting.\n\n This does _not_ make an extra system call to get the realpath,\n it only does string path resolution.\n\n `absolute` may not be used along with `withFileTypes`.\n\n- `posix` Set to true to use `/` as the path separator in\n returned results. On POSIX systems, this has no effect. On\n Windows systems, this will return `/` delimited path results,\n and absolute paths will be returned in their fully resolved UNC\n path form, e.g. instead of `'C:\\\\foo\\\\bar'`, it will return\n `//?/C:/foo/bar`.\n\n- `platform` Defaults to the value of `process.platform` if\n available, or `'linux'` if not. Setting `platform:'win32'` on\n non-Windows systems may cause strange behavior.\n\n- `withFileTypes` Return\n [`path-scurry`](http://npm.im/path-scurry)\n [`Path`](https://isaacs.github.io/path-scurry/classes/PathBase.html)\n objects instead of strings. These are similar to a NodeJS\n `fs.Dirent` object, but with additional methods and properties.\n\n `withFileTypes` may not be used along with `absolute`.\n\n- `signal` An AbortSignal which will cancel the Glob walk when\n triggered.\n\n- `fs` An override object to pass in custom filesystem methods.\n See [`path-scurry`\n docs](https://isaacs.github.io/path-scurry/interfaces/FSOption.html)\n for what can be overridden.\n\n- `scurry` A\n [`PathScurry`](https://isaacs.github.io/path-scurry/classes/PathScurryBase.html)\n object used to traverse the file system. If the `nocase` option\n is set explicitly, then any provided `scurry` object must match\n this setting.\n\n- `includeChildMatches` boolean, default `true`. Do not match any\n children of any matches. For example, the pattern `**\\/foo`\n would match `a/foo`, but not `a/foo/b/foo` in this mode.\n\n This is especially useful for cases like \"find all\n `node_modules` folders, but not the ones in `node_modules`\".\n\n In order to support this, the `Ignore` implementation must\n support an `add(pattern: string)` method. If using the default\n `Ignore` class, then this is fine, but if this is set to\n `false`, and a custom `Ignore` is provided that does not have\n an `add()` method, then it will throw an error.\n\n For example:\n\n ```js\n const results = await glob(\n [\n // likely to match first, since it's just a stat\n 'a/b/c/d/e/f',\n\n // this pattern is more complicated! It must to various readdir()\n // calls and test the results against a regular expression, and that\n // is certainly going to take a little bit longer.\n //\n // So, later on, it encounters a match at 'a/b/c/d/e', but it's too\n // late to ignore a/b/c/d/e/f, because it's already been emitted.\n 'a/[bdf]/?/[a-z]/*',\n ],\n { includeChildMatches: false },\n )\n ```\n\n It's best to only set this to `false` if you can be reasonably\n sure that no components of the pattern will potentially match\n one another's file system descendants, or if the occasional\n included child entry will not cause problems.\n\n> [!NOTE]\n> It _only_ ignores matches that would be a descendant\n> of a previous match, and only if that descendant is matched\n> _after_ the ancestor is encountered. Since the file system walk\n> happens in indeterminate order, it's possible that a match will\n> already be added before its ancestor, if multiple or braced\n> patterns are used.\n\n- `braceExpandMax` number, defaults to `10_000`. This is the\n maximum number of `{x,y,...}` patterns to expand. It is very\n unlikely that you'll need more than this, and setting it higher\n exposes the system to out-of-memory errors.\n\n## Glob Primer\n\nMuch more information about glob pattern expansion can be found\nby running `man bash` and searching for `Pattern Matching`.\n\n\"Globs\" are the patterns you type when you do stuff like `ls\n*.js` on the command line, or put `build/*` in a `.gitignore`\nfile.\n\nBefore parsing the path part patterns, braced sections are\nexpanded into a set. Braced sections start with `{` and end with\n`}`, with 2 or more comma-delimited sections within. Braced\nsections may contain slash characters, so `a{/b/c,bcd}` would\nexpand into `a/b/c` and `abcd`.\n\nThe following characters have special magic meaning when used in\na path portion. With the exception of `**`, none of these match\npath separators (ie, `/` on all platforms, and `\\` on Windows).\n\n- `*` Matches 0 or more characters in a single path portion.\n When alone in a path portion, it must match at least 1\n character. If `dot:true` is not specified, then `*` will not\n match against a `.` character at the start of a path portion.\n- `?` Matches 1 character. If `dot:true` is not specified, then\n `?` will not match against a `.` character at the start of a\n path portion.\n- `[...]` Matches a range of characters, similar to a RegExp\n range. If the first character of the range is `!` or `^` then\n it matches any character not in the range. If the first\n character is `]`, then it will be considered the same as `\\]`,\n rather than the end of the character class.\n- `!(pattern|pattern|pattern)` Matches anything that does not\n match any of the patterns provided. May _not_ contain `/`\n characters. Similar to `*`, if alone in a path portion, then\n the path portion must have at least one character.\n- `?(pattern|pattern|pattern)` Matches zero or one occurrence of\n the patterns provided. May _not_ contain `/` characters.\n- `+(pattern|pattern|pattern)` Matches one or more occurrences of\n the patterns provided. May _not_ contain `/` characters.\n- `*(a|b|c)` Matches zero or more occurrences of the patterns\n provided. May _not_ contain `/` characters.\n- `@(pattern|pat*|pat?erN)` Matches exactly one of the patterns\n provided. May _not_ contain `/` characters.\n- `**` If a \"globstar\" is alone in a path portion, then it\n matches zero or more directories and subdirectories searching\n for matches. It does not crawl symlinked directories, unless\n `{follow:true}` is passed in the options object. A pattern\n like `a/b/**` will only match `a/b` if it is a directory.\n Follows 1 symbolic link if not the first item in the pattern,\n or 0 if it is the first item, unless `follow:true` is set, in\n which case it follows all symbolic links.\n\n`[:class:]` patterns are supported by this implementation, but\n`[=c=]` and `[.symbol.]` style class patterns are not.\n\n### Dots\n\nIf a file or directory path portion has a `.` as the first\ncharacter, then it will not match any glob pattern unless that\npattern's corresponding path part also has a `.` as its first\ncharacter.\n\nFor example, the pattern `a/.*/c` would match the file at\n`a/.b/c`. However the pattern `a/*/c` would not, because `*` does\nnot start with a dot character.\n\nYou can make glob treat dots as normal characters by setting\n`dot:true` in the options.\n\n### Basename Matching\n\nIf you set `matchBase:true` in the options, and the pattern has\nno slashes in it, then it will seek for any file anywhere in the\ntree with a matching basename. For example, `*.js` would match\n`test/simple/basic.js`.\n\n### Empty Sets\n\nIf no matching files are found, then an empty array is returned.\nThis differs from the shell, where the pattern itself is\nreturned. For example:\n\n```sh\n$ echo a*s*d*f\na*s*d*f\n```\n\n## Comparisons to other fnmatch/glob implementations\n\nWhile strict compliance with the existing standards is a\nworthwhile goal, some discrepancies exist between node-glob and\nother implementations, and are intentional.\n\nThe double-star character `**` is supported by default, unless\nthe `noglobstar` flag is set. This is supported in the manner of\nbsdglob and bash 5, where `**` only has special significance if\nit is the only thing in a path part. That is, `a/**/b` will match\n`a/x/y/b`, but `a/**b` will not.\n\n> [!NOTE]\n> Symlinked directories are not traversed as part of a\n> `**`, though their contents may match against subsequent portions\n> of the pattern. This prevents infinite loops and duplicates and\n> the like. You can force glob to traverse symlinks with `**` by\n> setting `{follow:true}` in the options.\n\nThere is no equivalent of the `nonull` option. A pattern that\ndoes not find any matches simply resolves to nothing. (An empty\narray, immediately ended stream, etc.)\n\nIf brace expansion is not disabled, then it is performed before\nany other interpretation of the glob pattern. Thus, a pattern\nlike `+(a|{b),c)}`, which would not be valid in bash or zsh, is\nexpanded **first** into the set of `+(a|b)` and `+(a|c)`, and\nthose patterns are checked for validity. Since those two are\nvalid, matching proceeds.\n\nThe character class patterns `[:class:]` (POSIX standard named\nclasses) style class patterns are supported and Unicode-aware,\nbut `[=c=]` (locale-specific character collation weight), and\n`[.symbol.]` (collating symbol), are not.\n\n### Repeated Slashes\n\nUnlike Bash and zsh, repeated `/` are always coalesced into a\nsingle path separator.\n\n### Comments and Negation\n\nPreviously, this module let you mark a pattern as a \"comment\" if\nit started with a `#` character, or a \"negated\" pattern if it\nstarted with a `!` character.\n\nThese options were deprecated in version 5, and removed in\nversion 6.\n\nTo specify things that should not match, use the `ignore` option.\n\n## Windows\n\n**Please only use forward-slashes in glob expressions.**\n\nThough Windows uses either `/` or `\\` as its path separator, only\n`/` characters are used by this glob implementation. You must use\nforward-slashes **only** in glob expressions. Back-slashes will\nalways be interpreted as escape characters, not path separators.\n\nResults from absolute patterns such as `/foo/*` are mounted onto\nthe root setting using `path.join`. On Windows, this will by\ndefault result in `/foo/*` matching `C:\\foo\\bar.txt`.\n\nTo automatically coerce all `\\` characters to `/` in pattern\nstrings, **thus making it impossible to escape literal glob\ncharacters**, you may set the `windowsPathsNoEscape` option to\n`true`.\n\n### Windows, CWDs, Drive Letters, and UNC Paths\n\nOn POSIX systems, when a pattern starts with `/`, any `cwd`\noption is ignored, and the traversal starts at `/`, plus any\nnon-magic path portions specified in the pattern.\n\nOn Windows systems, the behavior is similar, but the concept of\nan \"absolute path\" is somewhat more involved.\n\n#### UNC Paths\n\nA UNC path may be used as the start of a pattern on Windows\nplatforms. For example, a pattern like: `//?/x:/*` will return\nall file entries in the root of the `x:` drive. A pattern like\n`//ComputerName/Share/*` will return all files in the associated\nshare.\n\nUNC path roots are always compared case insensitively.\n\n#### Drive Letters\n\nA pattern starting with a drive letter, like `c:/*`, will search\nin that drive, regardless of any `cwd` option provided.\n\nIf the pattern starts with `/`, and is not a UNC path, and there\nis an explicit `cwd` option set with a drive letter, then the\ndrive letter in the `cwd` is used as the root of the directory\ntraversal.\n\nFor example, `glob('/tmp', { cwd: 'c:/any/thing' })` will return\n`['c:/tmp']` as the result.\n\nIf an explicit `cwd` option is not provided, and the pattern\nstarts with `/`, then the traversal will run on the root of the\ndrive provided as the `cwd` option. (That is, it is the result of\n`path.resolve('/')`.)\n\n## Race Conditions\n\nGlob searching, by its very nature, is susceptible to race\nconditions, since it relies on directory walking.\n\nAs a result, it is possible that a file that exists when glob\nlooks for it may have been deleted or modified by the time it\nreturns the result.\n\nBy design, this implementation caches all readdir calls that it\nmakes, in order to cut down on system overhead. However, this\nalso makes it even more susceptible to races, especially if the\ncache object is reused between glob calls.\n\nUsers are thus advised not to use a glob result as a guarantee of\nfilesystem state in the face of rapid changes. For the vast\nmajority of operations, this is never a problem.\n\n### See Also:\n\n- `man sh`\n- `man bash` [Pattern\n Matching](https://www.gnu.org/software/bash/manual/html_node/Pattern-Matching.html)\n- `man 3 fnmatch`\n- `man 5 gitignore`\n- [minimatch documentation](https://github.com/isaacs/minimatch)\n\n## Glob Logo\n\nGlob's logo was created by [Tanya\nBrassie](http://tanyabrassie.com/). Logo files can be found\n[here](https://github.com/isaacs/node-glob/tree/master/logo).\n\nThe logo is licensed under a [Creative Commons\nAttribution-ShareAlike 4.0 International\nLicense](https://creativecommons.org/licenses/by-sa/4.0/).\n\n## Contributing\n\nAny change to behavior (including bugfixes) must come with a\ntest.\n\nPatches that fail tests or reduce performance will be rejected.\n\n```sh\n# to run tests\nnpm test\n\n# to re-generate test fixtures\nnpm run test-regen\n\n# run the benchmarks\nnpm run bench\n\n# to profile javascript\nnpm run prof\n```\n\n## Comparison to Other JavaScript Glob Implementations\n\n**tl;dr**\n\n- If you want glob matching that is as faithful as possible to\n Bash pattern expansion semantics, and as fast as possible\n within that constraint, _use this module_.\n- If you are reasonably sure that the patterns you will encounter\n are relatively simple, and want the absolutely fastest glob\n matcher out there, _use [fast-glob](http://npm.im/fast-glob)_.\n- If you are reasonably sure that the patterns you will encounter\n are relatively simple, and want the convenience of\n automatically respecting `.gitignore` files, _use\n [globby](http://npm.im/globby)_.\n\nThere are some other glob matcher libraries on npm, but these\nthree are (in my opinion, as of 2023) the best.\n\n---\n\n**full explanation**\n\nEvery library reflects a set of opinions and priorities in the\ntrade-offs it makes. Other than this library, I can personally\nrecommend both [globby](http://npm.im/globby) and\n[fast-glob](http://npm.im/fast-glob), though they differ in their\nbenefits and drawbacks.\n\nBoth have very nice APIs and are reasonably fast.\n\n`fast-glob` is, as far as I am aware, the fastest glob\nimplementation in JavaScript today. However, there are many\ncases where the choices that `fast-glob` makes in pursuit of\nspeed mean that its results differ from the results returned by\nBash and other sh-like shells, which may be surprising.\n\nIn my testing, `fast-glob` is around 10-20% faster than this\nmodule when walking over 200k files nested 4 directories\ndeep[1](#fn-webscale). However, there are some inconsistencies\nwith Bash matching behavior that this module does not suffer\nfrom:\n\n- `**` only matches files, not directories\n- `..` path portions are not handled unless they appear at the\n start of the pattern\n- `./!(<pattern>)` will not match any files that _start_ with\n `<pattern>`, even if they do not match `<pattern>`. For\n example, `!(9).txt` will not match `9999.txt`.\n- Some brace patterns in the middle of a pattern will result in\n failing to find certain matches.\n- Extglob patterns are allowed to contain `/` characters.\n\nGlobby exhibits all of the same pattern semantics as fast-glob,\n(as it is a wrapper around fast-glob) and is slightly slower than\nnode-glob (by about 10-20% in the benchmark test set, or in other\nwords, anywhere from 20-50% slower than fast-glob). However, it\nadds some API conveniences that may be worth the costs.\n\n- Support for `.gitignore` and other ignore files.\n- Support for negated globs (ie, patterns starting with `!`\n rather than using a separate `ignore` option).\n\nThe priority of this module is \"correctness\" in the sense of\nperforming a glob pattern expansion as faithfully as possible to\nthe behavior of Bash and other sh-like shells, with as much speed\nas possible.\n\n> [!NOTE]\n> Prior versions of `node-glob` are _not_ on this list.\n> Former versions of this module are far too slow for any cases\n> where performance matters at all, and were designed with APIs\n> that are extremely dated by current JavaScript standards.\n\n---\n\n<small id=\"fn-webscale\">[1]: In the cases where this module\nreturns results and `fast-glob` doesn't, it's even faster, of\ncourse.</small>\n\n![lumpy space princess saying 'oh my GLOB'](https://github.com/isaacs/node-glob/raw/main/oh-my-glob.gif)\n\n### Benchmark Results\n\nThe first number is time, smaller is better.\n\nThe second number is the count of results returned.\n\n```\n--- pattern: '**' ---\n~~ sync ~~\nnode fast-glob sync 0m0.598s 200364\nnode globby sync 0m0.765s 200364\nnode current globSync mjs 0m0.683s 222656\nnode current glob syncStream 0m0.649s 222656\n~~ async ~~\nnode fast-glob async 0m0.350s 200364\nnode globby async 0m0.509s 200364\nnode current glob async mjs 0m0.463s 222656\nnode current glob stream 0m0.411s 222656\n\n--- pattern: '**/..' ---\n~~ sync ~~\nnode fast-glob sync 0m0.486s 0\nnode globby sync 0m0.769s 200364\nnode current globSync mjs 0m0.564s 2242\nnode current glob syncStream 0m0.583s 2242\n~~ async ~~\nnode fast-glob async 0m0.283s 0\nnode globby async 0m0.512s 200364\nnode current glob async mjs 0m0.299s 2242\nnode current glob stream 0m0.312s 2242\n\n--- pattern: './**/0/**/0/**/0/**/0/**/*.txt' ---\n~~ sync ~~\nnode fast-glob sync 0m0.490s 10\nnode globby sync 0m0.517s 10\nnode current globSync mjs 0m0.540s 10\nnode current glob syncStream 0m0.550s 10\n~~ async ~~\nnode fast-glob async 0m0.290s 10\nnode globby async 0m0.296s 10\nnode current glob async mjs 0m0.278s 10\nnode current glob stream 0m0.302s 10\n\n--- pattern: './**/[01]/**/[12]/**/[23]/**/[45]/**/*.txt' ---\n~~ sync ~~\nnode fast-glob sync 0m0.500s 160\nnode globby sync 0m0.528s 160\nnode current globSync mjs 0m0.556s 160\nnode current glob syncStream 0m0.573s 160\n~~ async ~~\nnode fast-glob async 0m0.283s 160\nnode globby async 0m0.301s 160\nnode current glob async mjs 0m0.306s 160\nnode current glob stream 0m0.322s 160\n\n--- pattern: './**/0/**/0/**/*.txt' ---\n~~ sync ~~\nnode fast-glob sync 0m0.502s 5230\nnode globby sync 0m0.527s 5230\nnode current globSync mjs 0m0.544s 5230\nnode current glob syncStream 0m0.557s 5230\n~~ async ~~\nnode fast-glob async 0m0.285s 5230\nnode globby async 0m0.305s 5230\nnode current glob async mjs 0m0.304s 5230\nnode current glob stream 0m0.310s 5230\n\n--- pattern: '**/*.txt' ---\n~~ sync ~~\nnode fast-glob sync 0m0.580s 200023\nnode globby sync 0m0.771s 200023\nnode current globSync mjs 0m0.685s 200023\nnode current glob syncStream 0m0.649s 200023\n~~ async ~~\nnode fast-glob async 0m0.349s 200023\nnode globby async 0m0.509s 200023\nnode current glob async mjs 0m0.427s 200023\nnode current glob stream 0m0.388s 200023\n\n--- pattern: '{**/*.txt,**/?/**/*.txt,**/?/**/?/**/*.txt,**/?/**/?/**/?/**/*.txt,**/?/**/?/**/?/**/?/**/*.txt}' ---\n~~ sync ~~\nnode fast-glob sync 0m0.589s 200023\nnode globby sync 0m0.771s 200023\nnode current globSync mjs 0m0.716s 200023\nnode current glob syncStream 0m0.684s 200023\n~~ async ~~\nnode fast-glob async 0m0.351s 200023\nnode globby async 0m0.518s 200023\nnode current glob async mjs 0m0.462s 200023\nnode current glob stream 0m0.468s 200023\n\n--- pattern: '**/5555/0000/*.txt' ---\n~~ sync ~~\nnode fast-glob sync 0m0.496s 1000\nnode globby sync 0m0.519s 1000\nnode current globSync mjs 0m0.539s 1000\nnode current glob syncStream 0m0.567s 1000\n~~ async ~~\nnode fast-glob async 0m0.285s 1000\nnode globby async 0m0.299s 1000\nnode current glob async mjs 0m0.305s 1000\nnode current glob stream 0m0.301s 1000\n\n--- pattern: './**/0/**/../[01]/**/0/../**/0/*.txt' ---\n~~ sync ~~\nnode fast-glob sync 0m0.484s 0\nnode globby sync 0m0.507s 0\nnode current globSync mjs 0m0.577s 4880\nnode current glob syncStream 0m0.586s 4880\n~~ async ~~\nnode fast-glob async 0m0.280s 0\nnode globby async 0m0.298s 0\nnode current glob async mjs 0m0.327s 4880\nnode current glob stream 0m0.324s 4880\n\n--- pattern: '**/????/????/????/????/*.txt' ---\n~~ sync ~~\nnode fast-glob sync 0m0.547s 100000\nnode globby sync 0m0.673s 100000\nnode current globSync mjs 0m0.626s 100000\nnode current glob syncStream 0m0.618s 100000\n~~ async ~~\nnode fast-glob async 0m0.315s 100000\nnode globby async 0m0.414s 100000\nnode current glob async mjs 0m0.366s 100000\nnode current glob stream 0m0.345s 100000\n\n--- pattern: './{**/?{/**/?{/**/?{/**/?,,,,},,,,},,,,},,,}/**/*.txt' ---\n~~ sync ~~\nnode fast-glob sync 0m0.588s 100000\nnode globby sync 0m0.670s 100000\nnode current globSync mjs 0m0.717s 200023\nnode current glob syncStream 0m0.687s 200023\n~~ async ~~\nnode fast-glob async 0m0.343s 100000\nnode globby async 0m0.418s 100000\nnode current glob async mjs 0m0.519s 200023\nnode current glob stream 0m0.451s 200023\n\n--- pattern: '**/!(0|9).txt' ---\n~~ sync ~~\nnode fast-glob sync 0m0.573s 160023\nnode globby sync 0m0.731s 160023\nnode current globSync mjs 0m0.680s 180023\nnode current glob syncStream 0m0.659s 180023\n~~ async ~~\nnode fast-glob async 0m0.345s 160023\nnode globby async 0m0.476s 160023\nnode current glob async mjs 0m0.427s 180023\nnode current glob stream 0m0.388s 180023\n\n--- pattern: './{*/**/../{*/**/../{*/**/../{*/**/../{*/**,,,,},,,,},,,,},,,,},,,,}/*.txt' ---\n~~ sync ~~\nnode fast-glob sync 0m0.483s 0\nnode globby sync 0m0.512s 0\nnode current globSync mjs 0m0.811s 200023\nnode current glob syncStream 0m0.773s 200023\n~~ async ~~\nnode fast-glob async 0m0.280s 0\nnode globby async 0m0.299s 0\nnode current glob async mjs 0m0.617s 200023\nnode current glob stream 0m0.568s 200023\n\n--- pattern: './*/**/../*/**/../*/**/../*/**/../*/**/../*/**/../*/**/../*/**/*.txt' ---\n~~ sync ~~\nnode fast-glob sync 0m0.485s 0\nnode globby sync 0m0.507s 0\nnode current globSync mjs 0m0.759s 200023\nnode current glob syncStream 0m0.740s 200023\n~~ async ~~\nnode fast-glob async 0m0.281s 0\nnode globby async 0m0.297s 0\nnode current glob async mjs 0m0.544s 200023\nnode current glob stream 0m0.464s 200023\n\n--- pattern: './*/**/../*/**/../*/**/../*/**/../*/**/*.txt' ---\n~~ sync ~~\nnode fast-glob sync 0m0.486s 0\nnode globby sync 0m0.513s 0\nnode current globSync mjs 0m0.734s 200023\nnode current glob syncStream 0m0.696s 200023\n~~ async ~~\nnode fast-glob async 0m0.286s 0\nnode globby async 0m0.296s 0\nnode current glob async mjs 0m0.506s 200023\nnode current glob stream 0m0.483s 200023\n\n--- pattern: './0/**/../1/**/../2/**/../3/**/../4/**/../5/**/../6/**/../7/**/*.txt' ---\n~~ sync ~~\nnode fast-glob sync 0m0.060s 0\nnode globby sync 0m0.074s 0\nnode current globSync mjs 0m0.067s 0\nnode current glob syncStream 0m0.066s 0\n~~ async ~~\nnode fast-glob async 0m0.060s 0\nnode globby async 0m0.075s 0\nnode current glob async mjs 0m0.066s 0\nnode current glob stream 0m0.067s 0\n\n--- pattern: './**/?/**/?/**/?/**/?/**/*.txt' ---\n~~ sync ~~\nnode fast-glob sync 0m0.568s 100000\nnode globby sync 0m0.651s 100000\nnode current globSync mjs 0m0.619s 100000\nnode current glob syncStream 0m0.617s 100000\n~~ async ~~\nnode fast-glob async 0m0.332s 100000\nnode globby async 0m0.409s 100000\nnode current glob async mjs 0m0.372s 100000\nnode current glob stream 0m0.351s 100000\n\n--- pattern: '**/*/**/*/**/*/**/*/**' ---\n~~ sync ~~\nnode fast-glob sync 0m0.603s 200113\nnode globby sync 0m0.798s 200113\nnode current globSync mjs 0m0.730s 222137\nnode current glob syncStream 0m0.693s 222137\n~~ async ~~\nnode fast-glob async 0m0.356s 200113\nnode globby async 0m0.525s 200113\nnode current glob async mjs 0m0.508s 222137\nnode current glob stream 0m0.455s 222137\n\n--- pattern: './**/*/**/*/**/*/**/*/**/*.txt' ---\n~~ sync ~~\nnode fast-glob sync 0m0.622s 200000\nnode globby sync 0m0.792s 200000\nnode current globSync mjs 0m0.722s 200000\nnode current glob syncStream 0m0.695s 200000\n~~ async ~~\nnode fast-glob async 0m0.369s 200000\nnode globby async 0m0.527s 200000\nnode current glob async mjs 0m0.502s 200000\nnode current glob stream 0m0.481s 200000\n\n--- pattern: '**/*.txt' ---\n~~ sync ~~\nnode fast-glob sync 0m0.588s 200023\nnode globby sync 0m0.771s 200023\nnode current globSync mjs 0m0.684s 200023\nnode current glob syncStream 0m0.658s 200023\n~~ async ~~\nnode fast-glob async 0m0.352s 200023\nnode globby async 0m0.516s 200023\nnode current glob async mjs 0m0.432s 200023\nnode current glob stream 0m0.384s 200023\n\n--- pattern: './**/**/**/**/**/**/**/**/*.txt' ---\n~~ sync ~~\nnode fast-glob sync 0m0.589s 200023\nnode globby sync 0m0.766s 200023\nnode current globSync mjs 0m0.682s 200023\nnode current glob syncStream 0m0.652s 200023\n~~ async ~~\nnode fast-glob async 0m0.352s 200023\nnode globby async 0m0.523s 200023\nnode current glob async mjs 0m0.436s 200023\nnode current glob stream 0m0.380s 200023\n\n--- pattern: '**/*/*.txt' ---\n~~ sync ~~\nnode fast-glob sync 0m0.592s 200023\nnode globby sync 0m0.776s 200023\nnode current globSync mjs 0m0.691s 200023\nnode current glob syncStream 0m0.659s 200023\n~~ async ~~\nnode fast-glob async 0m0.357s 200023\nnode globby async 0m0.513s 200023\nnode current glob async mjs 0m0.471s 200023\nnode current glob stream 0m0.424s 200023\n\n--- pattern: '**/*/**/*.txt' ---\n~~ sync ~~\nnode fast-glob sync 0m0.585s 200023\nnode globby sync 0m0.766s 200023\nnode current globSync mjs 0m0.694s 200023\nnode current glob syncStream 0m0.664s 200023\n~~ async ~~\nnode fast-glob async 0m0.350s 200023\nnode globby async 0m0.514s 200023\nnode current glob async mjs 0m0.472s 200023\nnode current glob stream 0m0.424s 200023\n\n--- pattern: '**/[0-9]/**/*.txt' ---\n~~ sync ~~\nnode fast-glob sync 0m0.544s 100000\nnode globby sync 0m0.636s 100000\nnode current globSync mjs 0m0.626s 100000\nnode current glob syncStream 0m0.621s 100000\n~~ async ~~\nnode fast-glob async 0m0.322s 100000\nnode globby async 0m0.404s 100000\nnode current glob async mjs 0m0.360s 100000\nnode current glob stream 0m0.352s 100000\n```",
15531
15531
  "_attachments": {}
@@ -1767,7 +1767,7 @@
1767
1767
  "latest": "1.0.0",
1768
1768
  "next": "1.0.0-RC9"
1769
1769
  },
1770
- "_rev": "742-f5e01f62928c0715",
1770
+ "_rev": "746-1deb79bed7eba784",
1771
1771
  "_id": "buffer-crc32",
1772
1772
  "readme": "# buffer-crc32\n\n[![NPM Version](https://img.shields.io/npm/v/buffer-crc32.svg)](https://npmjs.org/package/buffer-crc32)\n[![Build Status](https://github.com/brianloveswords/buffer-crc32/actions/workflows/ci.yml/badge.svg)](https://github.com/brianloveswords/buffer-crc32/actions/workflows/ci.yml)\n\ncrc32 that works with binary data and fancy character sets, outputs\nbuffer, signed or unsigned data and has tests.\n\nDerived from the sample CRC implementation in the PNG specification: http://www.w3.org/TR/PNG/#D-CRCAppendix\n\nThis package requires Node 8+ to work.\n\n# install\n\n```\nnpm install buffer-crc32\n```\n\n# example\n\n```js\nconst crc32 = require('buffer-crc32');\n// works with buffers\nconst buf = Buffer([0x00, 0x73, 0x75, 0x70, 0x20, 0x62, 0x72, 0x6f, 0x00]);\ncrc32(buf); // -> <Buffer 94 5a ab 4a>\n\n// has convenience methods for getting signed or unsigned ints\ncrc32.signed(buf); // -> -1805997238\ncrc32.unsigned(buf); // -> 2488970058\n\n// will cast to buffer if given a string, so you can\n// directly use foreign characters safely\ncrc32('自動販売機'); // -> <Buffer cb 03 1a c5>\n\n// and works in append mode too\nconst partialCrc = crc32('hey');\nconst partialCrc = crc32(' ', partialCrc);\nconst partialCrc = crc32('sup', partialCrc);\nconst partialCrc = crc32(' ', partialCrc);\nconst finalCrc = crc32('bros', partialCrc); // -> <Buffer 47 fa 55 70>\n```\n\n# tests\n\nThis was tested against the output of zlib's crc32 method. You can run\nthe tests with`npm test` (requires tap)\n\n# see also\n\nhttps://github.com/alexgorbatchev/node-crc, `crc.buffer.crc32` also\nsupports buffer inputs and return unsigned ints (thanks @tjholowaychuk).\n\n# license\n\nMIT/X11",
1773
1773
  "_attachments": {}
@@ -16636,7 +16636,7 @@
16636
16636
  "dist-tags": {
16637
16637
  "latest": "8.21.3"
16638
16638
  },
16639
- "_rev": "2899-f5cbfdda202b0e96",
16639
+ "_rev": "2902-e25449ddf43a36c8",
16640
16640
  "_id": "ws",
16641
16641
  "readme": "# ws: a Node.js WebSocket library\n\n[![Version npm](https://img.shields.io/npm/v/ws.svg?logo=npm)](https://www.npmjs.com/package/ws)\n[![CI](https://img.shields.io/github/actions/workflow/status/websockets/ws/ci.yml?branch=master&label=CI&logo=github)](https://github.com/websockets/ws/actions?query=workflow%3ACI+branch%3Amaster)\n[![Coverage Status](https://img.shields.io/coveralls/websockets/ws/master.svg?logo=coveralls)](https://coveralls.io/github/websockets/ws)\n\nws is a simple to use, blazing fast, and thoroughly tested WebSocket client and\nserver implementation.\n\nPasses the quite extensive Autobahn test suite: [server][server-report],\n[client][client-report].\n\n**Note**: This module does not work in the browser. The client in the docs is a\nreference to a backend with the role of a client in the WebSocket communication.\nBrowser clients must use the native\n[`WebSocket`](https://developer.mozilla.org/en-US/docs/Web/API/WebSocket)\nobject. To make the same code work seamlessly on Node.js and the browser, you\ncan use one of the many wrappers available on npm, like\n[isomorphic-ws](https://github.com/heineiuo/isomorphic-ws).\n\n## Table of Contents\n\n- [Protocol support](#protocol-support)\n- [Installing](#installing)\n - [Opt-in for performance](#opt-in-for-performance)\n - [Legacy opt-in for performance](#legacy-opt-in-for-performance)\n- [API docs](#api-docs)\n- [WebSocket compression](#websocket-compression)\n- [Usage examples](#usage-examples)\n - [Sending and receiving text data](#sending-and-receiving-text-data)\n - [Sending binary data](#sending-binary-data)\n - [Simple server](#simple-server)\n - [External HTTP/S server](#external-https-server)\n - [Multiple servers sharing a single HTTP/S server](#multiple-servers-sharing-a-single-https-server)\n - [Client authentication](#client-authentication)\n - [Server broadcast](#server-broadcast)\n - [Round-trip time](#round-trip-time)\n - [Use the Node.js streams API](#use-the-nodejs-streams-api)\n - [Other examples](#other-examples)\n- [FAQ](#faq)\n - [How to get the IP address of the client?](#how-to-get-the-ip-address-of-the-client)\n - [How to detect and close broken connections?](#how-to-detect-and-close-broken-connections)\n - [How to connect via a proxy?](#how-to-connect-via-a-proxy)\n- [Changelog](#changelog)\n- [License](#license)\n\n## Protocol support\n\n- **HyBi drafts 07-12** (Use the option `protocolVersion: 8`)\n- **HyBi drafts 13-17** (Current default, alternatively option\n `protocolVersion: 13`)\n\n## Installing\n\n```\nnpm install ws\n```\n\n### Opt-in for performance\n\n[bufferutil][] is an optional module that can be installed alongside the ws\nmodule:\n\n```\nnpm install --save-optional bufferutil\n```\n\nThis is a binary addon that improves the performance of certain operations such\nas masking and unmasking the data payload of the WebSocket frames. Prebuilt\nbinaries are available for the most popular platforms, so you don't necessarily\nneed to have a C++ compiler installed on your machine.\n\nTo force ws to not use bufferutil, use the\n[`WS_NO_BUFFER_UTIL`](./doc/ws.md#ws_no_buffer_util) environment variable. This\ncan be useful to enhance security in systems where a user can put a package in\nthe package search path of an application of another user, due to how the\nNode.js resolver algorithm works.\n\n#### Legacy opt-in for performance\n\nIf you are running on an old version of Node.js (prior to v18.14.0), ws also\nsupports the [utf-8-validate][] module:\n\n```\nnpm install --save-optional utf-8-validate\n```\n\nThis contains a binary polyfill for [`buffer.isUtf8()`][].\n\nTo force ws not to use utf-8-validate, use the\n[`WS_NO_UTF_8_VALIDATE`](./doc/ws.md#ws_no_utf_8_validate) environment variable.\n\n## API docs\n\nSee [`/doc/ws.md`](./doc/ws.md) for Node.js-like documentation of ws classes and\nutility functions.\n\n## WebSocket compression\n\nws supports the [permessage-deflate extension][permessage-deflate] which enables\nthe client and server to negotiate a compression algorithm and its parameters,\nand then selectively apply it to the data payloads of each WebSocket message.\n\nThe extension is disabled by default on the server and enabled by default on the\nclient. It adds a significant overhead in terms of performance and memory\nconsumption so we suggest to enable it only if it is really needed.\n\nNote that Node.js has a variety of issues with high-performance compression,\nwhere increased concurrency, especially on Linux, can lead to [catastrophic\nmemory fragmentation][node-zlib-bug] and slow performance. If you intend to use\npermessage-deflate in production, it is worthwhile to set up a test\nrepresentative of your workload and ensure Node.js/zlib will handle it with\nacceptable performance and memory usage.\n\nTuning of permessage-deflate can be done via the options defined below. You can\nalso use `zlibDeflateOptions` and `zlibInflateOptions`, which is passed directly\ninto the creation of [raw deflate/inflate streams][node-zlib-deflaterawdocs].\n\nSee [the docs][ws-server-options] for more options.\n\n```js\nimport WebSocket, { WebSocketServer } from 'ws';\n\nconst wss = new WebSocketServer({\n port: 8080,\n perMessageDeflate: {\n zlibDeflateOptions: {\n // See zlib defaults.\n chunkSize: 1024,\n memLevel: 7,\n level: 3\n },\n zlibInflateOptions: {\n chunkSize: 10 * 1024\n },\n // Other options settable:\n clientNoContextTakeover: true, // Defaults to negotiated value.\n serverNoContextTakeover: true, // Defaults to negotiated value.\n serverMaxWindowBits: 10, // Defaults to negotiated value.\n // Below options specified as default values.\n concurrencyLimit: 10, // Limits zlib concurrency for perf.\n threshold: 1024 // Size (in bytes) below which messages\n // should not be compressed if context takeover is disabled.\n }\n});\n```\n\nThe client will only use the extension if it is supported and enabled on the\nserver. To always disable the extension on the client, set the\n`perMessageDeflate` option to `false`.\n\n```js\nimport WebSocket from 'ws';\n\nconst ws = new WebSocket('ws://www.host.com/path', {\n perMessageDeflate: false\n});\n```\n\n## Usage examples\n\n### Sending and receiving text data\n\n```js\nimport WebSocket from 'ws';\n\nconst ws = new WebSocket('ws://www.host.com/path');\n\nws.on('error', console.error);\n\nws.on('open', function open() {\n ws.send('something');\n});\n\nws.on('message', function message(data) {\n console.log('received: %s', data);\n});\n```\n\n### Sending binary data\n\n```js\nimport WebSocket from 'ws';\n\nconst ws = new WebSocket('ws://www.host.com/path');\n\nws.on('error', console.error);\n\nws.on('open', function open() {\n const array = new Float32Array(5);\n\n for (var i = 0; i < array.length; ++i) {\n array[i] = i / 2;\n }\n\n ws.send(array);\n});\n```\n\n### Simple server\n\n```js\nimport { WebSocketServer } from 'ws';\n\nconst wss = new WebSocketServer({ port: 8080 });\n\nwss.on('connection', function connection(ws) {\n ws.on('error', console.error);\n\n ws.on('message', function message(data) {\n console.log('received: %s', data);\n });\n\n ws.send('something');\n});\n```\n\n### External HTTP/S server\n\n```js\nimport { createServer } from 'https';\nimport { readFileSync } from 'fs';\nimport { WebSocketServer } from 'ws';\n\nconst server = createServer({\n cert: readFileSync('/path/to/cert.pem'),\n key: readFileSync('/path/to/key.pem')\n});\nconst wss = new WebSocketServer({ server });\n\nwss.on('connection', function connection(ws) {\n ws.on('error', console.error);\n\n ws.on('message', function message(data) {\n console.log('received: %s', data);\n });\n\n ws.send('something');\n});\n\nserver.listen(8080);\n```\n\n### Multiple servers sharing a single HTTP/S server\n\n```js\nimport { createServer } from 'http';\nimport { WebSocketServer } from 'ws';\n\nconst server = createServer();\nconst wss1 = new WebSocketServer({ noServer: true });\nconst wss2 = new WebSocketServer({ noServer: true });\n\nwss1.on('connection', function connection(ws) {\n ws.on('error', console.error);\n\n // ...\n});\n\nwss2.on('connection', function connection(ws) {\n ws.on('error', console.error);\n\n // ...\n});\n\nserver.on('upgrade', function upgrade(request, socket, head) {\n const { pathname } = new URL(request.url, 'wss://base.url');\n\n if (pathname === '/foo') {\n wss1.handleUpgrade(request, socket, head, function done(ws) {\n wss1.emit('connection', ws, request);\n });\n } else if (pathname === '/bar') {\n wss2.handleUpgrade(request, socket, head, function done(ws) {\n wss2.emit('connection', ws, request);\n });\n } else {\n socket.destroy();\n }\n});\n\nserver.listen(8080);\n```\n\n### Client authentication\n\n```js\nimport { createServer } from 'http';\nimport { WebSocketServer } from 'ws';\n\nfunction onSocketError(err) {\n console.error(err);\n}\n\nconst server = createServer();\nconst wss = new WebSocketServer({ noServer: true });\n\nwss.on('connection', function connection(ws, request, client) {\n ws.on('error', console.error);\n\n ws.on('message', function message(data) {\n console.log(`Received message ${data} from user ${client}`);\n });\n});\n\nserver.on('upgrade', function upgrade(request, socket, head) {\n socket.on('error', onSocketError);\n\n // This function is not defined on purpose. Implement it with your own logic.\n authenticate(request, function next(err, client) {\n if (err || !client) {\n socket.write('HTTP/1.1 401 Unauthorized\\r\\n\\r\\n');\n socket.destroy();\n return;\n }\n\n socket.removeListener('error', onSocketError);\n\n wss.handleUpgrade(request, socket, head, function done(ws) {\n wss.emit('connection', ws, request, client);\n });\n });\n});\n\nserver.listen(8080);\n```\n\nAlso see the provided [example][session-parse-example] using `express-session`.\n\n### Server broadcast\n\nA client WebSocket broadcasting to all connected WebSocket clients, including\nitself.\n\n```js\nimport WebSocket, { WebSocketServer } from 'ws';\n\nconst wss = new WebSocketServer({ port: 8080 });\n\nwss.on('connection', function connection(ws) {\n ws.on('error', console.error);\n\n ws.on('message', function message(data, isBinary) {\n wss.clients.forEach(function each(client) {\n if (client.readyState === WebSocket.OPEN) {\n client.send(data, { binary: isBinary });\n }\n });\n });\n});\n```\n\nA client WebSocket broadcasting to every other connected WebSocket clients,\nexcluding itself.\n\n```js\nimport WebSocket, { WebSocketServer } from 'ws';\n\nconst wss = new WebSocketServer({ port: 8080 });\n\nwss.on('connection', function connection(ws) {\n ws.on('error', console.error);\n\n ws.on('message', function message(data, isBinary) {\n wss.clients.forEach(function each(client) {\n if (client !== ws && client.readyState === WebSocket.OPEN) {\n client.send(data, { binary: isBinary });\n }\n });\n });\n});\n```\n\n### Round-trip time\n\n```js\nimport WebSocket from 'ws';\n\nconst ws = new WebSocket('wss://websocket-echo.com/');\n\nws.on('error', console.error);\n\nws.on('open', function open() {\n console.log('connected');\n ws.send(Date.now());\n});\n\nws.on('close', function close() {\n console.log('disconnected');\n});\n\nws.on('message', function message(data) {\n console.log(`Round-trip time: ${Date.now() - data} ms`);\n\n setTimeout(function timeout() {\n ws.send(Date.now());\n }, 500);\n});\n```\n\n### Use the Node.js streams API\n\n```js\nimport WebSocket, { createWebSocketStream } from 'ws';\n\nconst ws = new WebSocket('wss://websocket-echo.com/');\n\nconst duplex = createWebSocketStream(ws, { encoding: 'utf8' });\n\nduplex.on('error', console.error);\n\nduplex.pipe(process.stdout);\nprocess.stdin.pipe(duplex);\n```\n\n### Other examples\n\nFor a full example with a browser client communicating with a ws server, see the\nexamples folder.\n\nOtherwise, see the test cases.\n\n## FAQ\n\n### How to get the IP address of the client?\n\nThe remote IP address can be obtained from the raw socket.\n\n```js\nimport { WebSocketServer } from 'ws';\n\nconst wss = new WebSocketServer({ port: 8080 });\n\nwss.on('connection', function connection(ws, req) {\n const ip = req.socket.remoteAddress;\n\n ws.on('error', console.error);\n});\n```\n\nWhen the server runs behind a proxy like NGINX, the de-facto standard is to use\nthe `X-Forwarded-For` header.\n\n```js\nwss.on('connection', function connection(ws, req) {\n const ip = req.headers['x-forwarded-for'].split(',')[0].trim();\n\n ws.on('error', console.error);\n});\n```\n\n### How to detect and close broken connections?\n\nSometimes, the link between the server and the client can be interrupted in a\nway that keeps both the server and the client unaware of the broken state of the\nconnection (e.g. when pulling the cord).\n\nIn these cases, ping messages can be used as a means to verify that the remote\nendpoint is still responsive.\n\n```js\nimport { WebSocketServer } from 'ws';\n\nfunction heartbeat() {\n this.isAlive = true;\n}\n\nconst wss = new WebSocketServer({ port: 8080 });\n\nwss.on('connection', function connection(ws) {\n ws.isAlive = true;\n ws.on('error', console.error);\n ws.on('pong', heartbeat);\n});\n\nconst interval = setInterval(function ping() {\n wss.clients.forEach(function each(ws) {\n if (ws.isAlive === false) return ws.terminate();\n\n ws.isAlive = false;\n ws.ping();\n });\n}, 30000);\n\nwss.on('close', function close() {\n clearInterval(interval);\n});\n```\n\nPong messages are automatically sent in response to ping messages as required by\nthe spec.\n\nJust like the server example above, your clients might as well lose connection\nwithout knowing it. You might want to add a ping listener on your clients to\nprevent that. A simple implementation would be:\n\n```js\nimport WebSocket from 'ws';\n\nfunction heartbeat() {\n clearTimeout(this.pingTimeout);\n\n // Use `WebSocket#terminate()`, which immediately destroys the connection,\n // instead of `WebSocket#close()`, which waits for the close timer.\n // Delay should be equal to the interval at which your server\n // sends out pings plus a conservative assumption of the latency.\n this.pingTimeout = setTimeout(() => {\n this.terminate();\n }, 30000 + 1000);\n}\n\nconst client = new WebSocket('wss://websocket-echo.com/');\n\nclient.on('error', console.error);\nclient.on('open', heartbeat);\nclient.on('ping', heartbeat);\nclient.on('close', function clear() {\n clearTimeout(this.pingTimeout);\n});\n```\n\n### How to connect via a proxy?\n\nUse a custom `http.Agent` implementation like [https-proxy-agent][] or\n[socks-proxy-agent][].\n\n## Changelog\n\nWe're using the GitHub [releases][changelog] for changelog entries.\n\n## License\n\n[MIT](LICENSE)\n\n[`buffer.isutf8()`]: https://nodejs.org/api/buffer.html#bufferisutf8input\n[bufferutil]: https://github.com/websockets/bufferutil\n[changelog]: https://github.com/websockets/ws/releases\n[client-report]: http://websockets.github.io/ws/autobahn/clients/\n[https-proxy-agent]: https://github.com/TooTallNate/node-https-proxy-agent\n[node-zlib-bug]: https://github.com/nodejs/node/issues/8871\n[node-zlib-deflaterawdocs]:\n https://nodejs.org/api/zlib.html#zlib_zlib_createdeflateraw_options\n[permessage-deflate]: https://tools.ietf.org/html/rfc7692\n[server-report]: http://websockets.github.io/ws/autobahn/servers/\n[session-parse-example]: ./examples/express-session-parse\n[socks-proxy-agent]: https://github.com/TooTallNate/node-socks-proxy-agent\n[utf-8-validate]: https://github.com/websockets/utf-8-validate\n[ws-server-options]: ./doc/ws.md#new-websocketserveroptions-callback",
16642
16642
  "_attachments": {}
@@ -30443,7 +30443,7 @@
30443
30443
  "dist-tags": {
30444
30444
  "latest": "3.997.45"
30445
30445
  },
30446
- "_rev": "371-5a6f1a8765a663e4",
30446
+ "_rev": "374-dea2516658a143cd",
30447
30447
  "_id": "@aws-sdk/nested-clients",
30448
30448
  "readme": "# @aws-sdk/nested-clients\n\n## Description\n\nThis is an internal package. Do not install this as a direct dependency.\n\nThis package contains separate internal implementations of the STS and SSO-OIDC AWS SDK clients\nto be used by the AWS SDK credential providers to break a cyclic dependency.\n\n### Bundlers\n\nThis package may be marked as external if you do not use STS nor SSO-OIDC\nin your credential resolution process.",
30449
30449
  "_attachments": {}
@@ -64648,7 +64648,7 @@
64648
64648
  "gamma": "1.0.0-gamma.9",
64649
64649
  "rc": "3.5.1-rc.0"
64650
64650
  },
64651
- "_rev": "482-7a6a938bc8a9cef8",
64651
+ "_rev": "484-3cf384610e14cf21",
64652
64652
  "_id": "@aws-sdk/credential-provider-ini",
64653
64653
  "readme": "# @aws-sdk/credential-provider-ini\n\n[![NPM version](https://img.shields.io/npm/v/@aws-sdk/credential-provider-ini/latest.svg)](https://www.npmjs.com/package/@aws-sdk/credential-provider-ini)\n[![NPM downloads](https://img.shields.io/npm/dm/@aws-sdk/credential-provider-ini.svg)](https://www.npmjs.com/package/@aws-sdk/credential-provider-ini)\n\n### :warning: Internal API :warning:\n\n> This is an internal package.\n> That means this is used as a dependency for other, public packages, but\n> should not be taken directly as a dependency in your application's `package.json`.\n\n> If you are updating the version of this package, for example to bring in a\n> bug-fix, you should do so by updating your application lockfile with\n> e.g. `npm up @scope/package` or equivalent command in another\n> package manager, rather than taking a direct dependency.\n\n---\n\nPlease use [@aws-sdk/credential-providers](https://www.npmjs.com/package/@aws-sdk/credential-providers)\ninstead.",
64654
64654
  "_attachments": {}
@@ -17299,7 +17299,7 @@
17299
17299
  "v7.4-backport": "7.4.5",
17300
17300
  "legacy-v10": "10.4.3"
17301
17301
  },
17302
- "_rev": "3484-3dee00ac03d3c0f9",
17302
+ "_rev": "3488-f0a36f9809851ded",
17303
17303
  "_id": "lru-cache",
17304
17304
  "readme": "# lru-cache\n\nA cache object that deletes the least-recently-used items.\n\nSpecify a max number of the most recently used items that you\nwant to keep, and this cache will keep that many of the most\nrecently accessed items.\n\nThis is not primarily a TTL cache, and does not make strong TTL\nguarantees. There is no preemptive pruning of expired items by\ndefault, but you _may_ set a TTL on the cache or on a single\n`set`. If you do so, it will treat expired items as missing, and\ndelete them when fetched. If you are more interested in TTL\ncaching than LRU caching, check out\n[@isaacs/ttlcache](http://npm.im/@isaacs/ttlcache).\n\nAs of version 7, this is one of the most performant LRU\nimplementations available in JavaScript, and supports a wide\ndiversity of use cases. However, note that using some of the\nfeatures will necessarily impact performance, by causing the\ncache to have to do more work. See the \"Performance\" section\nbelow.\n\n## Installation\n\n```bash\nnpm install lru-cache --save\n```\n\n## Usage\n\n```js\n// hybrid module, either works\nimport { LRUCache } from 'lru-cache'\n// or:\nconst { LRUCache } = require('lru-cache')\n// or in minified form for web browsers:\nimport { LRUCache } from 'http://unpkg.com/lru-cache@9/dist/mjs/index.min.mjs'\n\n// At least one of 'max', 'ttl', or 'maxSize' is required, to prevent\n// unsafe unbounded storage.\n//\n// In most cases, it's best to specify a max for performance, so all\n// the required memory allocation is done up-front.\n//\n// All the other options are optional, see the sections below for\n// documentation on what each one does. Most of them can be\n// overridden for specific items in get()/set()\nconst options = {\n max: 500,\n\n // for use with tracking overall storage size\n maxSize: 5000,\n sizeCalculation: (value, key) => {\n return 1\n },\n\n // for use when you need to clean up something when objects\n // are evicted from the cache\n dispose: (value, key, reason) => {\n freeFromMemoryOrWhatever(value)\n },\n\n // for use when you need to know that an item is being inserted\n // note that this does NOT allow you to prevent the insertion,\n // it just allows you to know about it.\n onInsert: (value, key, reason) => {\n logInsertionOrWhatever(key, value)\n },\n\n // how long to live in ms\n ttl: 1000 * 60 * 5,\n\n // return stale items before removing from cache?\n allowStale: false,\n\n updateAgeOnGet: false,\n updateAgeOnHas: false,\n\n // async method to use for cache.fetch(), for\n // stale-while-revalidate type of behavior\n fetchMethod: async (key, staleValue, { options, signal, context }) => {},\n}\n\nconst cache = new LRUCache(options)\n\ncache.set('key', 'value')\ncache.get('key') // \"value\"\n\n// non-string keys ARE fully supported\n// but note that it must be THE SAME object, not\n// just a JSON-equivalent object.\nvar someObject = { a: 1 }\ncache.set(someObject, 'a value')\n// Object keys are not toString()-ed\ncache.set('[object Object]', 'a different value')\nassert.equal(cache.get(someObject), 'a value')\n// A similar object with same keys/values won't work,\n// because it's a different object identity\nassert.equal(cache.get({ a: 1 }), undefined)\n\ncache.clear() // empty the cache\n```\n\nIf you put more stuff in the cache, then less recently used items\nwill fall out. That's what an LRU cache is.\n\nFor full description of the API and all options, please see [the\nLRUCache typedocs](https://isaacs.github.io/node-lru-cache/)\n\n## Storage Bounds Safety\n\nThis implementation aims to be as flexible as possible, within\nthe limits of safe memory consumption and optimal performance.\n\nAt initial object creation, storage is allocated for `max` items.\nIf `max` is set to zero, then some performance is lost, and item\ncount is unbounded. Either `maxSize` or `ttl` _must_ be set if\n`max` is not specified.\n\nIf `maxSize` is set, then this creates a safe limit on the\nmaximum storage consumed, but without the performance benefits of\npre-allocation. When `maxSize` is set, every item _must_ provide\na size, either via the `sizeCalculation` method provided to the\nconstructor, or via a `size` or `sizeCalculation` option provided\nto `cache.set()`. The size of every item _must_ be a positive\ninteger.\n\nIf neither `max` nor `maxSize` are set, then `ttl` tracking must\nbe enabled. Note that, even when tracking item `ttl`, items are\n_not_ preemptively deleted when they become stale, unless\n`ttlAutopurge` is enabled. Instead, they are only purged the\nnext time the key is requested. Thus, if `ttlAutopurge`, `max`,\nand `maxSize` are all not set, then the cache will potentially\ngrow unbounded.\n\nIn this case, a warning is printed to standard error. Future\nversions may require the use of `ttlAutopurge` if `max` and\n`maxSize` are not specified.\n\nIf you truly wish to use a cache that is bound _only_ by TTL\nexpiration, consider using a `Map` object, and calling\n`setTimeout` to delete entries when they expire. It will perform\nmuch better than an LRU cache.\n\nHere is an implementation you may use, under the same\n[license](./LICENSE) as this package:\n\n```js\n// a storage-unbounded ttl cache that is not an lru-cache\nconst cache = {\n data: new Map(),\n timers: new Map(),\n set: (k, v, ttl) => {\n if (cache.timers.has(k)) {\n clearTimeout(cache.timers.get(k))\n }\n cache.timers.set(\n k,\n setTimeout(() => cache.delete(k), ttl),\n )\n cache.data.set(k, v)\n },\n get: k => cache.data.get(k),\n has: k => cache.data.has(k),\n delete: k => {\n if (cache.timers.has(k)) {\n clearTimeout(cache.timers.get(k))\n }\n cache.timers.delete(k)\n return cache.data.delete(k)\n },\n clear: () => {\n cache.data.clear()\n for (const v of cache.timers.values()) {\n clearTimeout(v)\n }\n cache.timers.clear()\n },\n}\n```\n\nIf that isn't to your liking, check out\n[@isaacs/ttlcache](http://npm.im/@isaacs/ttlcache).\n\n## Storing Undefined Values\n\nThis cache never stores undefined values, as `undefined` is used\ninternally in a few places to indicate that a key is not in the\ncache.\n\nYou may call `cache.set(key, undefined)`, but this is just\nan alias for `cache.delete(key)`. Note that this has the effect\nthat `cache.has(key)` will return _false_ after setting it to\nundefined.\n\n```js\ncache.set(myKey, undefined)\ncache.has(myKey) // false!\n```\n\nIf you need to track `undefined` values, and still note that the\nkey is in the cache, an easy workaround is to use a sigil object\nof your own.\n\n```js\nimport { LRUCache } from 'lru-cache'\nconst undefinedValue = Symbol('undefined')\nconst cache = new LRUCache(...)\nconst mySet = (key, value) =>\n cache.set(key, value === undefined ? undefinedValue : value)\nconst myGet = (key, value) => {\n const v = cache.get(key)\n return v === undefinedValue ? undefined : v\n}\n```\n\n## Tracing and Observability\n\nMost methods can accept a `status` option, which is an\n[`LRUCache.Status`](https://isaacs.github.io/node-lru-cache/interfaces/LRUCache.LRUCache.Status.html)\nobject that will be decorated along the operation with\nindications about what was done and why.\n\nAdditionally, this library is instrumented using the\n[`node:diagnostics_channel`](https://nodejs.org/api/diagnostics_channel.html)\nmodule on Node and other platforms that support it. In order to\nget diagnostics metrics, listen on the\n`channel('lru-cache:metrics')`. To get Tracing Channel traces,\nsubscribe to the `tracingChannel('lru-cache')`. The\n[`LRUCache.Status`](https://isaacs.github.io/node-lru-cache/interfaces/LRUCache.LRUCache.Status.html)\nobjects will be provided as the message context to those channel\nlisteners.\n\nFor example, you could do the following to get comprehensive\ninformation about every LRUCache instance in your application:\n\n```ts\nimport { tracingChannel, subscribe } from 'node:diagnostics_channel'\n\nsubscribe('lru-cache:metrics', (message, name) => {\n // name will always be 'lru-cache:metrics'\n // message will be the LRUCache.Status object for whatever\n // synchronous operation was performed.\n console.error('LRUCache Metrics', message)\n})\n\ntracingChannel('lru-cache').subscribe({\n start: status => {\n // a traced operation is starting\n },\n asyncStart: status => {\n // an async traced operation is starting\n },\n asyncEnd: status => {\n // an async traced operation is ending\n }\n error: status => {\n // a traced operation failed\n },\n end: status => {\n // a traced operation is complete\n },\n})\n```\n\nThe async `cache.fetch()` and `cache.forceFetch` methods are\ncovered by `tracingChannels`. All the other operations are\ncovered by the `lru-cache:metrics` channel, because they are\nstrictly synchronous, and thus don't have an asynchronous\nlifecycle to track.\n\nNote that using `status` objects or using\n`node:diagnostics_channel` listeners _will_ impose a modest\nperformance penalty. Creating data objects is not ever free; do\nnot believe anyone who tells you otherwise. But it is as small as\npossible.\n\n### Platform Compatibility Caveat\n\nNot all platforms support the `node:diagnostics_channel` module.\nCurrently, this is only available in Node, Bun, and Deno, and\nsome edge computing platforms that provide a Node compatibility\nlayer.\n\nTo work around this, if you are loading in a non-Node\nenvironment, the package.json exports will direct your module\nloader to pull in a version that starts out with a dummy\nimplementation, then does a conditional dynamic `import` of the\n`node:diagnostics_channel` module, and then swaps out those\ndummy objects with the real thing if it succeeds. This means that\ncache metrics and tracing channels started in the first load-time\ntick of your application will _not_ be covered, except in\nenvironments that load using the `require` import\ncondition, or both the `node` and `esm` import conditions\ntogether.\n\nTop-level await _could_ be used to remove this caveat, but that\nfeature is dead on arrival, unfortunately. See\n[#397](https://github.com/isaacs/node-lru-cache/issues/397) and\n[#398](https://github.com/isaacs/node-lru-cache/issues/398) for\nmore details.\n\n## Performance\n\nAs of April 2026, version 11 of this library is one of the most\nperformant LRU cache implementations in JavaScript.\n\nBenchmarks can be extremely difficult to get right. In\nparticular, the performance of set/get/delete operations on\nobjects will vary _wildly_ depending on the type of key used. V8\nis highly optimized for objects with keys that are short strings,\nespecially integer numeric strings. Thus any benchmark which\ntests _solely_ using numbers as keys will tend to find that an\nobject-based approach performs the best.\n\nNote that coercing _anything_ to strings to use as object keys is\nunsafe, unless you can be 100% certain that no other type of\nvalue will be used. For example:\n\n```js\nconst myCache = {}\nconst set = (k, v) => (myCache[k] = v)\nconst get = k => myCache[k]\n\nset({}, 'please hang onto this for me')\nset('[object Object]', 'oopsie')\n```\n\nAlso beware of \"Just So\" stories regarding performance. Garbage\ncollection of large (especially: deep) object graphs can be\nincredibly costly, with several \"tipping points\" where it\nincreases exponentially. As a result, putting that off until\nlater can make it much worse, and less predictable. If a library\nperforms well, but only in a scenario where the object graph is\nkept shallow, then that won't help you if you are using large\nobjects as keys.\n\nIn general, when attempting to use a library to improve\nperformance (such as a cache like this one), it's best to choose\nan option that will perform well in the sorts of scenarios where\nyou'll actually use it.\n\nThis library is optimized for repeated gets and minimizing\neviction time, since that is the expected need of a LRU. Set\noperations are somewhat slower on average than a few other\noptions, in part because of that optimization. It is assumed\nthat you'll be caching some costly operation, ideally as rarely\nas possible, so optimizing set over get would be unwise.\n\nIf performance matters to you:\n\n1. If it's at all possible to use small integer values as keys,\n and you can guarantee that no other types of values will be\n used as keys, then do that, and use a cache such as\n [lru-fast](https://npmjs.com/package/lru-fast), or\n [mnemonist's\n LRUCache](https://yomguithereal.github.io/mnemonist/lru-cache)\n which uses an Object as its data store.\n\n2. Failing that, if you can use short non-numeric strings (ie,\n less than 256 characters) as your keys, and you do not need\n any of the other features of this library, use [mnemonist's\n LRUCache](https://yomguithereal.github.io/mnemonist/lru-cache).\n\n3. If the types of your keys will be anything else, especially\n long strings, strings that look like floats, objects, or some\n mix of types, or if you aren't sure, then this library will\n work well for you.\n\n If you do not need the features that this library provides\n (like asynchronous fetching, a variety of TTL staleness\n options, and so on), then [mnemonist's\n LRUMap](https://yomguithereal.github.io/mnemonist/lru-map) is\n also a very good option, and just slightly faster than this\n module (since it does considerably less).\n\n4. Do not use a `dispose` function, size tracking, or especially\n ttl behavior or observability features, unless absolutely\n needed. These features are convenient, and necessary in some\n use cases, and every attempt has been made to make the\n performance impact minimal, but it isn't nothing.\n\n## Testing\n\nWhen writing tests that involve TTL-related functionality, note\nthat this module creates an internal reference to the global\n`performance` or `Date` objects at import time. If you import it\nstatically at the top level, those references cannot be mocked or\noverridden in your test environment.\n\nTo avoid this, dynamically import the package within your tests\nso that the references are captured after your mocks are applied.\nFor example:\n\n```ts\n// ❌ Not recommended\nimport { LRUCache } from 'lru-cache'\n// mocking timers, e.g. jest.useFakeTimers()\n\n// ✅ Recommended for TTL tests\n// mocking timers, e.g. jest.useFakeTimers()\nconst { LRUCache } = await import('lru-cache')\n```\n\nThis ensures that your mocked timers or time sources are\nrespected when testing TTL behavior.\n\nAdditionally, you can pass in a `perf` option when creating your\nLRUCache instance. This option accepts any object with a `now`\nmethod that returns a number.\n\nFor example, this would be a very bare-bones time-mocking system\nyou could use in your tests, without any particular test\nframework:\n\n```ts\nimport { LRUCache } from 'lru-cache'\n\nlet myClockTime = 0\n\nconst cache = new LRUCache<string>({\n max: 10,\n ttl: 1000,\n perf: {\n now: () => myClockTime,\n },\n})\n\n// run tests, updating myClockTime as needed\n```\n\n## Breaking Changes in Version 7\n\nThis library changed to a different algorithm and internal data\nstructure in version 7, yielding significantly better\nperformance, albeit with some subtle changes as a result.\n\nIf you were relying on the internals of LRUCache in version 6 or\nbefore, it probably will not work in version 7 and above.\n\n## Breaking Changes in Version 8\n\n- The `fetchContext` option was renamed to `context`, and may no\n longer be set on the cache instance itself.\n- Rewritten in TypeScript, so pretty much all the types moved\n around a lot.\n- The AbortController/AbortSignal polyfill was removed. For this\n reason, **Node version 16.14.0 or higher is now required**.\n- Internal properties were moved to actual private class\n properties.\n- Keys and values must not be `null` or `undefined`.\n- Minified export available at `'lru-cache/min'`, for both CJS\n and MJS builds.\n\n## Breaking Changes in Version 9\n\n- Named export only, no default export.\n- AbortController polyfill returned, albeit with a warning when\n used.\n\n## Breaking Changes in Version 10\n\n- `cache.fetch()` return type is now `Promise<V | undefined>`\n instead of `Promise<V | void>`. This is an irrelevant change\n practically speaking, but can require changes for TypeScript\n users.\n\nFor more info, see the [change log](CHANGELOG.md).",
17305
17305
  "_attachments": {}
@@ -5216,7 +5216,7 @@
5216
5216
  "dist-tags": {
5217
5217
  "latest": "2.5.4"
5218
5218
  },
5219
- "_rev": "785-594c322559879428",
5219
+ "_rev": "788-248d37f4ce4f7566",
5220
5220
  "_id": "bare-url",
5221
5221
  "readme": "# bare-url\n\nWHATWG URL implementation for JavaScript, built on <https://github.com/holepunchto/liburl>. Provides `URL` and `URLSearchParams` classes compatible with the WHATWG URL Standard.\n\n```\nnpm i bare-url\n```\n\n## Usage\n\n```js\nconst { URL, URLSearchParams } = require('bare-url')\n\nconst url = new URL('https://example.com/path?foo=bar#hash')\n\nconsole.log(url.hostname) // 'example.com'\nconsole.log(url.pathname) // '/path'\nconsole.log(url.searchParams.get('foo')) // 'bar'\n```\n\nTo register `URL` and `URLSearchParams` as globals:\n\n```js\nrequire('bare-url/global')\n```\n\n## API\n\nSee the [`bare-url` reference](https://docs.pears.com/reference/bare/modules/bare-url).\n\n## License\n\nApache-2.0",
5222
5222
  "_attachments": {}
@@ -7311,7 +7311,7 @@
7311
7311
  "gamma": "1.0.0-gamma.7",
7312
7312
  "rc": "1.0.0-rc.8"
7313
7313
  },
7314
- "_rev": "669-fd2e075787ad2d48",
7314
+ "_rev": "672-dac15e808ffb7d0b",
7315
7315
  "_id": "@aws-sdk/util-locate-window",
7316
7316
  "readme": "# @aws-sdk/util-locate-window\n\n[![NPM version](https://img.shields.io/npm/v/@aws-sdk/util-locate-window/latest.svg)](https://www.npmjs.com/package/@aws-sdk/util-locate-window)\n[![NPM downloads](https://img.shields.io/npm/dm/@aws-sdk/util-locate-window.svg)](https://www.npmjs.com/package/@aws-sdk/util-locate-window)",
7317
7317
  "_attachments": {}
@@ -3228,7 +3228,7 @@
3228
3228
  "dist-tags": {
3229
3229
  "latest": "6.1.0"
3230
3230
  },
3231
- "_rev": "377-4a87e25f92a302b0",
3231
+ "_rev": "379-8f8681088992e829",
3232
3232
  "_id": "@js-joda/core",
3233
3233
  "readme": "# Immutable date and time library for JavaScript\n\n[![npm version](https://badge.fury.io/js/%40js-joda%2Fcore.svg)](https://badge.fury.io/js/%40js-joda%2Fcore)\n[![GH Actions Build Status](https://github.com/js-joda/js-joda/actions/workflows/tests.yaml/badge.svg?branch=main)](https://github.com/js-joda/js-joda/actions)\n[![Coverage Status](https://coveralls.io/repos/js-joda/js-joda/badge.svg?branch=main&service=github)](https://coveralls.io/github/js-joda/js-joda?branch=main)\n[![Downloads/Month](https://img.shields.io/npm/dm/%40js-joda%2Fcore.svg)](https://img.shields.io/npm/dm/%40js-joda%2Fcore.svg)\n\n\n## Introduction\n\n**js-joda** is an **immutable date and time library** for JavaScript. It provides a **simple, domain-driven and clean API** based on the ISO calendar system, which is the de facto world calendar following the proleptic Gregorian rules.\n\n- js-joda has a lightweight footprint, only **43 kB minified and compressed**, no third party dependencies.\n\n- js-joda is **fast**. It is about 2 to 10 times faster than other JavaScript date libraries.\n\n- js-joda comes with built-in parsers/ formatters for ISO 8601 as specified in RFC 3339, that can be easily customized.\n\n- js-joda supports **ECMAScript 5** browsers down to IE11.\n\n- js-joda is a **port of the threeten** backport, which is the base for JSR-310 implementation of the Java SE 8 java.time package. Threeten is inspired by **Joda-Time**, having similar concepts and the same author.\n\n- js-joda is **robust and stable**. We ported more then 1700 test-cases with a lots of test-permutations from the threetenbp project. We run the automated karma test-suite against Firefox, Chrome, Node and phantomjs.\n\n## Why yet another JavaScript date and time library?\n\n- Popular JavaScript date libraries like [moment](https://momentjs.com/) or [date-utils](https://github.com/continuouscalendar/dateutils) are **wrappers** around the native JavaScript `Date` object, providing syntactic sugar. The native `Date` object always consist of a date, time and a timezone part. In contrast, js-joda is a **standalone** date and time implementation.\n\n- The API has a **domain-driven design** with classes for each of the different use cases, like `LocalDate`, `ZonedDateTime` or `Period`. For example, `LocalDate` allows you to handle dates without times (like birthdays or holidays) in a clean and error-safe way, especially if these dates are persisted to an external server.\n\n- js-joda is **immutable**. Immutability aligns well with pure functions and with the architecture of frameworks like React and Flux.\n\n## The ThreeTen domain models\n\n### Dates and Times\n\n- **LocalDate** represents a date without a time and timezone in the ISO-8601 calendar system, such as 2007-12-24.\n\n- **LocalTime** represents a time without timezone in the ISO-8601 calendar system such as '11:55:00'.\n\n- **LocalDateTime** is a description of the date (LocalDate), as used for birthdays, combined with the local time (LocalTime) as seen on a wall clock.\n\n- **ZonedDateTime** is a date-time with a timezone in the ISO-8601 calendar system, such as 2007-12-24T16:15:30+01:00 UTC+01:00.\n\n- **Instant** is an instantaneous point on the time-line measured from the epoch of _1970-01-01T00:00:00Z_ in epoch-seconds and nanosecond-of-second.\n\n### Duration and Period\n\n- **Duration** is a time-based amount of time, such as '34.5 seconds'.\n\n- **Period** is a date-based amount of time in the ISO-8601 calendar system, such as '2 years, 3 months and 4 days'.\n\n### Additional value types\n\n- **Year** represents a year in the ISO-8601 calendar system, such as '2016'.\n\n- **YearMonth** represents a year and a month in the ISO-8601 calendar system, such as '2016-01'.\n\n- **Month** represents a month-of-year in the ISO-8601 calendar system, such as 'July'.\n\n- **MonthDay** represents a month-day in the ISO-8601 calendar system, such as '--12-03'. Could be used to represent e.g. Birthdays.\n\n- **DayOfWeek** represents a day-of-week in the ISO-8601 calendar system, such as 'Tuesday'.\n\n## Getting started\n\n### Node\n\nInstall joda using npm\n\n```\nnpm install @js-joda/core\n```\n\nThen require it to any module\n\n```js\nvar LocalDate = require('@js-joda/core').LocalDate;\n\nvar d = LocalDate.parse('2012-12-24').atStartOfDay().plusMonths(2); // 2013-02-24T00:00:00\n```\n\n### Browser\n\nTo use js-joda from a browser, download either `dist/js-joda.min.js` or `dist/js-joda.js` (with sourcemaps for development). Then add it as a script tag to your page\n\n```html\n<script src=\"js-joda.min.js\"></script>\n<script>\n var LocalDate = JSJoda.LocalDate;\n var d = LocalDate.parse('2012-12-24').atStartOfDay().plusMonths(2); // 2013-02-24T00:00:00\n</script>\n```\n\n## js-joda packages\n\njs-joda consist of four packages:\n\n| package name | description | path |\n|---|---|---|\n| `@js-joda/core` | Implementation of the ThreeTen Classes and API | [/packages/core](//github.com/js-joda/js-joda/tree/main/packages/core) |\n| `@js-joda/timezone` | Implementation of timezone calculation based on the iana Time Zone Database | [/packages/timezone](//github.com/js-joda/js-joda/tree/main/packages/timezone) |\n| `@js-joda/locale` | Implementation of locale specific functionality for js-joda, especially for formatting and parsing locale specific dates | [/packages/locale](//github.com/js-joda/js-joda/tree/main/packages/locale) |\n| `@js-joda/extra` | Implementation of the ThreeTen-Extra Classes and API |[/packages/extra](//github.com/js-joda/js-joda/tree/main/packages/extra) |\n\nThe [@js-joda/examples](//github.com/js-joda/js-joda/tree/main/packages/examples) package is for testing the different build artifacts in different context, like webpack, browser node, etc.\n\n## Documentation\n\n- [js-joda Quick start guide](//js-joda.github.io/js-joda/manual/getting-started.html) Quick start guide and examples\n- [API](//js-joda.github.io/js-joda/identifiers.html) ESDoc generated API documentation\n\n## Contributing\n\nContributions are always welcome. Before contributing please read the [code of conduct](http://contributor-covenant.org/version/1/4/) &\nsearch the issue tracker. We use GitHub issues. Your issue may have already been discussed or fixed. To contribute, fork js-joda, commit your changes, & send a pull request.\n\nBy contributing to js-joda, you agree that your contributions will be licensed under its BSD license.\n\nNote that only pull requests and issues that match the threeten backport API will be considered. Additional requested features will be rejected.\n\n## License\n\n- `js-joda` is released under the [BSD 3-clause license](//github.com/js-joda/js-joda/blob/main/LICENSE).\n\n- `js-joda` uses the ThreeTen-Backport implementation (http://www.threeten.org/threetenbp/) as a reference base for implementation. This allows us to release js-joda under the BSD License while the OpenJDK java.time implementation is under GNU GPL+linking exception. The API of the ThreeTen-Backport is mostly identical to the official Java SE 8 API from the view of our JavaScript port.\n\n- Our implementation reference base ThreeTen-Backport (http://www.threeten.org/threetenbp/) is also released under the BSD 3-clause license\n\n- `OpenJDK` is under GNU GPL+linking exception.\n\n- The author of `Joda-Time` and the lead architect of the JSR-310 is Stephen Colebourne.\n\nThe API of this project (as far as possible with JavaScript), a lot of implementation details and documentation\nare just copied but never equalled.\n\n## Roadmap\n\n### Milestone 1: Core domains (reached with version v1.0.0)\n\n- Support for the domain models `LocalDate`, `LocalDateTime`, `ZonedDateTime`, `Instant`, `Duration` and `Period` converting to and from ISO8601.\n- `ZonedDateTime` (without support for loading iana timezone databases) currently supports only fixed offsets like UTC or UTC+02:00 and the system default time zone.\n\n### Milestone 2: IANA timezone support (reached with version v1.2.0)\n\n- Add IANA timezone database support to js-joda. Implement handling of daylight saving transitions, mainly in `ZonedDateTime`.\n- For access to the IANA timezone database, the plugin [@js-joda/timezone](//github.com/js-joda/js-joda/tree/main/packages/timezone) is required. It provides an implementation of the [ZoneRulesProvider](//js-joda.github.io/js-joda/class/packages/core/src/zone/ZoneRulesProvider.js~ZoneRulesProvider.html) and contains the iana timezone database.\n\n### Milestone 3: Locale support (reached with v2.0.0 of @js-joda/locale)\n\n- Add locale support.\n- Extend pattern parser/ formatter for text with locale support.\n\nsee the plugin [@js-joda/locale](//github.com/js-joda/js-joda/tree/main/packages/locale)\n\n### Future Milestones\n\n- Reduce library size by removing redundant code, especially by refactoring code for formatting/ parsing dates.\n- Increase test coverage (ongoing task)\n- Cleanup documentation (ongoing task)",
3234
3234
  "_attachments": {}
@@ -4115,7 +4115,7 @@
4115
4115
  "dist-tags": {
4116
4116
  "latest": "7.0.5"
4117
4117
  },
4118
- "_rev": "581-5345a8a0519e2f5a",
4118
+ "_rev": "584-b7aa1637d8e828f2",
4119
4119
  "_id": "zip-stream",
4120
4120
  "readme": "# ZipStream\n\nzip-stream is a streaming zip archive generator based on the `ZipArchiveOutputStream` prototype found in the [compress-commons](https://www.npmjs.org/package/compress-commons) project.\n\nIt was originally created to be a successor to [zipstream](https://npmjs.org/package/zipstream).\n\nVisit the [API documentation](http://archiverjs.com/zip-stream) for a list of all methods available.\n\n### Install\n\n```bash\nnpm install zip-stream --save\n```\n\nYou can also use `npm install https://github.com/archiverjs/node-zip-stream/archive/master.tar.gz` to test upcoming versions.\n\n### Usage\n\nThis module is meant to be wrapped internally by other modules and therefore lacks any queue management. This means you have to wait until the previous entry has been fully consumed to add another. Nested callbacks should be used to add multiple entries. There are modules like [async](https://npmjs.org/package/async) that ease the so called \"callback hell\".\n\nIf you want a module that handles entry queueing and much more, you should check out [archiver](https://npmjs.org/package/archiver) which uses this module internally.\n\n```js\nimport { ZipStream } from \"zip-stream\";\nconst archive = new ZipStream(); // OR new ZipStream(options)\n\narchive.on(\"error\", function (err) {\n throw err;\n});\n\n// pipe archive where you want it (ie fs, http, etc)\n// listen to the destination's end, close, or finish event\n\narchive.entry(\"string contents\", { name: \"string.txt\" }, function (err, entry) {\n if (err) throw err;\n archive.entry(null, { name: \"directory/\" }, function (err, entry) {\n if (err) throw err;\n archive.finish();\n });\n});\n```\n\n## Credits\n\nConcept inspired by Antoine van Wel's [zipstream](https://npmjs.org/package/zipstream) module, which is no longer being updated.",
4121
4121
  "_attachments": {}
@@ -6666,7 +6666,7 @@
6666
6666
  "latest": "8.0.0",
6667
6667
  "canary": "0.15.0-1"
6668
6668
  },
6669
- "_rev": "594-290a3a0e0c13d7ab",
6669
+ "_rev": "597-156e13adc06aac11",
6670
6670
  "_id": "archiver",
6671
6671
  "readme": "# Archiver\n\nA streaming interface for archive generation\n\nVisit the [API documentation](https://www.archiverjs.com/) for a list of all methods available.\n\n## Install\n\n```bash\nnpm install archiver --save\n```\n\n## Quick Start\n\n```js\nimport fs from \"fs\";\nimport { ZipArchive } from \"archiver\";\n\n// create a file to stream archive data to.\nconst output = fs.createWriteStream(__dirname + \"/example.zip\");\nconst archive = new ZipArchive({\n zlib: { level: 9 }, // Sets the compression level.\n});\n\n// listen for all archive data to be written\n// 'close' event is fired only when a file descriptor is involved\noutput.on(\"close\", function () {\n console.log(archive.pointer() + \" total bytes\");\n console.log(\n \"archiver has been finalized and the output file descriptor has closed.\",\n );\n});\n\n// This event is fired when the data source is drained no matter what was the data source.\n// It is not part of this library but rather from the NodeJS Stream API.\n// @see: https://nodejs.org/api/stream.html#stream_event_end\noutput.on(\"end\", function () {\n console.log(\"Data has been drained\");\n});\n\n// good practice to catch warnings (ie stat failures and other non-blocking errors)\narchive.on(\"warning\", function (err) {\n if (err.code === \"ENOENT\") {\n // log warning\n } else {\n // throw error\n throw err;\n }\n});\n\n// good practice to catch this error explicitly\narchive.on(\"error\", function (err) {\n throw err;\n});\n\n// pipe archive data to the file\narchive.pipe(output);\n\n// append a file from stream\nconst file1 = __dirname + \"/file1.txt\";\narchive.append(fs.createReadStream(file1), { name: \"file1.txt\" });\n\n// append a file from string\narchive.append(\"string cheese!\", { name: \"file2.txt\" });\n\n// append a file from buffer\nconst buffer3 = Buffer.from(\"buff it!\");\narchive.append(buffer3, { name: \"file3.txt\" });\n\n// append a file\narchive.file(\"file1.txt\", { name: \"file4.txt\" });\n\n// append files from a sub-directory and naming it `new-subdir` within the archive\narchive.directory(\"subdir/\", \"new-subdir\");\n\n// append files from a sub-directory, putting its contents at the root of archive\narchive.directory(\"subdir/\", false);\n\n// append files from a glob pattern\narchive.glob(\"file*.txt\", { cwd: __dirname });\n\n// finalize the archive (ie we are done appending files but streams have to finish yet)\n// 'close', 'end' or 'finish' may be fired right after calling this method so register to them beforehand\narchive.finalize();\n```\n\n## Formats\n\nArchiver ships with out of the box support for TAR and ZIP archives.",
6672
6672
  "_attachments": {}
@@ -3244,7 +3244,7 @@
3244
3244
  "dist-tags": {
3245
3245
  "latest": "2.13.4"
3246
3246
  },
3247
- "_rev": "1038-ebd4d2d97b818d49",
3247
+ "_rev": "1041-c6f9e652802af98f",
3248
3248
  "_id": "bare-stream",
3249
3249
  "readme": "# bare-stream\n\nStreaming data for JavaScript. The classic Node.js-style stream classes are backed by `streamx` (<https://github.com/mafintosh/streamx>) while a `node:stream/web`-compatible implementation of the WHATWG Streams Standard is also provided.\n\n```\nnpm i bare-stream\n```\n\n## Usage\n\n```js\nconst { Readable } = require('bare-stream')\n\nconst stream = new Readable({\n read(size) {\n // Push data, then push `null` to signal the end\n this.push('hello')\n this.push('world')\n this.push(null)\n }\n})\n\nstream.on('data', (data) => console.log(data))\n```\n\n## API\n\nThe classic stream classes and helpers are exported from `bare-stream` and follow the Node.js `stream` API. See <https://nodejs.org/api/stream.html> and <https://github.com/mafintosh/streamx> for the complete behavior; the additions and differences specific to this module are documented below.\n\n#### `const stream = new Readable([options])`\n\nA readable stream. Options include:\n\n```js\noptions = {\n eagerOpen: false,\n highWaterMark: 16384,\n encoding: null,\n signal: null,\n open(cb) {},\n read(size) {},\n predestroy() {},\n destroy(err, cb) {}\n}\n```\n\nIf `encoding` is set, emitted data is decoded to strings using that encoding. If `signal` is an `AbortSignal`, the stream is destroyed when the signal aborts.\n\n#### `stream.closed`\n\n`true` when the stream is no longer readable.\n\n#### `stream.errored`\n\nThe error the stream was destroyed with, or `null`.\n\n#### `stream.push(data[, encoding])`\n\nPush `data` into the stream's internal buffer. If `data` is a string, it is encoded to a `Buffer` using `encoding`, defaulting to `'utf8'`. Push `null` to signal the end of the stream.\n\n#### `stream.unshift(data[, encoding])`\n\nLike `stream.push()` but prepends `data` to the internal buffer so it is read before any already buffered data.\n\n#### `Readable.from(data[, options])`\n\nCreate a readable stream from `data`, which may be a value, an array of values, or an async iterable.\n\n#### `Readable.isBackpressured(stream)`\n\n#### `Readable.isPaused(stream)`\n\n#### `Readable.fromWeb(readableStream[, options])`\n\nConvert a web `ReadableStream` into a `Readable`. Options include:\n\n```js\noptions = {\n encoding: null,\n signal: null\n}\n```\n\n#### `Readable.toWeb(readable[, options])`\n\nConvert a `Readable` into a web `ReadableStream`. Options include:\n\n```js\noptions = {\n strategy: null\n}\n```\n\n`strategy` is a custom queuing strategy passed through to the `ReadableStream` constructor.\n\n#### `const stream = new Writable([options])`\n\nA writable stream. Options include:\n\n```js\noptions = {\n eagerOpen: false,\n signal: null,\n open(cb) {},\n write(data, encoding, cb) {},\n writev(batch, cb) {},\n final(cb) {},\n predestroy() {},\n destroy(err, cb) {}\n}\n```\n\n#### `stream.closed`\n\n`true` when the stream is no longer writable.\n\n#### `stream.errored`\n\nThe error the stream was destroyed with, or `null`.\n\n#### `stream.write(data[, encoding][, cb])`\n\nWrite `data` to the stream. If `data` is a string, it is encoded using `encoding`, defaulting to `'utf8'`. Returns `false` if the stream is backpressured. The optional `cb` is called once the write has drained.\n\n#### `stream.end([data][, encoding][, cb])`\n\nSignal that no more data will be written. If `data` is provided it is written first. The optional `cb` is called once the stream has finished.\n\n#### `Writable.isBackpressured(stream)`\n\n#### `Writable.drained(stream)`\n\nReturns a promise that resolves once the stream has drained.\n\n#### `Writable.fromWeb(writableStream[, options])`\n\nConvert a web `WritableStream` into a `Writable`. Options include:\n\n```js\noptions = {\n signal: null\n}\n```\n\n#### `Writable.toWeb(writable)`\n\nConvert a `Writable` into a web `WritableStream`.\n\n#### `const stream = new Duplex([options])`\n\nA stream that is both readable and writable. Accepts the combined options of `Readable` and `Writable`.\n\n#### `Duplex.fromWeb({ readable, writable }[, options])`\n\nConvert a pair of web `ReadableStream` and `WritableStream` into a `Duplex`.\n\n#### `Duplex.toWeb(duplex)`\n\nConvert a `Duplex` into a `{ readable, writable }` pair of web streams.\n\n#### `const stream = new Transform([options])`\n\nA duplex stream where output is computed from input. Options include the `Duplex` options plus:\n\n```js\noptions = {\n transform(data, encoding, cb) {},\n flush(cb) {}\n}\n```\n\nIf no `transform` is provided, the stream acts as a pass-through.\n\n#### `const stream = new PassThrough([options])`\n\nA `Transform` that forwards input to output unchanged.\n\n#### `const [a, b] = duplexPair([options])`\n\nCreate a pair of linked `Duplex` streams. Data written to `a` is readable from `b` and vice versa. `options` are passed to each side.\n\n#### `stream.pipeline(streams[, cb])`\n\n#### `stream.pipeline(...streams[, cb])`\n\nPipe a series of streams together, propagating errors and cleaning up on completion. `streams` is a `Readable` source, zero or more `Duplex` transforms, and a `Writable` destination. Returns the destination stream. `cb` is called when the pipeline finishes or errors.\n\n#### `const detach = stream.finished(stream[, options], cb)`\n\nInvoke `cb` once `stream` is no longer readable or writable, or has errored. Returns a function that detaches the listeners. Options include:\n\n```js\noptions = {\n cleanup: false\n}\n```\n\nWhen `cleanup` is `true`, the listeners are detached automatically once `cb` runs.\n\n#### `stream.addAbortSignal(signal, stream)`\n\nDestroy `stream` when `signal` aborts, using `signal.reason` as the destruction error. Returns `stream`.\n\n#### `stream.isStream(stream)`\n\n#### `stream.isEnding(stream)`\n\n#### `stream.isEnded(stream)`\n\n#### `stream.isFinishing(stream)`\n\n#### `stream.isFinished(stream)`\n\n#### `stream.isDisturbed(stream)`\n\n#### `stream.isErrored(stream)`\n\n#### `stream.isReadable(stream)`\n\n#### `stream.isWritable(stream)`\n\nState predicates for streams. Each returns a boolean.\n\n#### `const err = stream.getStreamError(stream[, options])`\n\nReturn the error a stream was destroyed with, or `null`. Options include:\n\n```js\noptions = {\n all: false\n}\n```\n\n### Promises\n\nA promise-based variant of `pipeline` is available from `bare-stream/promises`.\n\n#### `const stream = await pipeline(streams)`\n\n#### `const stream = await pipeline(...streams)`\n\nLike `stream.pipeline()` but returns a promise that resolves with the destination stream once the pipeline finishes, or rejects on error.\n\n### Web\n\nA `node:stream/web`-compatible implementation of the WHATWG Streams Standard is available from `bare-stream/web`. See <https://streams.spec.whatwg.org> for the complete behavior.\n\n#### `const stream = new ReadableStream([underlyingSource][, queuingStrategy])`\n\nA web readable stream. `underlyingSource` may provide `start`, `pull`, and `cancel` methods, or be an existing `streamx` stream to wrap. `queuingStrategy` defaults to a `CountQueuingStrategy`.\n\n#### `stream.locked`\n\n#### `stream.getReader()`\n\nAcquire a `ReadableStreamDefaultReader`. Throws if the stream is already locked.\n\n#### `stream.cancel([reason])`\n\n#### `stream.tee()`\n\nSplit the stream into two independent `ReadableStream` branches.\n\n#### `stream.pipeTo(destination)`\n\nPipe the stream to a `WritableStream`, returning a promise that resolves once piping completes.\n\n#### `ReadableStream.from(iterable)`\n\nCreate a `ReadableStream` from an iterable or async iterable.\n\n#### `const reader = new ReadableStreamDefaultReader(stream)`\n\nA reader over a `ReadableStream`, exposing `closed`, `read()`, `releaseLock()`, and `cancel([reason])`.\n\n#### `const controller = new ReadableStreamDefaultController(stream)`\n\nThe controller passed to `start` and `pull`, exposing `desiredSize`, `enqueue(data)`, `close()`, and `error([err])`.\n\n#### `const stream = new WritableStream([underlyingSink][, queuingStrategy])`\n\nA web writable stream. `underlyingSink` may provide `start`, `write`, `close`, and `abort` methods, or be an existing `streamx` stream to wrap.\n\n#### `stream.locked`\n\n#### `stream.getWriter()`\n\nAcquire a `WritableStreamDefaultWriter`. Throws if the stream is already locked.\n\n#### `stream.abort([reason])`\n\n#### `stream.close()`\n\n#### `const writer = new WritableStreamDefaultWriter(stream)`\n\nA writer over a `WritableStream`, exposing `desiredSize`, `closed`, `ready`, `write(chunk)`, `releaseLock()`, `close()`, and `abort([reason])`.\n\n#### `const controller = new WritableStreamDefaultController(stream)`\n\nThe controller passed to `start` and `write`, exposing `error([err])`.\n\n#### `const stream = new TransformStream([transformer][, writableStrategy][, readableStrategy])`\n\nA web transform stream. `transformer` may provide `start`, `transform`, and `flush` methods. Exposes `readable` and `writable` properties.\n\n#### `const controller = new TransformStreamDefaultController(stream)`\n\nThe controller passed to `start`, `transform`, and `flush`, exposing `desiredSize`, `enqueue(data)`, `error([err])`, and `terminate()`.\n\n#### `const strategy = new CountQueuingStrategy([options])`\n\nA queuing strategy that counts each chunk as size `1`. Options include:\n\n```js\noptions = {\n highWaterMark: 1\n}\n```\n\n#### `const strategy = new ByteLengthQueuingStrategy([options])`\n\nA queuing strategy that measures each chunk by its `byteLength`. Options include:\n\n```js\noptions = {\n highWaterMark: 16384\n}\n```\n\n#### `isReadableStream(value)`\n\n#### `isReadableStreamErrored(stream)`\n\n#### `isReadableStreamDisturbed(stream)`\n\n#### `isWritableStream(value)`\n\n#### `isTransformStream(value)`\n\nPredicates for web streams. Each returns a boolean.\n\n### Global\n\nRequiring `bare-stream/global` installs the web stream classes as globals, matching the browser and Node.js environments:\n\n```js\nrequire('bare-stream/global')\n\nconst stream = new ReadableStream()\n```\n\n## License\n\nApache-2.0",
3250
3250
  "_attachments": {}
@@ -3753,7 +3753,7 @@
3753
3753
  "dist-tags": {
3754
3754
  "latest": "2.0.2"
3755
3755
  },
3756
- "_rev": "1858-62579befe4a9a41c",
3756
+ "_rev": "1862-cf14d1dd54d96376",
3757
3757
  "_id": "path-scurry",
3758
3758
  "readme": "# path-scurry\n\nExtremely high performant utility for building tools that read\nthe file system, minimizing filesystem and path string munging\noperations to the greatest degree possible.\n\n## Ugh, yet another file traversal thing on npm?\n\nYes. None of the existing ones gave me exactly what I wanted.\n\n## Well what is it you wanted?\n\nWhile working on [glob](http://npm.im/glob), I found that I\nneeded a module to very efficiently manage the traversal over a\nfolder tree, such that:\n\n1. No `readdir()` or `stat()` would ever be called on the same\n file or directory more than one time.\n2. No `readdir()` calls would be made if we can be reasonably\n sure that the path is not a directory. (Ie, a previous\n `readdir()` or `stat()` covered the path, and\n `ent.isDirectory()` is false.)\n3. `path.resolve()`, `dirname()`, `basename()`, and other\n string-parsing/munging operations are be minimized. This means\n it has to track \"provisional\" child nodes that may not exist\n (and if we find that they _don't_ exist, store that\n information as well, so we don't have to ever check again).\n4. The API is not limited to use as a stream/iterator/etc. There\n are many cases where an API like node's `fs` is preferrable.\n5. It's more important to prevent excess syscalls than to be up\n to date, but it should be smart enough to know what it\n _doesn't_ know, and go get it seamlessly when requested.\n6. Do not blow up the JS heap allocation if operating on a\n directory with a huge number of entries.\n7. Handle all the weird aspects of Windows paths, like UNC paths\n and drive letters and wrongway slashes, so that the consumer\n can return canonical platform-specific paths without having to\n parse or join or do any error-prone string munging.\n\n## PERFORMANCE\n\nJavaScript people throw around the word \"blazing\" a lot. I hope\nthat this module doesn't blaze anyone. But it does go very fast,\nin the cases it's optimized for, if used properly.\n\nPathScurry provides ample opportunities to get extremely good\nperformance, as well as several options to trade performance for\nconvenience.\n\nBenchmarks can be run by executing `npm run bench`.\n\nAs is always the case, doing more means going slower, doing less\nmeans going faster, and there are trade offs between speed and\nmemory usage.\n\nPathScurry makes heavy use of [LRUCache](http://npm.im/lru-cache)\nto efficiently cache whatever it can, and `Path` objects remain\nin the graph for the lifetime of the walker, so repeated calls\nwith a single PathScurry object will be extremely fast. However,\nadding items to a cold cache means \"doing more\", so in those\ncases, we pay a price. Nothing is free, but every effort has been\nmade to reduce costs wherever possible.\n\nAlso, note that a \"cache as long as possible\" approach means that\nchanges to the filesystem may not be reflected in the results of\nrepeated PathScurry operations.\n\nFor resolving string paths, `PathScurry` ranges from 5-50 times\nfaster than `path.resolve` on repeated resolutions, but around\n100 to 1000 times _slower_ on the first resolution. If your\nprogram is spending a lot of time resolving the _same_ paths\nrepeatedly (like, thousands or millions of times), then this can\nbe beneficial. But both implementations are pretty fast, and\nspeeding up an infrequent operation from 4µs to 400ns is not\ngoing to move the needle on your app's performance.\n\nFor walking file system directory trees, a lot depends on how\noften a given PathScurry object will be used, and also on the\nwalk method used.\n\nWith default settings on a folder tree of 100,000 items,\nconsisting of around a 10-to-1 ratio of normal files to\ndirectories, PathScurry performs comparably to\n[@nodelib/fs.walk](http://npm.im/@nodelib/fs.walk), which is the\nfastest and most reliable file system walker I could find. As far\nas I can tell, it's almost impossible to go much faster in a\nNode.js program, just based on how fast you can push syscalls out\nto the fs thread pool.\n\nOn my machine, that is about 1000-1200 completed walks per second\nfor async or stream walks, and around 500-600 walks per second\nsynchronously.\n\nIn the warm cache state, PathScurry's performance increases\naround 4x for async `for await` iteration, 10-15x faster for\nstreams and synchronous `for of` iteration, and anywhere from 30x\nto 80x faster for the rest.\n\n```\n# walk 100,000 fs entries, 10/1 file/dir ratio\n# operations / ms\n New PathScurry object | Reuse PathScurry object\n stream: 1112.589 | 13974.917\nsync stream: 492.718 | 15028.343\n async walk: 1095.648 | 32706.395\n sync walk: 527.632 | 46129.772\n async iter: 1288.821 | 5045.510\n sync iter: 498.496 | 17920.746\n```\n\nA hand-rolled walk calling `entry.readdir()` and recursing\nthrough the entries can benefit even more from caching, with\ngreater flexibility and without the overhead of streams or\ngenerators.\n\nThe cold cache state is still limited by the costs of file system\noperations, but with a warm cache, the only bottleneck is CPU\nspeed and VM optimizations. Of course, in that case, some care\nmust be taken to ensure that you don't lose performance as a\nresult of silly mistakes, like calling `readdir()` on entries\nthat you know are not directories.\n\n```\n# manual recursive iteration functions\n cold cache | warm cache\nasync: 1164.901 | 17923.320\n cb: 1101.127 | 40999.344\nzalgo: 1082.240 | 66689.936\n sync: 526.935 | 87097.591\n```\n\nIn this case, the speed improves by around 10-20x in the async\ncase, 40x in the case of using `entry.readdirCB` with protections\nagainst synchronous callbacks, and 50-100x with callback\ndeferrals disabled, and _several hundred times faster_ for\nsynchronous iteration.\n\nIf you can think of a case that is not covered in these\nbenchmarks, or an implementation that performs significantly\nbetter than PathScurry, please [let me\nknow](https://github.com/isaacs/path-scurry/issues).\n\n## USAGE\n\n```ts\n// hybrid module, load with either method\nimport { PathScurry, Path } from 'path-scurry'\n// or:\nconst { PathScurry, Path } = require('path-scurry')\n\n// very simple example, say we want to find and\n// delete all the .DS_Store files in a given path\n// note that the API is very similar to just a\n// naive walk with fs.readdir()\nimport { unlink } from 'fs/promises'\n\n// easy way, iterate over the directory and do the thing\nconst pw = new PathScurry(process.cwd())\nfor await (const entry of pw) {\n if (entry.isFile() && entry.name === '.DS_Store') {\n unlink(entry.fullpath())\n }\n}\n\n// here it is as a manual recursive method\nconst walk = async (entry: Path) => {\n const promises: Promise<any> = []\n // readdir doesn't throw on non-directories, it just doesn't\n // return any entries, to save stack trace costs.\n // Items are returned in arbitrary unsorted order\n for (const child of await pw.readdir(entry)) {\n // each child is a Path object\n if (child.name === '.DS_Store' && child.isFile()) {\n // could also do pw.resolve(entry, child.name),\n // just like fs.readdir walking, but .fullpath is\n // a *slightly* more efficient shorthand.\n promises.push(unlink(child.fullpath()))\n } else if (child.isDirectory()) {\n promises.push(walk(child))\n }\n }\n return Promise.all(promises)\n}\n\nwalk(pw.cwd).then(() => {\n console.log('all .DS_Store files removed')\n})\n\nconst pw2 = new PathScurry('/a/b/c') // pw2.cwd is the Path for /a/b/c\nconst relativeDir = pw2.cwd.resolve('../x') // Path entry for '/a/b/x'\nconst relative2 = pw2.cwd.resolve('/a/b/d/../x') // same path, same entry\nassert.equal(relativeDir, relative2)\n```\n\n## API\n\n[Full TypeDoc API](https://isaacs.github.io/path-scurry)\n\nThere are platform-specific classes exported, but for the most\npart, the default `PathScurry` and `Path` exports are what you\nmost likely need, unless you are testing behavior for other\nplatforms.\n\nIntended public API is documented here, but the full\ndocumentation does include internal types, which should not be\naccessed directly.\n\n### Interface `PathScurryOpts`\n\nThe type of the `options` argument passed to the `PathScurry`\nconstructor.\n\n- `nocase`: Boolean indicating that file names should be compared\n case-insensitively. Defaults to `true` on darwin and win32\n implementations, `false` elsewhere.\n\n **Warning** Performing case-insensitive matching on a\n case-sensitive filesystem will result in occasionally very\n bizarre behavior. Performing case-sensitive matching on a\n case-insensitive filesystem may negatively impact performance.\n\n- `childrenCacheSize`: Number of child entries to cache, in order\n to speed up `resolve()` and `readdir()` calls. Defaults to\n `16 * 1024` (ie, `16384`).\n\n Setting it to a higher value will run the risk of JS heap\n allocation errors on large directory trees. Setting it to `256`\n or smaller will significantly reduce the construction time and\n data consumption overhead, but with the downside of operations\n being slower on large directory trees. Setting it to `0` will\n mean that effectively no operations are cached, and this module\n will be roughly the same speed as `fs` for file system\n operations, and _much_ slower than `path.resolve()` for\n repeated path resolution.\n\n- `fs` An object that will be used to override the default `fs`\n methods. Any methods that are not overridden will use Node's\n built-in implementations.\n\n - lstatSync\n - readdir (callback `withFileTypes` Dirent variant, used for\n readdirCB and most walks)\n - readdirSync\n - readlinkSync\n - realpathSync\n - promises: Object containing the following async methods:\n - lstat\n - readdir (Dirent variant only)\n - readlink\n - realpath\n\n### Interface `WalkOptions`\n\nThe options object that may be passed to all walk methods.\n\n- `withFileTypes`: Boolean, default true. Indicates that `Path`\n objects should be returned. Set to `false` to get string paths\n instead.\n- `follow`: Boolean, default false. Attempt to read directory\n entries from symbolic links. Otherwise, only actual directories\n are traversed. Regardless of this setting, a given target path\n will only ever be walked once, meaning that a symbolic link to\n a previously traversed directory will never be followed.\n\n Setting this imposes a slight performance penalty, because\n `readlink` must be called on all symbolic links encountered, in\n order to avoid infinite cycles.\n\n- `filter`: Function `(entry: Path) => boolean`. If provided,\n will prevent the inclusion of any entry for which it returns a\n falsey value. This will not prevent directories from being\n traversed if they do not pass the filter, though it will\n prevent the directories themselves from being included in the\n results. By default, if no filter is provided, then all entries\n are included in the results.\n- `walkFilter`: Function `(entry: Path) => boolean`. If provided,\n will prevent the traversal of any directory (or in the case of\n `follow:true` symbolic links to directories) for which the\n function returns false. This will not prevent the directories\n themselves from being included in the result set. Use `filter`\n for that.\n\nNote that TypeScript return types will only be inferred properly\nfrom static analysis if the `withFileTypes` option is omitted, or\na constant `true` or `false` value.\n\n### Class `PathScurry`\n\nThe main interface. Defaults to an appropriate class based on the\ncurrent platform.\n\nUse `PathScurryWin32`, `PathScurryDarwin`, or `PathScurryPosix`\nif implementation-specific behavior is desired.\n\nAll walk methods may be called with a `WalkOptions` argument to\nwalk over the object's current working directory with the\nsupplied options.\n\n#### `async pw.walk(entry?: string | Path | WalkOptions, opts?: WalkOptions)`\n\nWalk the directory tree according to the options provided,\nresolving to an array of all entries found.\n\n#### `pw.walkSync(entry?: string | Path | WalkOptions, opts?: WalkOptions)`\n\nWalk the directory tree according to the options provided,\nreturning an array of all entries found.\n\n#### `pw.iterate(entry?: string | Path | WalkOptions, opts?: WalkOptions)`\n\nIterate over the directory asynchronously, for use with `for\nawait of`. This is also the default async iterator method.\n\n#### `pw.iterateSync(entry?: string | Path | WalkOptions, opts?: WalkOptions)`\n\nIterate over the directory synchronously, for use with `for of`.\nThis is also the default sync iterator method.\n\n#### `pw.stream(entry?: string | Path | WalkOptions, opts?: WalkOptions)`\n\nReturn a [Minipass](http://npm.im/minipass) stream that emits\neach entry or path string in the walk. Results are made available\nasynchronously.\n\n#### `pw.streamSync(entry?: string | Path | WalkOptions, opts?: WalkOptions)`\n\nReturn a [Minipass](http://npm.im/minipass) stream that emits\neach entry or path string in the walk. Results are made available\nsynchronously, meaning that the walk will complete in a single\ntick if the stream is fully consumed.\n\n#### `pw.cwd`\n\nPath object representing the current working directory for the\nPathScurry.\n\n#### `pw.chdir(path: string)`\n\nSet the new effective current working directory for the scurry\nobject, so that `path.relative()` and `path.relativePosix()`\nreturn values relative to the new cwd path.\n\n#### `pw.depth(path?: Path | string): number`\n\nReturn the depth of the specified path (or the PathScurry cwd)\nwithin the directory tree.\n\nRoot entries have a depth of `0`.\n\n#### `pw.resolve(...paths: string[])`\n\nCaching `path.resolve()`.\n\nSignificantly faster than `path.resolve()` if called repeatedly\nwith the same paths. Significantly slower otherwise, as it builds\nout the cached Path entries.\n\nTo get a `Path` object resolved from the `PathScurry`, use\n`pw.cwd.resolve(path)`. Note that `Path.resolve` only takes a\nsingle string argument, not multiple.\n\n#### `pw.resolvePosix(...paths: string[])`\n\nCaching `path.resolve()`, but always using posix style paths.\n\nThis is identical to `pw.resolve(...paths)` on posix systems (ie,\neverywhere except Windows).\n\nOn Windows, it returns the full absolute UNC path using `/`\nseparators. Ie, instead of `'C:\\\\foo\\\\bar`, it would return\n`//?/C:/foo/bar`.\n\n#### `pw.relative(path: string | Path): string`\n\nReturn the relative path from the PathWalker cwd to the supplied\npath string or entry.\n\nIf the nearest common ancestor is the root, then an absolute path\nis returned.\n\n#### `pw.relativePosix(path: string | Path): string`\n\nReturn the relative path from the PathWalker cwd to the supplied\npath string or entry, using `/` path separators.\n\nIf the nearest common ancestor is the root, then an absolute path\nis returned.\n\nOn posix platforms (ie, all platforms except Windows), this is\nidentical to `pw.relative(path)`.\n\nOn Windows systems, it returns the resulting string as a\n`/`-delimited path. If an absolute path is returned (because the\ntarget does not share a common ancestor with `pw.cwd`), then a\nfull absolute UNC path will be returned. Ie, instead of\n`'C:\\\\foo\\\\bar`, it would return `//?/C:/foo/bar`.\n\n#### `pw.basename(path: string | Path): string`\n\nReturn the basename of the provided string or Path.\n\n#### `pw.dirname(path: string | Path): string`\n\nReturn the parent directory of the supplied string or Path.\n\n#### `async pw.readdir(dir = pw.cwd, opts = { withFileTypes: true })`\n\nRead the directory and resolve to an array of strings if\n`withFileTypes` is explicitly set to `false` or Path objects\notherwise.\n\nCan be called as `pw.readdir({ withFileTypes: boolean })` as\nwell.\n\nReturns `[]` if no entries are found, or if any error occurs.\n\nNote that TypeScript return types will only be inferred properly\nfrom static analysis if the `withFileTypes` option is omitted, or\na constant `true` or `false` value.\n\n#### `pw.readdirSync(dir = pw.cwd, opts = { withFileTypes: true })`\n\nSynchronous `pw.readdir()`\n\n#### `async pw.readlink(link = pw.cwd, opts = { withFileTypes: false })`\n\nCall `fs.readlink` on the supplied string or Path object, and\nreturn the result.\n\nCan be called as `pw.readlink({ withFileTypes: boolean })` as\nwell.\n\nReturns `undefined` if any error occurs (for example, if the\nargument is not a symbolic link), or a `Path` object if\n`withFileTypes` is explicitly set to `true`, or a string\notherwise.\n\nNote that TypeScript return types will only be inferred properly\nfrom static analysis if the `withFileTypes` option is omitted, or\na constant `true` or `false` value.\n\n#### `pw.readlinkSync(link = pw.cwd, opts = { withFileTypes: false })`\n\nSynchronous `pw.readlink()`\n\n#### `async pw.lstat(entry = pw.cwd)`\n\nCall `fs.lstat` on the supplied string or Path object, and fill\nin as much information as possible, returning the updated `Path`\nobject.\n\nReturns `undefined` if the entry does not exist, or if any error\nis encountered.\n\nNote that some `Stats` data (such as `ino`, `dev`, and `mode`)\nwill not be supplied. For those things, you'll need to call\n`fs.lstat` yourself.\n\n#### `pw.lstatSync(entry = pw.cwd)`\n\nSynchronous `pw.lstat()`\n\n#### `pw.realpath(entry = pw.cwd, opts = { withFileTypes: false })`\n\nCall `fs.realpath` on the supplied string or Path object, and\nreturn the realpath if available.\n\nReturns `undefined` if any error occurs.\n\nMay be called as `pw.realpath({ withFileTypes: boolean })` to run\non `pw.cwd`.\n\n#### `pw.realpathSync(entry = pw.cwd, opts = { withFileTypes: false })`\n\nSynchronous `pw.realpath()`\n\n### Class `Path` implements [fs.Dirent](https://nodejs.org/docs/latest/api/fs.html#class-fsdirent)\n\nObject representing a given path on the filesystem, which may or\nmay not exist.\n\nNote that the actual class in use will be either `PathWin32` or\n`PathPosix`, depending on the implementation of `PathScurry` in\nuse. They differ in the separators used to split and join path\nstrings, and the handling of root paths.\n\nIn `PathPosix` implementations, paths are split and joined using\nthe `'/'` character, and `'/'` is the only root path ever in use.\n\nIn `PathWin32` implementations, paths are split using either\n`'/'` or `'\\\\'` and joined using `'\\\\'`, and multiple roots may\nbe in use based on the drives and UNC paths encountered. UNC\npaths such as `//?/C:/` that identify a drive letter, will be\ntreated as an alias for the same root entry as their associated\ndrive letter (in this case `'C:\\\\'`).\n\n#### `path.name`\n\nName of this file system entry.\n\n**Important**: _always_ test the path name against any test\nstring using the `isNamed` method, and not by directly comparing\nthis string. Otherwise, unicode path strings that the system sees\nas identical will not be properly treated as the same path,\nleading to incorrect behavior and possible security issues.\n\n#### `path.isNamed(name: string): boolean`\n\nReturn true if the path is a match for the given path name. This\nhandles case sensitivity and unicode normalization.\n\nNote: even on case-sensitive systems, it is **not** safe to test\nthe equality of the `.name` property to determine whether a given\npathname matches, due to unicode normalization mismatches.\n\nAlways use this method instead of testing the `path.name`\nproperty directly.\n\n#### `path.isCWD`\n\nSet to true if this `Path` object is the current working\ndirectory of the `PathScurry` collection that contains it.\n\n#### `path.getType()`\n\nReturns the type of the Path object, `'File'`, `'Directory'`,\netc.\n\n#### `path.isType(t: type)`\n\nReturns true if `is{t}()` returns true.\n\nFor example, `path.isType('Directory')` is equivalent to\n`path.isDirectory()`.\n\n#### `path.depth()`\n\nReturn the depth of the Path entry within the directory tree.\nRoot paths have a depth of `0`.\n\n#### `path.fullpath()`\n\nThe fully resolved path to the entry.\n\n#### `path.fullpathPosix()`\n\nThe fully resolved path to the entry, using `/` separators.\n\nOn posix systems, this is identical to `path.fullpath()`. On\nwindows, this will return a fully resolved absolute UNC path\nusing `/` separators. Eg, instead of `'C:\\\\foo\\\\bar'`, it will\nreturn `'//?/C:/foo/bar'`.\n\n#### `path.isFile()`, `path.isDirectory()`, etc.\n\nSame as the identical `fs.Dirent.isX()` methods.\n\n#### `path.isUnknown()`\n\nReturns true if the path's type is unknown. Always returns true\nwhen the path is known to not exist.\n\n#### `path.resolve(p: string)`\n\nReturn a `Path` object associated with the provided path string\nas resolved from the current Path object.\n\n#### `path.relative(): string`\n\nReturn the relative path from the PathWalker cwd to the supplied\npath string or entry.\n\nIf the nearest common ancestor is the root, then an absolute path\nis returned.\n\n#### `path.relativePosix(): string`\n\nReturn the relative path from the PathWalker cwd to the supplied\npath string or entry, using `/` path separators.\n\nIf the nearest common ancestor is the root, then an absolute path\nis returned.\n\nOn posix platforms (ie, all platforms except Windows), this is\nidentical to `pw.relative(path)`.\n\nOn Windows systems, it returns the resulting string as a\n`/`-delimited path. If an absolute path is returned (because the\ntarget does not share a common ancestor with `pw.cwd`), then a\nfull absolute UNC path will be returned. Ie, instead of\n`'C:\\\\foo\\\\bar`, it would return `//?/C:/foo/bar`.\n\n#### `async path.readdir()`\n\nReturn an array of `Path` objects found by reading the associated\npath entry.\n\nIf path is not a directory, or if any error occurs, returns `[]`,\nand marks all children as provisional and non-existent.\n\n#### `path.readdirSync()`\n\nSynchronous `path.readdir()`\n\n#### `async path.readlink()`\n\nReturn the `Path` object referenced by the `path` as a symbolic\nlink.\n\nIf the `path` is not a symbolic link, or any error occurs,\nreturns `undefined`.\n\n#### `path.readlinkSync()`\n\nSynchronous `path.readlink()`\n\n#### `async path.lstat()`\n\nCall `lstat` on the path object, and fill it in with details\ndetermined.\n\nIf path does not exist, or any other error occurs, returns\n`undefined`, and marks the path as \"unknown\" type.\n\n#### `path.lstatSync()`\n\nSynchronous `path.lstat()`\n\n#### `async path.realpath()`\n\nCall `realpath` on the path, and return a Path object\ncorresponding to the result, or `undefined` if any error occurs.\n\n#### `path.realpathSync()`\n\nSynchornous `path.realpath()`",
3759
3759
  "_attachments": {}
@@ -36688,7 +36688,7 @@
36688
36688
  "gamma": "1.0.0-gamma.9",
36689
36689
  "rc": "3.5.1-rc.0"
36690
36690
  },
36691
- "_rev": "460-94f54b00c4e90248",
36691
+ "_rev": "462-53c1429b0de9a120",
36692
36692
  "_id": "@aws-sdk/credential-provider-process",
36693
36693
  "readme": "# @aws-sdk/credential-provider-process\n\n[![NPM version](https://img.shields.io/npm/v/@aws-sdk/credential-provider-process/latest.svg)](https://www.npmjs.com/package/@aws-sdk/credential-provider-process)\n[![NPM downloads](https://img.shields.io/npm/dm/@aws-sdk/credential-provider-process.svg)](https://www.npmjs.com/package/@aws-sdk/credential-provider-process)\n\n### :warning: Internal API :warning:\n\n> This is an internal package.\n> That means this is used as a dependency for other, public packages, but\n> should not be taken directly as a dependency in your application's `package.json`.\n\n> If you are updating the version of this package, for example to bring in a\n> bug-fix, you should do so by updating your application lockfile with\n> e.g. `npm up @scope/package` or equivalent command in another\n> package manager, rather than taking a direct dependency.\n\n---\n\nPlease use [@aws-sdk/credential-providers](https://www.npmjs.com/package/@aws-sdk/credential-providers)\ninstead.",
36694
36694
  "_attachments": {}