mediawiki/extensions/WikibaseQualityConstraints: main (log #2262409)

sourcepatches

This run took 60 seconds.

From 40f1f23275f3acd313bfbe9fc24c879c1f103285 Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Thu, 11 Dec 2025 18:07:40 +0000
Subject: [PATCH] build: Updating api-testing to 1.7.1

Change-Id: I7fc4a1ef7b2d01aefda229fa8703113cefc177aa
---
 package-lock.json | 282 +++++++++++++++++++++++-----------------------
 package.json      |   2 +-
 2 files changed, 142 insertions(+), 142 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 717e5fa..3ed912f 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -6,11 +6,11 @@
 		"": {
 			"name": "WikibaseQualityConstraints",
 			"devDependencies": {
-				"api-testing": "^1.7.0",
+				"api-testing": "1.7.1",
 				"cypress": "^15.7.1",
 				"cypress-axe": "^1.7.0",
 				"cypress-wikibase-api": "^0.0.7",
-				"eslint-config-wikimedia": "^0.32.3",
+				"eslint-config-wikimedia": "0.32.3",
 				"eslint-plugin-jasmine": "^4.1.3",
 				"grunt": "1.6.1",
 				"grunt-banana-checker": "0.13.0",
@@ -177,22 +177,6 @@
 				"node": ">= 6"
 			}
 		},
-		"node_modules/@cypress/request/node_modules/form-data": {
-			"version": "4.0.5",
-			"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz",
-			"integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==",
-			"dev": true,
-			"dependencies": {
-				"asynckit": "^0.4.0",
-				"combined-stream": "^1.0.8",
-				"es-set-tostringtag": "^2.1.0",
-				"hasown": "^2.0.2",
-				"mime-types": "^2.1.12"
-			},
-			"engines": {
-				"node": ">= 6"
-			}
-		},
 		"node_modules/@cypress/xvfb": {
 			"version": "1.2.4",
 			"resolved": "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz",
@@ -471,6 +455,18 @@
 			"integrity": "sha512-7xdrMX0Wk7grrTZQwAoy1GkvPMFoizStUoL+VmtUkAxegbCCec+3FKwOM6yc/uGU5+BEczQHXAlWiqvM8JeENg==",
 			"dev": true
 		},
+		"node_modules/@noble/hashes": {
+			"version": "1.8.0",
+			"resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz",
+			"integrity": "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==",
+			"dev": true,
+			"engines": {
+				"node": "^14.21.3 || >=16"
+			},
+			"funding": {
+				"url": "https://paulmillr.com/funding/"
+			}
+		},
 		"node_modules/@nodelib/fs.scandir": {
 			"version": "2.1.5",
 			"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
@@ -506,6 +502,15 @@
 				"node": ">= 8"
 			}
 		},
+		"node_modules/@paralleldrive/cuid2": {
+			"version": "2.3.1",
+			"resolved": "https://registry.npmjs.org/@paralleldrive/cuid2/-/cuid2-2.3.1.tgz",
+			"integrity": "sha512-XO7cAxhnTZl0Yggq6jOgjiOHhbgcO4NqFqwSmQpjK3b6TEE6Uj/jfSk6wzYyemh3+I0sHirKSetjQwn5cZktFw==",
+			"dev": true,
+			"dependencies": {
+				"@noble/hashes": "^1.1.5"
+			}
+		},
 		"node_modules/@pkgjs/parseargs": {
 			"version": "0.11.0",
 			"resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
@@ -1125,16 +1130,16 @@
 			}
 		},
 		"node_modules/api-testing": {
-			"version": "1.7.0",
-			"resolved": "https://registry.npmjs.org/api-testing/-/api-testing-1.7.0.tgz",
-			"integrity": "sha512-+gp8xQtm1CYQNgsGvzolWjjkm059mDuTF975P0aebUfekouY+CIPirfGjU+UT464b2+wVaiSy5wPlDnXB1zXBA==",
+			"version": "1.7.1",
+			"resolved": "https://registry.npmjs.org/api-testing/-/api-testing-1.7.1.tgz",
+			"integrity": "sha512-h6eqLa9uOOpbBXGN6/s91GquV1YprC1XLVtWIRv/25XWFRqHibIBwuXjqcUqFSsU1fgYvfclSMRXuUcCvEmX6A==",
 			"dev": true,
 			"dependencies": {
-				"chai": "^4.2.0",
-				"supertest": "^5.0.0-0"
+				"chai": "4.5.0",
+				"supertest": "7.1.0"
 			},
 			"engines": {
-				"node": ">= 10.0.0"
+				"node": ">= 14.18.0"
 			}
 		},
 		"node_modules/arch": {
@@ -1250,6 +1255,12 @@
 				"node": ">=8"
 			}
 		},
+		"node_modules/asap": {
+			"version": "2.0.6",
+			"resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
+			"integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==",
+			"dev": true
+		},
 		"node_modules/asn1": {
 			"version": "0.2.6",
 			"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz",
@@ -2279,6 +2290,16 @@
 				"node": ">=0.10.0"
 			}
 		},
