From 1e0b2e875db27551062629e5eb45bb2d22732318 Mon Sep 17 00:00:00 2001 From: Francois Ferrand Date: Wed, 30 Sep 2026 07:37:35 +0200 Subject: [PATCH 1/5] Remove unused dependencies google-auto-auth, request, @aws-sdk/middleware-retry, level-mem, lolex, istanbul and istanbul-api are no longer referenced anywhere in the code or tests. Several are deprecated upstream, and their transitive trees brought in 42 of the 61 advisories reported by yarn audit. Issue: CLDSRV-999 --- package.json | 7 - yarn.lock | 571 +++------------------------------------------------ 2 files changed, 30 insertions(+), 548 deletions(-) diff --git a/package.json b/package.json index 42c596298d..55fd0d77ba 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", @@ -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/yarn.lock b/yarn.lock index 9730f25cb6..209a7ad325 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== @@ -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" @@ -2177,28 +2142,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 +2221,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 +2251,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 +2303,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 +2417,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 +2468,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" @@ -3060,11 +2976,6 @@ commondir@^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" @@ -3233,14 +3144,7 @@ debug@4, debug@4.4.3, debug@^4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@ 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== @@ -3264,7 +3168,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 +3186,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" @@ -3695,18 +3592,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 +3625,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 +3802,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 +3821,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 +3844,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 +3898,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 +3928,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 +3988,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 +4061,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 +4186,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 +4294,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 +4336,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 +4363,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 +4381,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,7 +4503,6 @@ 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" @@ -4762,20 +4520,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" @@ -4970,11 +4720,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" @@ -5255,43 +5000,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 +5012,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 +5034,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 +5043,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 +5052,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 +5060,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 +5092,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 +5214,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 +5223,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" @@ -5741,14 +5377,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" @@ -5885,13 +5513,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 +5543,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 +5565,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" @@ -6102,11 +5707,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 +5717,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 +5724,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 +5738,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 +5801,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 +5924,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 +5960,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 +6050,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 +6232,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 +6261,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" @@ -6894,11 +6458,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 +6501,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 +6584,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 +6805,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 +6869,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 +6898,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 +6978,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 +7260,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 +7534,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 +7541,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 +7730,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" @@ -8346,11 +7850,6 @@ uc.micro@^1.0.1, uc.micro@^1.0.5: 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 +8006,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 +8092,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 +8139,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 +8260,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" From ae4916130dc30e23a49c0d7209066e26cdc694f8 Mon Sep 17 00:00:00 2001 From: Francois Ferrand Date: Wed, 30 Sep 2026 07:38:58 +0200 Subject: [PATCH 2/5] Bump Guidelines to 8.3.3 Moves mdlint to markdownlint 0.38, which drops the vulnerable markdown-it / linkify-it chain (5 dev advisories). ESLint and markdown lint results are unchanged on the current tree. Issue: CLDSRV-999 --- package.json | 2 +- yarn.lock | 455 +++++++++++++++++++++++++++++++++++++++++++++------ 2 files changed, 404 insertions(+), 53 deletions(-) diff --git a/package.json b/package.json index 55fd0d77ba..abae71f609 100644 --- a/package.json +++ b/package.json @@ -66,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", diff --git a/yarn.lock b/yarn.lock index 209a7ad325..79bb167f3b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1613,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" @@ -2053,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" @@ -2073,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" @@ -2080,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" @@ -2106,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" @@ -2811,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" @@ -2956,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== @@ -2971,6 +3008,11 @@ 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" @@ -3137,7 +3179,7 @@ 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== @@ -3161,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" @@ -3256,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" @@ -3418,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" @@ -4509,7 +4565,6 @@ http2-wrapper@^1.0.0-beta.5.2: "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" @@ -4673,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" @@ -4754,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" @@ -4813,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" @@ -5231,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" @@ -5377,13 +5462,6 @@ levn@^0.4.1: prelude-ls "^1.2.1" type-check "~0.4.0" -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" @@ -5596,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" @@ -5643,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" @@ -5690,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" @@ -6355,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" @@ -7845,11 +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== - unbox-primitive@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.1.0.tgz#8d9d2c9edeea8460c7f35033a88867944934d1e2" From e31f35529c015835a856262c6a9bf1acd455b8e6 Mon Sep 17 00:00:00 2001 From: Francois Ferrand Date: Wed, 30 Sep 2026 07:40:27 +0200 Subject: [PATCH 3/5] Refresh Python docs requirements The Sphinx lockfile was last compiled in 2018 for Python 2.7 and carried 30 Dependabot alerts (jinja2, requests, urllib3, certifi, ...). Recompile it with current pip-tools on Python 3.12 and drop recommonmark, which is deprecated and not loaded by docs/conf.py. Issue: CLDSRV-999 --- docs/requirements.in | 3 +- docs/requirements.txt | 444 ++++++++++++++++++++++++++++++++---------- tox.ini | 10 +- 3 files changed, 343 insertions(+), 114 deletions(-) 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/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 From 517b256cc60c5102e687a5ac68d88eb1f2e51f2d Mon Sep 17 00:00:00 2001 From: Francois Ferrand Date: Wed, 30 Sep 2026 16:33:28 +0200 Subject: [PATCH 4/5] Bump junit in jaws functional tests junit 4.11 is affected by CVE-2020-15250 (GHSA-269g-pwp5-87pp, TemporaryFolder information disclosure), fixed in 4.13.1. Issue: CLDSRV-999 --- tests/functional/jaws/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 From ae201f4fc7a28618bdcda1af15d2248f9cb3c51c Mon Sep 17 00:00:00 2001 From: Francois Ferrand Date: Wed, 30 Sep 2026 19:57:22 +0200 Subject: [PATCH 5/5] Apply Prettier quoteProps consistent from Guidelines 8.3.3 Guidelines 8.3.3 switches the shared Prettier config from quoteProps 'as-needed' to 'consistent', to match the eslint quote-props 'consistent-as-needed' rule. Objects that mix keys needing quotes with plain ones now quote all keys, so reformat the affected files to keep prettier:check passing after the bump. Formatting only, no behaviour change. Issue: CLDSRV-999 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- constants.js | 6 +- eslint.config.mjs | 2 +- lib/api/apiUtils/bucket/parseWhere.js | 2 +- lib/api/apiUtils/object/corsResponse.js | 2 +- lib/api/apiUtils/object/objectLockHelpers.js | 2 +- lib/api/objectPutPart.js | 2 +- lib/routes/veeam/schemas/system.js | 2 +- lib/services.js | 2 +- lib/utilities/aclUtils.js | 2 +- .../test/multipleBackend/put/put.js | 18 +-- .../aws-node-sdk/test/object/100-continue.js | 6 +- .../aws-node-sdk/test/object/corsHeaders.js | 2 +- .../aws-node-sdk/test/object/corsPreflight.js | 64 +++++------ .../aws-node-sdk/test/object/websiteHead.js | 4 +- .../aws-node-sdk/test/quota/tooling.js | 2 +- .../backbeat/cleanReadLocalization.js | 4 +- .../backbeat/excludedDataStoreName.js | 2 +- .../backbeat/listLifecycleCurrents.js | 12 +- .../backbeat/listLifecycleNonCurrents.js | 2 +- .../listLifecycleOrphanDeleteMarkers.js | 8 +- tests/functional/backbeat/putMetadata.js | 4 +- .../healthchecks/test/checkRoutes.js | 2 +- .../raw-node/test/badChunkSignatureV4.js | 2 +- .../raw-node/test/malformedDateHeader.js | 10 +- .../raw-node/test/unsignedChecksumHeaders.js | 2 +- .../raw-node/utils/HttpRequestAuthV4.js | 2 +- .../functional/raw-node/utils/MetadataMock.js | 16 +-- tests/multipleBackend/multipartUpload.js | 12 +- tests/multipleBackend/objectPutCopyPart.js | 4 +- tests/multipleBackend/objectPutPart.js | 7 +- tests/multipleBackend/routes/routeBackbeat.js | 28 ++--- tests/sur/routeVeeam.js | 4 +- tests/unit/api/apiUtils/getReplicationInfo.js | 4 +- .../apiUtils/integrity/validateChecksums.js | 43 ++++--- .../api/apiUtils/object/objectAttributes.js | 2 +- .../unit/api/apiUtils/object/prepareStream.js | 16 +-- tests/unit/api/apiUtils/object/storeObject.js | 10 +- tests/unit/api/apiUtils/permissionChecks.js | 2 +- tests/unit/api/apiUtils/quotas/quotaUtils.js | 6 +- tests/unit/api/apiUtils/tagConditionKeys.js | 2 +- .../api/apiUtils/validatePayloadProtocol.js | 2 +- tests/unit/api/apiUtils/versioning.js | 106 +++++++++--------- tests/unit/api/bucketGetACL.js | 16 +-- tests/unit/api/bucketGetObjectLock.js | 4 +- tests/unit/api/bucketPut.js | 30 ++--- tests/unit/api/bucketPutACL.js | 22 ++-- tests/unit/api/bucketUpdateQuota.js | 2 +- tests/unit/api/corsErrorHeaders.js | 4 +- tests/unit/api/createAndStoreObject.js | 30 ++--- tests/unit/api/directToCold.js | 4 +- tests/unit/api/listParts.js | 36 +++--- tests/unit/api/multipartUpload.js | 34 +++--- tests/unit/api/objectACLauth.js | 8 +- tests/unit/api/objectGet.js | 8 +- tests/unit/api/objectGetACL.js | 2 +- tests/unit/api/objectGetAttributes.js | 2 +- tests/unit/api/objectPut.js | 12 +- tests/unit/api/objectPutACL.js | 2 +- tests/unit/api/objectPutRetention.js | 2 +- .../unit/api/utils/metadataMockColdStorage.js | 16 +-- tests/unit/auth/permissionChecks.js | 2 +- tests/unit/healthchecks/clientCheck.js | 30 ++--- tests/unit/internal/routeVeeam.js | 2 +- tests/unit/lib/services.spec.js | 12 +- tests/unit/routes/routeBackbeat.js | 16 +-- tests/unit/testConfigs/locConstraintAssert.js | 30 ++--- tests/unit/utils/checkReadLocation.js | 4 +- tests/unit/utils/request.js | 2 +- tests/unit/utils/serverAccessLogger.js | 20 ++-- 69 files changed, 398 insertions(+), 386 deletions(-) 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/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/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/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: {},