diff --git a/constants.js b/constants.js index c908fccc04..fc71e8cbad 100644 --- a/constants.js +++ b/constants.js @@ -136,9 +136,9 @@ const constants = { // declare here all existing service accounts and their properties // (if any, otherwise an empty object) serviceAccountProperties: { - replication: {}, - lifecycle: {}, - gc: {}, + 'replication': {}, + 'lifecycle': {}, + 'gc': {}, 'md-ingestion': { canReplicate: true, }, diff --git a/docs/requirements.in b/docs/requirements.in index b87da3c7da..90fb63223a 100644 --- a/docs/requirements.in +++ b/docs/requirements.in @@ -1,2 +1 @@ -Sphinx >= 1.7.5 -recommonmark >= 0.4.0 +Sphinx >= 7.0 diff --git a/docs/requirements.txt b/docs/requirements.txt index 5e67b5828c..3d5a9eb076 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1,119 +1,351 @@ # -# This file is autogenerated by pip-compile -# To update, run: +# This file is autogenerated by pip-compile with Python 3.12 +# by the following command: # # tox -e pip-compile # -alabaster==0.7.12 \ - --hash=sha256:446438bdcca0e05bd45ea2de1668c1d9b032e1a9154c2c259092d77031ddd359 \ - --hash=sha256:a661d72d58e6ea8a57f7a86e37d86716863ee5e92788398526d58b26a4e4dc02 \ +alabaster==1.0.0 \ + --hash=sha256:c00dca57bca26fa62a6d7d0a9fcce65f3e026e9bfe33e9c538fd3fbb2144fd9e \ + --hash=sha256:fc6786402dc3fcb2de3cabd5fe455a2db534b371124f1f21de8731783dec828b # via sphinx babel==2.18.0 \ - --hash=sha256:77f521d2de20e8b8b0408f0681956ca2c69f1320a3848ac50e6e7f39c6159675 \ --hash=sha256:b80b99a14bd085fcacfa15c9165f651fbb3406e66cc603abf11c5750937c992d \ + --hash=sha256:e2b422b277c2b9a9630c1d7903c2a00d0830c409c59ac8cae9081c92f1aeba35 # via sphinx -certifi==2018.10.15 \ - --hash=sha256:339dc09518b07e2fa7eda5450740925974815557727d6bd35d319c1524a04a4c \ - --hash=sha256:6d58c986d22b038c8c0df30d639f23a3e6d172a05c3583e766f4c0b785c0986a \ +certifi==2026.7.22 \ + --hash=sha256:62f22742b58a1a33014a2b6b706588a8d7e2a88ae7bd1a6ebe8c992928483775 \ + --hash=sha256:741e2c3b351ddf169a738da9f2c048608ff7f2c5cc02f1ebc6b118bb090d5d55 # via requests -chardet==3.0.4 \ - --hash=sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae \ - --hash=sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691 \ +charset-normalizer==3.5.2 \ + --hash=sha256:01077390b03f7988f11d700a2194e69b119741a86b1a638b1db88891e3eced8e \ + --hash=sha256:01b0c0d2262a9e28e8484a278c7e1b5d650e3ac8cf2683d2967e25899f208bdf \ + --hash=sha256:04851f73ae72b8413dddadb16a49dfee95263553741fd42d546f7d66907e6be5 \ + --hash=sha256:0521c5665880b33d603717defa76c094048900010897909952397feb3039da56 \ + --hash=sha256:0774bf9bf620249fee3e0b8b9fd3065de213be30f3aa94ce2494b3b638949e26 \ + --hash=sha256:0891b9d3903c5571c03771ca669a4b0ec5618ca722a5c957d3d29cd4e5062848 \ + --hash=sha256:0c951d5e6dd9c2ff60609476752bee49da4206adde960ebc247766937f72e718 \ + --hash=sha256:0fed1d06615f022ee3b13caf5e8b180cfea32bb2c5aded8a9d44277afc040f93 \ + --hash=sha256:114e4d0c92d618409ed82a99e22b5c5e768fe995f2973f78265f4524f49d4640 \ + --hash=sha256:11912e4bb14baae7c5d8791aa55ba0a3a03ec6729073307b0f57270abaa713d3 \ + --hash=sha256:11a4d68a6ecda3292cb1e50239e111543ba5d709bb62a6b4ea1afcfa729d8875 \ + --hash=sha256:124fbf1a8ff966d87ae05bb8bd45a71f966055ed8bba320d0c7cf450bc5f4d0e \ + --hash=sha256:1461ac396c4fdb983a675f20aa555624f0ee18ac83d832b9244ffff3d8055275 \ + --hash=sha256:1503bccbeb36d5527790c3930327704c39af22de3112f1b1666a9f3ce15ee204 \ + --hash=sha256:15bb4005af6320d259dc7593ca84a38d7fe06a421dbcf7b910ae23979101e787 \ + --hash=sha256:15c44f7edfd477b06f517a5cc317fc1707edb9de2c865f43d4b6513907473234 \ + --hash=sha256:16fa0eccf81304b79c5cd87f9271c3b85dd9dd99245e4422ae9c0dd45e0f99d3 \ + --hash=sha256:183b88127acdb4fabe59d951ab424faf1af7b63cdbb5f776186c1ea2ffcaed98 \ + --hash=sha256:195c26fb65950f8fce54e26349852b7bdd7c5f120aeefbcc440b8a20faaed4a3 \ + --hash=sha256:1afb975bd5d68d5ce9f6b6d44fdf2f7e34b895a35e95708a7a91b20a3b51d187 \ + --hash=sha256:1b4cbc7c3491ccb4aa17fcd8165649d01cf39f76de1696da8631b5f71b85401d \ + --hash=sha256:1bc0baf5ef96b6ede57d47f4b8fe4d9d84019c3bfcbeb20a41edc6a6ee341f1f \ + --hash=sha256:1c50fe28bbc2ced33386f298650d91218076c05420e6cbd790b913adc41659e7 \ + --hash=sha256:1db38f4c5496827c1a501846d64d14c3b80c7e6714e406cd7dc36a9899fa1011 \ + --hash=sha256:211d5a3eb6af8f513b8d4ca19a8c1b7accab1b5f0d3175f9826b03c1a920dc1f \ + --hash=sha256:23851fb4e1b85ed3f6c2a27b777cdfe2e19fb5b38429a8faf38c7542b7665869 \ + --hash=sha256:254eb48b9fa5ee9898a3c445825a1f340fe53712a098904b39b0bddba8ea3cb1 \ + --hash=sha256:2625388c6c754520c37abaf3b41eb34d1cc4a373f457898f08606c8e362b891d \ + --hash=sha256:281cb91036248400f4cc957495cccd44c275c2e0c5854f7e45ac5cf7dc193847 \ + --hash=sha256:28a15fdad492a99b6eccfaaed66ef3f74050680545ea61ec8b2f4c538f1f1320 \ + --hash=sha256:28b4f0d66fb834ff90f28209ac7bce77868c45d8c93e26f906709d9b7c2e1af9 \ + --hash=sha256:2a925889534b3748302dae5dead07cc13480de1dac3aea80a941b729b471ef93 \ + --hash=sha256:2b7b3bbfb4fe8ef40600792d762fbaa9057559f9d3fad209525b7a22b99e91fd \ + --hash=sha256:2c9ad19a6cfcd5ea5c0d41161d22f9df1dcc277e9bef2751391334546a314c00 \ + --hash=sha256:2cc961b171b3f3440f410489ab3573e86aea8736134ebbb40ea1338b7f0831bc \ + --hash=sha256:2ce45c6627b22c47e390bc91a41c3d13032192e699fa0bea96e9671b373d69b0 \ + --hash=sha256:2e06a3a98f916dd41d27f3105e02e7a40181c98c94b9158733d03a6f80506c09 \ + --hash=sha256:304d5463e65a35d7bb0850550e0780395395f6fcf452f04db7d5ca7cecc425ac \ + --hash=sha256:304d8e4d493af723536393eee0c689eb7813f4a474c8b479dee63f1fdd98f621 \ + --hash=sha256:30fcd120b732aa79317f08dee04d7de0847822e4cf7ee0e9f445bb958832252c \ + --hash=sha256:31f3930700408d211f13378ccbe1c40845d8da54bd0681fac3a9b5aae81c7aa8 \ + --hash=sha256:34276fd796040bf0993ab33a369aa572e6979c7aab225a88893667ad8eac8f7a \ + --hash=sha256:355ad8011081dec5412240c087a9a0c9d4d5039f3ed11a3f13e18c2b29b56c51 \ + --hash=sha256:38a873987f3be698494da8b2e3085e29da02da7b633dce73e79c699a113d7bf0 \ + --hash=sha256:39de2a259fc954455c57274dc94c79d5842774e1247a016aff30bc0efed0f4ef \ + --hash=sha256:3d14b50de6bf4d0edf857a9386836846f982b8f524e188e2e68b96d702bcf4aa \ + --hash=sha256:3d21b8b13c7592db2ac5e544a6d83187b995257472b0c9e8351b6d507ae37ed6 \ + --hash=sha256:3d31298449090ab8d47b7b1b2a555ff73cac7ed438a08b7ac160980c7ebed649 \ + --hash=sha256:3ddacd27458c45bdacd6bd6db644bfb730efbf9e830310186e3045c9c5be8fb2 \ + --hash=sha256:3df041de8887954562c9b261cba85ca0e9ded74048daf125f45edcfaa4832229 \ + --hash=sha256:40ab6bffa02ae10a0581e6c198be7d2d8ca5c2a0c64e4ed3465d766df457573e \ + --hash=sha256:4275811936e2f06feff5e598fb42a1b7ae852da8e39605211892b56b81a34efd \ + --hash=sha256:443eae2bf318abeaf6f15d785138f71fd6de770e99a92158b8b814265e079115 \ + --hash=sha256:447441e76ec720b15e64418d32e092297340387053047c7c694f579efb0ee1d9 \ + --hash=sha256:4495c5002a7b28557e7e222e77e0b661183e432b7d6d2e788101e3f240e05b8c \ + --hash=sha256:44bd4fbb29dfbeba60e7d2bd000c59e4b21ddb3cc53912b14048d37092706d7c \ + --hash=sha256:4685902cf26edf013ed7a3da0f426ebba7a00ebb9541386d835afbf002c11cab \ + --hash=sha256:498dc3188ca05a68231ac3fdbfc7f57eb67e1343c30e0fea17f8218c1599b253 \ + --hash=sha256:4c2b5031f63e331e3839b40aed2dd6f191e9c07edbde303e7876846ea1946995 \ + --hash=sha256:4d48f2d08b9de5864e2c8744d4461b862fb149a18274abc8b698c45975573438 \ + --hash=sha256:4f87960d57feabfb618e4e0af6e7371645fa26a277860739d6e5d6e0012c92f0 \ + --hash=sha256:50e3adfb96fc189eb27b1cf62d3b598b89b4bb0420d93a3d3e42e137409011be \ + --hash=sha256:51cf45226a9b588d0d2b4880c62d686934b63ab0bd79ca23ab0e9762eb27441b \ + --hash=sha256:52aa6992700996af31f375de0c6bacd402b0097fe40b53c426b9f51a90ebabc7 \ + --hash=sha256:55ea99acb17b9325618de155a0cd6a2e8f5d10be008113e1d433bbb58db543b2 \ + --hash=sha256:56bc200a365efb37383b7852e4cc5898d3b2da5987289b543956cf8cad71018a \ + --hash=sha256:588461c2e8384d309bd63e5826019b6977bc66d629b99ac8737bb795d7b2cb5a \ + --hash=sha256:58ca3755ee7ff7f59b57789ec9833c9de9ea275405cdd240eda1f193112e398a \ + --hash=sha256:58f361dcbab699cf8f42db3f47c8e7fd1036f138c23a5d08de9fde5f425a730c \ + --hash=sha256:598a11a2c7ebaa5334bf698bf29568c9c390abac6a154d8170fedecd1cea38c5 \ + --hash=sha256:59f63901b0031c3136cf64704dcb21de0bbae62ce2c9529bc39d27665463de37 \ + --hash=sha256:5cde776b7cc66e4f6c99612cea4aa7269aa65863f7a15841b2c264f103822f4e \ + --hash=sha256:5e2b6b57e9733d39f0c9fd3185efa6b8e29652c4cd8fe94180272cf6ed9a78c4 \ + --hash=sha256:5fb29fb8cd1a46c27a1bf9613ad5ec2599310d46b4025d9556404a6b6a292800 \ + --hash=sha256:6045373d5a89a5ec71afde535db987ca28e76dfa276c2d4c818265b375d4b055 \ + --hash=sha256:619799369eeef6366ed3e8755a5670f4f2f0fb6b30a0fd7264dc0fdc2357058e \ + --hash=sha256:62588a277bfb59def052abd940703fa35107152bf479781a878617d60faf8fb5 \ + --hash=sha256:62603db9a7caa0802eaa28c1c46fecd7b3a263a774069c24c3c28c302448721c \ + --hash=sha256:65cd72beeeca9d3aaea1201e5923859f308f952f9c71de93f06063c79f0f7a3b \ + --hash=sha256:68eb192d85ab8e5f6ec69c2bc6ac0179fbf04a5ac1569d12fbef74883fe102d0 \ + --hash=sha256:6bd128f206a7752ae1f2ab6c61bf8a24ba28913a10df8b14c2637b973ff97a80 \ + --hash=sha256:6be488a102b8cf28d0391d8c4ba7748938ae28b78ad901f8585520fca33ead1a \ + --hash=sha256:7218e8f32b0956cfcd048fd42d9d5779809745ca1d86113ca56f66e7ae1549c4 \ + --hash=sha256:7441d755b7ab94f8d4eb3e43ec05482d760842fd263d003a99102d742cd835e2 \ + --hash=sha256:749e97e1b32313717a565abbe321bc2190bc8b35f1a67e4cdbc7c56c8d8ffe58 \ + --hash=sha256:75a3ceed0724d625d64b86ca20aba182e4df462e04c2414fc941c0f523f06aac \ + --hash=sha256:780fbe7cab297b81dad9fb8dc5eb003c0468ffb0d9e5f65068c53a34661a96bc \ + --hash=sha256:78456a747de8dc58360ffa581f30a002baf5aa28cb262536545e91f113ed7639 \ + --hash=sha256:7967d08cf06dee78443b874f98c98036f624f3a4e73e11f9f64f5be4d25393cf \ + --hash=sha256:7a881931aa470808df94a8c380eed2bbbc76cd9dc622310f99665658c821eb6d \ + --hash=sha256:7dcd882da75ef9adf94903b1e3b9419e8aa8fb4c7396822b834b9ef7fb96954f \ + --hash=sha256:7e841fb9010836c992c9f12fcbd43a831de93a5f726fc1ccd8ca1d0268c5014c \ + --hash=sha256:7fdde2c9fd9e3eca40631e024664cf2584272cc8f96308cbe5fdfc930f51d8bc \ + --hash=sha256:8024d00c3faf3fc0c16e07a69f4405e8eac7cc0ab15f65fe6cf43827c4cf72b4 \ + --hash=sha256:80d02b6f04e92601a081dd97b23d3128033098bff5d35d392ddcc0476ea11253 \ + --hash=sha256:838dcc90063569a0448120554591a1d6c4a4ffe11babf048908793154ab86ade \ + --hash=sha256:849df64e889b2e17230d58410a03dba311a65b163508fd33679b2b737d4b7858 \ + --hash=sha256:87475fabc8d9996fd9c27debb395e642e8c838d78a00b6e932227a0e06b81e26 \ + --hash=sha256:87e50a3e7cb90af586b6c5faf23e302a970415ac73bd7bd90a515a04b427ef96 \ + --hash=sha256:89b53f3cda69831909888e0494f4fa0bcd3537e3e138dabeb620bd6ad946bae8 \ + --hash=sha256:8a893cc101149f80a653f82062ebc95b34525a2614382e1da5458fe7c6997249 \ + --hash=sha256:8b2bfab86aa71ae13aa41a6a26aab338e0db2b8bc75434b05aea89e011ff35a4 \ + --hash=sha256:8d86d6fc60743dc916eb79e2eb1ec4818e21e427731543af40a3021851174a13 \ + --hash=sha256:915563965d418f986e7e145accc592eae9e1a1be3566ff98a05d7a9ec42a76e1 \ + --hash=sha256:92888bb3187c5ba50500b00b3b310c9f2c651709d28036077680cb5255450a03 \ + --hash=sha256:93223adc95033dd47133a46ccfc316a0139176fd79085762e27202ec56018f03 \ + --hash=sha256:9373ad13ef0d2c0fb761e04e55bfdee5a08b52cef2c882c8fbe9935b1517152e \ + --hash=sha256:9409a8bf35cf78353942504b24a57de3d75b708997a1e4bd8db71ac8633ce364 \ + --hash=sha256:9b7f416ff0978e2f2249330527f0ad6fa02f4932e6199692d3b52da2048c19e4 \ + --hash=sha256:9bde855991b7e362c146535e3136a50bfaffc0487d38b33ca7e5edefc6e23849 \ + --hash=sha256:9cae88599c7219005d879f98e5ed53341e9a122af585e1091200358a3003d2a0 \ + --hash=sha256:9cf9b1a857e25c4baceeb3624e92a56df3668f398c4acba74e174d81fb4d1d3a \ + --hash=sha256:9f56f72050826f63dcee7a7f55b0a77168cb3bfc553fd405e7f8f9ece75a4036 \ + --hash=sha256:a090bb2c68df85450502e3e20d665e3a5af9c65a84d6508ed477badd49166fd3 \ + --hash=sha256:a192e2c40070d92c3ccf777e3a5c4ff515573cd2bb7ed0c537fdadbbec5bbf21 \ + --hash=sha256:a19a731138fc27d5682277d3b9df22855cea1239bce7fcec5f78f42ef2d1f3c3 \ + --hash=sha256:a66c3bc5ab1f0ff2164fc9965ddd611ff0802173f4b9d24554c563f6ab7e1d6e \ + --hash=sha256:a815775b6c38d4e0ff7bcffbeba67feded90202bb6a226b8dd35f1c855217413 \ + --hash=sha256:a89012d6d5476ee112d20d998570ed58df2260a852afb1758809cd6900411d21 \ + --hash=sha256:ae4f5fea5b8b8ccff88238cc8569303e5ee95efae67fa62922a311397a71f346 \ + --hash=sha256:b6856554c4f44d79fc2307d5768854310a8f0096e501c75637542c82292b0429 \ + --hash=sha256:b6b751274acb69d77b3323d6b7dbaa3c7fdfc1eb829b7eb61d262f32e1af9685 \ + --hash=sha256:b736353c0a625bbd5fcec108576e2385db3496f4f771f785ff32e108d3c3bc45 \ + --hash=sha256:b7fd005a73d9e657273b7a10dc71a9e03c8fb9ee6999798d6918ce095b81ac7f \ + --hash=sha256:b91363207bd9dc966a691e959bb47f64b30f7ac4b072be9968b366982f7db77c \ + --hash=sha256:ba0b1d2620edf869789c3879223f52bf2afc5d31b3cb47cc57b3a12c05e2aa9d \ + --hash=sha256:bbbfc8e28816f19d7c0f1816664980c0a9875d01b27cdf8eedddb639d9e108ad \ + --hash=sha256:bd16aabe4a02a297c23417aa17ac6299dbd8c49f673bcd645b4929b11f5a4400 \ + --hash=sha256:c0afc6800ba57ccc350374c5bd6150419915d95ce93cdbab2d783d75eaf30ecb \ + --hash=sha256:c6708715abcf3c73b99508253e961a9967f02fe536532834149574eda6de0d1c \ + --hash=sha256:c7c9ab723cde841fefb34efbad91e87f00a674b1fe1cd0784fde742bf2c154dc \ + --hash=sha256:c8f3d67aeaf55f017982b73683f0e7342ba2f6635a78f69ce89ebb26aa411e5c \ + --hash=sha256:c9790464842f85f437dbbb54417eda1e0e6bfc52dd8d22d6fd1c994b73b2dc74 \ + --hash=sha256:ca403d7e4798f525fdfc78e258820419cbbd0f0ecbab9de7840e3c017cf6b8cf \ + --hash=sha256:d008d90a7f2471519aef0c90dfbe73b3e6e4d5e66ac48e19154c17e89e98b604 \ + --hash=sha256:d19fbd981a488e22cd04883659ca6b08f50b5974f9fd7c95655ef6a043e5893f \ + --hash=sha256:d1befeed746d247c81127bb14de9dc3d30edb6e5976d34f83f86ed262b1d9105 \ + --hash=sha256:d2374b62878abb00cd8309b32af6c0b715cd02dec0ca74ef12e5069bdc64144a \ + --hash=sha256:d376bbd28b3a8999db1a103b3b388aee6f1ddeb3e51bc2172993efdcd86e064d \ + --hash=sha256:d4a7319f304a774bed22115bc891618e45f85065ab44ea6acd07d274e750519a \ + --hash=sha256:d6734d2ef8a50fbf8445c139477da401f50d62a0606bf00e20ec6d87773fefb1 \ + --hash=sha256:d760fe2a4d7c3b226cb9026d6a842868d52a7901bd98420e1baf14e80da85cf5 \ + --hash=sha256:d913de495d90407cd859d263bee2e5d1a4ed3eb6573c04e70d9ec619a7cbed7f \ + --hash=sha256:db19d07e2e0129e974a0e65d0064fc222a446cd5122c2fd4184d2af9fc734a9e \ + --hash=sha256:dca9ab98072a5a54ebacebdc45f53e645336b320c667410b061be1ca588ae709 \ + --hash=sha256:ddc7dacc8ece3a182e7f15cb862d1fd616b46d076cb1ae9dd232b2c38b655874 \ + --hash=sha256:ddf19c062bea7a0cc80f519243d2c01dd091be0cf952a0750d4ad576709559f5 \ + --hash=sha256:def79fa35ef0cef8d2accec024f4fdc7ead3012ff02f5215c783f39f03ef8cfc \ + --hash=sha256:df29a0a7107f7011e77f4eebdddec4c7331e24d787a0b21a46d63bdf7445da95 \ + --hash=sha256:e09a3942ecbdee5cce73ea9d42da82b81b72ac1bf031ce069b93b5adf4eac8cd \ + --hash=sha256:e242bb1c5e76e97dfa9e7f209a71e93a01d7f19ffdd5cfbb2e2d55b4f08f8ab0 \ + --hash=sha256:e243bd13217235fc7290c621941c3f5cc8b66e4872495be821d7436ba2fb838d \ + --hash=sha256:e2af3aad578aa6bd1384bcf4750fc285e5a9de53f40b7d41e5a0bf748edeb2b3 \ + --hash=sha256:e4e81e09c1578b8df602e3db08b0b3ea0a6947ad612f52bf8dc5ea8d47691f0c \ + --hash=sha256:e54da4baf05720032d527874d40b65fa4d7e5c6c6a43d0c3adbeffcaf275a2b3 \ + --hash=sha256:e80e6c2f55656b4824d72065abb4ddd6a525c74bd78a0aab5d9fc2cf4fb5af50 \ + --hash=sha256:ed2a239c0ea213acc1908150a3037257083c7c083128f1a4cec2ec4b97dca491 \ + --hash=sha256:ed905975ab14056a2e5eb1c376cb2e1ebc5396baf84163939c518556fccde9f5 \ + --hash=sha256:ee21e28f0430bd6dc9086c6e525d5e818a44a5ad19720c8a0ef766792f3eb5e5 \ + --hash=sha256:ee43c17b173d46a3212baa6ead3ae258eeabdae48c263a01ccf0218c366dd655 \ + --hash=sha256:ef4fcbf3327382cd4c9f540babd61248208af7b93eec4de397b4d5f58a09e288 \ + --hash=sha256:eff0ac9dbe711a4aee69bf04a83896aa9b85f19641264053a9f6d48573abb7dd \ + --hash=sha256:f0aa869112ef88429ae17820d99c3dd9504c9e9c671d3c246f3d7442cb051084 \ + --hash=sha256:f3c96f633825733f735c5a9cf21d21a257d8e1edf0b1cee0a064b9c424ca0f7d \ + --hash=sha256:f5833ad231be5eb6553de524a70f48d71b2c8563101750531e0b80184e175cd4 \ + --hash=sha256:f5ec61164adcec446f8969a3358ec3f9b26bbda3b9213e5586d219afa8df2915 \ + --hash=sha256:f7d486c83842422badd511868fd8a9a20e9407ace71564b6af47ce7e60a336c1 \ + --hash=sha256:fb9e68df06293761f9fe66ade60a9bc6d0f5e42b8acf2939a9158af86ab0e5bd \ + --hash=sha256:fc14a032f813bf5fe624d991960ea83e9715adc27e4c1830a2361eb1d02ac341 \ + --hash=sha256:fcff63213e8e6e47770541a4607175404f47cbb3ebea7b6058cc82d524a0e424 \ + --hash=sha256:fd1fbe0f116b6e55da77aca2c6ddcddcfac2186cbf78bdebf40fc156efca389d \ + --hash=sha256:fe9753dfee015c570d73df76f899f18444d41388bffcde097deba51c4fadbb9f # via requests -commonmark==0.5.4 \ - --hash=sha256:34d73ec8085923c023930dfc0bcd1c4286e28a2a82de094bb72fabcc0281cbe5 \ - # via recommonmark -docutils==0.14 \ - --hash=sha256:02aec4bd92ab067f6ff27a38a38a41173bf01bed8f89157768c1573f53e474a6 \ - --hash=sha256:51e64ef2ebfb29cae1faa133b3710143496eca21c530f3f71424d77687764274 \ - --hash=sha256:7a4bd47eaf6596e1295ecb11361139febe29b084a87bf005bf899f9a42edc3c6 \ - # via recommonmark, sphinx -idna==2.7 \ - --hash=sha256:156a6814fb5ac1fc6850fb002e0852d56c0c8d2531923a51032d1b70760e186e \ - --hash=sha256:684a38a6f903c1d71d6d5fac066b58d7768af4de2b832e426ec79c30daa94a16 \ +docutils==0.22.4 \ + --hash=sha256:4db53b1fde9abecbb74d91230d32ab626d94f6badfc575d6db9194a49df29968 \ + --hash=sha256:d0013f540772d1420576855455d050a2180186c91c15779301ac2ccb3eeb68de + # via sphinx +idna==3.20 \ + --hash=sha256:a7db850025b95ded1eae8a46181a1a6c56c92c96f0e2b005d9ff8dc0210cab44 \ + --hash=sha256:ab7ae7122974553370f0bdb919e1a960b2cd1bc1ef0276416d896db81c14582c # via requests -imagesize==1.1.0 \ - --hash=sha256:3f349de3eb99145973fefb7dbe38554414e5c30abd0c8e4b970a7c9d09f3a1d8 \ - --hash=sha256:f3832918bc3c66617f92e35f5d70729187676313caa60c187eb0f28b8fe5e3b5 \ - # via sphinx -jinja2==2.10 \ - --hash=sha256:74c935a1b8bb9a3947c50a54766a969d4846290e1e788ea44c1392163723c3bd \ - --hash=sha256:f84be1bb0040caca4cea721fcbbbbd61f9be9464ca236387158b0feea01914a4 \ - # via sphinx -markupsafe==1.1.0 \ - --hash=sha256:048ef924c1623740e70204aa7143ec592504045ae4429b59c30054cb31e3c432 \ - --hash=sha256:130f844e7f5bdd8e9f3f42e7102ef1d49b2e6fdf0d7526df3f87281a532d8c8b \ - --hash=sha256:19f637c2ac5ae9da8bfd98cef74d64b7e1bb8a63038a3505cd182c3fac5eb4d9 \ - --hash=sha256:1b8a7a87ad1b92bd887568ce54b23565f3fd7018c4180136e1cf412b405a47af \ - --hash=sha256:1c25694ca680b6919de53a4bb3bdd0602beafc63ff001fea2f2fc16ec3a11834 \ - --hash=sha256:1f19ef5d3908110e1e891deefb5586aae1b49a7440db952454b4e281b41620cd \ - --hash=sha256:1fa6058938190ebe8290e5cae6c351e14e7bb44505c4a7624555ce57fbbeba0d \ - --hash=sha256:31cbb1359e8c25f9f48e156e59e2eaad51cd5242c05ed18a8de6dbe85184e4b7 \ - --hash=sha256:3e835d8841ae7863f64e40e19477f7eb398674da6a47f09871673742531e6f4b \ - --hash=sha256:4e97332c9ce444b0c2c38dd22ddc61c743eb208d916e4265a2a3b575bdccb1d3 \ - --hash=sha256:525396ee324ee2da82919f2ee9c9e73b012f23e7640131dd1b53a90206a0f09c \ - --hash=sha256:52b07fbc32032c21ad4ab060fec137b76eb804c4b9a1c7c7dc562549306afad2 \ - --hash=sha256:52ccb45e77a1085ec5461cde794e1aa037df79f473cbc69b974e73940655c8d7 \ - --hash=sha256:5c3fbebd7de20ce93103cb3183b47671f2885307df4a17a0ad56a1dd51273d36 \ - --hash=sha256:5e5851969aea17660e55f6a3be00037a25b96a9b44d2083651812c99d53b14d1 \ - --hash=sha256:5edfa27b2d3eefa2210fb2f5d539fbed81722b49f083b2c6566455eb7422fd7e \ - --hash=sha256:7d263e5770efddf465a9e31b78362d84d015cc894ca2c131901a4445eaa61ee1 \ - --hash=sha256:83381342bfc22b3c8c06f2dd93a505413888694302de25add756254beee8449c \ - --hash=sha256:857eebb2c1dc60e4219ec8e98dfa19553dae33608237e107db9c6078b1167856 \ - --hash=sha256:98e439297f78fca3a6169fd330fbe88d78b3bb72f967ad9961bcac0d7fdd1550 \ - --hash=sha256:bf54103892a83c64db58125b3f2a43df6d2cb2d28889f14c78519394feb41492 \ - --hash=sha256:d9ac82be533394d341b41d78aca7ed0e0f4ba5a2231602e2f05aa87f25c51672 \ - --hash=sha256:e982fe07ede9fada6ff6705af70514a52beb1b2c3d25d4e873e82114cf3c5401 \ - --hash=sha256:edce2ea7f3dfc981c4ddc97add8a61381d9642dc3273737e756517cc03e84dd6 \ - --hash=sha256:efdc45ef1afc238db84cb4963aa689c0408912a0239b0721cb172b4016eb31d6 \ - --hash=sha256:f137c02498f8b935892d5c0172560d7ab54bc45039de8805075e19079c639a9c \ - --hash=sha256:f82e347a72f955b7017a39708a3667f106e6ad4d10b25f237396a7115d8ed5fd \ - --hash=sha256:fb7c206e01ad85ce57feeaaa0bf784b97fa3cad0d4a5737bc5295785f5c613a1 \ +imagesize==2.0.1 \ + --hash=sha256:b2ba6a4dea487a7ebcd53248d3476aca449d30db12a2dde5e0c5ca9624fd77e5 \ + --hash=sha256:ea0c9a0384df69ed86a943a15cde37d0360b82491b3910dc2215e202e62b5b02 + # via sphinx +jinja2==3.1.6 \ + --hash=sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d \ + --hash=sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67 + # via sphinx +markupsafe==3.0.3 \ + --hash=sha256:0303439a41979d9e74d18ff5e2dd8c43ed6c6001fd40e5bf2e43f7bd9bbc523f \ + --hash=sha256:068f375c472b3e7acbe2d5318dea141359e6900156b5b2ba06a30b169086b91a \ + --hash=sha256:0bf2a864d67e76e5c9a34dc26ec616a66b9888e25e7b9460e1c76d3293bd9dbf \ + --hash=sha256:0db14f5dafddbb6d9208827849fad01f1a2609380add406671a26386cdf15a19 \ + --hash=sha256:0eb9ff8191e8498cca014656ae6b8d61f39da5f95b488805da4bb029cccbfbaf \ + --hash=sha256:0f4b68347f8c5eab4a13419215bdfd7f8c9b19f2b25520968adfad23eb0ce60c \ + --hash=sha256:1085e7fbddd3be5f89cc898938f42c0b3c711fdcb37d75221de2666af647c175 \ + --hash=sha256:116bb52f642a37c115f517494ea5feb03889e04df47eeff5b130b1808ce7c219 \ + --hash=sha256:12c63dfb4a98206f045aa9563db46507995f7ef6d83b2f68eda65c307c6829eb \ + --hash=sha256:133a43e73a802c5562be9bbcd03d090aa5a1fe899db609c29e8c8d815c5f6de6 \ + --hash=sha256:1353ef0c1b138e1907ae78e2f6c63ff67501122006b0f9abad68fda5f4ffc6ab \ + --hash=sha256:15d939a21d546304880945ca1ecb8a039db6b4dc49b2c5a400387cdae6a62e26 \ + --hash=sha256:177b5253b2834fe3678cb4a5f0059808258584c559193998be2601324fdeafb1 \ + --hash=sha256:1872df69a4de6aead3491198eaf13810b565bdbeec3ae2dc8780f14458ec73ce \ + --hash=sha256:1b4b79e8ebf6b55351f0d91fe80f893b4743f104bff22e90697db1590e47a218 \ + --hash=sha256:1b52b4fb9df4eb9ae465f8d0c228a00624de2334f216f178a995ccdcf82c4634 \ + --hash=sha256:1ba88449deb3de88bd40044603fafffb7bc2b055d626a330323a9ed736661695 \ + --hash=sha256:1cc7ea17a6824959616c525620e387f6dd30fec8cb44f649e31712db02123dad \ + --hash=sha256:218551f6df4868a8d527e3062d0fb968682fe92054e89978594c28e642c43a73 \ + --hash=sha256:26a5784ded40c9e318cfc2bdb30fe164bdb8665ded9cd64d500a34fb42067b1c \ + --hash=sha256:2713baf880df847f2bece4230d4d094280f4e67b1e813eec43b4c0e144a34ffe \ + --hash=sha256:2a15a08b17dd94c53a1da0438822d70ebcd13f8c3a95abe3a9ef9f11a94830aa \ + --hash=sha256:2f981d352f04553a7171b8e44369f2af4055f888dfb147d55e42d29e29e74559 \ + --hash=sha256:32001d6a8fc98c8cb5c947787c5d08b0a50663d139f1305bac5885d98d9b40fa \ + --hash=sha256:3524b778fe5cfb3452a09d31e7b5adefeea8c5be1d43c4f810ba09f2ceb29d37 \ + --hash=sha256:3537e01efc9d4dccdf77221fb1cb3b8e1a38d5428920e0657ce299b20324d758 \ + --hash=sha256:35add3b638a5d900e807944a078b51922212fb3dedb01633a8defc4b01a3c85f \ + --hash=sha256:38664109c14ffc9e7437e86b4dceb442b0096dfe3541d7864d9cbe1da4cf36c8 \ + --hash=sha256:3a7e8ae81ae39e62a41ec302f972ba6ae23a5c5396c8e60113e9066ef893da0d \ + --hash=sha256:3b562dd9e9ea93f13d53989d23a7e775fdfd1066c33494ff43f5418bc8c58a5c \ + --hash=sha256:457a69a9577064c05a97c41f4e65148652db078a3a509039e64d3467b9e7ef97 \ + --hash=sha256:4bd4cd07944443f5a265608cc6aab442e4f74dff8088b0dfc8238647b8f6ae9a \ + --hash=sha256:4e885a3d1efa2eadc93c894a21770e4bc67899e3543680313b09f139e149ab19 \ + --hash=sha256:4faffd047e07c38848ce017e8725090413cd80cbc23d86e55c587bf979e579c9 \ + --hash=sha256:509fa21c6deb7a7a273d629cf5ec029bc209d1a51178615ddf718f5918992ab9 \ + --hash=sha256:5678211cb9333a6468fb8d8be0305520aa073f50d17f089b5b4b477ea6e67fdc \ + --hash=sha256:591ae9f2a647529ca990bc681daebdd52c8791ff06c2bfa05b65163e28102ef2 \ + --hash=sha256:5a7d5dc5140555cf21a6fefbdbf8723f06fcd2f63ef108f2854de715e4422cb4 \ + --hash=sha256:69c0b73548bc525c8cb9a251cddf1931d1db4d2258e9599c28c07ef3580ef354 \ + --hash=sha256:6b5420a1d9450023228968e7e6a9ce57f65d148ab56d2313fcd589eee96a7a50 \ + --hash=sha256:722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698 \ + --hash=sha256:729586769a26dbceff69f7a7dbbf59ab6572b99d94576a5592625d5b411576b9 \ + --hash=sha256:77f0643abe7495da77fb436f50f8dab76dbc6e5fd25d39589a0f1fe6548bfa2b \ + --hash=sha256:795e7751525cae078558e679d646ae45574b47ed6e7771863fcc079a6171a0fc \ + --hash=sha256:7be7b61bb172e1ed687f1754f8e7484f1c8019780f6f6b0786e76bb01c2ae115 \ + --hash=sha256:7c3fb7d25180895632e5d3148dbdc29ea38ccb7fd210aa27acbd1201a1902c6e \ + --hash=sha256:7e68f88e5b8799aa49c85cd116c932a1ac15caaa3f5db09087854d218359e485 \ + --hash=sha256:83891d0e9fb81a825d9a6d61e3f07550ca70a076484292a70fde82c4b807286f \ + --hash=sha256:8485f406a96febb5140bfeca44a73e3ce5116b2501ac54fe953e488fb1d03b12 \ + --hash=sha256:8709b08f4a89aa7586de0aadc8da56180242ee0ada3999749b183aa23df95025 \ + --hash=sha256:8f71bc33915be5186016f675cd83a1e08523649b0e33efdb898db577ef5bb009 \ + --hash=sha256:915c04ba3851909ce68ccc2b8e2cd691618c4dc4c4232fb7982bca3f41fd8c3d \ + --hash=sha256:949b8d66bc381ee8b007cd945914c721d9aba8e27f71959d750a46f7c282b20b \ + --hash=sha256:94c6f0bb423f739146aec64595853541634bde58b2135f27f61c1ffd1cd4d16a \ + --hash=sha256:9a1abfdc021a164803f4d485104931fb8f8c1efd55bc6b748d2f5774e78b62c5 \ + --hash=sha256:9b79b7a16f7fedff2495d684f2b59b0457c3b493778c9eed31111be64d58279f \ + --hash=sha256:a320721ab5a1aba0a233739394eb907f8c8da5c98c9181d1161e77a0c8e36f2d \ + --hash=sha256:a4afe79fb3de0b7097d81da19090f4df4f8d3a2b3adaa8764138aac2e44f3af1 \ + --hash=sha256:ad2cf8aa28b8c020ab2fc8287b0f823d0a7d8630784c31e9ee5edea20f406287 \ + --hash=sha256:b8512a91625c9b3da6f127803b166b629725e68af71f8184ae7e7d54686a56d6 \ + --hash=sha256:bc51efed119bc9cfdf792cdeaa4d67e8f6fcccab66ed4bfdd6bde3e59bfcbb2f \ + --hash=sha256:bdc919ead48f234740ad807933cdf545180bfbe9342c2bb451556db2ed958581 \ + --hash=sha256:bdd37121970bfd8be76c5fb069c7751683bdf373db1ed6c010162b2a130248ed \ + --hash=sha256:be8813b57049a7dc738189df53d69395eba14fb99345e0a5994914a3864c8a4b \ + --hash=sha256:c0c0b3ade1c0b13b936d7970b1d37a57acde9199dc2aecc4c336773e1d86049c \ + --hash=sha256:c47a551199eb8eb2121d4f0f15ae0f923d31350ab9280078d1e5f12b249e0026 \ + --hash=sha256:c4ffb7ebf07cfe8931028e3e4c85f0357459a3f9f9490886198848f4fa002ec8 \ + --hash=sha256:ccfcd093f13f0f0b7fdd0f198b90053bf7b2f02a3927a30e63f3ccc9df56b676 \ + --hash=sha256:d2ee202e79d8ed691ceebae8e0486bd9a2cd4794cec4824e1c99b6f5009502f6 \ + --hash=sha256:d53197da72cc091b024dd97249dfc7794d6a56530370992a5e1a08983ad9230e \ + --hash=sha256:d6dd0be5b5b189d31db7cda48b91d7e0a9795f31430b7f271219ab30f1d3ac9d \ + --hash=sha256:d88b440e37a16e651bda4c7c2b930eb586fd15ca7406cb39e211fcff3bf3017d \ + --hash=sha256:de8a88e63464af587c950061a5e6a67d3632e36df62b986892331d4620a35c01 \ + --hash=sha256:df2449253ef108a379b8b5d6b43f4b1a8e81a061d6537becd5582fba5f9196d7 \ + --hash=sha256:e1c1493fb6e50ab01d20a22826e57520f1284df32f2d8601fdd90b6304601419 \ + --hash=sha256:e1cf1972137e83c5d4c136c43ced9ac51d0e124706ee1c8aa8532c1287fa8795 \ + --hash=sha256:e2103a929dfa2fcaf9bb4e7c091983a49c9ac3b19c9061b6d5427dd7d14d81a1 \ + --hash=sha256:e56b7d45a839a697b5eb268c82a71bd8c7f6c94d6fd50c3d577fa39a9f1409f5 \ + --hash=sha256:e8afc3f2ccfa24215f8cb28dcf43f0113ac3c37c2f0f0806d8c70e4228c5cf4d \ + --hash=sha256:e8fc20152abba6b83724d7ff268c249fa196d8259ff481f3b1476383f8f24e42 \ + --hash=sha256:eaa9599de571d72e2daf60164784109f19978b327a3910d3e9de8c97b5b70cfe \ + --hash=sha256:ec15a59cf5af7be74194f7ab02d0f59a62bdcf1a537677ce67a2537c9b87fcda \ + --hash=sha256:f190daf01f13c72eac4efd5c430a8de82489d9cff23c364c3ea822545032993e \ + --hash=sha256:f34c41761022dd093b4b6896d4810782ffbabe30f2d443ff5f083e0cbbb8c737 \ + --hash=sha256:f3e98bb3798ead92273dc0e5fd0f31ade220f59a266ffd8a4f6065e0a3ce0523 \ + --hash=sha256:f42d0984e947b8adf7dd6dde396e720934d12c506ce84eea8476409563607591 \ + --hash=sha256:f71a396b3bf33ecaa1626c255855702aca4d3d9fea5e051b41ac59a9c1c41edc \ + --hash=sha256:f9e130248f4462aaa8e2552d547f36ddadbeaa573879158d721bbd33dfe4743a \ + --hash=sha256:fed51ac40f757d41b7c48425901843666a6677e3e8eb0abcff09e4ba6e664f50 # via jinja2 -packaging==18.0 \ - --hash=sha256:0886227f54515e592aaa2e5a553332c73962917f2831f1b0f9b9f4380a4b9807 \ - --hash=sha256:f95a1e147590f204328170981833854229bb2912ac3d5f89e2a8ccd2834800c9 \ - # via sphinx -pygments==2.2.0 \ - --hash=sha256:78f3f434bcc5d6ee09020f92ba487f95ba50f1e3ef83ae96b9d5ffa1bab25c5d \ - --hash=sha256:dbae1046def0efb574852fab9e90209b23f556367b5a320c0bcb871c77c3e8cc \ - # via sphinx -pyparsing==2.3.0 \ - --hash=sha256:40856e74d4987de5d01761a22d1621ae1c7f8774585acae358aa5c5936c6c90b \ - --hash=sha256:f353aab21fd474459d97b709e527b5571314ee5f067441dc9f88e33eecd96592 \ - # via packaging -pytz==2018.7 \ - --hash=sha256:31cb35c89bd7d333cd32c5f278fca91b523b0834369e757f4c5641ea252236ca \ - --hash=sha256:8e0f8568c118d3077b46be7d654cc8167fa916092e28320cde048e54bfc9f1e6 \ - # via babel -recommonmark==0.4.0 \ - --hash=sha256:6e29c723abcf5533842376d87c4589e62923ecb6002a8e059eb608345ddaff9d \ - --hash=sha256:cd8bf902e469dae94d00367a8197fb7b81fcabc9cfb79d520e0d22d0fbeaa8b7 -requests==2.20.1 \ - --hash=sha256:65b3a120e4329e33c9889db89c80976c5272f56ea92d3e74da8a463992e3ff54 \ - --hash=sha256:ea881206e59f41dbd0bd445437d792e43906703fff75ca8ff43ccdb11f33f263 \ - # via sphinx -six==1.11.0 \ - --hash=sha256:70e8a77beed4562e7f14fe23a786b54f6296e34344c23bc42f07b15018ff98e9 \ - --hash=sha256:832dc0e10feb1aa2c68dcc57dbb658f1c7e65b9b61af69048abc87a2db00a0eb \ - # via packaging, sphinx -snowballstemmer==1.2.1 \ - --hash=sha256:919f26a68b2c17a7634da993d91339e288964f93c274f1343e3bbbe2096e1128 \ - --hash=sha256:9f3bcd3c401c3e862ec0ebe6d2c069ebc012ce142cce209c098ccb5b09136e89 \ - # via sphinx -sphinx==1.8.2 \ - --hash=sha256:120732cbddb1b2364471c3d9f8bfd4b0c5b550862f99a65736c77f970b142aea \ - --hash=sha256:b348790776490894e0424101af9c8413f2a86831524bd55c5f379d3e3e12ca64 -sphinxcontrib-websupport==1.1.0 \ - --hash=sha256:68ca7ff70785cbe1e7bccc71a48b5b6d965d79ca50629606c7861a21b206d9dd \ - --hash=sha256:9de47f375baf1ea07cdb3436ff39d7a9c76042c10a769c52353ec46e4e8fc3b9 \ - # via sphinx -typing==3.6.6 \ - --hash=sha256:4027c5f6127a6267a435201981ba156de91ad0d1d98e9ddc2aa173453453492d \ - --hash=sha256:57dcf675a99b74d64dacf6fba08fb17cf7e3d5fdff53d4a30ea2a5e7e52543d4 \ - --hash=sha256:a4c8473ce11a65999c8f59cb093e70686b6c84c98df58c1dae9b3b196089858a \ - # via sphinx -urllib3==1.24.1 \ - --hash=sha256:61bf29cada3fc2fbefad4fdf059ea4bd1b4a86d2b6d15e1c7c0b582b9752fe39 \ - --hash=sha256:de9529817c93f27c8ccbfead6985011db27bd0ddfcdb2d86f3f663385c6a9c22 \ +packaging==26.3 \ + --hash=sha256:94edc256424af38762eb31306eed28beb9f0efc50a8837492c9d6fd6004aed79 \ + --hash=sha256:d7193f7c8e4e93f444fde0262bf90af30e16fa0ad0ad44cb553c87339b23cd1c + # via sphinx +pygments==2.21.0 \ + --hash=sha256:2363c69b61c4a97c838da3b130dcd6468f4848992b21a82f2a63ec34377137d9 \ + --hash=sha256:610ca751c9bc2492b38eb9a38a7fbc93edbbb2d7182edaf34e66ae493dee5c8c + # via sphinx +requests==2.34.2 \ + --hash=sha256:2a0d60c172f83ac6ab31e4554906c0f3b3588d37b5cb939b1c061f4907e278e0 \ + --hash=sha256:f288924cae4e29463698d6d60bc6a4da69c89185ad1e0bcc4104f584e960b9ed + # via sphinx +roman-numerals==4.1.0 \ + --hash=sha256:1af8b147eb1405d5839e78aeb93131690495fe9da5c91856cb33ad55a7f1e5b2 \ + --hash=sha256:647ba99caddc2cc1e55a51e4360689115551bf4476d90e8162cf8c345fe233c7 + # via sphinx +snowballstemmer==3.1.1 \ + --hash=sha256:7e207fa178741da09cdee59d3ecec3827ad5f92b1fc5c9ff3755b639f71f5752 \ + --hash=sha256:e07bbc54a0d798fe6010a12398422e62a8bfbba95c394fd0956ef58cb4d3e260 + # via sphinx +sphinx==9.1.0 \ + --hash=sha256:7741722357dd75f8190766926071fed3bdc211c74dd2d7d4df5404da95930ddb \ + --hash=sha256:c84fdd4e782504495fe4f2c0b3413d6c2bf388589bb352d439b2a3bb99991978 + # via -r docs/requirements.in +sphinxcontrib-applehelp==2.0.0 \ + --hash=sha256:2f29ef331735ce958efa4734873f084941970894c6090408b079c61b2e1c06d1 \ + --hash=sha256:4cd3f0ec4ac5dd9c17ec65e9ab272c9b867ea77425228e68ecf08d6b28ddbdb5 + # via sphinx +sphinxcontrib-devhelp==2.0.0 \ + --hash=sha256:411f5d96d445d1d73bb5d52133377b4248ec79db5c793ce7dbe59e074b4dd1ad \ + --hash=sha256:aefb8b83854e4b0998877524d1029fd3e6879210422ee3780459e28a1f03a8a2 + # via sphinx +sphinxcontrib-htmlhelp==2.1.0 \ + --hash=sha256:166759820b47002d22914d64a075ce08f4c46818e17cfc9470a9786b759b19f8 \ + --hash=sha256:c9e2916ace8aad64cc13a0d233ee22317f2b9025b9cf3295249fa985cc7082e9 + # via sphinx +sphinxcontrib-jsmath==1.0.1 \ + --hash=sha256:2ec2eaebfb78f3f2078e73666b1415417a116cc848b72e5172e596c871103178 \ + --hash=sha256:a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8 + # via sphinx +sphinxcontrib-qthelp==2.0.0 \ + --hash=sha256:4fe7d0ac8fc171045be623aba3e2a8f613f8682731f9153bb2e40ece16b9bbab \ + --hash=sha256:b18a828cdba941ccd6ee8445dbe72ffa3ef8cbe7505d8cd1fa0d42d3f2d5f3eb + # via sphinx +sphinxcontrib-serializinghtml==2.0.0 \ + --hash=sha256:6e2cb0eef194e10c27ec0023bfeb25badbbb5868244cf5bc5bdc04e4464bf331 \ + --hash=sha256:e9d912827f872c029017a53f0ef2180b327c3f7fd23c87229f7a8e8b70031d4d + # via sphinx +urllib3==2.8.0 \ + --hash=sha256:0cf3cae568d36aa9576b28dfb35f11328f1cb974ca7647d9475ebb86c75ac6e3 \ + --hash=sha256:63bf2ead4c879426ebf22ef2a781eeb4aa3b4ae798a0435506f8687fd5bb9b63 # via requests diff --git a/eslint.config.mjs b/eslint.config.mjs index 7e1c6ba98a..080ec6a1f2 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -32,7 +32,7 @@ export default [ 'import/extensions': 'off', 'lines-around-directive': 'off', 'no-underscore-dangle': 'off', - indent: 'off', + 'indent': 'off', 'object-curly-newline': 'off', 'operator-linebreak': 'off', 'function-paren-newline': 'off', diff --git a/lib/api/apiUtils/bucket/parseWhere.js b/lib/api/apiUtils/bucket/parseWhere.js index 83deccfced..4ab999db57 100644 --- a/lib/api/apiUtils/bucket/parseWhere.js +++ b/lib/api/apiUtils/bucket/parseWhere.js @@ -38,7 +38,7 @@ const exprMapper = { '<': '$lt', '>=': '$gte', '<=': '$lte', - LIKE: '$regex', + 'LIKE': '$regex', }; /* diff --git a/lib/api/apiUtils/object/corsResponse.js b/lib/api/apiUtils/object/corsResponse.js index e8cd86df39..1ac7ec436d 100644 --- a/lib/api/apiUtils/object/corsResponse.js +++ b/lib/api/apiUtils/object/corsResponse.js @@ -102,7 +102,7 @@ function generateCorsResHeaders(rule, origin, method, headers, isPreflight) { const resHeaders = { 'access-control-max-age': rule.maxAgeSeconds, 'access-control-allow-methods': rule.allowedMethods.join(', '), - vary: 'Origin, Access-Control-Request-Headers, Access-Control-Request-Method', + 'vary': 'Origin, Access-Control-Request-Headers, Access-Control-Request-Method', }; // send back '*' if any origin allowed; otherwise send back // request Origin value diff --git a/lib/api/apiUtils/object/objectLockHelpers.js b/lib/api/apiUtils/object/objectLockHelpers.js index 00e93891e7..44a5898937 100644 --- a/lib/api/apiUtils/object/objectLockHelpers.js +++ b/lib/api/apiUtils/object/objectLockHelpers.js @@ -299,7 +299,7 @@ function checkUserGovernanceBypass(request, authInfo, bucketMD, objectKey, log, ); if (explicitDenyExists) { log.trace('authorization check failed for user', { - method: 'checkUserPolicyGovernanceBypass', + 'method': 'checkUserPolicyGovernanceBypass', 's3:BypassGovernanceRetention': false, }); return cb(errors.AccessDenied); diff --git a/lib/api/objectPutPart.js b/lib/api/objectPutPart.js index 3005c54b6e..543807e771 100644 --- a/lib/api/objectPutPart.js +++ b/lib/api/objectPutPart.js @@ -497,7 +497,7 @@ function objectPutPart(authInfo, request, streamingV4Params, log, cb) { // back to Version 3 since number-subparts is not needed 'md-model-version': 3, partLocations, - key: partKey, + 'key': partKey, 'last-modified': new Date().toJSON(), 'content-md5': hexDigest, 'content-length': size, diff --git a/lib/routes/veeam/schemas/system.js b/lib/routes/veeam/schemas/system.js index b91d3f9136..feeafbacf5 100644 --- a/lib/routes/veeam/schemas/system.js +++ b/lib/routes/veeam/schemas/system.js @@ -3,7 +3,7 @@ const { errors, errorInstances } = require('@scality/arsenal'); // Allow supporting any version of the protocol const systemSchemasPerVersion = { - unsupported: joi.object({}), + 'unsupported': joi.object({}), '"1.0"': joi.object({ SystemInfo: joi .object({ diff --git a/lib/services.js b/lib/services.js index e016705b51..dad455c15d 100644 --- a/lib/services.js +++ b/lib/services.js @@ -884,7 +884,7 @@ const services = { // from an object to an array 'md-model-version': 3, partLocations, - key: partKey, + 'key': partKey, 'last-modified': dateModified, 'content-md5': contentMD5, 'content-length': size, diff --git a/lib/utilities/aclUtils.js b/lib/utilities/aclUtils.js index fcc9e72bc8..4d2634ae88 100644 --- a/lib/utilities/aclUtils.js +++ b/lib/utilities/aclUtils.js @@ -29,7 +29,7 @@ const grantsByURI = [constants.publicId, constants.allAuthedUsersId, constants.l aclUtils.handleCannedGrant = function handleCannedGrant(grantType, ownerGrant, separateBucketOwner) { const cannedGrants = []; const actions = { - private: () => { + 'private': () => { cannedGrants.push(ownerGrant); }, 'public-read': () => { diff --git a/package.json b/package.json index 42c596298d..abae71f609 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,6 @@ "@aws-sdk/client-sts": "^3.930.0", "@aws-sdk/crc64-nvme-crt": "^3.989.0", "@aws-sdk/credential-providers": "^3.864.0", - "@aws-sdk/middleware-retry": "^3.374.0", "@aws-sdk/protocol-http": "^3.374.0", "@aws-sdk/s3-request-presigner": "^3.901.0", "@aws-sdk/signature-v4": "^3.374.0", @@ -46,18 +45,15 @@ "commander": "^12.1.0", "cron-parser": "^4.9.0", "diskusage": "^1.2.0", - "google-auto-auth": "^0.10.1", "http-proxy": "npm:http-proxy-3@^1.21.0", "http-proxy-agent": "^7.0.2", "https-proxy-agent": "^7.0.5", - "level-mem": "^5.0.1", "moment": "^2.30.1", "mongodb": "^6.11.0", "node-fetch": "^2.6.0", "node-forge": "^1.3.1", "npm-run-all": "^4.1.5", "prom-client": "^15.1.3", - "request": "^2.88.2", "sql-where-parser": "^2.2.1", "utf-8-validate": "^6.0.5", "utf8": "^3.0.0", @@ -70,7 +66,7 @@ "devDependencies": { "@eslint/compat": "^1.2.2", "@scality/cloudserverclient": "1.0.12", - "@scality/eslint-config-scality": "scality/Guidelines#8.3.1", + "@scality/eslint-config-scality": "scality/Guidelines#8.3.3", "eslint": "^9.14.0", "eslint-plugin-import": "^2.31.0", "eslint-plugin-mocha": "^10.5.0", @@ -78,9 +74,6 @@ "eslint-plugin-promise": "^7.2.1", "express": "^4.21.1", "ioredis": "^5.4.1", - "istanbul": "^0.4.5", - "istanbul-api": "^3.0.0", - "lolex": "^6.0.0", "mocha": "^11.7.5", "mocha-junit-reporter": "^2.2.1", "mocha-multi-reporters": "^1.5.1", diff --git a/tests/functional/aws-node-sdk/test/multipleBackend/put/put.js b/tests/functional/aws-node-sdk/test/multipleBackend/put/put.js index f4fed475b9..7f0bd72519 100644 --- a/tests/functional/aws-node-sdk/test/multipleBackend/put/put.js +++ b/tests/functional/aws-node-sdk/test/multipleBackend/put/put.js @@ -183,9 +183,9 @@ describeSkipIfNotMultiple('MultipleBackend put object', function testSuite() { Key: key, Metadata: { 'scal-location-constraint': awsLocation, - mdonly: 'true', - md5chksum: b64, - size: body.length.toString(), + 'mdonly': 'true', + 'md5chksum': b64, + 'size': body.length.toString(), }, }; await s3 @@ -210,9 +210,9 @@ describeSkipIfNotMultiple('MultipleBackend put object', function testSuite() { Body: body, Metadata: { 'scal-location-constraint': awsLocation, - mdonly: 'true', - md5chksum: b64, - size: body.length.toString(), + 'mdonly': 'true', + 'md5chksum': b64, + 'size': body.length.toString(), }, }; await s3 @@ -236,9 +236,9 @@ describeSkipIfNotMultiple('MultipleBackend put object', function testSuite() { Key: key, Metadata: { 'scal-location-constraint': awsLocation, - mdonly: 'true', - md5chksum: b64, - size: '0', + 'mdonly': 'true', + 'md5chksum': b64, + 'size': '0', }, }; await s3 diff --git a/tests/functional/aws-node-sdk/test/object/100-continue.js b/tests/functional/aws-node-sdk/test/object/100-continue.js index e43b40ba50..028613c42b 100644 --- a/tests/functional/aws-node-sdk/test/object/100-continue.js +++ b/tests/functional/aws-node-sdk/test/object/100-continue.js @@ -45,7 +45,7 @@ class ContinueRequestHandler { method: 'PUT', headers: { 'content-length': body.length, - Expect: this.expectHeader, + 'Expect': this.expectHeader, }, }; } @@ -126,8 +126,8 @@ describeSkipIfE2E('PUT public object with 100-continue header', () => { bucketUtil = new BucketUtility('default', sigCfg); s3 = bucketUtil.s3; const params = { - Bucket: bucket, - Key: key, + 'Bucket': bucket, + 'Key': key, 'Content-Length': 0, }; const command = new PutObjectCommand(params); diff --git a/tests/functional/aws-node-sdk/test/object/corsHeaders.js b/tests/functional/aws-node-sdk/test/object/corsHeaders.js index 37b0a6074d..ddf51a68d9 100644 --- a/tests/functional/aws-node-sdk/test/object/corsHeaders.js +++ b/tests/functional/aws-node-sdk/test/object/corsHeaders.js @@ -579,7 +579,7 @@ describe('Cross Origin Resource Sharing requests', () => { 'even if request matches CORS rule and other access-control headers are returned', async () => { const headers = { - Origin: allowedOrigin, + 'Origin': allowedOrigin, 'Content-Type': 'testvalue', }; const headersOmitted = ['access-control-allow-headers']; diff --git a/tests/functional/aws-node-sdk/test/object/corsPreflight.js b/tests/functional/aws-node-sdk/test/object/corsPreflight.js index ae1043a091..15be3b343e 100644 --- a/tests/functional/aws-node-sdk/test/object/corsPreflight.js +++ b/tests/functional/aws-node-sdk/test/object/corsPreflight.js @@ -76,7 +76,7 @@ describe('Preflight CORS request with existing bucket', () => { }); it('should respond AccessForbidden for OPTIONS request on bucket without CORSConfiguration', done => { const headers = { - Origin: allowedOrigin, + 'Origin': allowedOrigin, 'Access-Control-Request-Method': 'GET', }; methodRequest({ method: 'OPTIONS', bucket, headers, code: 'AccessForbidden', headersResponse: null }, done); @@ -113,7 +113,7 @@ describe('Preflight CORS request with existing bucket', () => { `"${method}"`, done => { const headers = { - Origin: allowedOrigin, + 'Origin': allowedOrigin, 'Access-Control-Request-Method': method, }; const headersResponse = { @@ -128,7 +128,7 @@ describe('Preflight CORS request with existing bucket', () => { }); it('should respond AccessForbidden to OPTIONS request from not allowed origin', done => { const headers = { - Origin: allowedOrigin, + 'Origin': allowedOrigin, 'Access-Control-Request-Method': 'GET', 'Access-Control-Request-Headers': 'Origin, Accept, Content-Type', }; @@ -136,7 +136,7 @@ describe('Preflight CORS request with existing bucket', () => { }); it('should respond AccessForbidden to OPTIONS request with not allowed Access-Control-Request-Headers', done => { const headers = { - Origin: 'http://www.forbiddenwebsite.com', + 'Origin': 'http://www.forbiddenwebsite.com', 'Access-Control-Request-Method': 'GET', }; methodRequest({ method: 'OPTIONS', bucket, headers, code: 'AccessForbidden', headersResponse: null }, done); @@ -172,7 +172,7 @@ describe('Preflight CORS request with existing bucket', () => { 'request from allowed origin and method "GET"', done => { const headers = { - Origin: allowedOrigin, + 'Origin': allowedOrigin, 'Access-Control-Request-Method': 'GET', }; const headersResponse = { @@ -186,7 +186,7 @@ describe('Preflight CORS request with existing bucket', () => { ); it('should respond AccessForbidden to OPTIONS request with allowed method but not from allowed origin', done => { const headers = { - Origin: 'http://www.forbiddenwebsite.com', + 'Origin': 'http://www.forbiddenwebsite.com', 'Access-Control-Request-Method': 'GET', }; methodRequest({ method: 'OPTIONS', bucket, headers, code: 'AccessForbidden', headersResponse: null }, done); @@ -196,7 +196,7 @@ describe('Preflight CORS request with existing bucket', () => { 'origin and method but with not allowed Access-Control-Request-Headers', done => { const headers = { - Origin: allowedOrigin, + 'Origin': allowedOrigin, 'Access-Control-Request-Method': 'GET', 'Access-Control-Request-Headers': 'Origin, Accept, Content-Type', }; @@ -212,7 +212,7 @@ describe('Preflight CORS request with existing bucket', () => { `allowed origin but not allowed method "${method}"`, done => { const headers = { - Origin: allowedOrigin, + 'Origin': allowedOrigin, 'Access-Control-Request-Method': method, }; methodRequest( @@ -254,7 +254,7 @@ describe('Preflight CORS request with existing bucket', () => { `OPTIONS request from allowed origin and method "${allowedMethod}"`, done => { const headers = { - Origin: allowedOrigin, + 'Origin': allowedOrigin, 'Access-Control-Request-Method': allowedMethod, }; const headersResponse = { @@ -271,7 +271,7 @@ describe('Preflight CORS request with existing bucket', () => { 'Request-Headers', done => { const headers = { - Origin: allowedOrigin, + 'Origin': allowedOrigin, 'Access-Control-Request-Method': allowedMethod, 'Access-Control-Request-Headers': 'Origin, Accept, Content-Type', }; @@ -289,7 +289,7 @@ describe('Preflight CORS request with existing bucket', () => { `allowed origin but not allowed method "${method}"`, done => { const headers = { - Origin: allowedOrigin, + 'Origin': allowedOrigin, 'Access-Control-Request-Method': method, }; methodRequest( @@ -336,7 +336,7 @@ describe('Preflight CORS request with existing bucket', () => { `from allowed method and origin "${acceptableOrigin}"`, done => { const headers = { - Origin: acceptableOrigin, + 'Origin': acceptableOrigin, 'Access-Control-Request-Method': 'GET', }; const headersResponse = { @@ -355,7 +355,7 @@ describe('Preflight CORS request with existing bucket', () => { `allowed method and origin "${originWithoutWildcard}test"`, done => { const headers = { - Origin: `${originWithoutWildcard}test`, + 'Origin': `${originWithoutWildcard}test`, 'Access-Control-Request-Method': 'GET', }; methodRequest( @@ -371,7 +371,7 @@ describe('Preflight CORS request with existing bucket', () => { `allowed method and origin "test${originWithoutWildcard}"`, done => { const headers = { - Origin: `test${originWithoutWildcard}`, + 'Origin': `test${originWithoutWildcard}`, 'Access-Control-Request-Method': 'GET', }; methodRequest( @@ -420,7 +420,7 @@ describe('Preflight CORS request with existing bucket', () => { '(not list of AllowedOrigins)', done => { const headers = { - Origin: allowedOrigin, + 'Origin': allowedOrigin, 'Access-Control-Request-Method': 'GET', }; const headersResponse = { @@ -439,7 +439,7 @@ describe('Preflight CORS request with existing bucket', () => { done => { const requestOrigin = originContainingWildcard.replace('*', 'test'); const headers = { - Origin: requestOrigin, + 'Origin': requestOrigin, 'Access-Control-Request-Method': 'GET', }; const headersResponse = { @@ -456,7 +456,7 @@ describe('Preflight CORS request with existing bucket', () => { 'response access-control-request-origin header should return "*"', done => { const headers = { - Origin: anotherOrigin, + 'Origin': anotherOrigin, 'Access-Control-Request-Method': 'GET', }; const headersResponse = { @@ -500,7 +500,7 @@ describe('Preflight CORS request with existing bucket', () => { 'Access-Control-Request-Headers header value', done => { const headers = { - Origin: allowedOrigin, + 'Origin': allowedOrigin, 'Access-Control-Request-Method': 'GET', }; const headersResponse = { @@ -516,7 +516,7 @@ describe('Preflight CORS request with existing bucket', () => { "allowed origin and method with Access-Control-Request-Headers 'Content-Type'", done => { const headers = { - Origin: allowedOrigin, + 'Origin': allowedOrigin, 'Access-Control-Request-Method': 'GET', 'Access-Control-Request-Headers': 'content-type', }; @@ -535,7 +535,7 @@ describe('Preflight CORS request with existing bucket', () => { 'in addition to Content-Type', done => { const headers = { - Origin: allowedOrigin, + 'Origin': allowedOrigin, 'Access-Control-Request-Method': 'GET', 'Access-Control-Request-Headers': 'Origin, Accept, content-type', }; @@ -584,7 +584,7 @@ describe('Preflight CORS request with existing bucket', () => { done => { const requestHeaderValue = 'amz-meta-header-test, content-type'; const headers = { - Origin: allowedOrigin, + 'Origin': allowedOrigin, 'Access-Control-Request-Method': 'GET', 'Access-Control-Request-Headers': requestHeaderValue, }; @@ -603,7 +603,7 @@ describe('Preflight CORS request with existing bucket', () => { done => { const requestHeaderValue = 'Content-Type'; const headers = { - Origin: allowedOrigin, + 'Origin': allowedOrigin, 'Access-Control-Request-Method': 'GET', 'Access-Control-Request-Headers': requestHeaderValue, }; @@ -624,7 +624,7 @@ describe('Preflight CORS request with existing bucket', () => { const requestHeaderValue = 'content-type,,expires'; const expectedValue = 'content-type, expires'; const headers = { - Origin: allowedOrigin, + 'Origin': allowedOrigin, 'Access-Control-Request-Method': 'GET', 'Access-Control-Request-Headers': requestHeaderValue, }; @@ -644,7 +644,7 @@ describe('Preflight CORS request with existing bucket', () => { done => { const requestHeaderValue = 'puppies'; const headers = { - Origin: allowedOrigin, + 'Origin': allowedOrigin, 'Access-Control-Request-Method': 'GET', 'Access-Control-Request-Headers': requestHeaderValue, }; @@ -701,7 +701,7 @@ describe('Preflight CORS request with existing bucket', () => { 'request from allowed origin, allowed method and existing object key', done => { const headers = { - Origin: allowedOrigin, + 'Origin': allowedOrigin, 'Access-Control-Request-Method': 'GET', }; const headersResponse = { @@ -718,7 +718,7 @@ describe('Preflight CORS request with existing bucket', () => { 'from allowed origin, allowed method, even with non-existing object key', done => { const headers = { - Origin: allowedOrigin, + 'Origin': allowedOrigin, 'Access-Control-Request-Method': 'GET', }; const headersResponse = { @@ -764,9 +764,9 @@ describe('Preflight CORS request with existing bucket', () => { 'control headers even if request has fake auth credentials', done => { const headers = { - Origin: allowedOrigin, + 'Origin': allowedOrigin, 'Access-Control-Request-Method': 'GET', - Authorization: 'AWS fakeKey:fakesignature', + 'Authorization': 'AWS fakeKey:fakesignature', }; const headersResponse = { 'access-control-allow-origin': '*', @@ -782,9 +782,9 @@ describe('Preflight CORS request with existing bucket', () => { 'without cookies (200 and access control headers)', done => { const headers = { - Origin: allowedOrigin, + 'Origin': allowedOrigin, 'Access-Control-Request-Method': 'GET', - Cookie: 'testcookie=1', + 'Cookie': 'testcookie=1', }; const headersResponse = { 'access-control-allow-origin': '*', @@ -826,7 +826,7 @@ describe('Preflight CORS request with existing bucket', () => { 'response should include Access-Control-Expose-Headers header', done => { const headers = { - Origin: allowedOrigin, + 'Origin': allowedOrigin, 'Access-Control-Request-Method': 'GET', }; const headersResponse = { @@ -870,7 +870,7 @@ describe('Preflight CORS request with existing bucket', () => { 'response should include Access-Control-Max-Age header', done => { const headers = { - Origin: allowedOrigin, + 'Origin': allowedOrigin, 'Access-Control-Request-Method': 'GET', }; const headersResponse = { diff --git a/tests/functional/aws-node-sdk/test/object/websiteHead.js b/tests/functional/aws-node-sdk/test/object/websiteHead.js index d5df0de4f4..496791ab21 100644 --- a/tests/functional/aws-node-sdk/test/object/websiteHead.js +++ b/tests/functional/aws-node-sdk/test/object/websiteHead.js @@ -32,7 +32,7 @@ const redirectEndpoint = conf.https ? 'https://www.google.com/' : 'http://www.go const indexDocETag = '"95a589c37a2df74b062fb4d5a6f64197"'; const indexExpectedHeaders = { - etag: indexDocETag, + 'etag': indexDocETag, 'x-amz-meta-test': 'value', }; @@ -746,7 +746,7 @@ describe('Head request on bucket website endpoint', () => { it('should redirect 302 with trailing / on folder with index', done => { const expectedHeaders = { - location: '/file/', + 'location': '/file/', 'x-amz-error-code': 'Found', 'x-amz-error-message': 'Resource Found', }; diff --git a/tests/functional/aws-node-sdk/test/quota/tooling.js b/tests/functional/aws-node-sdk/test/quota/tooling.js index ef1519f81d..a7df9136b6 100644 --- a/tests/functional/aws-node-sdk/test/quota/tooling.js +++ b/tests/functional/aws-node-sdk/test/quota/tooling.js @@ -25,7 +25,7 @@ const sendRequest = async (method, host, path, body = '', config = null, signing query, body, headers: { - Host: host, // Explicitly set Host: 127.0.0.1:8000 + 'Host': host, // Explicitly set Host: 127.0.0.1:8000 'X-Amz-Date': signingDate.toISOString().replace(/[:\-]|\.\d{3}/g, ''), ...headers, }, diff --git a/tests/functional/backbeat/cleanReadLocalization.js b/tests/functional/backbeat/cleanReadLocalization.js index 2490081046..cd9b428d68 100644 --- a/tests/functional/backbeat/cleanReadLocalization.js +++ b/tests/functional/backbeat/cleanReadLocalization.js @@ -43,8 +43,8 @@ function buildMetadataBody(versionId, dataStoreName) { 'owner-display-name': 'test', versionId, dataStoreName, - location: null, - replicationInfo: { + 'location': null, + 'replicationInfo': { status: 'REPLICA', isReplica: true, backends: [], diff --git a/tests/functional/backbeat/excludedDataStoreName.js b/tests/functional/backbeat/excludedDataStoreName.js index 000f6728d5..7b6bf28acf 100644 --- a/tests/functional/backbeat/excludedDataStoreName.js +++ b/tests/functional/backbeat/excludedDataStoreName.js @@ -238,7 +238,7 @@ describe('excludedDataStoreName', () => { 'list-type': 'current', 'excluded-data-store-name': location2, 'max-keys': '1', - marker: 'key0', + 'marker': 'key0', }, authCredentials: credentials, }, diff --git a/tests/functional/backbeat/listLifecycleCurrents.js b/tests/functional/backbeat/listLifecycleCurrents.js index 7e4821bf51..217807ad30 100644 --- a/tests/functional/backbeat/listLifecycleCurrents.js +++ b/tests/functional/backbeat/listLifecycleCurrents.js @@ -209,7 +209,7 @@ function checkContents(contents, expectedKeyVersions) { { method: 'GET', bucket: testBucket, - queryObj: { 'list-type': 'current', prefix: 'unknown' }, + queryObj: { 'list-type': 'current', 'prefix': 'unknown' }, authCredentials: credentials, }, (err, response) => { @@ -496,7 +496,7 @@ function checkContents(contents, expectedKeyVersions) { { method: 'GET', bucket: testBucket, - queryObj: { 'list-type': 'current', 'before-date': date, 'max-keys': '1', marker: 'oldkey0' }, + queryObj: { 'list-type': 'current', 'before-date': date, 'max-keys': '1', 'marker': 'oldkey0' }, authCredentials: credentials, }, (err, response) => { @@ -528,7 +528,7 @@ function checkContents(contents, expectedKeyVersions) { { method: 'GET', bucket: testBucket, - queryObj: { 'list-type': 'current', 'before-date': date, 'max-keys': '1', marker: 'oldkey1' }, + queryObj: { 'list-type': 'current', 'before-date': date, 'max-keys': '1', 'marker': 'oldkey1' }, authCredentials: credentials, }, (err, response) => { @@ -696,7 +696,7 @@ describe('listLifecycleCurrents with bucket versioning enabled and maxKeys', () queryObj: { 'list-type': 'current', 'max-keys': '1', - marker: 'key0', + 'marker': 'key0', }, authCredentials: credentials, }, @@ -729,7 +729,7 @@ describe('listLifecycleCurrents with bucket versioning enabled and maxKeys', () queryObj: { 'list-type': 'current', 'max-keys': '1', - marker: 'key1', + 'marker': 'key1', }, authCredentials: credentials, }, @@ -905,7 +905,7 @@ describe('listLifecycleCurrents with bucket versioning enabled and delete object queryObj: { 'list-type': 'current', 'max-keys': '1', - marker: keyName0, + 'marker': keyName0, }, authCredentials: credentials, }, diff --git a/tests/functional/backbeat/listLifecycleNonCurrents.js b/tests/functional/backbeat/listLifecycleNonCurrents.js index 46d69c06f6..baf5a22384 100644 --- a/tests/functional/backbeat/listLifecycleNonCurrents.js +++ b/tests/functional/backbeat/listLifecycleNonCurrents.js @@ -246,7 +246,7 @@ describe('listLifecycleNonCurrents', () => { { method: 'GET', bucket: testBucket, - queryObj: { 'list-type': 'noncurrent', prefix: 'unknown' }, + queryObj: { 'list-type': 'noncurrent', 'prefix': 'unknown' }, authCredentials: credentials, }, (err, response) => { diff --git a/tests/functional/backbeat/listLifecycleOrphanDeleteMarkers.js b/tests/functional/backbeat/listLifecycleOrphanDeleteMarkers.js index 5e08d2d642..7a7418b381 100644 --- a/tests/functional/backbeat/listLifecycleOrphanDeleteMarkers.js +++ b/tests/functional/backbeat/listLifecycleOrphanDeleteMarkers.js @@ -215,7 +215,7 @@ describe('listLifecycleOrphanDeleteMarkers', () => { { method: 'GET', bucket: testBucket, - queryObj: { 'list-type': 'orphan', prefix: 'unknown' }, + queryObj: { 'list-type': 'orphan', 'prefix': 'unknown' }, authCredentials: credentials, }, (err, response) => { @@ -567,7 +567,7 @@ describe('listLifecycleOrphanDeleteMarkers', () => { { method: 'GET', bucket: testBucket, - queryObj: { 'list-type': 'orphan', 'before-date': date, 'max-keys': '1', marker: 'key0old' }, + queryObj: { 'list-type': 'orphan', 'before-date': date, 'max-keys': '1', 'marker': 'key0old' }, authCredentials: credentials, }, (err, response) => { @@ -597,7 +597,7 @@ describe('listLifecycleOrphanDeleteMarkers', () => { { method: 'GET', bucket: testBucket, - queryObj: { 'list-type': 'orphan', 'before-date': date, 'max-keys': '1', marker: 'key1old' }, + queryObj: { 'list-type': 'orphan', 'before-date': date, 'max-keys': '1', 'marker': 'key1old' }, authCredentials: credentials, }, (err, response) => { @@ -627,7 +627,7 @@ describe('listLifecycleOrphanDeleteMarkers', () => { { method: 'GET', bucket: testBucket, - queryObj: { 'list-type': 'orphan', 'before-date': date, 'max-keys': '1', marker: 'key2old' }, + queryObj: { 'list-type': 'orphan', 'before-date': date, 'max-keys': '1', 'marker': 'key2old' }, authCredentials: credentials, }, (err, response) => { diff --git a/tests/functional/backbeat/putMetadata.js b/tests/functional/backbeat/putMetadata.js index 410c4acc5b..451bf7f141 100644 --- a/tests/functional/backbeat/putMetadata.js +++ b/tests/functional/backbeat/putMetadata.js @@ -51,7 +51,7 @@ function buildMetadataBody(overrides) { 'owner-id': CANONICAL_ID, 'owner-display-name': 'test', 'content-md5': OBJECT_MD5_HEX, - replicationInfo: { + 'replicationInfo': { status: 'REPLICA', isReplica: true, backends: [], @@ -346,7 +346,7 @@ describe('putMetadata : cascade replication behavior (with replication content)' Bucket: TEST_BUCKET, Key: key, MicroVersionId: '', - Body: buildMetadataBody({ 'content-length': 0, location: null }), + Body: buildMetadataBody({ 'content-length': 0, 'location': null }), }), ); const { Body } = await backbeatClient.send(new GetMetadataCommand({ Bucket: TEST_BUCKET, Key: key })); diff --git a/tests/functional/healthchecks/test/checkRoutes.js b/tests/functional/healthchecks/test/checkRoutes.js index 0ce8ba92ab..8f50db1a0d 100644 --- a/tests/functional/healthchecks/test/checkRoutes.js +++ b/tests/functional/healthchecks/test/checkRoutes.js @@ -164,7 +164,7 @@ describe('Healthcheck stats', () => { if (err) { return done(err); } - const expectedStatsRes = { requests: totalReqs, '500s': 0, sampleDuration: 30 }; + const expectedStatsRes = { 'requests': totalReqs, '500s': 0, 'sampleDuration': 30 }; assert.deepStrictEqual(JSON.parse(res), expectedStatsRes); return done(); }); diff --git a/tests/functional/jaws/pom.xml b/tests/functional/jaws/pom.xml index 23ab917b61..176e0f91be 100644 --- a/tests/functional/jaws/pom.xml +++ b/tests/functional/jaws/pom.xml @@ -73,7 +73,7 @@ junit junit - 4.11 + 4.13.2 com.amazonaws diff --git a/tests/functional/raw-node/test/badChunkSignatureV4.js b/tests/functional/raw-node/test/badChunkSignatureV4.js index 9bc039c642..76cfe006af 100644 --- a/tests/functional/raw-node/test/badChunkSignatureV4.js +++ b/tests/functional/raw-node/test/badChunkSignatureV4.js @@ -62,7 +62,7 @@ function testChunkedPutWithBadSignature(n, alterSignatureChunkId, cb) { method: 'PUT', headers: { 'content-length': N_DATA_CHUNKS * DATA_CHUNK_SIZE, - connection: 'keep-alive', + 'connection': 'keep-alive', }, alterSignatureChunkId, }, diff --git a/tests/functional/raw-node/test/malformedDateHeader.js b/tests/functional/raw-node/test/malformedDateHeader.js index 256b5a5985..a33bb904f6 100644 --- a/tests/functional/raw-node/test/malformedDateHeader.js +++ b/tests/functional/raw-node/test/malformedDateHeader.js @@ -12,12 +12,12 @@ describe('malformed Date header:', () => { path: `/${bucket}/${objectKey}`, method: 'GET', headers: { - Date: 'BAD_DATE', - Authorization: + 'Date': 'BAD_DATE', + 'Authorization': 'AWS4-HMAC-SHA256 Credential=accessKey1/20260211/us-east-1/s3/aws4_request, ' + 'SignedHeaders=host, Signature=d459d5b2a2395b4c65d8f8aa2729b22c5abb04614fafbd93ab4fe203e76d21a3', 'X-Amz-Content-Sha256': 'fa8d015f89da2a769d1cea7e3bd77a5670d098d7844cda148a40c1304e5b778b', - Host: 'localhost:8000', + 'Host': 'localhost:8000', }, }; @@ -50,12 +50,12 @@ describe('malformed Date header:', () => { method: 'GET', headers: { 'X-Amz-Date': 'BAD_DATE', - Authorization: + 'Authorization': 'AWS4-HMAC-SHA256 Credential=accessKey1/20260211/us-east-1/s3/aws4_request, ' + 'SignedHeaders=host;x-amz-date, ' + 'Signature=d459d5b2a2395b4c65d8f8aa2729b22c5abb04614fafbd93ab4fe203e76d21a3', 'X-Amz-Content-Sha256': 'fa8d015f89da2a769d1cea7e3bd77a5670d098d7844cda148a40c1304e5b778b', - Host: 'localhost:8000', + 'Host': 'localhost:8000', }, }; diff --git a/tests/functional/raw-node/test/unsignedChecksumHeaders.js b/tests/functional/raw-node/test/unsignedChecksumHeaders.js index 87b422891f..f2dd1662e0 100644 --- a/tests/functional/raw-node/test/unsignedChecksumHeaders.js +++ b/tests/functional/raw-node/test/unsignedChecksumHeaders.js @@ -34,7 +34,7 @@ class HttpRequestAuthV4NoSHA256SignedHeader extends HttpRequestAuthV4 { const urlObj = new url.URL(this._url); const signedHeaders = { - host: urlObj.host, + 'host': urlObj.host, 'x-amz-date': this._timestamp, }; const httpHeaders = Object.assign({}, this._httpParams.headers); diff --git a/tests/functional/raw-node/utils/HttpRequestAuthV4.js b/tests/functional/raw-node/utils/HttpRequestAuthV4.js index 3c3ec32f90..d4ed4a10f1 100644 --- a/tests/functional/raw-node/utils/HttpRequestAuthV4.js +++ b/tests/functional/raw-node/utils/HttpRequestAuthV4.js @@ -176,7 +176,7 @@ class HttpRequestAuthV4 extends stream.Writable { const urlObj = new url.URL(this._url); const signedHeaders = { - host: urlObj.host, + 'host': urlObj.host, 'x-amz-date': this._timestamp, }; const httpHeaders = Object.assign({}, this._httpParams.headers); diff --git a/tests/functional/raw-node/utils/MetadataMock.js b/tests/functional/raw-node/utils/MetadataMock.js index 4040fbb7aa..18083fa803 100644 --- a/tests/functional/raw-node/utils/MetadataMock.js +++ b/tests/functional/raw-node/utils/MetadataMock.js @@ -69,18 +69,18 @@ const objectList = { 'x-amz-server-side-encryption-aws-kms-key-id': '', 'x-amz-server-side-encryption-customer-algorithm': '', 'x-amz-website-redirect-location': '', - acl: { + 'acl': { Canned: 'private', FULL_CONTROL: [], WRITE_ACP: [], READ: [], READ_ACP: [], }, - key: '', - location: null, - isDeleteMarker: false, - tags: {}, - replicationInfo: { + 'key': '', + 'location': null, + 'isDeleteMarker': false, + 'tags': {}, + 'replicationInfo': { status: '', backends: [], content: [], @@ -90,7 +90,7 @@ const objectList = { storageType: '', dataStoreVersionId: '', }, - dataStoreName: 'us-east-1', + 'dataStoreName': 'us-east-1', 'last-modified': '2018-02-16T22:43:37.174Z', 'md-model-version': 3, }), @@ -287,7 +287,7 @@ class MetadataMock { return res.end( JSON.stringify({ 'owner-id': '123', - metadata: 'dogsAreGood', + 'metadata': 'dogsAreGood', }), ); } else if (mockLogURLRegex.test(req.url)) { diff --git a/tests/multipleBackend/multipartUpload.js b/tests/multipleBackend/multipartUpload.js index debb9d9541..678df05ea3 100644 --- a/tests/multipleBackend/multipartUpload.js +++ b/tests/multipleBackend/multipartUpload.js @@ -267,7 +267,7 @@ function mpuSetup(location, key, cb) { bucketName, namespace, objectKey: key, - headers: { host: `${bucketName}.s3.amazonaws.com`, 'x-amz-meta-scal-location-constraint': location }, + headers: { 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-meta-scal-location-constraint': location }, url: `/${key}?uploads`, parsedHost: 'localhost', actionImplicitDenies: false, @@ -286,7 +286,7 @@ function putObject(putBackend, objectKey, cb) { const putParams = Object.assign( { headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-meta-scal-location-constraint': putBackend, }, url: '/', @@ -350,7 +350,7 @@ describe('Multipart Upload API with AWS Backend', function mpuTestSuite() { namespace, objectKey, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-meta-scal-location-constraint': `${awsLocation}`, }, url: `/${objectKey}?uploads`, @@ -373,7 +373,7 @@ describe('Multipart Upload API with AWS Backend', function mpuTestSuite() { namespace, objectKey, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-meta-scal-location-constraint': `${awsLocationMismatch}`, }, url: `/${objectKey}?uploads`, @@ -396,7 +396,7 @@ describe('Multipart Upload API with AWS Backend', function mpuTestSuite() { namespace, objectKey, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-meta-scal-location-constraint': `${awsLocation}`, 'x-amz-tagging': tagSet, }, @@ -617,7 +617,7 @@ describe('Multipart Upload API with AWS Backend', function mpuTestSuite() { namespace, objectKey, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-meta-scal-location-constraint': awsLocation, }, url: `/${objectKey}?uploads`, diff --git a/tests/multipleBackend/objectPutCopyPart.js b/tests/multipleBackend/objectPutCopyPart.js index ceff94a7da..5d2ebb86a2 100644 --- a/tests/multipleBackend/objectPutCopyPart.js +++ b/tests/multipleBackend/objectPutCopyPart.js @@ -86,7 +86,7 @@ function copyPutPart(bucketLoc, mpuLoc, srcObjLoc, requestHost, cb, errorPutCopy }; if (mpuLoc) { initiateReq.headers = { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-meta-scal-location-constraint': `${mpuLoc}`, }; } @@ -103,7 +103,7 @@ function copyPutPart(bucketLoc, mpuLoc, srcObjLoc, requestHost, cb, errorPutCopy }; if (srcObjLoc) { sourceObjPutParams.headers = { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-meta-scal-location-constraint': `${srcObjLoc}`, }; } diff --git a/tests/multipleBackend/objectPutPart.js b/tests/multipleBackend/objectPutPart.js index a93e88b545..e6579f9ca2 100644 --- a/tests/multipleBackend/objectPutPart.js +++ b/tests/multipleBackend/objectPutPart.js @@ -75,7 +75,7 @@ function putPart(bucketLoc, mpuLoc, requestHost, cb, errorDescription) { }; if (mpuLoc) { initiateReq.headers = { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-meta-scal-location-constraint': `${mpuLoc}`, }; } @@ -219,7 +219,10 @@ describeSkipIfE2E('objectPutPart API with multiple backends', function testSuite bucketName, namespace, objectKey: objectName, - headers: { host: `${bucketName}.s3.amazonaws.com`, 'x-amz-meta-scal-location-constraint': awsLocation }, + headers: { + 'host': `${bucketName}.s3.amazonaws.com`, + 'x-amz-meta-scal-location-constraint': awsLocation, + }, url: `/${objectName}?partNumber=1&uploadId=${uploadId}`, query: { partNumber: '1', diff --git a/tests/multipleBackend/routes/routeBackbeat.js b/tests/multipleBackend/routes/routeBackbeat.js index 666d60a746..3e8a3bfe14 100644 --- a/tests/multipleBackend/routes/routeBackbeat.js +++ b/tests/multipleBackend/routes/routeBackbeat.js @@ -71,18 +71,18 @@ const testMd = { 'x-amz-server-side-encryption': '', 'x-amz-server-side-encryption-aws-kms-key-id': '', 'x-amz-server-side-encryption-customer-algorithm': '', - location: null, - acl: { + 'location': null, + 'acl': { Canned: 'private', FULL_CONTROL: [], WRITE_ACP: [], READ: [], READ_ACP: [], }, - nullVersionId: '99999999999999999999RG001 ', - isDeleteMarker: false, - versionId: '98505119639965999999RG001 ', - replicationInfo: { + 'nullVersionId': '99999999999999999999RG001 ', + 'isDeleteMarker': false, + 'versionId': '98505119639965999999RG001 ', + 'replicationInfo': { status: 'COMPLETED', backends: [{ site: 'zenko', status: 'PENDING' }], content: ['DATA', 'METADATA'], @@ -107,19 +107,19 @@ const nonVersionedTestMd = { 'x-amz-server-side-encryption': '', 'x-amz-server-side-encryption-aws-kms-key-id': '', 'x-amz-server-side-encryption-customer-algorithm': '', - acl: { + 'acl': { Canned: 'private', FULL_CONTROL: [], WRITE_ACP: [], READ: [], READ_ACP: [], }, - location: null, - isNull: '', - nullVersionId: '', - isDeleteMarker: false, - tags: {}, - replicationInfo: { + 'location': null, + 'isNull': '', + 'nullVersionId': '', + 'isDeleteMarker': false, + 'tags': {}, + 'replicationInfo': { status: '', backends: [], content: [], @@ -130,7 +130,7 @@ const nonVersionedTestMd = { dataStoreVersionId: '', isNFS: null, }, - dataStoreName: 'us-east-1', + 'dataStoreName': 'us-east-1', 'last-modified': '2018-12-18T01:22:15.986Z', 'md-model-version': 3, }; diff --git a/tests/sur/routeVeeam.js b/tests/sur/routeVeeam.js index ac073a7177..7dd3420dee 100644 --- a/tests/sur/routeVeeam.js +++ b/tests/sur/routeVeeam.js @@ -439,7 +439,7 @@ function makeVeeamRequest(params, callback) { bucket: TEST_BUCKET, objectKey: key[0], headers: { - origin: 'http://localhost:8000', + 'origin': 'http://localhost:8000', 'content-length': key[1].length, 'content-md5': key[2], 'x-scal-canonical-id': testArn, @@ -462,7 +462,7 @@ function makeVeeamRequest(params, callback) { bucket: TEST_BUCKET, objectKey: key[0], headers: { - origin: 'http://localhost:8000', + 'origin': 'http://localhost:8000', 'x-scal-canonical-id': testArn, }, authCredentials: veeamAuthCredentials, diff --git a/tests/unit/api/apiUtils/getReplicationInfo.js b/tests/unit/api/apiUtils/getReplicationInfo.js index e78d1fcf5e..fc4ed395d7 100644 --- a/tests/unit/api/apiUtils/getReplicationInfo.js +++ b/tests/unit/api/apiUtils/getReplicationInfo.js @@ -33,7 +33,7 @@ function _getObjectReplicationInfo(s3config, replicationConfig, key, objectMD) { const TEST_CONFIG = { locationConstraints: { - awsbackend: { + 'awsbackend': { type: 'aws_s3', objectId: 'awsbackend', legacyAwsBehavior: true, @@ -44,7 +44,7 @@ const TEST_CONFIG = { credentialsProfile: 'default', }, }, - azurebackend: { + 'azurebackend': { type: 'azure', objectId: 'azurebackend', legacyAwsBehavior: true, diff --git a/tests/unit/api/apiUtils/integrity/validateChecksums.js b/tests/unit/api/apiUtils/integrity/validateChecksums.js index f58b1d74c0..686b395150 100644 --- a/tests/unit/api/apiUtils/integrity/validateChecksums.js +++ b/tests/unit/api/apiUtils/integrity/validateChecksums.js @@ -1235,7 +1235,7 @@ describe('getCopyObjectChecksumAlgorithm', () => { it('should ignore unrelated headers', () => { const result = getCopyObjectChecksumAlgorithm({ 'content-type': 'application/octet-stream', - host: 'example.com', + 'host': 'example.com', }); assert.strictEqual(result.error, null); assert.strictEqual(result.algorithm, null); @@ -1291,10 +1291,10 @@ const sigV4Auth = describe('parseContentSHA256', () => { // build SigV4 header-auth headers carrying the given x-amz-content-sha256 - const v4 = value => ({ authorization: sigV4Auth, 'x-amz-content-sha256': value }); + const v4 = value => ({ 'authorization': sigV4Auth, 'x-amz-content-sha256': value }); it('should return Skip for non-SigV4 header auth, capturing the value', () => { - assert.deepStrictEqual(parseContentSHA256({ authorization: 'AWS AKID:sig', 'x-amz-content-sha256': 'abc' }), { + assert.deepStrictEqual(parseContentSHA256({ 'authorization': 'AWS AKID:sig', 'x-amz-content-sha256': 'abc' }), { type: ContentSHA256Type.Skip, value: 'abc', }); @@ -1358,21 +1358,24 @@ describe('validateXAmzContentSHA256', () => { it('should return null when the hash matches the body', () => { assert.ifError( - validateXAmzContentSHA256({ authorization: sigV4Auth, 'x-amz-content-sha256': correctHex }, body), + validateXAmzContentSHA256({ 'authorization': sigV4Auth, 'x-amz-content-sha256': correctHex }, body), ); }); it('should return null for an uppercase hash that matches (case-insensitive)', () => { assert.ifError( validateXAmzContentSHA256( - { authorization: sigV4Auth, 'x-amz-content-sha256': correctHex.toUpperCase() }, + { 'authorization': sigV4Auth, 'x-amz-content-sha256': correctHex.toUpperCase() }, body, ), ); }); it('should return ContentSHA256Mismatch with calculated/expected details on mismatch', () => { - const result = validateXAmzContentSHA256({ authorization: sigV4Auth, 'x-amz-content-sha256': wrongHex }, body); + const result = validateXAmzContentSHA256( + { 'authorization': sigV4Auth, 'x-amz-content-sha256': wrongHex }, + body, + ); assert.strictEqual(result.error, ChecksumError.ContentSHA256Mismatch); assert.strictEqual(result.details.expected, wrongHex); assert.strictEqual(result.details.calculated, correctHex); @@ -1385,21 +1388,21 @@ describe('validateXAmzContentSHA256', () => { }); it('should return ContentSHA256Invalid for a malformed value', () => { - const result = validateXAmzContentSHA256({ authorization: sigV4Auth, 'x-amz-content-sha256': 'xxx' }, body); + const result = validateXAmzContentSHA256({ 'authorization': sigV4Auth, 'x-amz-content-sha256': 'xxx' }, body); assert.strictEqual(result.error, ChecksumError.ContentSHA256Invalid); assert.strictEqual(result.details.value, 'xxx'); }); it('should return null for UNSIGNED-PAYLOAD', () => { assert.ifError( - validateXAmzContentSHA256({ authorization: sigV4Auth, 'x-amz-content-sha256': 'UNSIGNED-PAYLOAD' }, body), + validateXAmzContentSHA256({ 'authorization': sigV4Auth, 'x-amz-content-sha256': 'UNSIGNED-PAYLOAD' }, body), ); }); it('should return null for a streaming token', () => { assert.ifError( validateXAmzContentSHA256( - { authorization: sigV4Auth, 'x-amz-content-sha256': 'STREAMING-AWS4-HMAC-SHA256-PAYLOAD' }, + { 'authorization': sigV4Auth, 'x-amz-content-sha256': 'STREAMING-AWS4-HMAC-SHA256-PAYLOAD' }, body, ), ); @@ -1407,20 +1410,23 @@ describe('validateXAmzContentSHA256', () => { it('should return null (skip) for non-SigV4 auth even with a wrong hash', () => { assert.ifError( - validateXAmzContentSHA256({ authorization: 'AWS AKID:sig', 'x-amz-content-sha256': wrongHex }, body), + validateXAmzContentSHA256({ 'authorization': 'AWS AKID:sig', 'x-amz-content-sha256': wrongHex }, body), ); }); it('should return null when the hash matches an empty body', () => { const emptyHex = crypto.createHash('sha256').update(Buffer.alloc(0)).digest('hex'); assert.ifError( - validateXAmzContentSHA256({ authorization: sigV4Auth, 'x-amz-content-sha256': emptyHex }, Buffer.alloc(0)), + validateXAmzContentSHA256( + { 'authorization': sigV4Auth, 'x-amz-content-sha256': emptyHex }, + Buffer.alloc(0), + ), ); }); it('should return ContentSHA256Mismatch for an empty body with a wrong hash', () => { const result = validateXAmzContentSHA256( - { authorization: sigV4Auth, 'x-amz-content-sha256': wrongHex }, + { 'authorization': sigV4Auth, 'x-amz-content-sha256': wrongHex }, Buffer.alloc(0), ); assert.strictEqual(result.error, ChecksumError.ContentSHA256Mismatch); @@ -1433,7 +1439,7 @@ describe('validateXAmzContentSHA256', () => { describe('mapped through arsenalErrorFromChecksumError', () => { it('should map mismatch to XAmzContentSHA256Mismatch (400)', () => { const result = validateXAmzContentSHA256( - { authorization: sigV4Auth, 'x-amz-content-sha256': wrongHex }, + { 'authorization': sigV4Auth, 'x-amz-content-sha256': wrongHex }, body, ); const err = arsenalErrorFromChecksumError(result); @@ -1442,7 +1448,10 @@ describe('validateXAmzContentSHA256', () => { }); it('should map invalid to InvalidArgument (400)', () => { - const result = validateXAmzContentSHA256({ authorization: sigV4Auth, 'x-amz-content-sha256': 'xxx' }, body); + const result = validateXAmzContentSHA256( + { 'authorization': sigV4Auth, 'x-amz-content-sha256': 'xxx' }, + body, + ); const err = arsenalErrorFromChecksumError(result); assert.strictEqual(err.message, 'InvalidArgument'); assert.strictEqual(err.code, 400); @@ -1466,7 +1475,7 @@ describe('validateMethodChecksumNoChunking x-amz-content-sha256', () => { const wrongHex = crypto.createHash('sha256').update('other').digest('hex'); const request = { apiMethod: 'bucketPutCors', - headers: { authorization: sigV4Auth, 'x-amz-content-sha256': wrongHex }, + headers: { 'authorization': sigV4Auth, 'x-amz-content-sha256': wrongHex }, }; const result = await validateMethodChecksumNoChunking(request, body, new DummyRequestLogger()); assert.strictEqual(result.message, 'XAmzContentSHA256Mismatch'); @@ -1476,7 +1485,7 @@ describe('validateMethodChecksumNoChunking x-amz-content-sha256', () => { it('should accept a matching x-amz-content-sha256', async () => { const request = { apiMethod: 'bucketPutCors', - headers: { authorization: sigV4Auth, 'x-amz-content-sha256': correctHex, 'content-md5': correctMd5 }, + headers: { 'authorization': sigV4Auth, 'x-amz-content-sha256': correctHex, 'content-md5': correctMd5 }, }; const result = await validateMethodChecksumNoChunking(request, body, new DummyRequestLogger()); assert.ifError(result); @@ -1676,7 +1685,7 @@ describe('validateMethodChecksumNoChunking with checksums disabled', () => { it('should still enforce x-amz-content-sha256', async () => { const wrongHex = crypto.createHash('sha256').update('other').digest('hex'); - const result = await run({ authorization: sigV4Header, 'x-amz-content-sha256': wrongHex }); + const result = await run({ 'authorization': sigV4Header, 'x-amz-content-sha256': wrongHex }); assert.strictEqual(result.message, 'XAmzContentSHA256Mismatch'); }); diff --git a/tests/unit/api/apiUtils/object/objectAttributes.js b/tests/unit/api/apiUtils/object/objectAttributes.js index a8ce74e197..2f9acdc553 100644 --- a/tests/unit/api/apiUtils/object/objectAttributes.js +++ b/tests/unit/api/apiUtils/object/objectAttributes.js @@ -56,7 +56,7 @@ describe('buildXmlAttributes', () => { 'content-md5': '16e37e19194511993498801d4692795f', 'content-length': 5000, 'x-amz-storage-class': 'STANDARD', - restoreStatus: { + 'restoreStatus': { inProgress: false, expiryDate: 'Fri, 20 Feb 2026 12:00:00 GMT', }, diff --git a/tests/unit/api/apiUtils/object/prepareStream.js b/tests/unit/api/apiUtils/object/prepareStream.js index 4921b9dc30..62bb914fba 100644 --- a/tests/unit/api/apiUtils/object/prepareStream.js +++ b/tests/unit/api/apiUtils/object/prepareStream.js @@ -280,7 +280,7 @@ describe('prepareStream', () => { }); it('should still validate a literal x-amz-content-sha256 payload hash', done => { - const request = makeRequest({ authorization: sigV4Auth, 'x-amz-content-sha256': bodyHex }, bodyData); + const request = makeRequest({ 'authorization': sigV4Auth, 'x-amz-content-sha256': bodyHex }, bodyData); const result = prepareStream(request, null, null, log, done); assert.strictEqual(result.primaryChecksumStream, null); assert.strictEqual(result.secondaryChecksumStream, null); @@ -354,7 +354,7 @@ describe('prepareStream', () => { describe('default (literal sha256 payload hash)', () => { it('should return a ContentSHA256Transform for a SigV4 header-auth request with a hex value', () => { - const request = makeRequest({ authorization: sigV4Auth, 'x-amz-content-sha256': bodyHex }); + const request = makeRequest({ 'authorization': sigV4Auth, 'x-amz-content-sha256': bodyHex }); const result = prepareStream(request, null, defaultChecksums, log, () => {}); assert.strictEqual(result.error, null); assert(result.stream instanceof ChecksumTransform); @@ -362,13 +362,13 @@ describe('prepareStream', () => { }); it('should return null contentSHA256Stream for UNSIGNED-PAYLOAD', () => { - const request = makeRequest({ authorization: sigV4Auth, 'x-amz-content-sha256': 'UNSIGNED-PAYLOAD' }); + const request = makeRequest({ 'authorization': sigV4Auth, 'x-amz-content-sha256': 'UNSIGNED-PAYLOAD' }); const result = prepareStream(request, null, defaultChecksums, log, () => {}); assert.strictEqual(result.contentSHA256Stream, null); }); it('should return null contentSHA256Stream for non-SigV4 (SigV2) auth even with a hex value', () => { - const request = makeRequest({ authorization: 'AWS AKID:sig', 'x-amz-content-sha256': bodyHex }); + const request = makeRequest({ 'authorization': 'AWS AKID:sig', 'x-amz-content-sha256': bodyHex }); const result = prepareStream(request, null, defaultChecksums, log, () => {}); assert.strictEqual(result.contentSHA256Stream, null); }); @@ -380,7 +380,7 @@ describe('prepareStream', () => { }); it('should accumulate the body sha256 so validateChecksum passes when the hex matches', done => { - const request = makeRequest({ authorization: sigV4Auth, 'x-amz-content-sha256': bodyHex }, bodyData); + const request = makeRequest({ 'authorization': sigV4Auth, 'x-amz-content-sha256': bodyHex }, bodyData); const result = prepareStream(request, null, defaultChecksums, log, done); result.stream.resume(); result.stream.on('finish', () => { @@ -391,7 +391,7 @@ describe('prepareStream', () => { }); it('should pipe contentSHA256Stream upstream of a secondary checksum stream', done => { - const request = makeRequest({ authorization: sigV4Auth, 'x-amz-content-sha256': bodyHex }, bodyData); + const request = makeRequest({ 'authorization': sigV4Auth, 'x-amz-content-sha256': bodyHex }, bodyData); const checksums = { primary: { algorithm: 'crc64nvme', isTrailer: false, expected: undefined }, secondary: { algorithm: 'crc32', isTrailer: false, expected: undefined }, @@ -409,7 +409,7 @@ describe('prepareStream', () => { }); it('should invoke errCb only once when multiple streams error', () => { - const request = makeRequest({ authorization: sigV4Auth, 'x-amz-content-sha256': bodyHex }); + const request = makeRequest({ 'authorization': sigV4Auth, 'x-amz-content-sha256': bodyHex }); let count = 0; const result = prepareStream(request, null, defaultChecksums, log, () => { count += 1; @@ -465,7 +465,7 @@ describe('prepareStream with checksums disabled', () => { it('should still validate a literal x-amz-content-sha256 payload hash', done => { // x-amz-content-sha256 is SigV4 load-bearing and out of scope for the flag. - const request = makeRequest({ authorization: sigV4Auth, 'x-amz-content-sha256': bodyHex }, bodyData); + const request = makeRequest({ 'authorization': sigV4Auth, 'x-amz-content-sha256': bodyHex }, bodyData); const result = prepareStream(request, null, defaultChecksums, log, done); assert.strictEqual(result.primaryChecksumStream, null); assert(result.contentSHA256Stream instanceof ContentSHA256Transform); diff --git a/tests/unit/api/apiUtils/object/storeObject.js b/tests/unit/api/apiUtils/object/storeObject.js index d04ea1e998..ee04b02add 100644 --- a/tests/unit/api/apiUtils/object/storeObject.js +++ b/tests/unit/api/apiUtils/object/storeObject.js @@ -352,7 +352,7 @@ describe('dataStore', () => { it('should still validate x-amz-content-sha256 against the body', done => { batchDeleteSucceeds(); putSucceeds(); - const request = makeStream({ authorization: sigV4Auth, 'x-amz-content-sha256': wrongHex }, 'hello world'); + const request = makeStream({ 'authorization': sigV4Auth, 'x-amz-content-sha256': wrongHex }, 'hello world'); dataStore({}, null, request, 0, null, {}, null, log, err => { assert.strictEqual(err.message, 'XAmzContentSHA256Mismatch'); assert(batchDeleteStub.calledOnce); @@ -365,7 +365,7 @@ describe('dataStore', () => { it('should call cb with XAmzContentSHA256Mismatch and delete stored data when the hash does not match', done => { batchDeleteSucceeds(); putSucceeds(); - const request = makeStream({ authorization: sigV4Auth, 'x-amz-content-sha256': wrongHex }, 'hello world'); + const request = makeStream({ 'authorization': sigV4Auth, 'x-amz-content-sha256': wrongHex }, 'hello world'); dataStore({}, null, request, 0, null, {}, defaultChecksums, log, err => { assert.strictEqual(err.message, 'XAmzContentSHA256Mismatch'); assert(batchDeleteStub.calledOnce); @@ -376,7 +376,7 @@ describe('dataStore', () => { it('should not delete stored data when the hash matches the body', done => { putSucceeds(); const request = makeStream( - { authorization: sigV4Auth, 'x-amz-content-sha256': helloWorldHex }, + { 'authorization': sigV4Auth, 'x-amz-content-sha256': helloWorldHex }, 'hello world', ); dataStore({}, null, request, 0, null, {}, defaultChecksums, log, err => { @@ -389,7 +389,7 @@ describe('dataStore', () => { it('should validate x-amz-content-sha256 before the secondary checksum', done => { batchDeleteSucceeds(); putSucceeds(); - const request = makeStream({ authorization: sigV4Auth, 'x-amz-content-sha256': wrongHex }, 'hello world'); + const request = makeStream({ 'authorization': sigV4Auth, 'x-amz-content-sha256': wrongHex }, 'hello world'); // The secondary checksum also mismatches, but the content-sha256 // error is checked first and takes precedence. const checksums = { @@ -406,7 +406,7 @@ describe('dataStore', () => { it('should call cb with XAmzContentSHA256Mismatch when the hash mismatches and batchDelete also fails', done => { batchDeleteStub.callsFake((keys, a, b, log2, cb) => cb(errors.InternalError)); putSucceeds(); - const request = makeStream({ authorization: sigV4Auth, 'x-amz-content-sha256': wrongHex }, 'hello world'); + const request = makeStream({ 'authorization': sigV4Auth, 'x-amz-content-sha256': wrongHex }, 'hello world'); dataStore({}, null, request, 0, null, {}, defaultChecksums, log, err => { assert.strictEqual(err.message, 'XAmzContentSHA256Mismatch'); done(); diff --git a/tests/unit/api/apiUtils/permissionChecks.js b/tests/unit/api/apiUtils/permissionChecks.js index 6951f44895..20faf3f5fa 100644 --- a/tests/unit/api/apiUtils/permissionChecks.js +++ b/tests/unit/api/apiUtils/permissionChecks.js @@ -804,7 +804,7 @@ describe('aclRequired field in isObjAuthorized', () => { function makeObjectMD(ownerId) { return { 'owner-id': ownerId, - acl: { + 'acl': { Canned: '', FULL_CONTROL: [], READ: [], diff --git a/tests/unit/api/apiUtils/quotas/quotaUtils.js b/tests/unit/api/apiUtils/quotas/quotaUtils.js index 4e15c38302..87bea7f256 100644 --- a/tests/unit/api/apiUtils/quotas/quotaUtils.js +++ b/tests/unit/api/apiUtils/quotas/quotaUtils.js @@ -893,7 +893,7 @@ describe('processBytesToWrite', () => { const hotObject = { 'content-length': 100, - dataStoreName: 'eu-west-1', + 'dataStoreName': 'eu-west-1', }; const coldObject = { ...hotObject, @@ -912,9 +912,9 @@ describe('processBytesToWrite', () => { }; const restoredObject = { ...restoringObject, - dataStoreName: 'eu-west-1', + 'dataStoreName': 'eu-west-1', 'x-amz-storage-class': 'glacier', - archive: { + 'archive': { ...restoringObject.archive, restoreCompletedAt: new Date(Date.now() - 3600 * 1000), restoreWillExpireAt: new Date(Date.now() + 23 * 3600 * 1000), diff --git a/tests/unit/api/apiUtils/tagConditionKeys.js b/tests/unit/api/apiUtils/tagConditionKeys.js index 31ce684f93..2503826386 100644 --- a/tests/unit/api/apiUtils/tagConditionKeys.js +++ b/tests/unit/api/apiUtils/tagConditionKeys.js @@ -38,7 +38,7 @@ const objectPutReq = new DummyRequest( namespace, objectKey, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-tagging': makeTagQuery(taggingUtil.getTags()), }, url: `/${bucketName}/${objectKey}`, diff --git a/tests/unit/api/apiUtils/validatePayloadProtocol.js b/tests/unit/api/apiUtils/validatePayloadProtocol.js index 0a5e336c38..0496b10d0e 100644 --- a/tests/unit/api/apiUtils/validatePayloadProtocol.js +++ b/tests/unit/api/apiUtils/validatePayloadProtocol.js @@ -22,7 +22,7 @@ describe('validatePayloadProtocol', () => { }); it('should return null for non-SigV4 header auth, even with an invalid value', () => - assert.ifError(validatePayloadProtocol({ authorization: sigV2, 'x-amz-content-sha256': 'BAD' }))); + assert.ifError(validatePayloadProtocol({ 'authorization': sigV2, 'x-amz-content-sha256': 'BAD' }))); unsupportedSignatureChecksums.forEach(protocol => { it(`should return BadRequest for unsupported protocol ${protocol}`, () => { diff --git a/tests/unit/api/apiUtils/versioning.js b/tests/unit/api/apiUtils/versioning.js index 650ddb34a6..e6265437fb 100644 --- a/tests/unit/api/apiUtils/versioning.js +++ b/tests/unit/api/apiUtils/versioning.js @@ -722,12 +722,12 @@ describe('versioning helpers', () => { { description: 'Should update archive with restore infos', objMD: { - versionId: '2345678', + 'versionId': '2345678', 'creation-time': now, 'last-modified': now, - originOp: 's3:PutObject', + 'originOp': 's3:PutObject', 'x-amz-storage-class': 'cold-location', - archive: { + 'archive': { restoreRequestedDays: days, restoreRequestedAt: now, archiveInfo, @@ -753,15 +753,15 @@ describe('versioning helpers', () => { description: 'Should keep user mds and tags', hasUserMD: true, objMD: { - versionId: '2345678', + 'versionId': '2345678', 'creation-time': now, 'last-modified': now, - originOp: 's3:PutObject', + 'originOp': 's3:PutObject', 'x-amz-meta-test': 'test', 'x-amz-meta-test2': 'test2', - tags: { testtag: 'testtag', testtag2: 'testtag2' }, + 'tags': { testtag: 'testtag', testtag2: 'testtag2' }, 'x-amz-storage-class': 'cold-location', - archive: { + 'archive': { restoreRequestedDays: days, restoreRequestedAt: now, archiveInfo, @@ -792,11 +792,11 @@ describe('versioning helpers', () => { objMD: { 'creation-time': now, 'last-modified': now, - originOp: 's3:PutObject', - nullVersionId: 'vnull', - isNull: true, + 'originOp': 's3:PutObject', + 'nullVersionId': 'vnull', + 'isNull': true, 'x-amz-storage-class': 'cold-location', - archive: { + 'archive': { restoreRequestedDays: days, restoreRequestedAt: now, archiveInfo, @@ -822,14 +822,14 @@ describe('versioning helpers', () => { description: 'Should not keep x-amz-meta-scal-s3-restore-attempt user MD', hasUserMD: true, objMD: { - versionId: '2345678', + 'versionId': '2345678', 'creation-time': now, 'last-modified': now, - originOp: 's3:PutObject', + 'originOp': 's3:PutObject', 'x-amz-meta-test': 'test', 'x-amz-meta-scal-s3-restore-attempt': 14, 'x-amz-storage-class': 'cold-location', - archive: { + 'archive': { restoreRequestedDays: days, restoreRequestedAt: now, archiveInfo, @@ -857,12 +857,12 @@ describe('versioning helpers', () => { { description: 'Should keep replication infos', objMD: { - versionId: '2345678', + 'versionId': '2345678', 'creation-time': now, 'last-modified': now, - originOp: 's3:PutObject', + 'originOp': 's3:PutObject', 'x-amz-storage-class': 'cold-location', - replicationInfo: { + 'replicationInfo': { status: 'COMPLETED', backends: [ { @@ -878,7 +878,7 @@ describe('versioning helpers', () => { storageType: 'azure', dataStoreVersionId: '', }, - archive: { + 'archive': { restoreRequestedDays: days, restoreRequestedAt: now, archiveInfo, @@ -919,13 +919,13 @@ describe('versioning helpers', () => { { description: 'Should keep legalHold', objMD: { - versionId: '2345678', + 'versionId': '2345678', 'creation-time': now, 'last-modified': now, - originOp: 's3:PutObject', - legalHold: true, + 'originOp': 's3:PutObject', + 'legalHold': true, 'x-amz-storage-class': 'cold-location', - archive: { + 'archive': { restoreRequestedDays: days, restoreRequestedAt: now, archiveInfo, @@ -951,18 +951,18 @@ describe('versioning helpers', () => { { description: 'Should keep the system metadata of the archived object', objMD: { - versionId: '2345678', + 'versionId': '2345678', 'creation-time': now, 'last-modified': now, - originOp: 's3:PutObject', + 'originOp': 's3:PutObject', 'content-type': 'application/zip', 'cache-control': 'no-cache', 'content-disposition': 'attachment; filename="archive.zip"', 'content-encoding': 'gzip', - expires: 'Wed, 21 Oct 2026 07:28:00 GMT', + 'expires': 'Wed, 21 Oct 2026 07:28:00 GMT', 'x-amz-website-redirect-location': '/elsewhere', 'x-amz-storage-class': 'cold-location', - archive: { + 'archive': { restoreRequestedDays: days, restoreRequestedAt: now, archiveInfo, @@ -999,12 +999,12 @@ describe('versioning helpers', () => { { description: 'Should drop the system metadata sent with the restore request', objMD: { - versionId: '2345678', + 'versionId': '2345678', 'creation-time': now, 'last-modified': now, - originOp: 's3:PutObject', + 'originOp': 's3:PutObject', 'x-amz-storage-class': 'cold-location', - archive: { + 'archive': { restoreRequestedDays: days, restoreRequestedAt: now, archiveInfo, @@ -1036,14 +1036,14 @@ describe('versioning helpers', () => { { description: 'Should keep the object lock retention', objMD: { - versionId: '2345678', + 'versionId': '2345678', 'creation-time': now, 'last-modified': now, - originOp: 's3:PutObject', - retentionMode: 'GOVERNANCE', - retentionDate: '2026-10-21T07:28:00.000Z', + 'originOp': 's3:PutObject', + 'retentionMode': 'GOVERNANCE', + 'retentionDate': '2026-10-21T07:28:00.000Z', 'x-amz-storage-class': 'cold-location', - archive: { + 'archive': { restoreRequestedDays: days, restoreRequestedAt: now, archiveInfo, @@ -1070,12 +1070,12 @@ describe('versioning helpers', () => { { description: 'Should not apply the bucket default retention', objMD: { - versionId: '2345678', + 'versionId': '2345678', 'creation-time': now, 'last-modified': now, - originOp: 's3:PutObject', + 'originOp': 's3:PutObject', 'x-amz-storage-class': 'cold-location', - archive: { + 'archive': { restoreRequestedDays: days, restoreRequestedAt: now, archiveInfo, @@ -1105,12 +1105,12 @@ describe('versioning helpers', () => { { description: 'Should drop object lock headers', objMD: { - versionId: '2345678', + 'versionId': '2345678', 'creation-time': now, 'last-modified': now, - originOp: 's3:PutObject', + 'originOp': 's3:PutObject', 'x-amz-storage-class': 'cold-location', - archive: { + 'archive': { restoreRequestedDays: days, restoreRequestedAt: now, archiveInfo, @@ -1118,7 +1118,7 @@ describe('versioning helpers', () => { }, metadataStoreParams: { headers: { - host: 'localhost', + 'host': 'localhost', 'x-amz-object-lock-mode': 'GOVERNANCE', 'x-amz-object-lock-retain-until-date': new Date(now).toISOString(), 'x-amz-object-lock-legal-hold': 'ON', @@ -1144,12 +1144,12 @@ describe('versioning helpers', () => { { description: 'Should drop ACL headers', objMD: { - versionId: '2345678', + 'versionId': '2345678', 'creation-time': now, 'last-modified': now, - originOp: 's3:PutObject', + 'originOp': 's3:PutObject', 'x-amz-storage-class': 'cold-location', - archive: { + 'archive': { restoreRequestedDays: days, restoreRequestedAt: now, archiveInfo, @@ -1157,7 +1157,7 @@ describe('versioning helpers', () => { }, metadataStoreParams: { headers: { - host: 'localhost', + 'host': 'localhost', 'x-amz-acl': 'public-read-write', 'x-amz-grant-full-control': 'uri=http://acs.amazonaws.com/groups/global/AllUsers', 'x-amz-grant-read': 'uri=http://acs.amazonaws.com/groups/global/AllUsers', @@ -1185,19 +1185,19 @@ describe('versioning helpers', () => { { description: 'Should keep ACLs', objMD: { - versionId: '2345678', + 'versionId': '2345678', 'creation-time': now, 'last-modified': now, - originOp: 's3:PutObject', + 'originOp': 's3:PutObject', 'x-amz-storage-class': 'cold-location', - acl: { + 'acl': { Canned: '', FULL_CONTROL: ['872c04772893deae2b48365752362cd92672eb80eb3deea50d89e834a10ce185'], WRITE_ACP: [], READ: ['http://acs.amazonaws.com/groups/global/AllUsers'], READ_ACP: [], }, - archive: { + 'archive': { restoreRequestedDays: days, restoreRequestedAt: now, archiveInfo, @@ -1229,14 +1229,14 @@ describe('versioning helpers', () => { { description: 'Should keep contentMD5 of the original object', objMD: { - versionId: '2345678', + 'versionId': '2345678', 'creation-time': now, 'last-modified': now, - originOp: 's3:PutObject', + 'originOp': 's3:PutObject', 'x-amz-storage-class': 'cold-location', 'content-md5': '123456789-5', - acl: {}, - archive: { + 'acl': {}, + 'archive': { restoreRequestedDays: days, restoreRequestedAt: now, archiveInfo, diff --git a/tests/unit/api/bucketGetACL.js b/tests/unit/api/bucketGetACL.js index 1dc3749f10..8d80a5316d 100644 --- a/tests/unit/api/bucketGetACL.js +++ b/tests/unit/api/bucketGetACL.js @@ -41,7 +41,7 @@ describe('bucketGetACL API', () => { bucketName, namespace, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-acl': 'private', }, url: '/?acl', @@ -76,7 +76,7 @@ describe('bucketGetACL API', () => { bucketName, namespace, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-acl': 'public-read-write', }, url: '/?acl', @@ -121,7 +121,7 @@ describe('bucketGetACL API', () => { bucketName, namespace, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-acl': 'public-read', }, url: '/?acl', @@ -161,7 +161,7 @@ describe('bucketGetACL API', () => { bucketName, namespace, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-acl': 'authenticated-read', }, url: '/?acl', @@ -201,7 +201,7 @@ describe('bucketGetACL API', () => { bucketName, namespace, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-acl': 'log-delivery-write', }, url: '/?acl', @@ -246,7 +246,7 @@ describe('bucketGetACL API', () => { bucketName, namespace, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-grant-full-control': 'emailaddress="sampleaccount1@sampling.com",emailaddress="sampleaccount2@sampling.com"', 'x-amz-grant-read': `uri=${constants.logId}`, @@ -335,7 +335,7 @@ describe('bucketGetACL API', () => { bucketName, namespace, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-grant-full-control': `uri = ${uri}`, 'x-amz-grant-read': `uri = ${uri}`, 'x-amz-grant-write': `uri = ${uri}`, @@ -375,7 +375,7 @@ describe('bucketGetACL API', () => { bucketName, namespace, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-grant-write': `uri = ${allAuthedUsersId} `, 'x-amz-grant-write-acp': `uri = ${allAuthedUsersId} `, 'x-amz-grant-read': `uri = ${publicId} `, diff --git a/tests/unit/api/bucketGetObjectLock.js b/tests/unit/api/bucketGetObjectLock.js index c938883447..5dca001ad2 100644 --- a/tests/unit/api/bucketGetObjectLock.js +++ b/tests/unit/api/bucketGetObjectLock.js @@ -20,7 +20,7 @@ const bucketPutReq = { const testBucketPutReqWithObjLock = { bucketName, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-bucket-object-lock-enabled': 'True', }, url: '/', @@ -31,7 +31,7 @@ function getObjectLockConfigRequest(bucketName, xml) { const request = { bucketName, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-bucket-object-lock-enabled': 'true', }, url: '/?object-lock', diff --git a/tests/unit/api/bucketPut.js b/tests/unit/api/bucketPut.js index d84ce67178..6e8c641441 100644 --- a/tests/unit/api/bucketPut.js +++ b/tests/unit/api/bucketPut.js @@ -159,7 +159,7 @@ describe('bucketPut API', () => { url: '/', post: '', headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-bucket-object-lock-enabled': `${status}`, }, }); @@ -201,7 +201,7 @@ describe('bucketPut API', () => { bucketName, namespace, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-grant-full-control': 'uri="http://acs.amazonaws.com/groups/global/NOTAVALIDGROUP"', }, url: '/', @@ -221,7 +221,7 @@ describe('bucketPut API', () => { bucketName, namespace, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-acl': 'not-valid-option', }, url: '/', @@ -241,7 +241,7 @@ describe('bucketPut API', () => { bucketName, namespace, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-grant-read': 'emailaddress="fake@faking.com"', }, url: '/', @@ -261,7 +261,7 @@ describe('bucketPut API', () => { bucketName, namespace, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-acl': 'public-read', }, url: '/', @@ -282,7 +282,7 @@ describe('bucketPut API', () => { bucketName, namespace, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-grant-full-control': 'emailaddress="sampleaccount1@sampling.com",emailaddress="sampleaccount2@sampling.com"', 'x-amz-grant-read': `uri=${constants.logId}`, @@ -513,7 +513,7 @@ describe('bucketPut API with bucket-level encryption', () => { const testRequestWithEncryption = { ...testRequest, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-scal-server-side-encryption': 'AES256', }, }; @@ -537,7 +537,7 @@ describe('bucketPut API with bucket-level encryption', () => { const testRequestWithEncryption = { ...testRequest, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-scal-server-side-encryption': 'aws:kms', }, }; @@ -562,7 +562,7 @@ describe('bucketPut API with bucket-level encryption', () => { const testRequestWithEncryption = { ...testRequest, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-scal-server-side-encryption': 'aws:kms', 'x-amz-scal-server-side-encryption-aws-kms-key-id': keyId, }, @@ -591,7 +591,7 @@ describe('bucketPut API with bucket-level encryption', () => { const testRequestWithEncryption = { ...testRequest, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-scal-server-side-encryption': 'AES256', 'x-amz-scal-server-side-encryption-aws-kms-key-id': keyId, }, @@ -621,7 +621,7 @@ describe('bucketPut API with account level encryption', () => { const testRequestWithEncryption = { ...testRequest, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-scal-server-side-encryption': 'AES256', }, }; @@ -646,7 +646,7 @@ describe('bucketPut API with account level encryption', () => { const testRequestWithEncryption = { ...testRequest, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-scal-server-side-encryption': 'aws:kms', }, }; @@ -672,7 +672,7 @@ describe('bucketPut API with account level encryption', () => { const testRequestWithEncryption = { ...testRequest, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-scal-server-side-encryption': 'aws:kms', 'x-amz-scal-server-side-encryption-aws-kms-key-id': keyId, }, @@ -708,7 +708,7 @@ describe('bucketPut API with failed encryption service', () => { const testRequestWithEncryption = { ...testRequest, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-scal-server-side-encryption': 'AES256', }, }; @@ -736,7 +736,7 @@ describe('bucketPut API with failed vault service', () => { const testRequestWithEncryption = { ...testRequest, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-scal-server-side-encryption': 'AES256', }, }; diff --git a/tests/unit/api/bucketPutACL.js b/tests/unit/api/bucketPutACL.js index 3429797f2f..1b962aed33 100644 --- a/tests/unit/api/bucketPutACL.js +++ b/tests/unit/api/bucketPutACL.js @@ -59,7 +59,7 @@ describe('putBucketACL API', () => { bucketName, namespace, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-acl': 'not-a-valid-option', }, url: '/?acl', @@ -78,7 +78,7 @@ describe('putBucketACL API', () => { bucketName, namespace, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-acl': 'public-read-write', }, url: '/?acl', @@ -99,7 +99,7 @@ describe('putBucketACL API', () => { bucketName, namespace, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-acl': 'public-read', }, url: '/?acl', @@ -110,7 +110,7 @@ describe('putBucketACL API', () => { bucketName, namespace, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-acl': 'authenticated-read', }, url: '/?acl', @@ -137,7 +137,7 @@ describe('putBucketACL API', () => { bucketName, namespace, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-acl': 'private', }, url: '/?acl', @@ -148,7 +148,7 @@ describe('putBucketACL API', () => { bucketName, namespace, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-acl': 'log-delivery-write', }, url: '/?acl', @@ -176,7 +176,7 @@ describe('putBucketACL API', () => { bucketName, namespace, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-grant-full-control': 'emailaddress="sampleaccount1@sampling.com",emailaddress="sampleaccount2@sampling.com"', 'x-amz-grant-read': `uri=${constants.logId}`, @@ -206,7 +206,7 @@ describe('putBucketACL API', () => { bucketName, namespace, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-grant-full-control': 'emailaddress="sampleaccount1@sampling.com",emailaddress="sampleaccount2@sampling.com"', 'x-amz-grant-read': 'emailaddress="sampleaccount1@sampling.com"', @@ -238,7 +238,7 @@ describe('putBucketACL API', () => { bucketName, namespace, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-grant-full-control': invalidIds[idType], }, url: '/?acl', @@ -257,7 +257,7 @@ describe('putBucketACL API', () => { bucketName, namespace, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-grant-full-control': 'emailaddress="sampleaccount1@sampling.com",emailaddress="nonexistentEmail@sampling.com"', }, @@ -672,7 +672,7 @@ describe('putBucketACL API', () => { bucketName, namespace, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-grant-full-control': 'uri="http://acs.amazonaws.com/groups/global/NOTAVALIDGROUP"', }, url: '/?acl', diff --git a/tests/unit/api/bucketUpdateQuota.js b/tests/unit/api/bucketUpdateQuota.js index d5f03f21b6..d09f6b0ac0 100644 --- a/tests/unit/api/bucketUpdateQuota.js +++ b/tests/unit/api/bucketUpdateQuota.js @@ -25,7 +25,7 @@ const bucketPutRequest = { const updateQuotaRequest = { bucketName, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'content-type': 'application/json', }, post: '{"quota": 1000}', diff --git a/tests/unit/api/corsErrorHeaders.js b/tests/unit/api/corsErrorHeaders.js index 6a9e6a136b..e0438dd143 100644 --- a/tests/unit/api/corsErrorHeaders.js +++ b/tests/unit/api/corsErrorHeaders.js @@ -348,8 +348,8 @@ describe('CORS headers on copy operations', () => { bucketName: destBucket, objectKey: 'destkey', headers: { - host: `${destBucket}.s3.amazonaws.com`, - origin: reqOrigin, + 'host': `${destBucket}.s3.amazonaws.com`, + 'origin': reqOrigin, 'x-amz-copy-source': `/${srcBucket}/missing-source-key`, }, url: `/${destBucket}/destkey`, diff --git a/tests/unit/api/createAndStoreObject.js b/tests/unit/api/createAndStoreObject.js index 65a0416957..b6a2ac1c59 100644 --- a/tests/unit/api/createAndStoreObject.js +++ b/tests/unit/api/createAndStoreObject.js @@ -255,7 +255,7 @@ describe('createAndStoreObject', () => { const archivedObjMD = { 'content-md5': 'abc123', 'content-length': 100, - archive: { + 'archive': { archiveInfo: { archiveID: 'archive-123' }, }, }; @@ -298,8 +298,8 @@ describe('createAndStoreObject', () => { const archivedObjMD = { 'content-md5': 'abc123', 'content-length': 100, - versionId: 'v1', - archive: { + 'versionId': 'v1', + 'archive': { archiveInfo: { archiveID: 'archive-123' }, }, }; @@ -343,7 +343,7 @@ describe('createAndStoreObject', () => { const archivedObjMD = { 'content-md5': 'abc123', 'content-length': 100, - archive: { + 'archive': { archiveInfo: { archiveID: 'archive-123' }, }, }; @@ -387,7 +387,7 @@ describe('createAndStoreObject', () => { const archivedObjMD = { 'content-md5': 'abc123', 'content-length': 100, - archive: { + 'archive': { restoreRequestedAt: new Date().toISOString(), }, }; @@ -430,15 +430,15 @@ describe('createAndStoreObject', () => { it('should restore object with x-scal-s3-version-id header', async () => { const now = Date.now(); const archivedObjMD = { - key: objectKey, - versionId: 'v123', + 'key': objectKey, + 'versionId': 'v123', 'content-md5': 'original-hash', 'content-length': 100, 'x-amz-storage-class': 'cold-location', - dataStoreName: 'cold-location', + 'dataStoreName': 'cold-location', 'x-amz-meta-custom': 'preserved-value', - tags: { tagkey: 'tagvalue' }, - archive: { + 'tags': { tagkey: 'tagvalue' }, + 'archive': { archiveInfo: { archiveID: 'archive-123' }, restoreRequestedAt: new Date(now).toISOString(), restoreRequestedDays: 7, @@ -488,9 +488,9 @@ describe('createAndStoreObject', () => { it('should preserve original etag for MPU restoration with different part count', async () => { const archivedObjMD = { - versionId: 'v123', + 'versionId': 'v123', 'content-md5': 'original-abc123-5', // Original had 5 parts - archive: { + 'archive': { archiveInfo: { archiveID: 'archive-123' }, restoreRequestedAt: new Date().toISOString(), restoreRequestedDays: 7, @@ -687,10 +687,10 @@ describe('createAndStoreObject', () => { it('should not preserve x-amz-meta-scal-s3-restore-attempt metadata', async () => { const archivedObjMD = { - versionId: 'v123', + 'versionId': 'v123', 'x-amz-meta-custom': 'keep-this', 'x-amz-meta-scal-s3-restore-attempt': '3', - archive: { + 'archive': { archiveInfo: { archiveID: 'archive-123' }, restoreRequestedAt: new Date().toISOString(), restoreRequestedDays: 7, @@ -739,7 +739,7 @@ describe('createAndStoreObject', () => { describe('MPU scenarios', () => { it('should set oldReplayId when overwriting MPU object', async () => { const mpuObjMD = { - uploadId: 'mpu-upload-123', + 'uploadId': 'mpu-upload-123', 'content-md5': 'abc123', }; diff --git a/tests/unit/api/directToCold.js b/tests/unit/api/directToCold.js index 483c71f887..2b37ee4b1a 100644 --- a/tests/unit/api/directToCold.js +++ b/tests/unit/api/directToCold.js @@ -55,7 +55,7 @@ function copyObjectRequest(headers = {}) { namespace, objectKey: 'copiedObject', headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-copy-source': `/${bucketName}/${objectKey}`, ...headers, }, @@ -270,7 +270,7 @@ describe('direct to cold', () => { namespace, objectKey, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-copy-source': `/${bucketName}/${objectKey}`, 'x-amz-storage-class': coldLocation, }, diff --git a/tests/unit/api/listParts.js b/tests/unit/api/listParts.js index 9aab8719f0..44eb9c0ca1 100644 --- a/tests/unit/api/listParts.js +++ b/tests/unit/api/listParts.js @@ -85,61 +85,61 @@ describe('List Parts API', () => { metadata.createBucket(bucketName, sampleNormalBucketInstance, log, () => { metadata.createBucket(mpuBucket, sampleMPUInstance, log, () => { inMemMetadata.keyMaps.get(mpuBucket).set(overviewKey, { - id: '4db92ccc-d89d-49d3-9fa6-e9c2c1eb31b0', + 'id': '4db92ccc-d89d-49d3-9fa6-e9c2c1eb31b0', 'owner-display-name': authInfo.getAccountDisplayName(), 'owner-id': canonicalID, - initiator: { + 'initiator': { DisplayName: authInfo.getAccountDisplayName(), ID: canonicalID, }, - key: '$makememulti', - initiated: '2015-11-30T22:40:07.858Z', - uploadId: '4db92ccc-d89d-49d3-9fa6-e9c2c1eb31b0', - acl: { + 'key': '$makememulti', + 'initiated': '2015-11-30T22:40:07.858Z', + 'uploadId': '4db92ccc-d89d-49d3-9fa6-e9c2c1eb31b0', + 'acl': { Canned: 'private', FULL_CONTROL: [], WRITE_ACP: [], READ: [], READ_ACP: [], }, - eventualStorageBucket: 'freshestbucket', - mdBucketModelVersion: 2, + 'eventualStorageBucket': 'freshestbucket', + 'mdBucketModelVersion': 2, }); inMemMetadata.keyMaps.get(mpuBucket).set(partOneKey, { - key: partOneKey, + 'key': partOneKey, 'last-modified': '2015-11-30T22:41:18.658Z', 'content-md5': 'f3a9fb2071d3503b703938a74eb99846', 'content-length': '6000000', - partLocations: ['068db6a6745a79d54c1b29ff99f9f131'], + 'partLocations': ['068db6a6745a79d54c1b29ff99f9f131'], }); inMemMetadata.keyMaps.get(mpuBucket).set(partTwoKey, { - key: partTwoKey, + 'key': partTwoKey, 'last-modified': '2015-11-30T22:41:40.207Z', 'content-md5': 'f3a9fb2071d3503b703938a74eb99846', 'content-length': '6000000', - partLocations: ['ff22f316b16956ff5118c93abce7d62d'], + 'partLocations': ['ff22f316b16956ff5118c93abce7d62d'], }); inMemMetadata.keyMaps.get(mpuBucket).set(partThreeKey, { - key: partThreeKey, + 'key': partThreeKey, 'last-modified': '2015-11-30T22:41:52.102Z', 'content-md5': 'f3a9fb2071d3503b703938a74eb99846', 'content-length': '6000000', - partLocations: ['dea282f70edb6fc5f9433cd6f525d4a6'], + 'partLocations': ['dea282f70edb6fc5f9433cd6f525d4a6'], }); inMemMetadata.keyMaps.get(mpuBucket).set(partFourKey, { - key: partFourKey, + 'key': partFourKey, 'last-modified': '2015-11-30T22:42:03.493Z', 'content-md5': 'f3a9fb2071d3503b703938a74eb99846', 'content-length': '6000000', - partLocations: ['afe24bc40153982e1f7f28066f7af6a4'], + 'partLocations': ['afe24bc40153982e1f7f28066f7af6a4'], }); inMemMetadata.keyMaps.get(mpuBucket).set(partFiveKey, { - key: partFiveKey, + 'key': partFiveKey, 'last-modified': '2015-11-30T22:42:22.876Z', 'content-md5': '555e4cd2f9eff38109d7a3ab13995a32', 'content-length': '18', - partLocations: ['85bc16f5769687070fb13cfe66b5e41f'], + 'partLocations': ['85bc16f5769687070fb13cfe66b5e41f'], }); done(); }); diff --git a/tests/unit/api/multipartUpload.js b/tests/unit/api/multipartUpload.js index ae1fef9ef6..a84174f8bf 100644 --- a/tests/unit/api/multipartUpload.js +++ b/tests/unit/api/multipartUpload.js @@ -76,7 +76,7 @@ const bucketPutRequest = { const lockEnabledBucketRequest = Object.assign({}, bucketPutRequest); lockEnabledBucketRequest.bucketName = lockedBucket; lockEnabledBucketRequest.headers = { - host: `${lockedBucket}.s3.amazonaws.com`, + 'host': `${lockedBucket}.s3.amazonaws.com`, 'x-amz-bucket-object-lock-enabled': 'true', }; const initiateRequest = { @@ -95,13 +95,13 @@ retentionInitiateRequest.bucketName = lockedBucket; retentionInitiateRequest.headers = { 'x-amz-object-lock-mode': 'GOVERNANCE', 'x-amz-object-lock-retain-until-date': futureDate, - host: `${lockedBucket}.s3.amazonaws.com`, + 'host': `${lockedBucket}.s3.amazonaws.com`, }; const legalHoldInitiateRequest = Object.assign({}, initiateRequest); legalHoldInitiateRequest.bucketName = lockedBucket; legalHoldInitiateRequest.headers = { 'x-amz-object-lock-legal-hold': 'ON', - host: `${lockedBucket}.s3.amazonaws.com`, + 'host': `${lockedBucket}.s3.amazonaws.com`, }; const getObjectLockInfoRequest = { @@ -313,7 +313,7 @@ describe('Multipart Upload API', () => { namespace, objectKey, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-storage-class': 'COLD', }, url: `/${objectKey}?uploads`, @@ -550,7 +550,7 @@ describe('Multipart Upload API', () => { namespace, objectKey, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'content-length': '5368709121', }, url: `/${objectKey}?partNumber=1&uploadId=${testUploadId}`, @@ -1177,7 +1177,7 @@ describe('Multipart Upload API', () => { namespace, objectKey, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'content-length': '100', }, parsedContentLength: 100, @@ -1196,7 +1196,7 @@ describe('Multipart Upload API', () => { namespace, objectKey, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'content-length': '200', }, parsedContentLength: 200, @@ -1265,7 +1265,7 @@ describe('Multipart Upload API', () => { namespace, objectKey, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'content-length': '6000000', }, parsedContentLength: 6000000, @@ -1284,7 +1284,7 @@ describe('Multipart Upload API', () => { namespace, objectKey, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'content-length': '100', }, parsedContentLength: 100, @@ -1344,7 +1344,7 @@ describe('Multipart Upload API', () => { namespace, objectKey, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-meta-stuff': 'I am some user metadata', 'x-amz-acl': 'authenticated-read', }, @@ -1372,7 +1372,7 @@ describe('Multipart Upload API', () => { namespace, objectKey, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'content-length': 6000000, }, url: `/${objectKey}?partNumber=1&uploadId=${testUploadId}`, @@ -1390,7 +1390,7 @@ describe('Multipart Upload API', () => { namespace, objectKey, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'content-length': 100, }, url: `/${objectKey}?partNumber=1&uploadId=${testUploadId}`, @@ -1450,7 +1450,7 @@ describe('Multipart Upload API', () => { namespace, objectKey, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-meta-stuff': 'I am some user metadata', 'x-amz-grant-read': `emailAddress="${granteeEmail}"`, }, @@ -1478,7 +1478,7 @@ describe('Multipart Upload API', () => { namespace, objectKey, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'content-length': 6000000, }, url: `/${objectKey}?partNumber=1&uploadId=${testUploadId}`, @@ -1496,7 +1496,7 @@ describe('Multipart Upload API', () => { namespace, objectKey, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'content-length': 100, }, url: `/${objectKey}?partNumber=1&uploadId=${testUploadId}`, @@ -3423,7 +3423,7 @@ describe('objectPutPart checksum response headers', () => { namespace, objectKey, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-checksum-sha256': sha256Value, }, url: `/${objectKey}?partNumber=1&uploadId=${testUploadId}`, @@ -4518,7 +4518,7 @@ describe('CompleteMultipartUpload per-part validation on external backends', () namespace, objectKey, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-checksum-algorithm': algo, 'x-amz-checksum-type': type, }, diff --git a/tests/unit/api/objectACLauth.js b/tests/unit/api/objectACLauth.js index 9eeaef8949..cbf94d1dcd 100644 --- a/tests/unit/api/objectACLauth.js +++ b/tests/unit/api/objectACLauth.js @@ -18,7 +18,7 @@ const bucket = new BucketInfo('niftyBucket', bucketOwnerCanonicalId, 'iAmTheOwne const objectOwnerCanonicalId = userAuthInfo.getCanonicalID(); const object = { 'owner-id': objectOwnerCanonicalId, - acl: { + 'acl': { Canned: 'private', FULL_CONTROL: [], WRITE_ACP: [], @@ -98,7 +98,7 @@ describe('object acl authorization for objectGet and objectHead', () => { it('should allow access to bucket owner when object owner is alt account if bucket-owner-read ACL', () => { const altAcctObj = { 'owner-id': accountToVet, - acl: { + 'acl': { Canned: 'private', FULL_CONTROL: [], WRITE_ACP: [], @@ -120,7 +120,7 @@ describe('object acl authorization for objectGet and objectHead', () => { it('should allow access to bucket owner when object owner is alt account if bucket-owner-full-control ACL', () => { const altAcctObj = { 'owner-id': accountToVet, - acl: { + 'acl': { Canned: 'private', FULL_CONTROL: [], WRITE_ACP: [], @@ -227,7 +227,7 @@ describe('object authorization for objectPutACL and objectGetACL', () => { () => { const altAcctObj = { 'owner-id': accountToVet, - acl: { + 'acl': { Canned: 'private', FULL_CONTROL: [], WRITE_ACP: [], diff --git a/tests/unit/api/objectGet.js b/tests/unit/api/objectGet.js index b1c205cb2d..2115ba0f4d 100644 --- a/tests/unit/api/objectGet.js +++ b/tests/unit/api/objectGet.js @@ -82,7 +82,7 @@ describe('objectGet API', () => { bucketName, namespace, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-bucket-object-lock-enabled': 'true', }, url: `/${bucketName}`, @@ -264,7 +264,7 @@ describe('objectGet API', () => { namespace, objectKey: objectName, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, // Part (other than last part) must be at least 5MB 'content-length': '5242880', }, @@ -289,7 +289,7 @@ describe('objectGet API', () => { namespace, objectKey: objectName, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'content-length': '12', }, parsedContentLength: 12, @@ -644,7 +644,7 @@ describe('objectGet API - x-amz-checksum-mode', () => { objectKey: objectName, headers: { 'x-amz-checksum-mode': 'ENABLED', - range: 'bytes=0-3', + 'range': 'bytes=0-3', }, url: `/${bucketName}/${objectName}`, query: {}, diff --git a/tests/unit/api/objectGetACL.js b/tests/unit/api/objectGetACL.js index e8ffdc65ef..02fe2b1c8a 100644 --- a/tests/unit/api/objectGetACL.js +++ b/tests/unit/api/objectGetACL.js @@ -31,7 +31,7 @@ describe('objectGetACL API', () => { bucketName, namespace, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-acl': 'public-read-write', }, url: '/', diff --git a/tests/unit/api/objectGetAttributes.js b/tests/unit/api/objectGetAttributes.js index 7244efd0ec..6948a37ba7 100644 --- a/tests/unit/api/objectGetAttributes.js +++ b/tests/unit/api/objectGetAttributes.js @@ -279,7 +279,7 @@ describe('objectGetAttributes API with multipart upload', () => { namespace, objectKey: objectName, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'content-length': '5242880', }, parsedContentLength: 5242880, diff --git a/tests/unit/api/objectPut.js b/tests/unit/api/objectPut.js index aeea847236..fcd16f1f81 100644 --- a/tests/unit/api/objectPut.js +++ b/tests/unit/api/objectPut.js @@ -46,7 +46,7 @@ const testPutBucketRequestLock = new DummyRequest({ bucketName, namespace, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-bucket-object-lock-enabled': 'true', }, url: '/', @@ -329,7 +329,7 @@ describe('objectPut API', () => { namespace, objectKey: objectName, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-scal-s3-version-id': versionId, }, url: '/', @@ -379,7 +379,7 @@ describe('objectPut API', () => { namespace, objectKey: objectName, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-scal-s3-version-id': versionId, 'x-amz-object-lock-mode': 'GOVERNANCE', 'x-amz-object-lock-retain-until-date': moment().add(1, 'days').toISOString(), @@ -449,7 +449,7 @@ describe('objectPut API', () => { namespace, objectKey: objectName, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-scal-s3-version-id': versionId, 'x-amz-acl': 'public-read-write', 'x-amz-grant-full-control': 'uri=http://acs.amazonaws.com/groups/global/AllUsers', @@ -1134,7 +1134,7 @@ describe('objectPut API', () => { namespace, objectKey: objectName, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-checksum-sha256': sha256Value, }, url: '/', @@ -1912,7 +1912,7 @@ describe('objectPut with checksums disabled', () => { namespace, objectKey: objectName, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-checksum-crc32': 'AAAAAA==', }, url: '/', diff --git a/tests/unit/api/objectPutACL.js b/tests/unit/api/objectPutACL.js index 6278357a7a..ec5d7d3dcf 100644 --- a/tests/unit/api/objectPutACL.js +++ b/tests/unit/api/objectPutACL.js @@ -403,7 +403,7 @@ describe('putObjectACL API', () => { namespace, objectKey: objectName, headers: { - host: 's3.amazonaws.com', + 'host': 's3.amazonaws.com', 'x-amz-grant-full-control': 'uri="http://acs.amazonaws.com/groups/global/NOTAVALIDGROUP"', }, url: `/${bucketName}/${objectName}?acl`, diff --git a/tests/unit/api/objectPutRetention.js b/tests/unit/api/objectPutRetention.js index 1399bca4c7..dc5ff49333 100644 --- a/tests/unit/api/objectPutRetention.js +++ b/tests/unit/api/objectPutRetention.js @@ -82,7 +82,7 @@ const putObjRetRequestGovernanceWithHeader = { bucketName, objectKey: objectName, headers: { - host: `${bucketName}.s3.amazonaws.com`, + 'host': `${bucketName}.s3.amazonaws.com`, 'x-amz-bypass-governance-retention': 'true', }, post: objectRetentionXmlGovernance, diff --git a/tests/unit/api/utils/metadataMockColdStorage.js b/tests/unit/api/utils/metadataMockColdStorage.js index 27d3220fab..c69c7086a7 100644 --- a/tests/unit/api/utils/metadataMockColdStorage.js +++ b/tests/unit/api/utils/metadataMockColdStorage.js @@ -23,15 +23,15 @@ const baseMd = { 'x-amz-server-side-encryption-aws-kms-key-id': '', 'x-amz-server-side-encryption-customer-algorithm': '', 'x-amz-website-redirect-location': '', - acl: { + 'acl': { Canned: 'private', FULL_CONTROL: [], WRITE_ACP: [], READ: [], READ_ACP: [], }, - key: 'objectName', - location: [ + 'key': 'objectName', + 'location': [ { key: 1, size: 11, @@ -40,9 +40,9 @@ const baseMd = { dataStoreETag: '1:be747eb4b75517bf6b3cf7c5fbb62f3a', }, ], - isDeleteMarker: false, - tags: {}, - replicationInfo: { + 'isDeleteMarker': false, + 'tags': {}, + 'replicationInfo': { status: '', backends: [], content: [], @@ -53,8 +53,8 @@ const baseMd = { dataStoreVersionId: '', isNFS: null, }, - dataStoreName: 'mem', - originOp: 's3:ObjectCreated:Put', + 'dataStoreName': 'mem', + 'originOp': 's3:ObjectCreated:Put', 'last-modified': '2022-05-10T08:31:51.878Z', 'md-model-version': 5, 'x-amz-meta-test': 'some metadata', diff --git a/tests/unit/auth/permissionChecks.js b/tests/unit/auth/permissionChecks.js index 191f9fcb64..d47f2085d8 100644 --- a/tests/unit/auth/permissionChecks.js +++ b/tests/unit/auth/permissionChecks.js @@ -283,7 +283,7 @@ describe('checkObjectAcls', () => { }; const mockObjectMD = { 'owner-id': 'objectOwnerId', - acl: { + 'acl': { Canned: '', FULL_CONTROL: [], READ: [], diff --git a/tests/unit/healthchecks/clientCheck.js b/tests/unit/healthchecks/clientCheck.js index 768b2f6c26..b8ae850f61 100644 --- a/tests/unit/healthchecks/clientCheck.js +++ b/tests/unit/healthchecks/clientCheck.js @@ -57,9 +57,9 @@ describe('clientCheck - failure detection logic', () => { assert.deepStrictEqual(result, { 'sproxyd-loc1': { code: 200, message: 'OK' }, 'sproxyd-loc2': { code: 200, message: 'OK' }, - metadata: { code: 200, message: 'OK' }, - vault: { code: 200, message: 'OK' }, - kms: { code: 200, message: 'OK' }, + 'metadata': { code: 200, message: 'OK' }, + 'vault': { code: 200, message: 'OK' }, + 'kms': { code: 200, message: 'OK' }, }); done(); }); @@ -94,9 +94,9 @@ describe('clientCheck - failure detection logic', () => { assert.deepStrictEqual(result, { 'sproxyd-loc1': { error: errors.InternalError, code: 500 }, 'sproxyd-loc2': { error: errors.InternalError, code: 500 }, - metadata: { code: 200, message: 'OK' }, - vault: { code: 200, message: 'OK' }, - kms: { code: 200, message: 'OK' }, + 'metadata': { code: 200, message: 'OK' }, + 'vault': { code: 200, message: 'OK' }, + 'kms': { code: 200, message: 'OK' }, }); done(); }); @@ -130,9 +130,9 @@ describe('clientCheck - failure detection logic', () => { assert.deepStrictEqual(result, { 'sproxyd-loc1': { error: errors.InternalError, code: 500 }, 'sproxyd-loc2': { code: 200, message: 'OK' }, - metadata: { code: 200, message: 'OK' }, - vault: { code: 200, message: 'OK' }, - kms: { code: 200, message: 'OK' }, + 'metadata': { code: 200, message: 'OK' }, + 'vault': { code: 200, message: 'OK' }, + 'kms': { code: 200, message: 'OK' }, }); done(); }); @@ -167,9 +167,9 @@ describe('clientCheck - failure detection logic', () => { assert.deepStrictEqual(result, { 'sproxyd-loc1': { error: errors.InternalError, code: 500 }, 'sproxyd-loc2': { error: errors.InternalError, code: 500 }, - metadata: { error: errors.InternalError, code: 500 }, - vault: { code: 200, message: 'OK' }, - kms: { code: 200, message: 'OK' }, + 'metadata': { error: errors.InternalError, code: 500 }, + 'vault': { code: 200, message: 'OK' }, + 'kms': { code: 200, message: 'OK' }, }); done(); }); @@ -223,7 +223,7 @@ describe('clientCheck - failure detection logic', () => { assert.ifError(err); assert.deepStrictEqual(result, { 's3-backend': { error: errors.InternalError, code: 500, external: true }, - metadata: { code: 200, message: 'OK' }, + 'metadata': { code: 200, message: 'OK' }, }); done(); }); @@ -248,7 +248,7 @@ describe('clientCheck - failure detection logic', () => { assert.strictEqual(err.InternalError, true); assert.deepStrictEqual(result, { 's3-backend': { error: errors.InternalError, code: 500, external: true }, - metadata: { code: 200, message: 'OK' }, + 'metadata': { code: 200, message: 'OK' }, }); done(); }); @@ -277,7 +277,7 @@ describe('clientCheck - failure detection logic', () => { assert.deepStrictEqual(result, { 'sproxyd-loc1': { code: 200, message: 'OK' }, 's3-backend': { error: errors.InternalError, code: 500, external: true }, - metadata: { code: 200, message: 'OK' }, + 'metadata': { code: 200, message: 'OK' }, }); done(); }); diff --git a/tests/unit/internal/routeVeeam.js b/tests/unit/internal/routeVeeam.js index 21c9f62e19..3c59e99642 100644 --- a/tests/unit/internal/routeVeeam.js +++ b/tests/unit/internal/routeVeeam.js @@ -119,7 +119,7 @@ describe('RouteVeeam: checkBucketAndKey', () => { '.system-d26a9498-cb7c-4a87-a44a-8ae204f5ba6c/system.xml', { 'X-Amz-Credential': 'a', - extra: 'not-allowed', + 'extra': 'not-allowed', }, 'GET', log, diff --git a/tests/unit/lib/services.spec.js b/tests/unit/lib/services.spec.js index aaae0b6634..3637ad645d 100644 --- a/tests/unit/lib/services.spec.js +++ b/tests/unit/lib/services.spec.js @@ -313,18 +313,18 @@ describe('services', () => { getOwner: () => ownerID, }; const storedMetadata = { - key: objectKey, - id: uploadId, - eventualStorageBucket: bucketName, - initiator: { + 'key': objectKey, + 'id': uploadId, + 'eventualStorageBucket': bucketName, + 'initiator': { ID: ownerID, DisplayName: 'initiator', }, 'owner-id': ownerID, 'owner-display-name': 'owner', 'x-amz-storage-class': 'STANDARD', - initiated: '2026-04-23T00:00:00.000Z', - controllingLocationConstraint: 'us-east-1', + 'initiated': '2026-04-23T00:00:00.000Z', + 'controllingLocationConstraint': 'us-east-1', }; function validateMultipart(storedMetadataOverride, cb) { diff --git a/tests/unit/routes/routeBackbeat.js b/tests/unit/routes/routeBackbeat.js index 66a707c4a2..891a62274d 100644 --- a/tests/unit/routes/routeBackbeat.js +++ b/tests/unit/routes/routeBackbeat.js @@ -572,7 +572,7 @@ describe('routeBackbeat', () => { ]; metadataUtils.standardMetadataValidateBucketAndObj.callsFake((params, denies, log, callback) => { callback(null, bucketInfo, { - location: existingLocations, + 'location': existingLocations, 'x-amz-server-side-encryption': 'AES256', }); }); @@ -640,7 +640,7 @@ describe('routeBackbeat', () => { it('should delete data when locations change', async () => { const existingMd = { - location: [ + 'location': [ { key: 'key0', dataStoreName: 'location1', @@ -655,7 +655,7 @@ describe('routeBackbeat', () => { // New metadata has different locations const reqBody = { - location: [ + 'location': [ { key: 'key1', dataStoreName: 'location1', @@ -688,7 +688,7 @@ describe('routeBackbeat', () => { it('should not delete data when some keys are still used', async () => { const existingMd = { - location: [ + 'location': [ { key: 'key0', dataStoreName: 'location1', @@ -708,7 +708,7 @@ describe('routeBackbeat', () => { // New metadata has different locations const reqBody = { - location: [ + 'location': [ { key: 'key1', dataStoreName: 'location1', @@ -745,7 +745,7 @@ describe('routeBackbeat', () => { it('should not delete data when object is archived', async () => { const existingMd = { - location: [ + 'location': [ { key: 'key0', dataStoreName: 'location1', @@ -762,9 +762,9 @@ describe('routeBackbeat', () => { mockRequest = prepareDummyRequest( mockRequest.headers, JSON.stringify({ - location: undefined, + 'location': undefined, 'content-length': 100, - replicationInfo: {}, + 'replicationInfo': {}, }), ); mockRequest.url += '?versionId=aIXVkw5Tw2Pd00000000001I4j3QKsvf'; diff --git a/tests/unit/testConfigs/locConstraintAssert.js b/tests/unit/testConfigs/locConstraintAssert.js index dee6cbcee2..c537fa1cd0 100644 --- a/tests/unit/testConfigs/locConstraintAssert.js +++ b/tests/unit/testConfigs/locConstraintAssert.js @@ -150,7 +150,7 @@ describe('locationConstraintAssert', () => { const usEast1 = new LocationConstraint(undefined, 'locId1'); const locationConstraint = new LocationConstraint('azure', 'locId2', true, getAzureDetails()); assert.doesNotThrow(() => { - locationConstraintAssert({ azurefaketest: locationConstraint, 'us-east-1': usEast1 }); + locationConstraintAssert({ 'azurefaketest': locationConstraint, 'us-east-1': usEast1 }); }, '/should not throw for a valid azure location constraint/'); }); @@ -165,7 +165,7 @@ describe('locationConstraintAssert', () => { assert.throws(() => { locationConstraintAssert({ 'us-east-1': usEast1, - azurefaketest: locationConstraint, + 'azurefaketest': locationConstraint, }); }, '/bad location constraint: "azurefaketest" azureContainerName must be defined/'); }); @@ -181,7 +181,7 @@ describe('locationConstraintAssert', () => { assert.throws(() => { locationConstraintAssert({ 'us-east-1': usEast1, - azurefaketest: locationConstraint, + 'azurefaketest': locationConstraint, }); }, '/bad location constraint: "azurefaketest" azureContainerName is an invalid container name/'); }); @@ -198,7 +198,7 @@ describe('locationConstraintAssert', () => { () => { locationConstraintAssert({ 'us-east-1': usEast1, - azurefaketest: locationConstraint, + 'azurefaketest': locationConstraint, }); }, '/bad location constraint: "azurefaketest" ' + @@ -219,7 +219,7 @@ describe('locationConstraintAssert', () => { () => { locationConstraintAssert({ 'us-east-1': usEast1, - azurefaketest: locationConstraint, + 'azurefaketest': locationConstraint, }); }, '/bad location constraint: "azurefaketest" ' + @@ -239,7 +239,7 @@ describe('locationConstraintAssert', () => { assert.throws(() => { locationConstraintAssert({ 'us-east-1': usEast1, - azurefaketest: locationConstraint, + 'azurefaketest': locationConstraint, }); }, '/bad location constraint: "azurefaketest" azureStorageAccountName "invalid!!!" is an invalid value/'); }); @@ -256,7 +256,7 @@ describe('locationConstraintAssert', () => { () => { locationConstraintAssert({ 'us-east-1': usEast1, - azurefaketest: locationConstraint, + 'azurefaketest': locationConstraint, }); }, '/bad location constraint: "azurefaketest" ' + @@ -276,7 +276,7 @@ describe('locationConstraintAssert', () => { assert.throws(() => { locationConstraintAssert({ 'us-east-1': usEast1, - azurefaketest: locationConstraint, + 'azurefaketest': locationConstraint, }); }, '/bad location constraint: "azurefaketest" azureStorageAccessKey is not a valid base64 string/'); }); @@ -287,7 +287,7 @@ describe('locationConstraintAssert', () => { assert.doesNotThrow(() => { locationConstraintAssert({ 'us-east-1': usEast1, - awshttpsDefault: locationConstraint, + 'awshttpsDefault': locationConstraint, }); }, '/bad location constraint awshttpsDefault,incorrect default config for https'); assert.strictEqual(locationConstraint.details.https, true, 'https config should be true'); @@ -301,7 +301,7 @@ describe('locationConstraintAssert', () => { assert.doesNotThrow(() => { locationConstraintAssert({ 'us-east-1': usEast1, - awshttpsFalse: locationConstraint, + 'awshttpsFalse': locationConstraint, }); }, '/bad location constraint awshttpsFalse,incorrect config for https'); assert.strictEqual(locationConstraint.details.https, false, 'https config should be false'); @@ -313,7 +313,7 @@ describe('locationConstraintAssert', () => { assert.doesNotThrow(() => { locationConstraintAssert({ 'us-east-1': usEast1, - awsdefaultstyle: locationConstraint, + 'awsdefaultstyle': locationConstraint, }); }, '/bad location constraint, unable to set default config'); assert.strictEqual(locationConstraint.details.pathStyle, false, 'pathstyle config should be false'); @@ -325,7 +325,7 @@ describe('locationConstraintAssert', () => { assert.doesNotThrow(() => { locationConstraintAssert({ 'us-east-1': usEast1, - awspathstyle: locationConstraint, + 'awspathstyle': locationConstraint, }); }, '/bad location constraint, unable to set pathSytle config'); assert.strictEqual(locationConstraint.details.pathStyle, true, 'pathstyle config should be true'); @@ -337,7 +337,7 @@ describe('locationConstraintAssert', () => { assert.throws(() => { locationConstraintAssert({ 'us-east-1': usEast1, - awsstoragesizelimit: locationConstraint, + 'awsstoragesizelimit': locationConstraint, }); }, '/bad config: locationConstraints[region].sizeLimitGB must be a number (in gigabytes)'); }); @@ -346,7 +346,7 @@ describe('locationConstraintAssert', () => { const usEast1 = new LocationConstraint(undefined, 'locId1'); const locationConstraint = new LocationConstraint('azure', undefined, true, getAzureDetails()); assert.throws(() => { - locationConstraintAssert({ azurefaketest: locationConstraint, 'us-east-1': usEast1 }); + locationConstraintAssert({ 'azurefaketest': locationConstraint, 'us-east-1': usEast1 }); }, '/bad config: locationConstraints[region].objectId is mandatory and must be a unique string across locations'); }); @@ -354,7 +354,7 @@ describe('locationConstraintAssert', () => { const usEast1 = new LocationConstraint(undefined, 'locId1'); const locationConstraint = new LocationConstraint('azure', 'locId1', true, getAzureDetails()); assert.throws(() => { - locationConstraintAssert({ azurefaketest: locationConstraint, 'us-east-1': usEast1 }); + locationConstraintAssert({ 'azurefaketest': locationConstraint, 'us-east-1': usEast1 }); }, '/bad config: location constraint objectId "locId1" is not unique across configured locations'); }); }); diff --git a/tests/unit/utils/checkReadLocation.js b/tests/unit/utils/checkReadLocation.js index 34ce3fd712..4f52976311 100644 --- a/tests/unit/utils/checkReadLocation.js +++ b/tests/unit/utils/checkReadLocation.js @@ -4,14 +4,14 @@ const { ConfigObject } = require('../../../lib/Config'); const checkReadLocation = require('../../../lib/api/apiUtils/object/checkReadLocation'); const locationConstraints = { - bucketmatch: { + 'bucketmatch': { type: 'aws_s3', legacyAwsBehavior: true, details: { bucketMatch: true, }, }, - nobucketmatch: { + 'nobucketmatch': { type: 'aws_s3', legacyAwsBehavior: true, details: { diff --git a/tests/unit/utils/request.js b/tests/unit/utils/request.js index e01d926f18..13b68e57a9 100644 --- a/tests/unit/utils/request.js +++ b/tests/unit/utils/request.js @@ -347,7 +347,7 @@ function createTestServer(proto, hostname, port, handler, callback) { checkForHeaders(req.getHeaders(), { 'content-type': 'application/json', 'content-length': Buffer.byteLength(postJsonStringified), - extra: 'header', + 'extra': 'header', }); done(); }, diff --git a/tests/unit/utils/serverAccessLogger.js b/tests/unit/utils/serverAccessLogger.js index 648b204d6a..3ef39aecec 100644 --- a/tests/unit/utils/serverAccessLogger.js +++ b/tests/unit/utils/serverAccessLogger.js @@ -915,8 +915,8 @@ describe('serverAccessLogger utility functions', () => { headers: { 'content-length': '1024', 'user-agent': 'aws-cli/2.0.0', - referer: 'https://example.com', - host: 's3.amazonaws.com', + 'referer': 'https://example.com', + 'host': 's3.amazonaws.com', 'x-forwarded-for': '192.168.1.100', }, parsedContentLength: 1024, @@ -1801,8 +1801,8 @@ describe('serverAccessLogger utility functions', () => { url: '/_/backbeat/data/dest-bucket/replicated.txt?v2', httpVersion: '1.1', headers: { - host: '127.0.0.1:8000', - referer: 'http://example.com', + 'host': '127.0.0.1:8000', + 'referer': 'http://example.com', 'user-agent': 'aws-sdk-nodejs/2.1692.0', }, socket: {}, @@ -1890,8 +1890,8 @@ describe('serverAccessLogger utility functions', () => { url: '/_/backbeat/metadata/dest-bucket/replicated.txt', httpVersion: '1.1', headers: { - host: '127.0.0.1:8000', - referer: 'http://example.com', + 'host': '127.0.0.1:8000', + 'referer': 'http://example.com', 'user-agent': 'aws-sdk-nodejs/2.1692.0', }, socket: {}, @@ -1961,8 +1961,8 @@ describe('serverAccessLogger utility functions', () => { query: { versionId }, httpVersion: '1.1', headers: { - host: '127.0.0.1:8000', - referer: 'http://example.com', + 'host': '127.0.0.1:8000', + 'referer': 'http://example.com', 'user-agent': 'aws-sdk-nodejs/2.1692.0', }, socket: {}, @@ -2037,8 +2037,8 @@ describe('serverAccessLogger utility functions', () => { query: { versionId }, httpVersion: '1.1', headers: { - host: '127.0.0.1:8000', - referer: 'http://example.com', + 'host': '127.0.0.1:8000', + 'referer': 'http://example.com', 'user-agent': 'aws-sdk-nodejs/2.1692.0', }, socket: {}, diff --git a/tox.ini b/tox.ini index 185eeefb58..4da4262a50 100644 --- a/tox.ini +++ b/tox.ini @@ -2,15 +2,13 @@ skipsdist = true [testenv:pip-compile] -# Use python2.7, which is what CentOS still comes with -basepython = python2.7 +basepython = python3.12 description = Update the requirements.txt file skip_install = true deps = - pip==10.0.1 - pip-tools==2.0.2 + pip-tools>=7.4 commands = - pip-compile --index --emit-trusted-host --annotate --upgrade --generate-hashes -o "{toxinidir}/docs/requirements.txt" "{toxinidir}/docs/requirements.in" + pip-compile --no-emit-index-url --annotate --upgrade --generate-hashes --strip-extras -o "{toxinidir}/docs/requirements.txt" "{toxinidir}/docs/requirements.in" setenv = CUSTOM_COMPILE_COMMAND = tox -e pip-compile @@ -21,5 +19,5 @@ deps = -r{toxinidir}/docs/requirements.txt commands = make -C docs {posargs:html} SPHINXOPTS="-j 4 -n -W" -whitelist_externals = +allowlist_externals = make diff --git a/yarn.lock b/yarn.lock index 9730f25cb6..79bb167f3b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -342,15 +342,6 @@ "@aws-sdk/middleware-sdk-s3" "^3.972.77" tslib "^2.6.2" -"@aws-sdk/middleware-retry@^3.374.0": - version "3.374.0" - resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-retry/-/middleware-retry-3.374.0.tgz#2e80bad67338a3bd3c7dd7364e16482b08c9ffda" - integrity sha512-ZnT84qnT+Zmelv7y6hAqgAEaZgpGlrvf/+rchNWT0oG4duxI5bLWcRi9U88Jz7G8JgNQcGKJqPfC6oogCd7p8w== - dependencies: - "@smithy/middleware-retry" "^1.0.3" - tslib "^2.5.0" - uuid "^8.3.2" - "@aws-sdk/middleware-sdk-s3@^3.972.77": version "3.972.77" resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.972.77.tgz#f1006f029292db2658dbec0d175b66f6c2427523" @@ -674,7 +665,7 @@ json5 "^2.2.3" semver "^6.3.1" -"@babel/generator@^7.29.7", "@babel/generator@^7.29.8", "@babel/generator@^7.4.0": +"@babel/generator@^7.29.7", "@babel/generator@^7.29.8": version "7.29.8" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.29.8.tgz#4b0b887885422643339e09022148a4c4ebaa4979" integrity sha512-gZbepsdh3WDtgZKWL+vTPh71LSBrm/Y4/QDZBVCcYfmeTEEuoOYwlSy+G1StfJg+/Zy550u/3TATbm7qDbbMtg== @@ -741,14 +732,14 @@ "@babel/template" "^7.29.7" "@babel/types" "^7.29.7" -"@babel/parser@^7.29.7", "@babel/parser@^7.29.8", "@babel/parser@^7.4.3": +"@babel/parser@^7.29.7", "@babel/parser@^7.29.8": version "7.29.9" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.29.9.tgz#e7ee0a24f752c5296c6455855ccb72662e67ea96" integrity sha512-CjXrNHTnvqBVqHgdBysY3vk2T8tpJHb5/RMeHJBTyVa9xgugCB0CJTx/3oO8RV2QRQP391RWpB7D6hLjm8V9uA== dependencies: "@babel/types" "^7.29.8" -"@babel/template@^7.29.7", "@babel/template@^7.4.0": +"@babel/template@^7.29.7": version "7.29.7" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.29.7.tgz#4d9d4004f645cdd304de958c725162784ecac700" integrity sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg== @@ -757,7 +748,7 @@ "@babel/parser" "^7.29.7" "@babel/types" "^7.29.7" -"@babel/traverse@^7.29.7", "@babel/traverse@^7.4.3": +"@babel/traverse@^7.29.7": version "7.29.8" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.29.8.tgz#4111014cdc71a0f95d9471907590baa0b8a6b28a" integrity sha512-I5z7H3bf/41ktsNVLtpN0wAa336HkqIHQ5BuPLEhTkt1jVSyZpeNKIzTgEWmlxjdg81R0IgUCcaE+Ok3NvrfZg== @@ -770,7 +761,7 @@ "@babel/types" "^7.29.8" debug "^4.3.1" -"@babel/types@^7.29.7", "@babel/types@^7.29.8", "@babel/types@^7.4.0": +"@babel/types@^7.29.7", "@babel/types@^7.29.8": version "7.29.8" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.29.8.tgz#1229eef31d85156d70fa3f4cd859376d0eaf6863" integrity sha512-Vj1jF3cPfxg7OAfoI7QnVKLoILlm2JF9pnVHrX8qx7AHMiYWT+NDAA7jChlNgRS4WTLc/fD1lXLmPixluj+3Gg== @@ -1622,12 +1613,12 @@ JSONStream "^1.3.5" fast-xml-parser "^5.5.7" -"@scality/eslint-config-scality@scality/Guidelines#8.3.1": - version "8.3.1" - resolved "https://codeload.github.com/scality/Guidelines/tar.gz/a538b6b58e821fd8af9fa277c35f7268c23d57d8" +"@scality/eslint-config-scality@scality/Guidelines#8.3.3": + version "8.3.3" + resolved "https://codeload.github.com/scality/Guidelines/tar.gz/4f3f39e7def07df51264bb013e0978f02d110414" dependencies: - commander "11.1.0" - markdownlint "0.31.1" + globals "^14.0.0" + markdownlint "0.38.0" "@scality/hdclient@^1.3.2": version "1.3.2" @@ -1809,19 +1800,6 @@ dependencies: tslib "^2.6.2" -"@smithy/middleware-retry@^1.0.3": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@smithy/middleware-retry/-/middleware-retry-1.1.0.tgz#084f70df112f22b5bfa0de8faaa14a5dcf22149e" - integrity sha512-lINKYxIvT+W20YFOtHBKeGm7npuJg0/YCoShttU7fVpsmU+a2rdb9zrJn1MHqWfUL6DhTAWGa0tH2O7l4XrDcw== - dependencies: - "@smithy/protocol-http" "^1.2.0" - "@smithy/service-error-classification" "^1.1.0" - "@smithy/types" "^1.2.0" - "@smithy/util-middleware" "^1.1.0" - "@smithy/util-retry" "^1.1.0" - tslib "^2.5.0" - uuid "^8.3.2" - "@smithy/node-http-handler@^3.0.0": version "3.3.3" resolved "https://registry.yarnpkg.com/@smithy/node-http-handler/-/node-http-handler-3.3.3.tgz#94dbb3f15342b656ceba2b26e14aa741cace8919" @@ -1842,7 +1820,7 @@ "@smithy/types" "^4.18.0" tslib "^2.6.2" -"@smithy/protocol-http@^1.1.0", "@smithy/protocol-http@^1.2.0": +"@smithy/protocol-http@^1.1.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@smithy/protocol-http/-/protocol-http-1.2.0.tgz#a554e4dabb14508f0bc2cdef9c3710e2b294be04" integrity sha512-GfGfruksi3nXdFok5RhgtOnWe5f6BndzYfmEXISD+5gAGdayFGpjWu5pIqIweTudMtse20bGbc+7MFZXT1Tb8Q== @@ -1875,11 +1853,6 @@ "@smithy/util-uri-escape" "^3.0.0" tslib "^2.6.2" -"@smithy/service-error-classification@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@smithy/service-error-classification/-/service-error-classification-1.1.0.tgz#264dd432ae513b3f2ad9fc6f461deda8c516173c" - integrity sha512-OCTEeJ1igatd5kFrS2VDlYbainNNpf7Lj1siFOxnRWqYOP9oNvC5HOJBd3t+Z8MbrmehBtuDJ2QqeBsfeiNkww== - "@smithy/signature-v4@^1.0.1": version "1.1.0" resolved "https://registry.yarnpkg.com/@smithy/signature-v4/-/signature-v4-1.1.0.tgz#e85309995c2475d39598a4f56e68b7ed856bdfa6" @@ -1991,14 +1964,6 @@ "@smithy/types" "^3.7.2" tslib "^2.6.2" -"@smithy/util-retry@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@smithy/util-retry/-/util-retry-1.1.0.tgz#f6e62ec7d7d30f1dd9608991730ba7a86e445047" - integrity sha512-ygQW5HBqYXpR3ua09UciS0sL7UGJzGiktrKkOuEJwARoUuzz40yaEGU6xd9Gs7KBmAaFC8gMfnghHtwZ2nyBCQ== - dependencies: - "@smithy/service-error-classification" "^1.1.0" - tslib "^2.5.0" - "@smithy/util-uri-escape@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@smithy/util-uri-escape/-/util-uri-escape-1.1.0.tgz#a8c5edaf19c0efdb9b51661e840549cf600a1808" @@ -2088,6 +2053,13 @@ dependencies: "@types/node" "*" +"@types/debug@^4.0.0": + version "4.1.13" + resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.13.tgz#22d1cc9d542d3593caea764f974306ab36286ee7" + integrity sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw== + dependencies: + "@types/ms" "*" + "@types/estree@^1.0.6": version "1.0.9" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.9.tgz#cf3f0e876d7bee15a93ab925b82bf570a3904a24" @@ -2108,6 +2080,11 @@ resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== +"@types/katex@^0.16.0": + version "0.16.8" + resolved "https://registry.yarnpkg.com/@types/katex/-/katex-0.16.8.tgz#80bf3e0814d09a846412a0b0f140946b79c36c3e" + integrity sha512-trgaNyfU+Xh2Tc+ABIb44a5AYUpicB3uwirOioeOkNPPbmgRNtcWyDeeFRzjPZENO9Vq8gvVqfhaaXWLlevVwg== + "@types/keyv@^3.1.4": version "3.1.4" resolved "https://registry.yarnpkg.com/@types/keyv/-/keyv-3.1.4.tgz#3ccdb1c6751b0c7e52300bcdacd5bcbf8faa75b6" @@ -2115,6 +2092,11 @@ dependencies: "@types/node" "*" +"@types/ms@*": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@types/ms/-/ms-2.1.0.tgz#052aa67a48eccc4309d7f0191b7e41434b90bb78" + integrity sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA== + "@types/node@*", "@types/node@>=10.0.0", "@types/node@>=13.7.0": version "26.6.3" resolved "https://registry.yarnpkg.com/@types/node/-/node-26.6.3.tgz#411dccb5fc25687c958fe35b6ca3741d48a8d13c" @@ -2141,6 +2123,11 @@ resolved "https://registry.yarnpkg.com/@types/triple-beam/-/triple-beam-1.3.5.tgz#74fef9ffbaa198eb8b588be029f38b00299caa2c" integrity sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw== +"@types/unist@^2.0.0": + version "2.0.11" + resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.11.tgz#11af57b127e32487774841f7a4e54eab166d03c4" + integrity sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA== + "@types/webidl-conversions@*": version "7.0.3" resolved "https://registry.yarnpkg.com/@types/webidl-conversions/-/webidl-conversions-7.0.3.tgz#1306dbfa53768bcbcfc95a1c8cde367975581859" @@ -2177,28 +2164,11 @@ JSONStream@^1.3.5: jsonparse "^1.2.0" through ">=2.2.7 <3" -abbrev@1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" - integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== - -abbrev@1.0.x: - version "1.0.9" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135" - integrity sha512-LEyx4aLEC3x6T0UguF6YILf+ntvmOaWsVfENmIW0E9H09vKlLDGelMjjSm0jkDHALj8A8quZ/HapKNigzwge+Q== - abbrev@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-3.0.1.tgz#8ac8b3b5024d31464fe2a5feeea9f4536bf44025" integrity sha512-AO2ac6pjRB3SJmGJo+v5/aK6Omggp6fsLrs6wN9bd35ulu4cCwaAU9+7ZhXjeqHVkaHThLuzH0nZr0YpCDhygg== -abort-controller@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" - integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== - dependencies: - event-target-shim "^5.0.0" - abstract-leveldown@^6.2.1: version "6.3.0" resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-6.3.0.tgz#d25221d1e6612f820c35963ba4bd739928f6026a" @@ -2273,13 +2243,6 @@ agent-base@6: dependencies: debug "4" -agent-base@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.3.0.tgz#8165f01c436009bccad0b1d122f05ed770efc6ee" - integrity sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg== - dependencies: - es6-promisify "^5.0.0" - agent-base@^7.1.0, agent-base@^7.1.2: version "7.1.4" resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-7.1.4.tgz#e3cd76d4c548ee895d3c3fd8dc1f6c5b9032e7a8" @@ -2310,11 +2273,6 @@ ajv@6.15.0, ajv@^6.12.3, ajv@^6.14.0: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -amdefine@>=0.0.4: - version "1.0.1" - resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" - integrity sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg== - ansi-regex@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" @@ -2367,13 +2325,6 @@ apache-arrow@^21.1.0: json-with-bigint "^3.5.3" tslib "^2.6.2" -append-transform@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-1.0.0.tgz#046a52ae582a228bd72f58acfbe2967c678759ab" - integrity sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw== - dependencies: - default-require-extensions "^2.0.0" - append-transform@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-2.0.0.tgz#99d9d29c7b38391e6f428d28ce136551f0b77e12" @@ -2488,12 +2439,7 @@ async-function@^1.0.0: resolved "https://registry.yarnpkg.com/async-function/-/async-function-1.0.0.tgz#509c9fca60eaf85034c6829838188e4e4c8ffb2b" integrity sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA== -async@1.x: - version "1.5.2" - resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" - integrity sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w== - -async@2.6.4, async@^2.3.0, async@^2.6.2, async@~2.6.4: +async@2.6.4, async@~2.6.4: version "2.6.4" resolved "https://registry.yarnpkg.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221" integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA== @@ -2544,14 +2490,6 @@ aws4@^1.13.2, aws4@^1.8.0: resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.13.2.tgz#0aa167216965ac9474ccfa83892cfb6b3e1e52ef" integrity sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw== -axios@^0.18.0: - version "0.18.1" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.18.1.tgz#ff3f0de2e7b5d180e757ad98000f1081b87bcea3" - integrity sha512-0BfJq4NSfQXd+SkFdrvFbG7addhYSBA2mQwISr46pD6E5iqkWg02RAs8vyTT/j0RTnoYmeXauBuSv1qKwR179g== - dependencies: - follow-redirects "1.5.10" - is-buffer "^2.0.2" - axios@^1.12.2: version "1.20.0" resolved "https://registry.yarnpkg.com/axios/-/axios-1.20.0.tgz#515513445aa60e71d04b6521ca6210829ccb4786" @@ -2895,6 +2833,21 @@ chalk@^4.0.0, chalk@^4.1.0: ansi-styles "^4.1.0" supports-color "^7.1.0" +character-entities-legacy@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz#76bc83a90738901d7bc223a9e93759fdd560125b" + integrity sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ== + +character-entities@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-2.0.2.tgz#2d09c2e72cd9523076ccb21157dff66ad43fcc22" + integrity sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ== + +character-reference-invalid@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz#85c66b041e43b47210faf401278abf808ac45cb9" + integrity sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw== + charenc@0.0.2, charenc@~0.0.1: version "0.0.2" resolved "https://registry.yarnpkg.com/charenc/-/charenc-0.0.2.tgz#c0a1d2f3a7092e03774bfa83f14c0fc5790a8667" @@ -3040,7 +2993,7 @@ combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: dependencies: delayed-stream "~1.0.0" -commander@11.1.0, commander@^11.0.0: +commander@^11.0.0: version "11.1.0" resolved "https://registry.yarnpkg.com/commander/-/commander-11.1.0.tgz#62fdce76006a68e5c1ab3314dc92e800eb83d906" integrity sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ== @@ -3055,16 +3008,16 @@ commander@^2.7.1: resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== +commander@^8.3.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" + integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== + commondir@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== -compare-versions@^3.4.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.6.0.tgz#1a5689913685e5a87637b8d3ffca75514ec41d62" - integrity sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA== - concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" @@ -3226,21 +3179,14 @@ debug@2.6.9: dependencies: ms "2.0.0" -debug@4, debug@4.4.3, debug@^4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@^4.3.5, debug@^4.4.0, debug@^4.4.3, debug@~4.4.1: +debug@4, debug@4.4.3, debug@^4, debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@^4.3.5, debug@^4.4.0, debug@^4.4.3, debug@~4.4.1: version "4.4.3" resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.3.tgz#c6ae432d9bd9662582fce08709b038c58e9e3d6a" integrity sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA== dependencies: ms "^2.1.3" -debug@=3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" - integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== - dependencies: - ms "2.0.0" - -debug@^3.1.0, debug@^3.2.7: +debug@^3.2.7: version "3.2.7" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== @@ -3257,6 +3203,13 @@ decamelize@^4.0.0: resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== +decode-named-character-reference@^1.0.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/decode-named-character-reference/-/decode-named-character-reference-1.3.0.tgz#3e40603760874c2e5867691b599d73a7da25b53f" + integrity sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q== + dependencies: + character-entities "^2.0.0" + decompress-response@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" @@ -3264,7 +3217,7 @@ decompress-response@^6.0.0: dependencies: mimic-response "^3.1.0" -deep-is@^0.1.3, deep-is@~0.1.3: +deep-is@^0.1.3: version "0.1.4" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== @@ -3282,13 +3235,6 @@ default-browser@^5.2.1: bundle-name "^4.1.0" default-browser-id "^5.0.0" -default-require-extensions@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-2.0.0.tgz#f5f8fbb18a7d6d50b21f641f649ebb522cfe24f7" - integrity sha512-B0n2zDIXpzLzKeoEozorDSa1cHc1t0NjmxP0zuAxbizNU2MBqYJJKYXrrFdKuQliojXynrxgd7l4ahfg/+aA5g== - dependencies: - strip-bom "^3.0.0" - default-require-extensions@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-3.0.1.tgz#bfae00feeaeada68c2ae256c62540f60b80625bd" @@ -3359,11 +3305,23 @@ depd@^1.1.0: resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== +dequal@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" + integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== + destroy@1.2.0, destroy@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== +devlop@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/devlop/-/devlop-1.1.0.tgz#4db7c2ca4dc6e0e834c30be70c94bbc976dc7018" + integrity sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA== + dependencies: + dequal "^2.0.0" + diff@^5.0.0: version "5.2.2" resolved "https://registry.yarnpkg.com/diff/-/diff-5.2.2.tgz#0a4742797281d09cfa699b79ea32d27723623bad" @@ -3521,11 +3479,6 @@ enhanced-resolve@^5.17.1: graceful-fs "^4.2.4" tapable "^2.3.3" -entities@~3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/entities/-/entities-3.0.1.tgz#2b887ca62585e96db3903482d336c1006c3001d4" - integrity sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q== - env-paths@^2.2.0: version "2.2.1" resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" @@ -3695,18 +3648,11 @@ es6-iterator@^2.0.3: es5-ext "^0.10.35" es6-symbol "^3.1.1" -es6-promise@^4.0.3, es6-promise@^4.2.8: +es6-promise@^4.2.8: version "4.2.8" resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== -es6-promisify@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203" - integrity sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ== - dependencies: - es6-promise "^4.0.3" - es6-symbol@^3.1.0, es6-symbol@^3.1.1, es6-symbol@^3.1.3: version "3.1.4" resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.4.tgz#f4e7d28013770b4208ecbf3e0bf14d3bcb557b8c" @@ -3735,18 +3681,6 @@ escape-string-regexp@^4.0.0: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== -escodegen@1.8.x: - version "1.8.1" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.8.1.tgz#5a5b53af4693110bebb0867aa3430dd3b70a1018" - integrity sha512-yhi5S+mNTOuRvyW4gWlg5W1byMaQGWWSYHXsuFZ7GBo7tpyOwi2EdzMP/QWxh9hwkD2m+wDVHJsxhRIj+v/b/A== - dependencies: - esprima "^2.7.1" - estraverse "^1.9.1" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.2.0" - eslint-compat-utils@^0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/eslint-compat-utils/-/eslint-compat-utils-0.5.1.tgz#7fc92b776d185a70c4070d03fd26fde3d59652e4" @@ -3924,11 +3858,6 @@ espree@^10.0.1, espree@^10.4.0: acorn-jsx "^5.3.2" eslint-visitor-keys "^4.2.1" -esprima@2.7.x, esprima@^2.7.1: - version "2.7.3" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" - integrity sha512-OarPfz0lFCiW4/AV2Oy1Rp9qu0iusTKqykwTspGCZtPxmF81JR4MmIebvF1F9+UOKth2ZubLQ4XGGaU+hSn99A== - esprima@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" @@ -3948,11 +3877,6 @@ esrecurse@^4.3.0: dependencies: estraverse "^5.2.0" -estraverse@^1.9.1: - version "1.9.3" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.9.3.tgz#af67f2dc922582415950926091a4005d29c9bb44" - integrity sha512-25w1fMXQrGdoquWnScXZGckOv+Wes+JDnuN/+7ex3SauFRS72r2lFDec0EKPt2YD1wUJ/IrfEex+9yp4hfSOJA== - estraverse@^5.1.0, estraverse@^5.2.0: version "5.3.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" @@ -3976,11 +3900,6 @@ event-emitter@^0.3.5: d "1" es5-ext "~0.10.14" -event-target-shim@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" - integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== - events@3.3.0, events@^3.0.0, events@^3.3.0: version "3.3.0" resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" @@ -4035,7 +3954,7 @@ ext@^1.7.0: dependencies: type "^2.7.2" -extend@^3.0.1, extend@^3.0.2, extend@~3.0.2: +extend@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== @@ -4065,7 +3984,7 @@ fast-json-stable-stringify@^2.0.0: resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== -fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: +fast-levenshtein@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== @@ -4125,14 +4044,6 @@ file-uri-to-path@1.0.0: resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== -fileset@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/fileset/-/fileset-2.0.3.tgz#8e7548a96d3cc2327ee5e674168723a333bba2a0" - integrity sha512-UxowFKnAFIwtmSxgKjWAVgjE3Fk7MQJT0ZIyl0NwIFZTrx4913rLaonGJ84V+x/2+w/pe4ULHRns+GZPs1TVuw== - dependencies: - glob "^7.0.3" - minimatch "^3.0.3" - fill-range@^7.1.1: version "7.1.1" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" @@ -4206,13 +4117,6 @@ fn.name@1.x.x: resolved "https://registry.yarnpkg.com/fn.name/-/fn.name-1.1.0.tgz#26cad8017967aea8731bc42961d04a3d5988accc" integrity sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw== -follow-redirects@1.5.10: - version "1.5.10" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.10.tgz#7b7a9f9aea2fdff36786a94ff643ed07f4ff5e2a" - integrity sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ== - dependencies: - debug "=3.1.0" - follow-redirects@^1.16.0: version "1.16.0" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.16.0.tgz#28474a159d3b9d11ef62050a14ed60e4df6d61bc" @@ -4338,25 +4242,6 @@ gar@^1.0.4: resolved "https://registry.yarnpkg.com/gar/-/gar-1.0.4.tgz#f777bc7db425c0572fdeb52676172ca1ae9888b8" integrity sha512-w4n9cPWyP7aHxKxYHFQMegj7WIAsL/YX/C4Bs5Rr8s1H9M1rNtRWRsw+ovYMkXDQ5S4ZbYHsHAPmevPjPgw44w== -gaxios@^1.0.4: - version "1.8.4" - resolved "https://registry.yarnpkg.com/gaxios/-/gaxios-1.8.4.tgz#e08c34fe93c0a9b67a52b7b9e7a64e6435f9a339" - integrity sha512-BoENMnu1Gav18HcpV9IleMPZ9exM+AvUjrAOV4Mzs/vfz2Lu/ABv451iEXByKiMPn2M140uul1txXCg83sAENw== - dependencies: - abort-controller "^3.0.0" - extend "^3.0.2" - https-proxy-agent "^2.2.1" - node-fetch "^2.3.0" - -gcp-metadata@^0.6.1, gcp-metadata@^0.6.3: - version "0.6.3" - resolved "https://registry.yarnpkg.com/gcp-metadata/-/gcp-metadata-0.6.3.tgz#4550c08859c528b370459bd77a7187ea0bdbc4ab" - integrity sha512-MSmczZctbz91AxCvqp9GHBoZOSbJKAICV7Ow/AIWSJZRrRchUd5NL1b2P4OfP+4m490BEUPhhARfpHdqCxuCvg== - dependencies: - axios "^0.18.0" - extend "^3.0.1" - retry-axios "0.3.2" - generator-function@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/generator-function/-/generator-function-2.0.1.tgz#0e75dd410d1243687a0ba2e951b94eedb8f737a2" @@ -4465,18 +4350,7 @@ glob@^10.2.2, glob@^10.4.5: package-json-from-dist "^1.0.0" path-scurry "^1.11.1" -glob@^5.0.15: - version "5.0.15" - resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" - integrity sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA== - dependencies: - inflight "^1.0.4" - inherits "2" - minimatch "2 || 3" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^7.0.3, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: +glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: version "7.2.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== @@ -4518,37 +4392,6 @@ globrex@^0.1.2: resolved "https://registry.yarnpkg.com/globrex/-/globrex-0.1.2.tgz#dd5d9ec826232730cd6793a5e33a9302985e6098" integrity sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg== -google-auth-library@^1.3.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/google-auth-library/-/google-auth-library-1.6.1.tgz#9c73d831ad720c0c3048ab89d0ffdec714d07dd2" - integrity sha512-jYiWC8NA9n9OtQM7ANn0Tk464do9yhKEtaJ72pKcaBiEwn4LwcGYIYOfwtfsSm3aur/ed3tlSxbmg24IAT6gAg== - dependencies: - axios "^0.18.0" - gcp-metadata "^0.6.3" - gtoken "^2.3.0" - jws "^3.1.5" - lodash.isstring "^4.0.1" - lru-cache "^4.1.3" - retry-axios "^0.3.2" - -google-auto-auth@^0.10.1: - version "0.10.1" - resolved "https://registry.yarnpkg.com/google-auto-auth/-/google-auto-auth-0.10.1.tgz#68834a6f3da59a6cb27fce56f76e3d99ee49d0a2" - integrity sha512-iIqSbY7Ypd32mnHGbYctp80vZzXoDlvI9gEfvtl3kmyy5HzOcrZCIGCBdSlIzRsg7nHpQiHE3Zl6Ycur6TSodQ== - dependencies: - async "^2.3.0" - gcp-metadata "^0.6.1" - google-auth-library "^1.3.1" - request "^2.79.0" - -google-p12-pem@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/google-p12-pem/-/google-p12-pem-1.0.5.tgz#0b4721cdfc818759d884f0c62803518decdaf0d0" - integrity sha512-50rTrqYPTPPwlu9TNl/HkJbBENEpbRzTOVLFJ4YWM86njZgXHFy+FP+tLRSd9m132Li9Dqi27Z3KIWDEv5y+EA== - dependencies: - node-forge "^0.10.0" - pify "^4.0.0" - gopd@^1.0.1, gopd@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1" @@ -4576,29 +4419,6 @@ graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.2.4, graceful-fs@^4.2.6: resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== -gtoken@^2.3.0: - version "2.3.3" - resolved "https://registry.yarnpkg.com/gtoken/-/gtoken-2.3.3.tgz#8a7fe155c5ce0c4b71c886cfb282a9060d94a641" - integrity sha512-EaB49bu/TCoNeQjhCYKI/CurooBKkGxIqFHsWABW0b25fobBYVTMe84A8EBVVZhl8emiUdNypil9huMOTmyAnw== - dependencies: - gaxios "^1.0.4" - google-p12-pem "^1.0.0" - jws "^3.1.5" - mime "^2.2.0" - pify "^4.0.0" - -handlebars@^4.0.1: - version "4.7.9" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.9.tgz#6f139082ab58dc4e5a0e51efe7db5ae890d56a0f" - integrity sha512-4E71E0rpOaQuJR2A3xDZ+GM1HyWYv1clR58tC8emQNeQe3RH7MAzSbat+V0wG78LQBo6m6bzSG/L4pBuCsgnUQ== - dependencies: - minimist "^1.2.5" - neo-async "^2.6.2" - source-map "^0.6.1" - wordwrap "^1.0.0" - optionalDependencies: - uglify-js "^3.1.4" - har-schema@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" @@ -4617,11 +4437,6 @@ has-bigints@^1.0.2: resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.1.0.tgz#28607e965ac967e03cd2a2c70a2636a1edad49fe" integrity sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg== -has-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" - integrity sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA== - has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" @@ -4744,14 +4559,12 @@ http2-wrapper@^1.0.0-beta.5.2: "httpagent@git+https://github.com/scality/httpagent#1.1.0": version "1.1.0" - uid "8f9958eb9cde086db7819a86582fba640a5f8876" resolved "git+https://github.com/scality/httpagent#8f9958eb9cde086db7819a86582fba640a5f8876" dependencies: agentkeepalive "^4.5.0" "httpagent@git+https://github.com/scality/httpagent#1.1.1": version "1.1.1" - uid "7c6ef8be1cd89b56651f4a922ea5c92d7673ee2e" resolved "git+https://github.com/scality/httpagent#7c6ef8be1cd89b56651f4a922ea5c92d7673ee2e" dependencies: agentkeepalive "^4.6.0" @@ -4762,20 +4575,12 @@ http2-wrapper@^1.0.0-beta.5.2: dependencies: agentkeepalive "^4.5.0" -"httpagent@github:scality/httpagent#1.1.1": +"httpagent@github:scality/httpagent#1.1.1", httpagent@scality/httpagent#1.1.1: version "1.1.1" resolved "https://codeload.github.com/scality/httpagent/tar.gz/7c6ef8be1cd89b56651f4a922ea5c92d7673ee2e" dependencies: agentkeepalive "^4.6.0" -https-proxy-agent@^2.2.1: - version "2.2.4" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz#4ee7a737abd92678a293d9b34a1af4d0d08c787b" - integrity sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg== - dependencies: - agent-base "^4.3.0" - debug "^3.1.0" - https-proxy-agent@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" @@ -4923,6 +4728,19 @@ ipaddr.js@^2.2.0: resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.5.0.tgz#7d4b6c39f9392fb61cf807de6e425e22c10e061f" integrity sha512-aq+t5NAc+cS6rZQQVWC2x98CPqGtKKTMDd4Gaodv0wShnItdKg/51djkGJ1hqH+Oy0ivDftCbSLCQob8zso01w== +is-alphabetical@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-2.0.1.tgz#01072053ea7c1036df3c7d19a6daaec7f19e789b" + integrity sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ== + +is-alphanumerical@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz#7c03fbe96e3e931113e57f964b0a368cc2dfd875" + integrity sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw== + dependencies: + is-alphabetical "^2.0.0" + is-decimal "^2.0.0" + is-array-buffer@^3.0.4, is-array-buffer@^3.0.5: version "3.0.5" resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.5.tgz#65742e1e687bd2cc666253068fd8707fe4d44280" @@ -4970,11 +4788,6 @@ is-boolean-object@^1.2.1: call-bound "^1.0.3" has-tostringtag "^1.0.2" -is-buffer@^2.0.2: - version "2.0.5" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" - integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== - is-buffer@~1.1.1, is-buffer@~1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" @@ -5009,6 +4822,11 @@ is-date-object@^1.1.0: call-bound "^1.0.2" has-tostringtag "^1.0.2" +is-decimal@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-2.0.1.tgz#9469d2dc190d0214fd87d78b78caecc0cc14eef7" + integrity sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A== + is-docker@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-3.0.0.tgz#90093aa3106277d8a77a5910dbae71747e15a200" @@ -5068,6 +4886,11 @@ is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: dependencies: is-extglob "^2.1.1" +is-hexadecimal@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz#86b5bf668fca307498d319dfc03289d781a90027" + integrity sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg== + is-inside-container@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-inside-container/-/is-inside-container-1.0.0.tgz#e81fba699662eb31dbdaf26766a61d4814717ea4" @@ -5255,43 +5078,11 @@ isstream@~0.1.2: resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" integrity sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g== -istanbul-api@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-api/-/istanbul-api-3.0.0.tgz#eca53a6d3995eb39d59f2a9c1ee7071877770550" - integrity sha512-6KTQT5osUuuDT1ybWvrzJIXljrzDiZTHLxUkEr6WY1lAO2Q3PzZCH5+gSAEOaUhJf+qbaC79rQyCNeHGB6+6gw== - dependencies: - async "^2.6.2" - compare-versions "^3.4.0" - fileset "^2.0.3" - istanbul-lib-coverage "^2.0.5" - istanbul-lib-hook "^2.0.7" - istanbul-lib-instrument "^3.3.0" - istanbul-lib-report "^2.0.8" - istanbul-lib-source-maps "^3.0.6" - istanbul-reports "^2.2.5" - js-yaml "^3.13.1" - make-dir "^2.1.0" - minimatch "^3.0.4" - once "^1.4.0" - semver "^6.0.0" - -istanbul-lib-coverage@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz#675f0ab69503fad4b1d849f736baaca803344f49" - integrity sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA== - istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: version "3.2.2" resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz#2d166c4b0644d43a39f04bf6c2edd1e585f31756" integrity sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg== -istanbul-lib-hook@^2.0.7: - version "2.0.7" - resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-2.0.7.tgz#c95695f383d4f8f60df1f04252a9550e15b5b133" - integrity sha512-vrRztU9VRRFDyC+aklfLoeXyNdTfga2EI3udDGn4cZ6fpSXpHLV9X6CHvfoMCPtggg8zvDDmC4b9xfu0z6/llA== - dependencies: - append-transform "^1.0.0" - istanbul-lib-hook@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz#8f84c9434888cc6b1d0a9d7092a76d239ebf0cc6" @@ -5299,19 +5090,6 @@ istanbul-lib-hook@^3.0.0: dependencies: append-transform "^2.0.0" -istanbul-lib-instrument@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz#a5f63d91f0bbc0c3e479ef4c5de027335ec6d630" - integrity sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA== - dependencies: - "@babel/generator" "^7.4.0" - "@babel/parser" "^7.4.3" - "@babel/template" "^7.4.0" - "@babel/traverse" "^7.4.3" - "@babel/types" "^7.4.0" - istanbul-lib-coverage "^2.0.5" - semver "^6.0.0" - istanbul-lib-instrument@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" @@ -5334,15 +5112,6 @@ istanbul-lib-processinfo@^2.0.2: rimraf "^3.0.0" uuid "^8.3.2" -istanbul-lib-report@^2.0.8: - version "2.0.8" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz#5a8113cd746d43c4889eba36ab10e7d50c9b4f33" - integrity sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ== - dependencies: - istanbul-lib-coverage "^2.0.5" - make-dir "^2.1.0" - supports-color "^6.1.0" - istanbul-lib-report@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz#908305bac9a5bd175ac6a74489eafd0fc2445a7d" @@ -5352,17 +5121,6 @@ istanbul-lib-report@^3.0.0: make-dir "^4.0.0" supports-color "^7.1.0" -istanbul-lib-source-maps@^3.0.6: - version "3.0.6" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz#284997c48211752ec486253da97e3879defba8c8" - integrity sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw== - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^2.0.5" - make-dir "^2.1.0" - rimraf "^2.6.3" - source-map "^0.6.1" - istanbul-lib-source-maps@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" @@ -5372,13 +5130,6 @@ istanbul-lib-source-maps@^4.0.0: istanbul-lib-coverage "^3.0.0" source-map "^0.6.1" -istanbul-reports@^2.2.5: - version "2.2.7" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-2.2.7.tgz#5d939f6237d7b48393cc0959eab40cd4fd056931" - integrity sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg== - dependencies: - html-escaper "^2.0.0" - istanbul-reports@^3.0.2: version "3.2.0" resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.2.0.tgz#cb4535162b5784aa623cee21a7252cf2c807ac93" @@ -5387,26 +5138,6 @@ istanbul-reports@^3.0.2: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" -istanbul@^0.4.5: - version "0.4.5" - resolved "https://registry.yarnpkg.com/istanbul/-/istanbul-0.4.5.tgz#65c7d73d4c4da84d4f3ac310b918fb0b8033733b" - integrity sha512-nMtdn4hvK0HjUlzr1DrKSUY8ychprt8dzHOgY2KXsIhHu5PuQQEOTM27gV9Xblyon7aUH/TSFIjRHEODF/FRPg== - dependencies: - abbrev "1.0.x" - async "1.x" - escodegen "1.8.x" - esprima "2.7.x" - glob "^5.0.15" - handlebars "^4.0.1" - js-yaml "3.x" - mkdirp "0.5.x" - nopt "3.x" - once "1.x" - resolve "1.1.x" - supports-color "^3.1.0" - which "^1.1.1" - wordwrap "^1.0.0" - jackspeak@^3.1.2: version "3.4.3" resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-3.4.3.tgz#8833a9d89ab4acde6188942bd1c53b6390ed5a8a" @@ -5439,7 +5170,7 @@ js-tokens@^4.0.0: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -js-yaml@3.x, js-yaml@^3.13.1: +js-yaml@^3.13.1: version "3.15.2" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.15.2.tgz#3f83823ac6be17f570f23b2ecdef3777ff5ea364" integrity sha512-6EuL879VkRA+1Cz578mKMiKvjPNEuk6+r1JaFzoSWejZmtf7xWbIyw1e3KkxlkzTIt9Taw6JBhEppG7utc1P+w== @@ -5561,15 +5292,6 @@ just-extend@^6.2.0: resolved "https://registry.yarnpkg.com/just-extend/-/just-extend-6.2.0.tgz#b816abfb3d67ee860482e7401564672558163947" integrity sha512-cYofQu2Xpom82S6qD778jBDpwvvy39s1l/hrYij2u9AMdQcGRpaBu6kY4mVhuno5kJVi1DAz4aiphA2WI1/OAw== -jwa@^1.4.2: - version "1.4.2" - resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.2.tgz#16011ac6db48de7b102777e57897901520eec7b9" - integrity sha512-eeH5JO+21J78qMvTIDdBXidBd6nG2kZjg5Ohz/1fpa28Z4CcsWUzJ1ZZyFq/3z3N17aZy+ZuBoHljASbL1WfOw== - dependencies: - buffer-equal-constant-time "^1.0.1" - ecdsa-sig-formatter "1.0.11" - safe-buffer "^5.0.1" - jwa@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/jwa/-/jwa-2.0.1.tgz#bf8176d1ad0cd72e0f3f58338595a13e110bc804" @@ -5579,14 +5301,6 @@ jwa@^2.0.1: ecdsa-sig-formatter "1.0.11" safe-buffer "^5.0.1" -jws@^3.1.5: - version "3.2.3" - resolved "https://registry.yarnpkg.com/jws/-/jws-3.2.3.tgz#5ac0690b460900a27265de24520526853c0b8ca1" - integrity sha512-byiJ0FLRdLdSVSReO/U4E7RoEyOCKnEnEPMjq3HxWtvzLsV08/i5RQKsFVNkCldrCaPr2vDNAOMsfs8T/Hze7g== - dependencies: - jwa "^1.4.2" - safe-buffer "^5.0.1" - jws@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/jws/-/jws-4.0.1.tgz#07edc1be8fac20e677b283ece261498bd38f0690" @@ -5595,6 +5309,13 @@ jws@^4.0.1: jwa "^2.0.1" safe-buffer "^5.0.1" +katex@^0.16.0: + version "0.16.47" + resolved "https://registry.yarnpkg.com/katex/-/katex-0.16.47.tgz#0a13a42c2deb4f74e61f162d440b9165a548030f" + integrity sha512-Eeo8Ys1doU1z+x8AZsPpQu+p/QcZBI5PeOo7QGQdy2x2m0MU/hYagBbGOmXwr5KVbEfVuWv9LpnQWeehogurjg== + dependencies: + commander "^8.3.0" + keyv@^4.0.0, keyv@^4.5.4: version "4.5.4" resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" @@ -5741,21 +5462,6 @@ levn@^0.4.1: prelude-ls "^1.2.1" type-check "~0.4.0" -levn@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA== - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -linkify-it@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-4.0.1.tgz#01f1d5e508190d06669982ba31a7d9f56a5751ec" - integrity sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw== - dependencies: - uc.micro "^1.0.1" - load-json-file@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" @@ -5885,13 +5591,6 @@ logform@^2.7.0: safe-stable-stringify "^2.3.1" triple-beam "^1.3.0" -lolex@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/lolex/-/lolex-6.0.0.tgz#790de1911da46e67e4b60c94859d19e2db0bb7e9" - integrity sha512-ad9IBHbfVJ3bPAotDxnCgJgKcNK5/mrRAfbJzXhY5+PEmuBWP7wyHQlA6L8TfSfPlqlDjY4K7IG6mbzsrIBx1A== - dependencies: - "@sinonjs/commons" "^1.7.0" - long-timeout@0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/long-timeout/-/long-timeout-0.1.1.tgz#9721d788b47e0bcb5a24c2e2bee1a0da55dab514" @@ -5922,14 +5621,6 @@ lru-cache@^10.0.1, lru-cache@^10.2.0: resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-10.4.3.tgz#410fc8a17b70e598013df257c2446b7f3383f119" integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ== -lru-cache@^4.1.3: - version "4.1.5" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" - integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== - dependencies: - pseudomap "^1.0.2" - yallist "^2.1.2" - lru-cache@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" @@ -5952,14 +5643,6 @@ luxon@^3.2.1: resolved "https://registry.yarnpkg.com/luxon/-/luxon-3.7.2.tgz#d697e48f478553cca187a0f8436aff468e3ba0ba" integrity sha512-vtEhXh/gNjI9Yg1u4jX/0YVPMvxzHuGgCm6tC5kZyb08yjGWGnqAjGJvcXbqQR2P3MyMEFnRbpcdFS6PBcLqew== -make-dir@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" - integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== - dependencies: - pify "^4.0.1" - semver "^5.6.0" - make-dir@^3.0.0, make-dir@^3.0.2: version "3.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" @@ -5991,29 +5674,19 @@ make-fetch-happen@^14.0.3: promise-retry "^2.0.1" ssri "^12.0.0" -markdown-it@13.0.1: - version "13.0.1" - resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-13.0.1.tgz#c6ecc431cacf1a5da531423fc6a42807814af430" - integrity sha512-lTlxriVoy2criHP0JKRhO2VDG9c2ypWCsT237eDiLqi09rmbKoUetyGHq2uOIRoRS//kfoJckS0eUzzkDR+k2Q== - dependencies: - argparse "^2.0.1" - entities "~3.0.1" - linkify-it "^4.0.1" - mdurl "^1.0.1" - uc.micro "^1.0.5" - -markdownlint-micromark@0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/markdownlint-micromark/-/markdownlint-micromark-0.1.7.tgz#c465091b30d61a56027ccbfb981c80c96448c165" - integrity sha512-BbRPTC72fl5vlSKv37v/xIENSRDYL/7X/XoFzZ740FGEbs9vZerLrIkFRY0rv7slQKxDczToYuMmqQFN61fi4Q== - -markdownlint@0.31.1: - version "0.31.1" - resolved "https://registry.yarnpkg.com/markdownlint/-/markdownlint-0.31.1.tgz#f014ed2d3614c5dbc351b7f65641ccc0a5facdb7" - integrity sha512-CKMR2hgcIBrYlIUccDCOvi966PZ0kJExDrUi1R+oF9PvqQmCrTqjOsgIvf2403OmJ+CWomuzDoylr6KbuMyvHA== +markdownlint@0.38.0: + version "0.38.0" + resolved "https://registry.yarnpkg.com/markdownlint/-/markdownlint-0.38.0.tgz#862ca9d08f3a28f4149bd388ac369bb95865534e" + integrity sha512-xaSxkaU7wY/0852zGApM8LdlIfGCW8ETZ0Rr62IQtAnUMlMuifsg09vWJcNYeL4f0anvr8Vo4ZQar8jGpV0btQ== dependencies: - markdown-it "13.0.1" - markdownlint-micromark "0.1.7" + micromark "4.0.2" + micromark-core-commonmark "2.0.3" + micromark-extension-directive "4.0.0" + micromark-extension-gfm-autolink-literal "2.1.0" + micromark-extension-gfm-footnote "2.1.0" + micromark-extension-gfm-table "2.1.1" + micromark-extension-math "3.1.0" + micromark-util-types "2.0.2" math-intrinsics@^1.1.0: version "1.1.0" @@ -6038,11 +5711,6 @@ md5@~2.2.0: crypt "~0.0.1" is-buffer "~1.1.1" -mdurl@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" - integrity sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g== - media-typer@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" @@ -6085,6 +5753,286 @@ methods@^1.1.2, methods@~1.1.2: resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== +micromark-core-commonmark@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/micromark-core-commonmark/-/micromark-core-commonmark-2.0.3.tgz#c691630e485021a68cf28dbc2b2ca27ebf678cd4" + integrity sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg== + dependencies: + decode-named-character-reference "^1.0.0" + devlop "^1.0.0" + micromark-factory-destination "^2.0.0" + micromark-factory-label "^2.0.0" + micromark-factory-space "^2.0.0" + micromark-factory-title "^2.0.0" + micromark-factory-whitespace "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-chunked "^2.0.0" + micromark-util-classify-character "^2.0.0" + micromark-util-html-tag-name "^2.0.0" + micromark-util-normalize-identifier "^2.0.0" + micromark-util-resolve-all "^2.0.0" + micromark-util-subtokenize "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-core-commonmark@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/micromark-core-commonmark/-/micromark-core-commonmark-2.0.4.tgz#ff748f2327717b3675f0864e5aabc4f2a0028da3" + integrity sha512-wxEeE8v8XVvOrxn1TZj74qYhAtTQsSqufHVS3uNVyT1MupXxhyaHk8/9xDNPh9BmL77QNDgWTkZ3RsYHB2ry7w== + dependencies: + decode-named-character-reference "^1.0.0" + devlop "^1.0.0" + micromark-factory-destination "^2.0.0" + micromark-factory-label "^2.0.0" + micromark-factory-space "^2.1.0" + micromark-factory-title "^2.0.0" + micromark-factory-whitespace "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-chunked "^2.0.0" + micromark-util-classify-character "^2.0.0" + micromark-util-edit-map "^1.0.0" + micromark-util-html-tag-name "^2.0.0" + micromark-util-normalize-identifier "^2.0.0" + micromark-util-resolve-all "^2.0.0" + micromark-util-subtokenize "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.3" + +micromark-extension-directive@4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/micromark-extension-directive/-/micromark-extension-directive-4.0.0.tgz#af389e33fe0654c15f8466b73a0f5af598d00368" + integrity sha512-/C2nqVmXXmiseSSuCdItCMho7ybwwop6RrrRPk0KbOHW21JKoCldC+8rFOaundDoRBUWBnJJcxeA/Kvi34WQXg== + dependencies: + devlop "^1.0.0" + micromark-factory-space "^2.0.0" + micromark-factory-whitespace "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + parse-entities "^4.0.0" + +micromark-extension-gfm-autolink-literal@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz#6286aee9686c4462c1e3552a9d505feddceeb935" + integrity sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw== + dependencies: + micromark-util-character "^2.0.0" + micromark-util-sanitize-uri "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-extension-gfm-footnote@2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz#4dab56d4e398b9853f6fe4efac4fc9361f3e0750" + integrity sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw== + dependencies: + devlop "^1.0.0" + micromark-core-commonmark "^2.0.0" + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-normalize-identifier "^2.0.0" + micromark-util-sanitize-uri "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-extension-gfm-table@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.1.tgz#fac70bcbf51fe65f5f44033118d39be8a9b5940b" + integrity sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg== + dependencies: + devlop "^1.0.0" + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-extension-math@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/micromark-extension-math/-/micromark-extension-math-3.1.0.tgz#c42ee3b1dd5a9a03584e83dd8f08e3de510212c1" + integrity sha512-lvEqd+fHjATVs+2v/8kg9i5Q0AP2k85H0WUOwpIVvUML8BapsMvh1XAogmQjOCsLpoKRCVQqEkQBB3NhVBcsOg== + dependencies: + "@types/katex" "^0.16.0" + devlop "^1.0.0" + katex "^0.16.0" + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-factory-destination@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz#8fef8e0f7081f0474fbdd92deb50c990a0264639" + integrity sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA== + dependencies: + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-factory-label@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz#5267efa97f1e5254efc7f20b459a38cb21058ba1" + integrity sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg== + dependencies: + devlop "^1.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-factory-space@^2.0.0, micromark-factory-space@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/micromark-factory-space/-/micromark-factory-space-2.1.0.tgz#afc208b018c330f17f438731c2014fdff1cd154f" + integrity sha512-fS8hnLIjnjvdQIj39Geug8wWsR0HrYZ43KShKxNfwT7t2LOHo/LbWZEzEaSOjwtjdCsjoE6syHhonEzW0zv0+Q== + dependencies: + micromark-util-character "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-factory-title@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz#237e4aa5d58a95863f01032d9ee9b090f1de6e94" + integrity sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw== + dependencies: + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-factory-whitespace@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz#06b26b2983c4d27bfcc657b33e25134d4868b0b1" + integrity sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ== + dependencies: + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-util-character@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/micromark-util-character/-/micromark-util-character-2.1.1.tgz#2f987831a40d4c510ac261e89852c4e9703ccda6" + integrity sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q== + dependencies: + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-util-chunked@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz#47fbcd93471a3fccab86cff03847fc3552db1051" + integrity sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA== + dependencies: + micromark-util-symbol "^2.0.0" + +micromark-util-classify-character@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz#d399faf9c45ca14c8b4be98b1ea481bced87b629" + integrity sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q== + dependencies: + micromark-util-character "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-util-combine-extensions@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz#2a0f490ab08bff5cc2fd5eec6dd0ca04f89b30a9" + integrity sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg== + dependencies: + micromark-util-chunked "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-util-decode-numeric-character-reference@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz#fcf15b660979388e6f118cdb6bf7d79d73d26fe5" + integrity sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw== + dependencies: + micromark-util-symbol "^2.0.0" + +micromark-util-edit-map@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/micromark-util-edit-map/-/micromark-util-edit-map-1.0.0.tgz#0b5dd9ab4295f7389472c5fee2b61ffd45774cb2" + integrity sha512-Pa2ljlsEL6sVwFaYeyrOLSYbQt73JvGbPOYFq+9AElXiSnfI5Q4465RRZ1sHv7lDjDOnGRDDaqPXqClqWK/q1Q== + dependencies: + micromark-util-types "^2.0.0" + +micromark-util-encode@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz#0d51d1c095551cfaac368326963cf55f15f540b8" + integrity sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw== + +micromark-util-html-tag-name@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz#e40403096481986b41c106627f98f72d4d10b825" + integrity sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA== + +micromark-util-normalize-identifier@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz#c30d77b2e832acf6526f8bf1aa47bc9c9438c16d" + integrity sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q== + dependencies: + micromark-util-symbol "^2.0.0" + +micromark-util-resolve-all@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz#e1a2d62cdd237230a2ae11839027b19381e31e8b" + integrity sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg== + dependencies: + micromark-util-types "^2.0.0" + +micromark-util-sanitize-uri@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz#ab89789b818a58752b73d6b55238621b7faa8fd7" + integrity sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ== + dependencies: + micromark-util-character "^2.0.0" + micromark-util-encode "^2.0.0" + micromark-util-symbol "^2.0.0" + +micromark-util-subtokenize@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/micromark-util-subtokenize/-/micromark-util-subtokenize-2.1.0.tgz#d8ade5ba0f3197a1cf6a2999fbbfe6357a1a19ee" + integrity sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA== + dependencies: + devlop "^1.0.0" + micromark-util-chunked "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + +micromark-util-symbol@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz#e5da494e8eb2b071a0d08fb34f6cefec6c0a19b8" + integrity sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q== + +micromark-util-types@2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/micromark-util-types/-/micromark-util-types-2.0.2.tgz#f00225f5f5a0ebc3254f96c36b6605c4b393908e" + integrity sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA== + +micromark-util-types@^2.0.0, micromark-util-types@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/micromark-util-types/-/micromark-util-types-2.0.3.tgz#e7b04fa58589199c7ef58b37cd696fcb2bce44e7" + integrity sha512-oxB2Ik03hI0gv+VNn9tnh1t1YEe9MDPptViAEgfdf3YQHsn0pzGTgCdlSCJXcwhqm8phaEuM7zeEu3QQzVBrPg== + +micromark@4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/micromark/-/micromark-4.0.2.tgz#91395a3e1884a198e62116e33c9c568e39936fdb" + integrity sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA== + dependencies: + "@types/debug" "^4.0.0" + debug "^4.0.0" + decode-named-character-reference "^1.0.0" + devlop "^1.0.0" + micromark-core-commonmark "^2.0.0" + micromark-factory-space "^2.0.0" + micromark-util-character "^2.0.0" + micromark-util-chunked "^2.0.0" + micromark-util-combine-extensions "^2.0.0" + micromark-util-decode-numeric-character-reference "^2.0.0" + micromark-util-encode "^2.0.0" + micromark-util-normalize-identifier "^2.0.0" + micromark-util-resolve-all "^2.0.0" + micromark-util-sanitize-uri "^2.0.0" + micromark-util-subtokenize "^2.0.0" + micromark-util-symbol "^2.0.0" + micromark-util-types "^2.0.0" + mime-db@1.52.0: version "1.52.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" @@ -6102,11 +6050,6 @@ mime@1.6.0, mime@^1.3.4: resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== -mime@^2.2.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367" - integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== - mimic-response@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" @@ -6117,13 +6060,6 @@ mimic-response@^3.1.0: resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== -"minimatch@2 || 3", minimatch@^3.0.3, minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2, minimatch@^3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.5.tgz#580c88f8d5445f2bd6aa8f3cadefa0de79fbd69e" - integrity sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w== - dependencies: - brace-expansion "^1.1.7" - minimatch@^10.0.1, minimatch@^10.2.1: version "10.2.6" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-10.2.6.tgz#fd956bbe0b77241e9f15ac5dccb1c638060968ef" @@ -6131,6 +6067,13 @@ minimatch@^10.0.1, minimatch@^10.2.1: dependencies: brace-expansion "^5.0.8" +minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2, minimatch@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.5.tgz#580c88f8d5445f2bd6aa8f3cadefa0de79fbd69e" + integrity sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w== + dependencies: + brace-expansion "^1.1.7" + minimatch@^9.0.4, minimatch@^9.0.5: version "9.0.9" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.9.tgz#9b0cb9fcb78087f6fd7eababe2511c4d3d60574e" @@ -6138,7 +6081,7 @@ minimatch@^9.0.4, minimatch@^9.0.5: dependencies: brace-expansion "^2.0.2" -minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6: +minimist@^1.2.0, minimist@^1.2.6: version "1.2.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== @@ -6201,13 +6144,6 @@ minizlib@^3.0.1, minizlib@^3.1.0: dependencies: minipass "^7.1.2" -mkdirp@0.5.x: - version "0.5.6" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" - integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== - dependencies: - minimist "^1.2.6" - mkdirp@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-3.0.1.tgz#e44e4c5607fb279c168241713cc6e0fea9adcb50" @@ -6331,11 +6267,6 @@ negotiator@^1.0.0: dependencies: content-type "^2.1.0" -neo-async@^2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" - integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== - next-tick@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" @@ -6372,18 +6303,13 @@ node-exports-info@^1.6.0: object.entries "^1.1.9" semver "^6.3.1" -node-fetch@^2.3.0, node-fetch@^2.6.0: +node-fetch@^2.6.0: version "2.7.0" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== dependencies: whatwg-url "^5.0.0" -node-forge@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" - integrity sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA== - node-forge@^1.3.1: version "1.4.0" resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.4.0.tgz#1c7b7d8bdc2d078739f58287d589d903a11b2fc2" @@ -6467,13 +6393,6 @@ nodemon@^3.1.10: touch "^3.1.0" undefsafe "^2.0.5" -nopt@3.x: - version "3.0.6" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" - integrity sha512-4GUt3kSEYmk4ITxzB/b9vaIDfUVWN/Ml1Fwl11IlnIG2iaJ9O6WXZ9SrYM9NLI8OCBieN2Y8SWC2oJV0RQ7qYg== - dependencies: - abbrev "1" - nopt@^8.0.0: version "8.1.0" resolved "https://registry.yarnpkg.com/nopt/-/nopt-8.1.0.tgz#b11d38caf0f8643ce885818518064127f602eae3" @@ -6656,7 +6575,7 @@ on-finished@~2.4.1: dependencies: ee-first "1.1.1" -once@1.x, once@^1.3.0, once@^1.3.1, once@^1.4.0: +once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== @@ -6685,18 +6604,6 @@ opencollective-postinstall@^2.0.0: resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259" integrity sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q== -optionator@^0.8.1: - version "0.8.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" - integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.6" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - word-wrap "~1.2.3" - optionator@^0.9.3: version "0.9.4" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.4.tgz#7ea1c1a5d91d764fb282139c88fe11e182a3a734" @@ -6791,6 +6698,19 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" +parse-entities@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-4.0.2.tgz#61d46f5ed28e4ee62e9ddc43d6b010188443f159" + integrity sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw== + dependencies: + "@types/unist" "^2.0.0" + character-entities-legacy "^3.0.0" + character-reference-invalid "^2.0.0" + decode-named-character-reference "^1.0.0" + is-alphanumerical "^2.0.0" + is-decimal "^2.0.0" + is-hexadecimal "^2.0.0" + parse-json@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" @@ -6894,11 +6814,6 @@ pify@^3.0.0: resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== -pify@^4.0.0, pify@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" - integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== - pino-abstract-transport@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pino-abstract-transport/-/pino-abstract-transport-3.0.0.tgz#b21e5f33a297e8c4c915c62b3ce5dd4a87a52c23" @@ -6942,11 +6857,6 @@ prelude-ls@^1.2.1: resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w== - prettier@^3.4.2: version "3.9.9" resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.9.9.tgz#09b826918c91cd4cbc80e0cbd1d2a922ff04f233" @@ -7030,11 +6940,6 @@ prr@~1.0.1: resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" integrity sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw== -pseudomap@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" - integrity sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ== - psl@^1.1.28: version "1.15.0" resolved "https://registry.yarnpkg.com/psl/-/psl-1.15.0.tgz#bdace31896f1d97cec6a79e8224898ce93d974c6" @@ -7256,7 +7161,7 @@ release-zalgo@^1.0.0: dependencies: es6-error "^4.0.1" -request@^2.79.0, request@^2.88.0, request@^2.88.2: +request@^2.88.0: version "2.88.2" resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== @@ -7320,11 +7225,6 @@ resolve-pkg-maps@^1.0.0: resolved "https://registry.yarnpkg.com/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz#616b3dc2c57056b5588c31cdf4b3d64db133720f" integrity sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw== -resolve@1.1.x: - version "1.1.7" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" - integrity sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg== - resolve@^1.10.0: version "1.22.12" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.12.tgz#f5b2a680897c69c238a13cd16b15671f8b73549f" @@ -7354,23 +7254,11 @@ responselike@^2.0.0: dependencies: lowercase-keys "^2.0.0" -retry-axios@0.3.2, retry-axios@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/retry-axios/-/retry-axios-0.3.2.tgz#5757c80f585b4cc4c4986aa2ffd47a60c6d35e13" - integrity sha512-jp4YlI0qyDFfXiXGhkCOliBN1G7fRH03Nqy8YdShzGqbY5/9S2x/IR6C88ls2DFkbWuL3ASkP7QD3pVrNpPgwQ== - retry@^0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" integrity sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow== -rimraf@^2.6.3: - version "2.7.1" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" - integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== - dependencies: - glob "^7.1.3" - rimraf@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" @@ -7446,7 +7334,7 @@ secure-json-parse@^4.0.0: resolved "https://registry.yarnpkg.com/secure-json-parse/-/secure-json-parse-4.1.0.tgz#4f1ab41c67a13497ea1b9131bb4183a22865477c" integrity sha512-l4KnYfEyqYJxDwlNVyRfO2E4NTHfMKAWdUuA8J0yve2Dz/E/PdBepY03RvyJpssIpRFwJoCD55wA+mEDs6ByWA== -"semver@2 || 3 || 4 || 5", semver@^5.5.0, semver@^5.6.0: +"semver@2 || 3 || 4 || 5", semver@^5.5.0: version "5.7.2" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== @@ -7728,13 +7616,6 @@ source-map@^0.6.1: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== -source-map@~0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.2.0.tgz#dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d" - integrity sha512-CBdZ2oa/BHhS4xj5DlhjWNHcan57/5YuvfdLf17iVmIpd9KRm+DFLmC6nBNj+6Ua7Kt3TmOjDpQT1aTYOQtoUA== - dependencies: - amdefine ">=0.0.4" - sparse-bitfield@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz#ff4ae6e68656056ba4b3e792ab3334d38273ca11" @@ -8009,13 +7890,6 @@ strnum@^2.4.2: dependencies: anynum "^1.0.1" -supports-color@^3.1.0: - version "3.2.3" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" - integrity sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A== - dependencies: - has-flag "^1.0.0" - supports-color@^5.3.0, supports-color@^5.5.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" @@ -8023,13 +7897,6 @@ supports-color@^5.3.0, supports-color@^5.5.0: dependencies: has-flag "^3.0.0" -supports-color@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" - integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== - dependencies: - has-flag "^3.0.0" - supports-color@^7.1.0, supports-color@^7.2.0: version "7.2.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" @@ -8219,13 +8086,6 @@ type-check@^0.4.0, type-check@~0.4.0: dependencies: prelude-ls "^1.2.1" -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - integrity sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg== - dependencies: - prelude-ls "~1.1.2" - type-detect@4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" @@ -8341,16 +8201,6 @@ typewiselite@~1.0.0: resolved "https://registry.yarnpkg.com/typewiselite/-/typewiselite-1.0.0.tgz#c8882fa1bb1092c06005a97f34ef5c8508e3664e" integrity sha512-J9alhjVHupW3Wfz6qFRGgQw0N3gr8hOkw6zm7FZ6UR1Cse/oD9/JVok7DNE9TT9IbciDHX2Ex9+ksE6cRmtymw== -uc.micro@^1.0.1, uc.micro@^1.0.5: - version "1.0.6" - resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.6.tgz#9c411a802a409a91fc6cf74081baba34b24499ac" - integrity sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA== - -uglify-js@^3.1.4: - version "3.19.3" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.19.3.tgz#82315e9bbc6f2b25888858acd1fff8441035b77f" - integrity sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ== - unbox-primitive@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.1.0.tgz#8d9d2c9edeea8460c7f35033a88867944934d1e2" @@ -8507,7 +8357,7 @@ webidl-conversions@^7.0.0: fast-safe-stringify "^2.1.1" safe-json-stringify "^1.2.0" -"werelogs@github:scality/werelogs#8.2.5", werelogs@scality/werelogs#8.2.5, "werelogs@scality/werelogs#semver:^8.2.4": +werelogs@scality/werelogs#8.2.5, "werelogs@scality/werelogs#semver:^8.2.4": version "8.2.5" resolved "https://codeload.github.com/scality/werelogs/tar.gz/41188826d661227f98ebaaeda7df5e5862809bc7" dependencies: @@ -8593,7 +8443,7 @@ which-typed-array@^1.1.16, which-typed-array@^1.1.18, which-typed-array@^1.1.19: gopd "^1.2.0" has-tostringtag "^1.0.2" -which@^1.1.1, which@^1.2.9: +which@^1.2.9: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== @@ -8640,16 +8490,11 @@ winston@^3.2.1: triple-beam "^1.3.0" winston-transport "^4.9.0" -word-wrap@^1.2.5, word-wrap@~1.2.3: +word-wrap@^1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== -wordwrap@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" - integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== - workerpool@^9.2.0: version "9.3.4" resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-9.3.4.tgz#f6c92395b2141afd78e2a889e80cb338fe9fca41" @@ -8766,11 +8611,6 @@ y18n@^5.0.5: resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== -yallist@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" - integrity sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A== - yallist@^3.0.2: version "3.1.1" resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"