+		"node_modules/dezalgo": {
+			"version": "1.0.4",
+			"resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz",
+			"integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==",
+			"dev": true,
+			"dependencies": {
+				"asap": "^2.0.0",
+				"wrappy": "1"
+			}
+		},
 		"node_modules/diff": {
 			"version": "5.2.0",
 			"resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz",
@@ -3654,27 +3675,34 @@
 			}
 		},
 		"node_modules/form-data": {
-			"version": "3.0.4",
-			"resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.4.tgz",
-			"integrity": "sha512-f0cRzm6dkyVYV3nPoooP8XlccPQukegwhAnpoLcXy+X+A8KfpGOoXwDr9FLZd3wzgLaBGQBE3lY93Zm/i1JvIQ==",
+			"version": "4.0.5",
+			"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz",
+			"integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==",
 			"dev": true,
 			"dependencies": {
 				"asynckit": "^0.4.0",
 				"combined-stream": "^1.0.8",
 				"es-set-tostringtag": "^2.1.0",
 				"hasown": "^2.0.2",
-				"mime-types": "^2.1.35"
+				"mime-types": "^2.1.12"
 			},
 			"engines": {
 				"node": ">= 6"
 			}
 		},
 		"node_modules/formidable": {
-			"version": "1.2.6",
-			"resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.6.tgz",
-			"integrity": "sha512-KcpbcpuLNOwrEjnbpMC0gS+X8ciDoZE1kkqzat4a8vrprf+s9pKNQ/QIwWfbfs4ltgmFl3MD177SNTkve3BwGQ==",
-			"deprecated": "Please upgrade to latest, formidable@v2 or formidable@v3! Check these notes: https://bit.ly/2ZEqIau",
+			"version": "3.5.4",
+			"resolved": "https://registry.npmjs.org/formidable/-/formidable-3.5.4.tgz",
+			"integrity": "sha512-YikH+7CUTOtP44ZTnUhR7Ic2UASBPOqmaRkRKxRbywPTe5VxF7RRCck4af9wutiZ/QKM5nME9Bie2fFaPz5Gug==",
 			"dev": true,
+			"dependencies": {
+				"@paralleldrive/cuid2": "^2.2.2",
+				"dezalgo": "^1.0.4",
+				"once": "^1.4.0"
+			},
+			"engines": {
+				"node": ">=14.0.0"
+			},
 			"funding": {
 				"url": "https://ko-fi.com/tunnckoCore/commissions"
 			}
@@ -7190,63 +7218,38 @@
 			}
 		},
 		"node_modules/superagent": {
-			"version": "6.1.0",
-			"resolved": "https://registry.npmjs.org/superagent/-/superagent-6.1.0.tgz",
-			"integrity": "sha512-OUDHEssirmplo3F+1HWKUrUjvnQuA+nZI6i/JJBdXb5eq9IyEQwPyPpqND+SSsxf6TygpBEkUjISVRN4/VOpeg==",
+			"version": "9.0.2",
+			"resolved": "https://registry.npmjs.org/superagent/-/superagent-9.0.2.tgz",
+			"integrity": "sha512-xuW7dzkUpcJq7QnhOsnNUgtYp3xRwpt2F7abdRYIpCsAt0hhUqia0EdxyXZQQpNmGtsCzYHryaKSV3q3GJnq7w==",
 			"deprecated": "Please upgrade to superagent v10.2.2+, see release notes at https://github.com/forwardemail/superagent/releases/tag/v10.2.2 - maintenance is supported by Forward Email @ https://forwardemail.net",
 			"dev": true,
 			"dependencies": {
 				"component-emitter": "^1.3.0",
-				"cookiejar": "^2.1.2",
-				"debug": "^4.1.1",
-				"fast-safe-stringify": "^2.0.7",
-				"form-data": "^3.0.0",
-				"formidable": "^1.2.2",
+				"cookiejar": "^2.1.4",
+				"debug": "^4.3.4",
+				"fast-safe-stringify": "^2.1.1",
+				"form-data": "^4.0.0",
+				"formidable": "^3.5.1",
 				"methods": "^1.1.2",
-				"mime": "^2.4.6",
-				"qs": "^6.9.4",
-				"readable-stream": "^3.6.0",
-				"semver": "^7.3.2"
+				"mime": "2.6.0",
+				"qs": "^6.11.0"
 			},
 			"engines": {
-				"node": ">= 7.0.0"
-			}
-		},
-		"node_modules/superagent/node_modules/readable-stream": {
-			"version": "3.6.2",
-			"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
-			"integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
-			"dev": true,
-			"dependencies": {
-				"inherits": "^2.0.3",
-				"string_decoder": "^1.1.1",
-				"util-deprecate": "^1.0.1"
-			},
-			"engines": {
-				"node": ">= 6"
-			}
-		},
-		"node_modules/superagent/node_modules/string_decoder": {
-			"version": "1.3.0",
-			"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
-			"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
-			"dev": true,
-			"dependencies": {
-				"safe-buffer": "~5.2.0"
+				"node": ">=14.18.0"
 			}
 		},
 		"node_modules/supertest": {
-			"version": "5.0.0",
-			"resolved": "https://registry.npmjs.org/supertest/-/supertest-5.0.0.tgz",
-			"integrity": "sha512-2JAWpPrUOZF4hHH5ZTCN2xjKXvJS3AEwPNXl0HUseHsfcXFvMy9kcsufIHCNAmQ5hlGCvgeAqaR5PBEouN3hlQ==",
+			"version": "7.1.0",
+			"resolved": "https://registry.npmjs.org/supertest/-/supertest-7.1.0.tgz",
+			"integrity": "sha512-5QeSO8hSrKghtcWEoPiO036fxH0Ii2wVQfFZSP0oqQhmjk8bOLhDFXr4JrvaFmPuEWUoq4znY3uSi8UzLKxGqw==",
 			"deprecated": "Please upgrade to supertest v7.1.3+, see release notes at https://github.com/forwardemail/supertest/releases/tag/v7.1.3 - maintenance is supported by Forward Email @ https://forwardemail.net",
 			"dev": true,
 			"dependencies": {
-				"methods": "1.1.2",
-				"superagent": "6.1.0"
+				"methods": "^1.1.2",
+				"superagent": "^9.0.1"
 			},
 			"engines": {
-				"node": ">=6.0.0"
+				"node": ">=14.18.0"
 			}
 		},
 		"node_modules/supports-color": {
@@ -8154,21 +8157,6 @@
 				"tough-cookie": "^5.0.0",
 				"tunnel-agent": "^0.6.0",
 				"uuid": "^8.3.2"
-			},
-			"dependencies": {
-				"form-data": {
-					"version": "4.0.5",
-					"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz",
-					"integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==",
-					"dev": true,
-					"requires": {
-						"asynckit": "^0.4.0",
-						"combined-stream": "^1.0.8",
-						"es-set-tostringtag": "^2.1.0",
-						"hasown": "^2.0.2",
-						"mime-types": "^2.1.12"
-					}
-				}
 			}
 		},
 		"@cypress/xvfb": {
@@ -8375,6 +8363,12 @@
 			"integrity": "sha512-7xdrMX0Wk7grrTZQwAoy1GkvPMFoizStUoL+VmtUkAxegbCCec+3FKwOM6yc/uGU5+BEczQHXAlWiqvM8JeENg==",
 			"dev": true
 		},
+		"@noble/hashes": {
+			"version": "1.8.0",
+			"resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz",
+			"integrity": "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==",
+			"dev": true
+		},
 		"@nodelib/fs.scandir": {
 			"version": "2.1.5",
 			"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
@@ -8401,6 +8395,15 @@
 				"fastq": "^1.6.0"
 			}
 		},
+		"@paralleldrive/cuid2": {
+			"version": "2.3.1",
+			"resolved": "https://registry.npmjs.org/@paralleldrive/cuid2/-/cuid2-2.3.1.tgz",
+			"integrity": "sha512-XO7cAxhnTZl0Yggq6jOgjiOHhbgcO4NqFqwSmQpjK3b6TEE6Uj/jfSk6wzYyemh3+I0sHirKSetjQwn5cZktFw==",
+			"dev": true,
+			"requires": {
+				"@noble/hashes": "^1.1.5"
+			}
+		},
 		"@pkgjs/parseargs": {
 			"version": "0.11.0",
 			"resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
@@ -8829,13 +8832,13 @@
 			}
 		},
 		"api-testing": {
-			"version": "1.7.0",
-			"resolved": "https://registry.npmjs.org/api-testing/-/api-testing-1.7.0.tgz",
-			"integrity": "sha512-+gp8xQtm1CYQNgsGvzolWjjkm059mDuTF975P0aebUfekouY+CIPirfGjU+UT464b2+wVaiSy5wPlDnXB1zXBA==",
+			"version": "1.7.1",
+			"resolved": "https://registry.npmjs.org/api-testing/-/api-testing-1.7.1.tgz",
+			"integrity": "sha512-h6eqLa9uOOpbBXGN6/s91GquV1YprC1XLVtWIRv/25XWFRqHibIBwuXjqcUqFSsU1fgYvfclSMRXuUcCvEmX6A==",
 			"dev": true,
 			"requires": {
-				"chai": "^4.2.0",
-				"supertest": "^5.0.0-0"
+				"chai": "4.5.0",
+				"supertest": "7.1.0"
 			}
 		},
 		"arch": {
@@ -8919,6 +8922,12 @@
 			"integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==",
 			"dev": true
 		},
+		"asap": {
+			"version": "2.0.6",
+			"resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
+			"integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==",
+			"dev": true
+		},
 		"asn1": {
 			"version": "0.2.6",
 			"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz",
@@ -9667,6 +9676,16 @@
 				}
 			}
 		},
+		"dezalgo": {
+			"version": "1.0.4",
+			"resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz",
+			"integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==",
+			"dev": true,
+			"requires": {
+				"asap": "^2.0.0",
+				"wrappy": "1"
+			}
+		},
 		"diff": {
 			"version": "5.2.0",
 			"resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz",
@@ -10661,23 +10680,28 @@
 			"dev": true
 		},
 		"form-data": {
-			"version": "3.0.4",
-			"resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.4.tgz",
-			"integrity": "sha512-f0cRzm6dkyVYV3nPoooP8XlccPQukegwhAnpoLcXy+X+A8KfpGOoXwDr9FLZd3wzgLaBGQBE3lY93Zm/i1JvIQ==",
+			"version": "4.0.5",
+			"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz",
+			"integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==",
 			"dev": true,
 			"requires": {
 				"asynckit": "^0.4.0",
 				"combined-stream": "^1.0.8",
 				"es-set-tostringtag": "^2.1.0",
 				"hasown": "^2.0.2",
-				"mime-types": "^2.1.35"
+				"mime-types": "^2.1.12"
 			}
 		},
 		"formidable": {
-			"version": "1.2.6",
-			"resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.6.tgz",
-			"integrity": "sha512-KcpbcpuLNOwrEjnbpMC0gS+X8ciDoZE1kkqzat4a8vrprf+s9pKNQ/QIwWfbfs4ltgmFl3MD177SNTkve3BwGQ==",
-			"dev": true
+			"version": "3.5.4",
+			"resolved": "https://registry.npmjs.org/formidable/-/formidable-3.5.4.tgz",
+			"integrity": "sha512-YikH+7CUTOtP44ZTnUhR7Ic2UASBPOqmaRkRKxRbywPTe5VxF7RRCck4af9wutiZ/QKM5nME9Bie2fFaPz5Gug==",
+			"dev": true,
+			"requires": {
+				"@paralleldrive/cuid2": "^2.2.2",
+				"dezalgo": "^1.0.4",
+				"once": "^1.4.0"
+			}
 		},
 		"fs-extra": {
 			"version": "9.1.0",
@@ -13230,54 +13254,30 @@
 			}
 		},
 		"superagent": {
-			"version": "6.1.0",
-			"resolved": "https://registry.npmjs.org/superagent/-/superagent-6.1.0.tgz",
-			"integrity": "sha512-OUDHEssirmplo3F+1HWKUrUjvnQuA+nZI6i/JJBdXb5eq9IyEQwPyPpqND+SSsxf6TygpBEkUjISVRN4/VOpeg==",
+			"version": "9.0.2",
+			"resolved": "https://registry.npmjs.org/superagent/-/superagent-9.0.2.tgz",
+			"integrity": "sha512-xuW7dzkUpcJq7QnhOsnNUgtYp3xRwpt2F7abdRYIpCsAt0hhUqia0EdxyXZQQpNmGtsCzYHryaKSV3q3GJnq7w==",
 			"dev": true,
 			"requires": {
 				"component-emitter": "^1.3.0",
-				"cookiejar": "^2.1.2",
-				"debug": "^4.1.1",
-				"fast-safe-stringify": "^2.0.7",
-				"form-data": "^3.0.0",
-				"formidable": "^1.2.2",
+				"cookiejar": "^2.1.4",
+				"debug": "^4.3.4",
+				"fast-safe-stringify": "^2.1.1",
+				"form-data": "^4.0.0",
+				"formidable": "^3.5.1",
 				"methods": "^1.1.2",
-				"mime": "^2.4.6",
-				"qs": "^6.9.4",
-				"readable-stream": "^3.6.0",
-				"semver": "^7.3.2"
-			},
-			"dependencies": {
-				"readable-stream": {
-					"version": "3.6.2",
-					"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
-					"integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
-					"dev": true,
-					"requires": {
-						"inherits": "^2.0.3",
-						"string_decoder": "^1.1.1",
-						"util-deprecate": "^1.0.1"
-					}
-				},
-				"string_decoder": {
-					"version": "1.3.0",
-					"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
-					"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
-					"dev": true,
-					"requires": {
-						"safe-buffer": "~5.2.0"
-					}
-				}
+				"mime": "2.6.0",
+				"qs": "^6.11.0"
 			}
 		},
 		"supertest": {
-			"version": "5.0.0",
-			"resolved": "https://registry.npmjs.org/supertest/-/supertest-5.0.0.tgz",
-			"integrity": "sha512-2JAWpPrUOZF4hHH5ZTCN2xjKXvJS3AEwPNXl0HUseHsfcXFvMy9kcsufIHCNAmQ5hlGCvgeAqaR5PBEouN3hlQ==",
+			"version": "7.1.0",
+			"resolved": "https://registry.npmjs.org/supertest/-/supertest-7.1.0.tgz",
+			"integrity": "sha512-5QeSO8hSrKghtcWEoPiO036fxH0Ii2wVQfFZSP0oqQhmjk8bOLhDFXr4JrvaFmPuEWUoq4znY3uSi8UzLKxGqw==",
 			"dev": true,
 			"requires": {
-				"methods": "1.1.2",
-				"superagent": "6.1.0"
+				"methods": "^1.1.2",
+				"superagent": "^9.0.1"
 			}
 		},
 		"supports-color": {
diff --git a/package.json b/package.json
index 9ed8a5c..879513e 100644
--- a/package.json
+++ b/package.json
@@ -9,7 +9,7 @@
 		"selenium-test": "npm run cypress:run"
 	},
 	"devDependencies": {
-		"api-testing": "^1.7.0",
+		"api-testing": "1.7.1",
 		"cypress": "^15.7.1",
 		"cypress-axe": "^1.7.0",
 		"cypress-wikibase-api": "^0.0.7",
-- 
2.47.3

$ date
--- stdout ---
Thu Dec 11 18:06:59 UTC 2025

--- end ---
$ git clone file:///srv/git/mediawiki-extensions-WikibaseQualityConstraints.git repo --depth=1 -b master
--- stderr ---
Cloning into 'repo'...
--- stdout ---

--- end ---
$ git config user.name libraryupgrader
--- stdout ---

--- end ---
$ git config user.email tools.libraryupgrader@tools.wmflabs.org
--- stdout ---

--- end ---
$ git submodule update --init
--- stdout ---

--- end ---
$ grr init
--- stdout ---
Installed commit-msg hook.

--- end ---
$ git show-ref refs/heads/master
--- stdout ---
22d3de330a16f9768ad77011d9c7b1e052f23ef4 refs/heads/master

--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {},
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 0,
      "moderate": 0,
      "high": 0,
      "critical": 0,
      "total": 0
    },
    "dependencies": {
      "prod": 1,
      "dev": 673,
      "optional": 5,
      "peer": 2,
      "peerOptional": 0,
      "total": 673
    }
  }
}

--- end ---
$ /usr/bin/composer install
--- stderr ---
No composer.lock file present. Updating dependencies to latest instead of installing from lock file. See https://getcomposer.org/install for more information.
Loading composer repositories with package information
Updating dependencies
Lock file operations: 47 installs, 0 updates, 0 removals
  - Locking composer/pcre (3.3.2)
  - Locking composer/semver (3.4.4)
  - Locking composer/spdx-licenses (1.5.9)
  - Locking composer/xdebug-handler (3.0.5)
  - Locking data-values/common (1.2.0)
  - Locking data-values/data-values (3.1.0)
  - Locking data-values/geo (4.6.0)
  - Locking data-values/interfaces (1.2.0)
  - Locking data-values/number (0.13.0)
  - Locking data-values/serialization (1.2.5)
  - Locking data-values/time (1.2.0)
  - Locking dealerdirect/phpcodesniffer-composer-installer (v1.2.0)
  - Locking doctrine/deprecations (1.1.5)
  - Locking felixfbecker/advanced-json-rpc (v3.2.1)
  - Locking mediawiki/mediawiki-codesniffer (v48.0.0)
  - Locking mediawiki/mediawiki-phan-config (0.17.0)
  - Locking mediawiki/minus-x (1.1.3)
  - Locking mediawiki/phan-taint-check-plugin (7.0.0)
  - Locking microsoft/tolerant-php-parser (v0.1.2)
  - Locking netresearch/jsonmapper (v4.5.0)
  - Locking phan/phan (5.5.1)
  - Locking php-parallel-lint/php-console-color (v1.0.1)
  - Locking php-parallel-lint/php-console-highlighter (v1.0.0)
  - Locking php-parallel-lint/php-parallel-lint (v1.4.0)
  - Locking phpcsstandards/phpcsextra (1.4.0)
  - Locking phpcsstandards/phpcsutils (1.1.1)
  - Locking phpdocumentor/reflection-common (2.2.0)
  - Locking phpdocumentor/reflection-docblock (5.6.5)
  - Locking phpdocumentor/type-resolver (1.12.0)
  - Locking phpstan/phpdoc-parser (2.3.0)
  - Locking psr/container (2.0.2)
  - Locking psr/log (3.0.2)
  - Locking sabre/event (5.1.7)
  - Locking serialization/serialization (4.1.0)
  - Locking squizlabs/php_codesniffer (3.13.2)
  - Locking symfony/console (v7.4.1)
  - Locking symfony/deprecation-contracts (v3.6.0)
  - Locking symfony/polyfill-ctype (v1.33.0)
  - Locking symfony/polyfill-intl-grapheme (v1.33.0)
  - Locking symfony/polyfill-intl-normalizer (v1.33.0)
  - Locking symfony/polyfill-mbstring (v1.33.0)
  - Locking symfony/polyfill-php80 (v1.33.0)
  - Locking symfony/service-contracts (v3.6.1)
  - Locking symfony/string (v8.0.1)
  - Locking tysonandre/var_representation_polyfill (0.1.3)
  - Locking webmozart/assert (1.12.1)
  - Locking wikimedia/purtle (v2.0.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 47 installs, 0 updates, 0 removals
    0 [>---------------------------]    0 [->--------------------------]
  - Installing squizlabs/php_codesniffer (3.13.2): Extracting archive
  - Installing dealerdirect/phpcodesniffer-composer-installer (v1.2.0): Extracting archive
  - Installing composer/pcre (3.3.2): Extracting archive
  - Installing data-values/interfaces (1.2.0): Extracting archive
  - Installing data-values/data-values (3.1.0): Extracting archive
  - Installing data-values/geo (4.6.0): Extracting archive
  - Installing data-values/common (1.2.0): Extracting archive
  - Installing data-values/number (0.13.0): Extracting archive
  - Installing serialization/serialization (4.1.0): Extracting archive
  - Installing data-values/serialization (1.2.5): Extracting archive
  - Installing data-values/time (1.2.0): Extracting archive
  - Installing phpcsstandards/phpcsutils (1.1.1): Extracting archive
  - Installing phpcsstandards/phpcsextra (1.4.0): Extracting archive
  - Installing symfony/polyfill-mbstring (v1.33.0): Extracting archive
  - Installing composer/spdx-licenses (1.5.9): Extracting archive
  - Installing composer/semver (3.4.4): Extracting archive
  - Installing mediawiki/mediawiki-codesniffer (v48.0.0): Extracting archive
  - Installing tysonandre/var_representation_polyfill (0.1.3): Extracting archive
  - Installing symfony/polyfill-php80 (v1.33.0): Extracting archive
  - Installing symfony/polyfill-intl-normalizer (v1.33.0): Extracting archive
  - Installing symfony/polyfill-intl-grapheme (v1.33.0): Extracting archive
  - Installing symfony/polyfill-ctype (v1.33.0): Extracting archive
  - Installing symfony/string (v8.0.1): Extracting archive
  - Installing symfony/deprecation-contracts (v3.6.0): Extracting archive
  - Installing psr/container (2.0.2): Extracting archive
  - Installing symfony/service-contracts (v3.6.1): Extracting archive
  - Installing symfony/console (v7.4.1): Extracting archive
  - Installing sabre/event (5.1.7): Extracting archive
  - Installing netresearch/jsonmapper (v4.5.0): Extracting archive
  - Installing microsoft/tolerant-php-parser (v0.1.2): Extracting archive
  - Installing webmozart/assert (1.12.1): Extracting archive
  - Installing phpstan/phpdoc-parser (2.3.0): Extracting archive
  - Installing phpdocumentor/reflection-common (2.2.0): Extracting archive
  - Installing doctrine/deprecations (1.1.5): Extracting archive
  - Installing phpdocumentor/type-resolver (1.12.0): Extracting archive
  - Installing phpdocumentor/reflection-docblock (5.6.5): Extracting archive
  - Installing felixfbecker/advanced-json-rpc (v3.2.1): Extracting archive
  - Installing psr/log (3.0.2): Extracting archive
  - Installing composer/xdebug-handler (3.0.5): Extracting archive
  - Installing phan/phan (5.5.1): Extracting archive
  - Installing mediawiki/phan-taint-check-plugin (7.0.0): Extracting archive
  - Installing mediawiki/mediawiki-phan-config (0.17.0): Extracting archive
  - Installing mediawiki/minus-x (1.1.3): Extracting archive
  - Installing php-parallel-lint/php-console-color (v1.0.1): Extracting archive
  - Installing php-parallel-lint/php-console-highlighter (v1.0.0): Extracting archive
  - Installing php-parallel-lint/php-parallel-lint (v1.4.0): Extracting archive
  - Installing wikimedia/purtle (v2.0.0): Extracting archive
  0/45 [>---------------------------]   0%
 27/45 [================>-----------]  60%
 44/45 [===========================>]  97%
 45/45 [============================] 100%
1 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating autoload files
19 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
--- stdout ---
PHP CodeSniffer Config installed_paths set to ../../mediawiki/mediawiki-codesniffer,../../phpcsstandards/phpcsextra,../../phpcsstandards/phpcsutils

--- end ---
Upgrading n:api-testing from ^1.7.0 -> 1.7.1
$ /usr/bin/npm install
--- stderr ---
npm WARN deprecated supertest@7.1.0: Please upgrade to supertest v7.1.3+, see release notes at https://github.com/forwardemail/supertest/releases/tag/v7.1.3 - maintenance is supported by Forward Email @ https://forwardemail.net
npm WARN deprecated superagent@9.0.2: Please upgrade to superagent v10.2.2+, see release notes at https://github.com/forwardemail/superagent/releases/tag/v10.2.2 - maintenance is supported by Forward Email @ https://forwardemail.net
--- stdout ---

added 674 packages, and audited 675 packages in 9s

147 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

--- end ---
$ package-lock-lint /src/repo/package-lock.json
--- stdout ---
Checking /src/repo/package-lock.json

--- end ---
$ /usr/bin/npm ci
--- stderr ---
npm WARN deprecated supertest@7.1.0: Please upgrade to supertest v7.1.3+, see release notes at https://github.com/forwardemail/supertest/releases/tag/v7.1.3 - maintenance is supported by Forward Email @ https://forwardemail.net
npm WARN deprecated superagent@9.0.2: Please upgrade to superagent v10.2.2+, see release notes at https://github.com/forwardemail/superagent/releases/tag/v10.2.2 - maintenance is supported by Forward Email @ https://forwardemail.net
--- stdout ---

added 674 packages, and audited 675 packages in 11s

147 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

--- end ---
$ /usr/bin/npm test
--- stdout ---

> test
> grunt test

Running "eslint:all" (eslint) task

/src/repo/modules/gadget.js
  214:18  warning  OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true  mediawiki/no-unlabeled-buttonwidget

✖ 1 problem (0 errors, 1 warning)


Running "banana:WikibaseQualityConstraints" (banana) task
>> 2 message directories checked.

Running "jasmine_nodejs:all" (jasmine_nodejs) task

>> Executing 29 defined specs...

Test Suites & Specs:

1) wikibase.quality.constraints.gadget

   2) _aggregateMultipleWbcheckconstraintsResponses
      ✔ can combine multiple responses' entity information

   3) _extractResultsForStatement
      ✔ finds constraint violation result in entity data

   4) _addReportsToStatement
      ✔ adds results to references
      ✔ adds results to main snak
      ✔ adds results to qualifiers
      ✔ extracts result for statement with property id and statement id

   5) config
      ✔ has default values
      ✔ can be overwritten by constructor parameter

   6) default behavior
      ✔ sets entity from newFromEntityLoadedHook
      ✔ invokes mw loader and resumes once it is ready
      ✔ runs a fullCheck once mw loader is done and entityView.rendered fires
      ✔ gets entity id from wbEntityId
      ✔ checks if wbIsEditView true

   7) _getEntityDataByStatementId
      ✔ extracts the entity data when the statementId exists
      ✔ returns null when the statementId isn't present

   8) snackCheck
      ✔ adds reports to statement from response
      ✔ runs a full check
      ✔ calls api with statement id

   9) fullCheck
      ✔ uses api response to update DOM statements
      ✔ tracks usage
      ✔ calls api with correct parameters

   10) setting and getting an entity
      ✔ gets the same entity as set

   ✔ exports an invokable module

   11) _fullCheckAllIds
      ✔ chunks requests

12) wikibase.quality.constraints.suggestions.EntitySelectorHookHandler
   ✔ exports an invokable module

   13) getSearchHandler
      ✔ Returns a handler function

   14) returned search handler
      ✔ doesn't call passed callback for properties without qualifier context
      ✔ calls passed callback
      ✔ doesn't call passed callback for items with qualifier context

>> Done!


Summary:

Suites:  14 of 14
Specs:   29 of 29
Expects: 0 (0 failures)
Finished in 0.115 seconds

>> Successful!

Running "stylelint:all" (stylelint) task
>> Linted 4 files without errors

Done.

--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {},
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 0,
      "moderate": 0,
      "high": 0,
      "critical": 0,
      "total": 0
    },
    "dependencies": {
      "prod": 1,
      "dev": 674,
      "optional": 5,
      "peer": 2,
      "peerOptional": 0,
      "total": 674
    }
  }
}

--- end ---
$ package-lock-lint /src/repo/package-lock.json
--- stdout ---
Checking /src/repo/package-lock.json

--- end ---
build: Updating api-testing to 1.7.1

$ git add .
--- stdout ---

--- end ---
$ git commit -F /tmp/tmpyc34pbeo
--- stdout ---
[master 40f1f23] build: Updating api-testing to 1.7.1
 2 files changed, 142 insertions(+), 142 deletions(-)

--- end ---
$ git format-patch HEAD~1 --stdout
--- stdout ---
From 40f1f23275f3acd313bfbe9fc24c879c1f103285 Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Thu, 11 Dec 2025 18:07:40 +0000
Subject: [PATCH] build: Updating api-testing to 1.7.1

Change-Id: I7fc4a1ef7b2d01aefda229fa8703113cefc177aa
---
 package-lock.json | 282 +++++++++++++++++++++++-----------------------
 package.json      |   2 +-
 2 files changed, 142 insertions(+), 142 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 717e5fa..3ed912f 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -6,11 +6,11 @@
 		"": {
 			"name": "WikibaseQualityConstraints",
 			"devDependencies": {
-				"api-testing": "^1.7.0",
+				"api-testing": "1.7.1",
 				"cypress": "^15.7.1",
 				"cypress-axe": "^1.7.0",
 				"cypress-wikibase-api": "^0.0.7",
-				"eslint-config-wikimedia": "^0.32.3",
+				"eslint-config-wikimedia": "0.32.3",
 				"eslint-plugin-jasmine": "^4.1.3",
 				"grunt": "1.6.1",
 				"grunt-banana-checker": "0.13.0",
@@ -177,22 +177,6 @@
 				"node": ">= 6"
 			}
 		},
-		"node_modules/@cypress/request/node_modules/form-data": {
-			"version": "4.0.5",
-			"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz",
-			"integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==",
-			"dev": true,
-			"dependencies": {
-				"asynckit": "^0.4.0",
-				"combined-stream": "^1.0.8",
-				"es-set-tostringtag": "^2.1.0",
-				"hasown": "^2.0.2",
-				"mime-types": "^2.1.12"
-			},
-			"engines": {
-				"node": ">= 6"
-			}
-		},
 		"node_modules/@cypress/xvfb": {
 			"version": "1.2.4",
 			"resolved": "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz",
@@ -471,6 +455,18 @@
 			"integrity": "sha512-7xdrMX0Wk7grrTZQwAoy1GkvPMFoizStUoL+VmtUkAxegbCCec+3FKwOM6yc/uGU5+BEczQHXAlWiqvM8JeENg==",
 			"dev": true
 		},
+		"node_modules/@noble/hashes": {
+			"version": "1.8.0",
+			"resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz",
+			"integrity": "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==",
+			"dev": true,
+			"engines": {
+				"node": "^14.21.3 || >=16"
+			},
+			"funding": {
+				"url": "https://paulmillr.com/funding/"
+			}
+		},
 		"node_modules/@nodelib/fs.scandir": {
 			"version": "2.1.5",
 			"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
@@ -506,6 +502,15 @@
 				"node": ">= 8"
 			}
 		},
+		"node_modules/@paralleldrive/cuid2": {
+			"version": "2.3.1",
+			"resolved": "https://registry.npmjs.org/@paralleldrive/cuid2/-/cuid2-2.3.1.tgz",
+			"integrity": "sha512-XO7cAxhnTZl0Yggq6jOgjiOHhbgcO4NqFqwSmQpjK3b6TEE6Uj/jfSk6wzYyemh3+I0sHirKSetjQwn5cZktFw==",
+			"dev": true,
+			"dependencies": {
+				"@noble/hashes": "^1.1.5"
+			}
+		},
 		"node_modules/@pkgjs/parseargs": {
 			"version": "0.11.0",
 			"resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
@@ -1125,16 +1130,16 @@
 			}
 		},
 		"node_modules/api-testing": {
-			"version": "1.7.0",
-			"resolved": "https://registry.npmjs.org/api-testing/-/api-testing-1.7.0.tgz",
-			"integrity": "sha512-+gp8xQtm1CYQNgsGvzolWjjkm059mDuTF975P0aebUfekouY+CIPirfGjU+UT464b2+wVaiSy5wPlDnXB1zXBA==",
+			"version": "1.7.1",
+			"resolved": "https://registry.npmjs.org/api-testing/-/api-testing-1.7.1.tgz",
+			"integrity": "sha512-h6eqLa9uOOpbBXGN6/s91GquV1YprC1XLVtWIRv/25XWFRqHibIBwuXjqcUqFSsU1fgYvfclSMRXuUcCvEmX6A==",
 			"dev": true,
 			"dependencies": {
-				"chai": "^4.2.0",
-				"supertest": "^5.0.0-0"
+				"chai": "4.5.0",
+				"supertest": "7.1.0"
 			},
 			"engines": {
-				"node": ">= 10.0.0"
+				"node": ">= 14.18.0"
 			}
 		},
 		"node_modules/arch": {
@@ -1250,6 +1255,12 @@
 				"node": ">=8"
 			}
 		},
+		"node_modules/asap": {
+			"version": "2.0.6",
+			"resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
+			"integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==",
+			"dev": true
+		},
 		"node_modules/asn1": {
 			"version": "0.2.6",
 			"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz",
@@ -2279,6 +2290,16 @@
 				"node": ">=0.10.0"
 			}
 		},
+		"node_modules/dezalgo": {
+			"version": "1.0.4",
+			"resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz",
+			"integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==",
+			"dev": true,
+			"dependencies": {
+				"asap": "^2.0.0",
+				"wrappy": "1"
+			}
+		},
 		"node_modules/diff": {
 			"version": "5.2.0",
 			"resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz",
@@ -3654,27 +3675,34 @@
 			}
 		},
 		"node_modules/form-data": {
-			"version": "3.0.4",
-			"resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.4.tgz",
-			"integrity": "sha512-f0cRzm6dkyVYV3nPoooP8XlccPQukegwhAnpoLcXy+X+A8KfpGOoXwDr9FLZd3wzgLaBGQBE3lY93Zm/i1JvIQ==",
+			"version": "4.0.5",
+			"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz",
+			"integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==",
 			"dev": true,
 			"dependencies": {
 				"asynckit": "^0.4.0",
 				"combined-stream": "^1.0.8",
 				"es-set-tostringtag": "^2.1.0",
 				"hasown": "^2.0.2",
-				"mime-types": "^2.1.35"
+				"mime-types": "^2.1.12"
 			},
 			"engines": {
 				"node": ">= 6"
 			}
 		},
 		"node_modules/formidable": {
-			"version": "1.2.6",
-			"resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.6.tgz",
-			"integrity": "sha512-KcpbcpuLNOwrEjnbpMC0gS+X8ciDoZE1kkqzat4a8vrprf+s9pKNQ/QIwWfbfs4ltgmFl3MD177SNTkve3BwGQ==",
-			"deprecated": "Please upgrade to latest, formidable@v2 or formidable@v3! Check these notes: https://bit.ly/2ZEqIau",
+			"version": "3.5.4",
+			"resolved": "https://registry.npmjs.org/formidable/-/formidable-3.5.4.tgz",
+			"integrity": "sha512-YikH+7CUTOtP44ZTnUhR7Ic2UASBPOqmaRkRKxRbywPTe5VxF7RRCck4af9wutiZ/QKM5nME9Bie2fFaPz5Gug==",
 			"dev": true,
+			"dependencies": {
+				"@paralleldrive/cuid2": "^2.2.2",
+				"dezalgo": "^1.0.4",
+				"once": "^1.4.0"
+			},
+			"engines": {
+				"node": ">=14.0.0"
+			},
 			"funding": {
 				"url": "https://ko-fi.com/tunnckoCore/commissions"
 			}
@@ -7190,63 +7218,38 @@
 			}
 		},
 		"node_modules/superagent": {
-			"version": "6.1.0",
-			"resolved": "https://registry.npmjs.org/superagent/-/superagent-6.1.0.tgz",
-			"integrity": "sha512-OUDHEssirmplo3F+1HWKUrUjvnQuA+nZI6i/JJBdXb5eq9IyEQwPyPpqND+SSsxf6TygpBEkUjISVRN4/VOpeg==",
+			"version": "9.0.2",
+			"resolved": "https://registry.npmjs.org/superagent/-/superagent-9.0.2.tgz",
+			"integrity": "sha512-xuW7dzkUpcJq7QnhOsnNUgtYp3xRwpt2F7abdRYIpCsAt0hhUqia0EdxyXZQQpNmGtsCzYHryaKSV3q3GJnq7w==",
 			"deprecated": "Please upgrade to superagent v10.2.2+, see release notes at https://github.com/forwardemail/superagent/releases/tag/v10.2.2 - maintenance is supported by Forward Email @ https://forwardemail.net",
 			"dev": true,
 			"dependencies": {
 				"component-emitter": "^1.3.0",
-				"cookiejar": "^2.1.2",
-				"debug": "^4.1.1",
-				"fast-safe-stringify": "^2.0.7",
-				"form-data": "^3.0.0",
-				"formidable": "^1.2.2",
+				"cookiejar": "^2.1.4",
+				"debug": "^4.3.4",
+				"fast-safe-stringify": "^2.1.1",
+				"form-data": "^4.0.0",
+				"formidable": "^3.5.1",
 				"methods": "^1.1.2",
-				"mime": "^2.4.6",
-				"qs": "^6.9.4",
-				"readable-stream": "^3.6.0",
-				"semver": "^7.3.2"
+				"mime": "2.6.0",
+				"qs": "^6.11.0"
 			},
 			"engines": {
-				"node": ">= 7.0.0"
-			}
-		},
-		"node_modules/superagent/node_modules/readable-stream": {
-			"version": "3.6.2",
-			"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
-			"integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
-			"dev": true,
-			"dependencies": {
-				"inherits": "^2.0.3",
-				"string_decoder": "^1.1.1",
-				"util-deprecate": "^1.0.1"
-			},
-			"engines": {
-				"node": ">= 6"
-			}
-		},
-		"node_modules/superagent/node_modules/string_decoder": {
-			"version": "1.3.0",
-			"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
-			"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
-			"dev": true,
-			"dependencies": {
-				"safe-buffer": "~5.2.0"
+				"node": ">=14.18.0"
 			}
 		},
 		"node_modules/supertest": {
-			"version": "5.0.0",
-			"resolved": "https://registry.npmjs.org/supertest/-/supertest-5.0.0.tgz",
-			"integrity": "sha512-2JAWpPrUOZF4hHH5ZTCN2xjKXvJS3AEwPNXl0HUseHsfcXFvMy9kcsufIHCNAmQ5hlGCvgeAqaR5PBEouN3hlQ==",
+			"version": "7.1.0",
+			"resolved": "https://registry.npmjs.org/supertest/-/supertest-7.1.0.tgz",
+			"integrity": "sha512-5QeSO8hSrKghtcWEoPiO036fxH0Ii2wVQfFZSP0oqQhmjk8bOLhDFXr4JrvaFmPuEWUoq4znY3uSi8UzLKxGqw==",
 			"deprecated": "Please upgrade to supertest v7.1.3+, see release notes at https://github.com/forwardemail/supertest/releases/tag/v7.1.3 - maintenance is supported by Forward Email @ https://forwardemail.net",
 			"dev": true,
 			"dependencies": {
-				"methods": "1.1.2",
-				"superagent": "6.1.0"
+				"methods": "^1.1.2",
+				"superagent": "^9.0.1"
 			},
 			"engines": {
-				"node": ">=6.0.0"
+				"node": ">=14.18.0"
 			}
 		},
 		"node_modules/supports-color": {
@@ -8154,21 +8157,6 @@
 				"tough-cookie": "^5.0.0",
 				"tunnel-agent": "^0.6.0",
 				"uuid": "^8.3.2"
-			},
-			"dependencies": {
-				"form-data": {
-					"version": "4.0.5",
-					"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz",
-					"integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==",
-					"dev": true,
-					"requires": {
-						"asynckit": "^0.4.0",
-						"combined-stream": "^1.0.8",
-						"es-set-tostringtag": "^2.1.0",
-						"hasown": "^2.0.2",
-						"mime-types": "^2.1.12"
-					}
-				}
 			}
 		},
 		"@cypress/xvfb": {
@@ -8375,6 +8363,12 @@
 			"integrity": "sha512-7xdrMX0Wk7grrTZQwAoy1GkvPMFoizStUoL+VmtUkAxegbCCec+3FKwOM6yc/uGU5+BEczQHXAlWiqvM8JeENg==",
 			"dev": true
 		},
+		"@noble/hashes": {
+			"version": "1.8.0",
+			"resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz",
+			"integrity": "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==",
+			"dev": true
+		},
 		"@nodelib/fs.scandir": {
 			"version": "2.1.5",
 			"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
@@ -8401,6 +8395,15 @@
 				"fastq": "^1.6.0"
 			}
 		},
+		"@paralleldrive/cuid2": {
+			"version": "2.3.1",
+			"resolved": "https://registry.npmjs.org/@paralleldrive/cuid2/-/cuid2-2.3.1.tgz",
+			"integrity": "sha512-XO7cAxhnTZl0Yggq6jOgjiOHhbgcO4NqFqwSmQpjK3b6TEE6Uj/jfSk6wzYyemh3+I0sHirKSetjQwn5cZktFw==",
+			"dev": true,
+			"requires": {
+				"@noble/hashes": "^1.1.5"
+			}
+		},
 		"@pkgjs/parseargs": {
 			"version": "0.11.0",
 			"resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
@@ -8829,13 +8832,13 @@
 			}
 		},
 		"api-testing": {
-			"version": "1.7.0",
-			"resolved": "https://registry.npmjs.org/api-testing/-/api-testing-1.7.0.tgz",
-			"integrity": "sha512-+gp8xQtm1CYQNgsGvzolWjjkm059mDuTF975P0aebUfekouY+CIPirfGjU+UT464b2+wVaiSy5wPlDnXB1zXBA==",
+			"version": "1.7.1",
+			"resolved": "https://registry.npmjs.org/api-testing/-/api-testing-1.7.1.tgz",
+			"integrity": "sha512-h6eqLa9uOOpbBXGN6/s91GquV1YprC1XLVtWIRv/25XWFRqHibIBwuXjqcUqFSsU1fgYvfclSMRXuUcCvEmX6A==",
 			"dev": true,
 			"requires": {
-				"chai": "^4.2.0",
-				"supertest": "^5.0.0-0"
+				"chai": "4.5.0",
+				"supertest": "7.1.0"
 			}
 		},
 		"arch": {
@@ -8919,6 +8922,12 @@
 			"integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==",
 			"dev": true
 		},
+		"asap": {
+			"version": "2.0.6",
+			"resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
+			"integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==",
+			"dev": true
+		},
 		"asn1": {
 			"version": "0.2.6",
 			"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz",
@@ -9667,6 +9676,16 @@
 				}
 			}
 		},
+		"dezalgo": {
+			"version": "1.0.4",
+			"resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz",
+			"integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==",
+			"dev": true,
+			"requires": {
+				"asap": "^2.0.0",
+				"wrappy": "1"
+			}
+		},
 		"diff": {
 			"version": "5.2.0",
 			"resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz",
@@ -10661,23 +10680,28 @@
 			"dev": true
 		},
 		"form-data": {
-			"version": "3.0.4",
-			"resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.4.tgz",
-			"integrity": "sha512-f0cRzm6dkyVYV3nPoooP8XlccPQukegwhAnpoLcXy+X+A8KfpGOoXwDr9FLZd3wzgLaBGQBE3lY93Zm/i1JvIQ==",
+			"version": "4.0.5",
+			"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz",
+			"integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==",
 			"dev": true,
 			"requires": {
 				"asynckit": "^0.4.0",
 				"combined-stream": "^1.0.8",
 				"es-set-tostringtag": "^2.1.0",
 				"hasown": "^2.0.2",
-				"mime-types": "^2.1.35"
+				"mime-types": "^2.1.12"
 			}
 		},
 		"formidable": {
-			"version": "1.2.6",
-			"resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.6.tgz",
-			"integrity": "sha512-KcpbcpuLNOwrEjnbpMC0gS+X8ciDoZE1kkqzat4a8vrprf+s9pKNQ/QIwWfbfs4ltgmFl3MD177SNTkve3BwGQ==",
-			"dev": true
+			"version": "3.5.4",
+			"resolved": "https://registry.npmjs.org/formidable/-/formidable-3.5.4.tgz",
+			"integrity": "sha512-YikH+7CUTOtP44ZTnUhR7Ic2UASBPOqmaRkRKxRbywPTe5VxF7RRCck4af9wutiZ/QKM5nME9Bie2fFaPz5Gug==",
+			"dev": true,
+			"requires": {
+				"@paralleldrive/cuid2": "^2.2.2",
+				"dezalgo": "^1.0.4",
+				"once": "^1.4.0"
+			}
 		},
 		"fs-extra": {
 			"version": "9.1.0",
@@ -13230,54 +13254,30 @@
 			}
 		},
 		"superagent": {
-			"version": "6.1.0",
-			"resolved": "https://registry.npmjs.org/superagent/-/superagent-6.1.0.tgz",
-			"integrity": "sha512-OUDHEssirmplo3F+1HWKUrUjvnQuA+nZI6i/JJBdXb5eq9IyEQwPyPpqND+SSsxf6TygpBEkUjISVRN4/VOpeg==",
+			"version": "9.0.2",
+			"resolved": "https://registry.npmjs.org/superagent/-/superagent-9.0.2.tgz",
+			"integrity": "sha512-xuW7dzkUpcJq7QnhOsnNUgtYp3xRwpt2F7abdRYIpCsAt0hhUqia0EdxyXZQQpNmGtsCzYHryaKSV3q3GJnq7w==",
 			"dev": true,
 			"requires": {
 				"component-emitter": "^1.3.0",
-				"cookiejar": "^2.1.2",
-				"debug": "^4.1.1",
-				"fast-safe-stringify": "^2.0.7",
-				"form-data": "^3.0.0",
-				"formidable": "^1.2.2",
+				"cookiejar": "^2.1.4",
+				"debug": "^4.3.4",
+				"fast-safe-stringify": "^2.1.1",
+				"form-data": "^4.0.0",
+				"formidable": "^3.5.1",
 				"methods": "^1.1.2",
-				"mime": "^2.4.6",
-				"qs": "^6.9.4",
-				"readable-stream": "^3.6.0",
-				"semver": "^7.3.2"
-			},
-			"dependencies": {
-				"readable-stream": {
-					"version": "3.6.2",
-					"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
-					"integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
-					"dev": true,
-					"requires": {
-						"inherits": "^2.0.3",
-						"string_decoder": "^1.1.1",
-						"util-deprecate": "^1.0.1"
-					}
-				},
-				"string_decoder": {
-					"version": "1.3.0",
-					"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
-					"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
-					"dev": true,
-					"requires": {
-						"safe-buffer": "~5.2.0"
-					}
-				}
+				"mime": "2.6.0",
+				"qs": "^6.11.0"
 			}
 		},
 		"supertest": {
-			"version": "5.0.0",
-			"resolved": "https://registry.npmjs.org/supertest/-/supertest-5.0.0.tgz",
-			"integrity": "sha512-2JAWpPrUOZF4hHH5ZTCN2xjKXvJS3AEwPNXl0HUseHsfcXFvMy9kcsufIHCNAmQ5hlGCvgeAqaR5PBEouN3hlQ==",
+			"version": "7.1.0",
+			"resolved": "https://registry.npmjs.org/supertest/-/supertest-7.1.0.tgz",
+			"integrity": "sha512-5QeSO8hSrKghtcWEoPiO036fxH0Ii2wVQfFZSP0oqQhmjk8bOLhDFXr4JrvaFmPuEWUoq4znY3uSi8UzLKxGqw==",
 			"dev": true,
 			"requires": {
-				"methods": "1.1.2",
-				"superagent": "6.1.0"
+				"methods": "^1.1.2",
+				"superagent": "^9.0.1"
 			}
 		},
 		"supports-color": {
diff --git a/package.json b/package.json
index 9ed8a5c..879513e 100644
--- a/package.json
+++ b/package.json
@@ -9,7 +9,7 @@
 		"selenium-test": "npm run cypress:run"
 	},
 	"devDependencies": {
-		"api-testing": "^1.7.0",
+		"api-testing": "1.7.1",
 		"cypress": "^15.7.1",
 		"cypress-axe": "^1.7.0",
 		"cypress-wikibase-api": "^0.0.7",
-- 
2.47.3


--- end ---
Source code is licensed under the AGPL.