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

sourcepatches

This run took 124 seconds.

From b5e498bdaac0a1f94f88377ad44edd23b40ce027 Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Tue, 24 Feb 2026 11:26:16 +0000
Subject: [PATCH] build: Updating dependencies
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

composer:
* mediawiki/mediawiki-codesniffer: 49.0.0 → 50.0.0
* mediawiki/mediawiki-phan-config: 0.18.0 → 0.19.0

npm:
* api-testing: 1.7.2 → 1.7.3

Change-Id: Id21ed4113ff52adefec9b224abb7039083b918ef
---
 composer.json     |   4 +-
 package-lock.json | 138 +++++++++++++++++++++++++++++-----------------
 package.json      |   2 +-
 3 files changed, 90 insertions(+), 54 deletions(-)

diff --git a/composer.json b/composer.json
index 8c121f3..f356193 100644
--- a/composer.json
+++ b/composer.json
@@ -31,8 +31,8 @@
 		"wikimedia/purtle": "^2.0.0"
 	},
 	"require-dev": {
-		"mediawiki/mediawiki-codesniffer": "49.0.0",
-		"mediawiki/mediawiki-phan-config": "0.18.0",
+		"mediawiki/mediawiki-codesniffer": "50.0.0",
+		"mediawiki/mediawiki-phan-config": "0.19.0",
 		"mediawiki/minus-x": "2.0.1",
 		"php-parallel-lint/php-console-highlighter": "1.0.0",
 		"php-parallel-lint/php-parallel-lint": "1.4.0"
diff --git a/package-lock.json b/package-lock.json
index a49f9e4..a5cb4a5 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -6,7 +6,7 @@
 		"": {
 			"name": "WikibaseQualityConstraints",
 			"devDependencies": {
-				"api-testing": "1.7.2",
+				"api-testing": "1.7.3",
 				"cypress": "^15.7.1",
 				"cypress-axe": "^1.7.0",
 				"cypress-wikibase-api": "0.0.9",
@@ -300,9 +300,9 @@
 			}
 		},
 		"node_modules/@eslint/eslintrc/node_modules/minimatch": {
-			"version": "3.1.2",
-			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
-			"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+			"version": "3.1.3",
+			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.3.tgz",
+			"integrity": "sha512-M2GCs7Vk83NxkUyQV1bkABc4yxgz9kILhHImZiBPAZ9ybuvCb0/H7lEl5XvIg3g+9d4eNotkZA5IWwYl0tibaA==",
 			"dev": true,
 			"dependencies": {
 				"brace-expansion": "^1.1.7"
@@ -926,22 +926,34 @@
 				"typescript": ">=4.8.4 <6.0.0"
 			}
 		},
+		"node_modules/@typescript-eslint/typescript-estree/node_modules/balanced-match": {
+			"version": "4.0.4",
+			"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz",
+			"integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==",
+			"dev": true,
+			"engines": {
+				"node": "18 || 20 || >=22"
+			}
+		},
 		"node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": {
-			"version": "2.0.2",
-			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
-			"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
+			"version": "5.0.3",
+			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.3.tgz",
+			"integrity": "sha512-fy6KJm2RawA5RcHkLa1z/ScpBeA762UF9KmZQxwIbDtRJrgLzM10depAiEQ+CXYcoiqW1/m96OAAoke2nE9EeA==",
 			"dev": true,
 			"dependencies": {
-				"balanced-match": "^1.0.0"
+				"balanced-match": "^4.0.2"
+			},
+			"engines": {
+				"node": "18 || 20 || >=22"
 			}
 		},
 		"node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": {
-			"version": "9.0.5",
-			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
-			"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+			"version": "9.0.6",
+			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.6.tgz",
+			"integrity": "sha512-kQAVowdR33euIqeA0+VZTDqU+qo1IeVY+hrKYtZMio3Pg0P0vuh/kwRylLUddJhB6pf3q/botcOvRtx4IN1wqQ==",
 			"dev": true,
 			"dependencies": {
-				"brace-expansion": "^2.0.1"
+				"brace-expansion": "^5.0.2"
 			},
 			"engines": {
 				"node": ">=16 || 14 >=14.17"
@@ -1131,9 +1143,9 @@
 			}
 		},
 		"node_modules/api-testing": {
-			"version": "1.7.2",
-			"resolved": "https://registry.npmjs.org/api-testing/-/api-testing-1.7.2.tgz",
-			"integrity": "sha512-W6vgHMjmTUMq8He4pRdpLNjfkBre0N/ygv6tT6jrWZQdZlBWDZHi+0pEg8FxBi0U9QzhUfaATrPZkfnF7YVt3g==",
+			"version": "1.7.3",
+			"resolved": "https://registry.npmjs.org/api-testing/-/api-testing-1.7.3.tgz",
+			"integrity": "sha512-wvXUqkiflOur6kI57onNt2BQ6Hse0BRCIzThc1W7W4LEfVvLUCyKOp8EQna9tKqMZ7K1Rz/ptrCSzHe9XEo+Bw==",
 			"dev": true,
 			"dependencies": {
 				"chai": "4.5.0",
@@ -3262,9 +3274,9 @@
 			"dev": true
 		},
 		"node_modules/eslint/node_modules/minimatch": {
-			"version": "3.1.2",
-			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
-			"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+			"version": "3.1.3",
+			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.3.tgz",
+			"integrity": "sha512-M2GCs7Vk83NxkUyQV1bkABc4yxgz9kILhHImZiBPAZ9ybuvCb0/H7lEl5XvIg3g+9d4eNotkZA5IWwYl0tibaA==",
 			"dev": true,
 			"dependencies": {
 				"brace-expansion": "^1.1.7"
@@ -4769,13 +4781,25 @@
 				"mkdirp": "^1.0.4"
 			}
 		},
+		"node_modules/jasmine/node_modules/balanced-match": {
+			"version": "4.0.4",
+			"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz",
+			"integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==",
+			"dev": true,
+			"engines": {
+				"node": "18 || 20 || >=22"
+			}
+		},
 		"node_modules/jasmine/node_modules/brace-expansion": {
-			"version": "2.0.2",
-			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
-			"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
+			"version": "5.0.3",
+			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.3.tgz",
+			"integrity": "sha512-fy6KJm2RawA5RcHkLa1z/ScpBeA762UF9KmZQxwIbDtRJrgLzM10depAiEQ+CXYcoiqW1/m96OAAoke2nE9EeA==",
 			"dev": true,
 			"dependencies": {
-				"balanced-match": "^1.0.0"
+				"balanced-match": "^4.0.2"
+			},
+			"engines": {
+				"node": "18 || 20 || >=22"
 			}
 		},
 		"node_modules/jasmine/node_modules/glob": {
@@ -4805,12 +4829,12 @@
 			"dev": true
 		},
 		"node_modules/jasmine/node_modules/minimatch": {
-			"version": "9.0.5",
-			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
-			"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+			"version": "9.0.6",
+			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.6.tgz",
+			"integrity": "sha512-kQAVowdR33euIqeA0+VZTDqU+qo1IeVY+hrKYtZMio3Pg0P0vuh/kwRylLUddJhB6pf3q/botcOvRtx4IN1wqQ==",
 			"dev": true,
 			"dependencies": {
-				"brace-expansion": "^2.0.1"
+				"brace-expansion": "^5.0.2"
 			},
 			"engines": {
 				"node": ">=16 || 14 >=14.17"
@@ -8273,9 +8297,9 @@
 					}
 				},
 				"minimatch": {
-					"version": "3.1.2",
-					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
-					"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+					"version": "3.1.3",
+					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.3.tgz",
+					"integrity": "sha512-M2GCs7Vk83NxkUyQV1bkABc4yxgz9kILhHImZiBPAZ9ybuvCb0/H7lEl5XvIg3g+9d4eNotkZA5IWwYl0tibaA==",
 					"dev": true,
 					"requires": {
 						"brace-expansion": "^1.1.7"
@@ -8710,22 +8734,28 @@
 				"ts-api-utils": "^2.1.0"
 			},
 			"dependencies": {
+				"balanced-match": {
+					"version": "4.0.4",
+					"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz",
+					"integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==",
+					"dev": true
+				},
 				"brace-expansion": {
-					"version": "2.0.2",
-					"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
-					"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
+					"version": "5.0.3",
+					"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.3.tgz",
+					"integrity": "sha512-fy6KJm2RawA5RcHkLa1z/ScpBeA762UF9KmZQxwIbDtRJrgLzM10depAiEQ+CXYcoiqW1/m96OAAoke2nE9EeA==",
 					"dev": true,
 					"requires": {
-						"balanced-match": "^1.0.0"
+						"balanced-match": "^4.0.2"
 					}
 				},
 				"minimatch": {
-					"version": "9.0.5",
-					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
-					"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+					"version": "9.0.6",
+					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.6.tgz",
+					"integrity": "sha512-kQAVowdR33euIqeA0+VZTDqU+qo1IeVY+hrKYtZMio3Pg0P0vuh/kwRylLUddJhB6pf3q/botcOvRtx4IN1wqQ==",
 					"dev": true,
 					"requires": {
-						"brace-expansion": "^2.0.1"
+						"brace-expansion": "^5.0.2"
 					}
 				}
 			}
@@ -8852,9 +8882,9 @@
 			}
 		},
 		"api-testing": {
-			"version": "1.7.2",
-			"resolved": "https://registry.npmjs.org/api-testing/-/api-testing-1.7.2.tgz",
-			"integrity": "sha512-W6vgHMjmTUMq8He4pRdpLNjfkBre0N/ygv6tT6jrWZQdZlBWDZHi+0pEg8FxBi0U9QzhUfaATrPZkfnF7YVt3g==",
+			"version": "1.7.3",
+			"resolved": "https://registry.npmjs.org/api-testing/-/api-testing-1.7.3.tgz",
+			"integrity": "sha512-wvXUqkiflOur6kI57onNt2BQ6Hse0BRCIzThc1W7W4LEfVvLUCyKOp8EQna9tKqMZ7K1Rz/ptrCSzHe9XEo+Bw==",
 			"dev": true,
 			"requires": {
 				"chai": "4.5.0",
@@ -10042,9 +10072,9 @@
 					}
 				},
 				"minimatch": {
-					"version": "3.1.2",
-					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
-					"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+					"version": "3.1.3",
+					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.3.tgz",
+					"integrity": "sha512-M2GCs7Vk83NxkUyQV1bkABc4yxgz9kILhHImZiBPAZ9ybuvCb0/H7lEl5XvIg3g+9d4eNotkZA5IWwYl0tibaA==",
 					"dev": true,
 					"requires": {
 						"brace-expansion": "^1.1.7"
@@ -11452,13 +11482,19 @@
 				"jasmine-core": "~5.13.0"
 			},
 			"dependencies": {
+				"balanced-match": {
+					"version": "4.0.4",
+					"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz",
+					"integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==",
+					"dev": true
+				},
 				"brace-expansion": {
-					"version": "2.0.2",
-					"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
-					"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
+					"version": "5.0.3",
+					"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.3.tgz",
+					"integrity": "sha512-fy6KJm2RawA5RcHkLa1z/ScpBeA762UF9KmZQxwIbDtRJrgLzM10depAiEQ+CXYcoiqW1/m96OAAoke2nE9EeA==",
 					"dev": true,
 					"requires": {
-						"balanced-match": "^1.0.0"
+						"balanced-match": "^4.0.2"
 					}
 				},
 				"glob": {
@@ -11482,12 +11518,12 @@
 					"dev": true
 				},
 				"minimatch": {
-					"version": "9.0.5",
-					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
-					"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+					"version": "9.0.6",
+					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.6.tgz",
+					"integrity": "sha512-kQAVowdR33euIqeA0+VZTDqU+qo1IeVY+hrKYtZMio3Pg0P0vuh/kwRylLUddJhB6pf3q/botcOvRtx4IN1wqQ==",
 					"dev": true,
 					"requires": {
-						"brace-expansion": "^2.0.1"
+						"brace-expansion": "^5.0.2"
 					}
 				}
 			}
diff --git a/package.json b/package.json
index 1d2967a..024aca6 100644
--- a/package.json
+++ b/package.json
@@ -9,7 +9,7 @@
 		"selenium-test": "npm run cypress:run"
 	},
 	"devDependencies": {
-		"api-testing": "1.7.2",
+		"api-testing": "1.7.3",
 		"cypress": "^15.7.1",
 		"cypress-axe": "^1.7.0",
 		"cypress-wikibase-api": "0.0.9",
-- 
2.47.3

$ date
--- stdout ---
Tue Feb 24 11:24:34 UTC 2026

--- end ---
$ git clone file:///srv/git/mediawiki-extensions-WikibaseQualityConstraints.git /src/repo --depth=1 -b master
--- stderr ---
Cloning into '/src/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 ---
eb94c0c13c2029a86ff0853415850fc064a523ca refs/heads/master

--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {
    "@eslint/eslintrc": {
      "name": "@eslint/eslintrc",
      "severity": "high",
      "isDirect": false,
      "via": [
        "minimatch"
      ],
      "effects": [
        "eslint"
      ],
      "range": "0.0.1 || >=0.1.1",
      "nodes": [
        "node_modules/@eslint/eslintrc"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.8.1",
        "isSemVerMajor": true
      }
    },
    "@humanwhocodes/config-array": {
      "name": "@humanwhocodes/config-array",
      "severity": "high",
      "isDirect": false,
      "via": [
        "minimatch"
      ],
      "effects": [
        "eslint"
      ],
      "range": "*",
      "nodes": [
        "node_modules/@humanwhocodes/config-array"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.8.1",
        "isSemVerMajor": true
      }
    },
    "@typescript-eslint/eslint-plugin": {
      "name": "@typescript-eslint/eslint-plugin",
      "severity": "high",
      "isDirect": false,
      "via": [
        "@typescript-eslint/type-utils",
        "@typescript-eslint/utils",
        "eslint"
      ],
      "effects": [
        "eslint-config-wikimedia"
      ],
      "range": "<=8.55.1-alpha.3",
      "nodes": [
        "node_modules/@typescript-eslint/eslint-plugin"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.8.1",
        "isSemVerMajor": true
      }
    },
    "@typescript-eslint/parser": {
      "name": "@typescript-eslint/parser",
      "severity": "high",
      "isDirect": false,
      "via": [
        "@typescript-eslint/typescript-estree",
        "eslint"
      ],
      "effects": [],
      "range": "1.1.1-alpha.0 - 8.56.0",
      "nodes": [
        "node_modules/@typescript-eslint/parser"
      ],
      "fixAvailable": true
    },
    "@typescript-eslint/type-utils": {
      "name": "@typescript-eslint/type-utils",
      "severity": "high",
      "isDirect": false,
      "via": [
        "@typescript-eslint/typescript-estree",
        "@typescript-eslint/utils",
        "eslint"
      ],
      "effects": [
        "@typescript-eslint/eslint-plugin"
      ],
      "range": "5.9.2-alpha.0 - 8.56.0 || >=8.56.2-alpha.0",
      "nodes": [
        "node_modules/@typescript-eslint/type-utils"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.8.1",
        "isSemVerMajor": true
      }
    },
    "@typescript-eslint/typescript-estree": {
      "name": "@typescript-eslint/typescript-estree",
      "severity": "high",
      "isDirect": false,
      "via": [
        "minimatch"
      ],
      "effects": [
        "@typescript-eslint/parser",
        "@typescript-eslint/type-utils",
        "@typescript-eslint/utils"
      ],
      "range": "6.16.0 - 8.56.1-alpha.2",
      "nodes": [
        "node_modules/@typescript-eslint/typescript-estree"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.8.1",
        "isSemVerMajor": true
      }
    },
    "@typescript-eslint/utils": {
      "name": "@typescript-eslint/utils",
      "severity": "high",
      "isDirect": false,
      "via": [
        "@typescript-eslint/typescript-estree",
        "eslint"
      ],
      "effects": [
        "@typescript-eslint/eslint-plugin",
        "@typescript-eslint/type-utils"
      ],
      "range": "<=8.56.1-alpha.2",
      "nodes": [
        "node_modules/@typescript-eslint/utils"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.8.1",
        "isSemVerMajor": true
      }
    },
    "diff": {
      "name": "diff",
      "severity": "low",
      "isDirect": false,
      "via": [
        {
          "source": 1112706,
          "name": "diff",
          "dependency": "diff",
          "title": "jsdiff has a Denial of Service vulnerability in parsePatch and applyPatch",
          "url": "https://github.com/advisories/GHSA-73rr-hh4g-fpgx",
          "severity": "low",
          "cwe": [
            "CWE-400",
            "CWE-1333"
          ],
          "cvss": {
            "score": 0,
            "vectorString": null
          },
          "range": ">=6.0.0 <8.0.3"
        }
      ],
      "effects": [
        "sinon"
      ],
      "range": "6.0.0 - 8.0.2",
      "nodes": [
        "node_modules/sinon/node_modules/diff"
      ],
      "fixAvailable": {
        "name": "sinon",
        "version": "21.0.1",
        "isSemVerMajor": true
      }
    },
    "doiuse": {
      "name": "doiuse",
      "severity": "high",
      "isDirect": false,
      "via": [
        "multimatch"
      ],
      "effects": [
        "stylelint-no-unsupported-browser-features"
      ],
      "range": ">=2.2.0",
      "nodes": [
        "node_modules/doiuse"
      ],
      "fixAvailable": {
        "name": "stylelint-config-wikimedia",
        "version": "0.10.1",
        "isSemVerMajor": true
      }
    },
    "eslint": {
      "name": "eslint",
      "severity": "high",
      "isDirect": false,
      "via": [
        "@eslint/eslintrc",
        "@humanwhocodes/config-array",
        "file-entry-cache",
        "minimatch"
      ],
      "effects": [
        "@typescript-eslint/eslint-plugin",
        "@typescript-eslint/parser",
        "@typescript-eslint/type-utils",
        "@typescript-eslint/utils",
        "eslint-config-wikimedia",
        "eslint-plugin-jsdoc",
        "eslint-plugin-vue",
        "grunt-eslint"
      ],
      "range": "0.7.1 - 2.0.0-rc.1 || 4.1.0 - 10.0.0-rc.2",
      "nodes": [
        "node_modules/eslint"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.8.1",
        "isSemVerMajor": true
      }
    },
    "eslint-config-wikimedia": {
      "name": "eslint-config-wikimedia",
      "severity": "high",
      "isDirect": true,
      "via": [
        "@typescript-eslint/eslint-plugin",
        "@typescript-eslint/parser",
        "eslint",
        "eslint-plugin-jsdoc",
        "eslint-plugin-vue"
      ],
      "effects": [],
      "range": ">=0.9.0",
      "nodes": [
        "node_modules/eslint-config-wikimedia"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.8.1",
        "isSemVerMajor": true
      }
    },
    "eslint-plugin-jsdoc": {
      "name": "eslint-plugin-jsdoc",
      "severity": "high",
      "isDirect": false,
      "via": [
        "eslint"
      ],
      "effects": [
        "eslint-config-wikimedia"
      ],
      "range": "8.4.4 - 62.6.1",
      "nodes": [
        "node_modules/eslint-plugin-jsdoc"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.8.1",
        "isSemVerMajor": true
      }
    },
    "eslint-plugin-vue": {
      "name": "eslint-plugin-vue",
      "severity": "high",
      "isDirect": false,
      "via": [
        "eslint"
      ],
      "effects": [
        "eslint-config-wikimedia"
      ],
      "range": "5.0.0-beta.0 - 10.7.0",
      "nodes": [
        "node_modules/eslint-plugin-vue"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.8.1",
        "isSemVerMajor": true
      }
    },
    "file-entry-cache": {
      "name": "file-entry-cache",
      "severity": "high",
      "isDirect": false,
      "via": [
        "flat-cache"
      ],
      "effects": [
        "eslint"
      ],
      "range": "4.0.0 - 7.0.2",
      "nodes": [
        "node_modules/file-entry-cache"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.8.1",
        "isSemVerMajor": true
      }
    },
    "flat-cache": {
      "name": "flat-cache",
      "severity": "high",
      "isDirect": false,
      "via": [
        "rimraf"
      ],
      "effects": [
        "file-entry-cache"
      ],
      "range": "1.3.4 - 4.0.0",
      "nodes": [
        "node_modules/flat-cache"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.8.1",
        "isSemVerMajor": true
      }
    },
    "glob": {
      "name": "glob",
      "severity": "high",
      "isDirect": false,
      "via": [
        "minimatch"
      ],
      "effects": [
        "grunt-jasmine-nodejs",
        "jasmine",
        "rimraf"
      ],
      "range": "3.0.0 - 10.5.0",
      "nodes": [
        "node_modules/glob",
        "node_modules/jasmine/node_modules/glob"
      ],
      "fixAvailable": {
        "name": "jasmine",
        "version": "6.1.0",
        "isSemVerMajor": true
      }
    },
    "grunt": {
      "name": "grunt",
      "severity": "high",
      "isDirect": true,
      "via": [
        "glob",
        "minimatch"
      ],
      "effects": [
        "grunt-eslint",
        "grunt-jasmine-nodejs"
      ],
      "range": ">=0.4.0-a",
      "nodes": [
        "node_modules/grunt"
      ],
      "fixAvailable": {
        "name": "grunt",
        "version": "0.3.17",
        "isSemVerMajor": true
      }
    },
    "grunt-eslint": {
      "name": "grunt-eslint",
      "severity": "high",
      "isDirect": true,
      "via": [
        "eslint",
        "grunt"
      ],
      "effects": [],
      "range": "<=17.3.2 || >=18.1.0",
      "nodes": [
        "node_modules/grunt-eslint"
      ],
      "fixAvailable": {
        "name": "grunt-eslint",
        "version": "20.2.0",
        "isSemVerMajor": true
      }
    },
    "grunt-jasmine-nodejs": {
      "name": "grunt-jasmine-nodejs",
      "severity": "high",
      "isDirect": true,
      "via": [
        "glob",
        "grunt"
      ],
      "effects": [],
      "range": "*",
      "nodes": [
        "node_modules/grunt-jasmine-nodejs"
      ],
      "fixAvailable": {
        "name": "grunt-jasmine-nodejs",
        "version": "1.5.4",
        "isSemVerMajor": true
      }
    },
    "jasmine": {
      "name": "jasmine",
      "severity": "high",
      "isDirect": true,
      "via": [
        "glob"
      ],
      "effects": [],
      "range": "<=3.5.0 || 3.6.2 - 5.13.0",
      "nodes": [
        "node_modules/jasmine"
      ],
      "fixAvailable": {
        "name": "jasmine",
        "version": "6.1.0",
        "isSemVerMajor": true
      }
    },
    "minimatch": {
      "name": "minimatch",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1113371,
          "name": "minimatch",
          "dependency": "minimatch",
          "title": "minimatch has a ReDoS via repeated wildcards with non-matching literal in pattern",
          "url": "https://github.com/advisories/GHSA-3ppc-4f35-3m26",
          "severity": "high",
          "cwe": [
            "CWE-1333"
          ],
          "cvss": {
            "score": 0,
            "vectorString": null
          },
          "range": "<10.2.1"
        }
      ],
      "effects": [
        "@eslint/eslintrc",
        "@humanwhocodes/config-array",
        "@typescript-eslint/typescript-estree",
        "eslint",
        "glob",
        "grunt",
        "multimatch"
      ],
      "range": "<10.2.1",
      "nodes": [
        "node_modules/@eslint/eslintrc/node_modules/minimatch",
        "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch",
        "node_modules/eslint/node_modules/minimatch",
        "node_modules/jasmine/node_modules/minimatch",
        "node_modules/minimatch"
      ],
      "fixAvailable": {
        "name": "grunt",
        "version": "0.3.17",
        "isSemVerMajor": true
      }
    },
    "multimatch": {
      "name": "multimatch",
      "severity": "high",
      "isDirect": false,
      "via": [
        "minimatch"
      ],
      "effects": [
        "doiuse"
      ],
      "range": "<=7.0.0",
      "nodes": [
        "node_modules/multimatch"
      ],
      "fixAvailable": {
        "name": "stylelint-config-wikimedia",
        "version": "0.10.1",
        "isSemVerMajor": true
      }
    },
    "rimraf": {
      "name": "rimraf",
      "severity": "high",
      "isDirect": false,
      "via": [
        "glob"
      ],
      "effects": [
        "flat-cache"
      ],
      "range": "2.3.0 - 3.0.2 || 4.2.0 - 5.0.10",
      "nodes": [
        "node_modules/rimraf"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.8.1",
        "isSemVerMajor": true
      }
    },
    "sinon": {
      "name": "sinon",
      "severity": "low",
      "isDirect": true,
      "via": [
        "diff"
      ],
      "effects": [],
      "range": "19.0.0 - 21.0.0",
      "nodes": [
        "node_modules/sinon"
      ],
      "fixAvailable": {
        "name": "sinon",
        "version": "21.0.1",
        "isSemVerMajor": true
      }
    },
    "stylelint-config-wikimedia": {
      "name": "stylelint-config-wikimedia",
      "severity": "high",
      "isDirect": true,
      "via": [
        "stylelint-no-unsupported-browser-features"
      ],
      "effects": [],
      "range": ">=0.10.2",
      "nodes": [
        "node_modules/stylelint-config-wikimedia"
      ],
      "fixAvailable": {
        "name": "stylelint-config-wikimedia",
        "version": "0.10.1",
        "isSemVerMajor": true
      }
    },
    "stylelint-no-unsupported-browser-features": {
      "name": "stylelint-no-unsupported-browser-features",
      "severity": "high",
      "isDirect": false,
      "via": [
        "doiuse"
      ],
      "effects": [
        "stylelint-config-wikimedia"
      ],
      "range": "*",
      "nodes": [
        "node_modules/stylelint-no-unsupported-browser-features"
      ],
      "fixAvailable": {
        "name": "stylelint-config-wikimedia",
        "version": "0.10.1",
        "isSemVerMajor": true
      }
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 2,
      "moderate": 0,
      "high": 24,
      "critical": 0,
      "total": 26
    },
    "dependencies": {
      "prod": 1,
      "dev": 675,
      "optional": 5,
      "peer": 2,
      "peerOptional": 0,
      "total": 675
    }
  }
}

--- 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.1)
  - 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.6)
  - Locking felixfbecker/advanced-json-rpc (v3.2.1)
  - Locking mediawiki/mediawiki-codesniffer (v49.0.0)
  - Locking mediawiki/mediawiki-phan-config (0.18.0)
  - Locking mediawiki/minus-x (2.0.1)
  - Locking mediawiki/phan-taint-check-plugin (8.0.0)
  - Locking microsoft/tolerant-php-parser (v0.1.2)
  - Locking netresearch/jsonmapper (v4.5.0)
  - Locking phan/phan (5.5.2)
  - 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.2.2)
  - Locking phpdocumentor/reflection-common (2.2.0)
  - Locking phpdocumentor/reflection-docblock (5.6.6)
  - Locking phpdocumentor/type-resolver (1.12.0)
  - Locking phpstan/phpdoc-parser (2.3.2)
  - 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.5)
  - Locking symfony/console (v7.4.4)
  - 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.4)
  - Locking tysonandre/var_representation_polyfill (0.1.3)
  - Locking webmozart/assert (2.1.5)
  - 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.5): 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.1): 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.2.2): 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 (v49.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.4): 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.4): 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 (2.1.5): Extracting archive
  - Installing phpstan/phpdoc-parser (2.3.2): Extracting archive
  - Installing phpdocumentor/reflection-common (2.2.0): Extracting archive
  - Installing doctrine/deprecations (1.1.6): Extracting archive
  - Installing phpdocumentor/type-resolver (1.12.0): Extracting archive
  - Installing phpdocumentor/reflection-docblock (5.6.6): 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.2): Extracting archive
  - Installing mediawiki/phan-taint-check-plugin (8.0.0): Extracting archive
  - Installing mediawiki/mediawiki-phan-config (0.18.0): Extracting archive
  - Installing mediawiki/minus-x (2.0.1): 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%
 28/45 [=================>----------]  62%
 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.2 -> 1.7.3
$ /usr/bin/npm install
--- stderr ---
npm WARN deprecated @humanwhocodes/config-array@0.13.0: Use @eslint/config-array instead
npm WARN deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
npm WARN deprecated glob@7.1.7: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
npm WARN deprecated eslint@8.57.1: This version is no longer supported. Please see https://eslint.org/version-support for other options.
--- stdout ---

added 675 packages, and audited 676 packages in 10s

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

26 vulnerabilities (2 low, 24 high)

To address issues that do not require attention, run:
  npm audit fix

To address all issues (including breaking changes), run:
  npm audit fix --force

Run `npm audit` for details.

--- 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 @humanwhocodes/config-array@0.13.0: Use @eslint/config-array instead
npm WARN deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
npm WARN deprecated glob@7.1.7: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
npm WARN deprecated eslint@8.57.1: This version is no longer supported. Please see https://eslint.org/version-support for other options.
--- stdout ---

added 675 packages, and audited 676 packages in 11s

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

26 vulnerabilities (2 low, 24 high)

To address issues that do not require attention, run:
  npm audit fix

To address all issues (including breaking changes), run:
  npm audit fix --force

Run `npm audit` for details.

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

> test
> grunt test

Running "eslint:all" (eslint) task

/src/repo/modules/gadget.js
  376:19  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 32 defined specs...

Test Suites & Specs:

1) wikibase.quality.constraints.suggestions.EntitySelectorHookHandler

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

   ✔ exports an invokable module

   3) getSearchHandler
      ✔ Returns a handler function

4) wikibase.quality.constraints.gadget with wbui2025
   ✔ calls api with correct parameters
   ✔ adds multiple issues (on reference) to the store, including advanced issues
   ✔ does not add anything if the only issue is "advanced"
   ✔ adds single issues (on main snak + qualifier) to the store

5) wikibase.quality.constraints.gadget

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

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

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

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

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

   11) _extractResultsForStatement
      ✔ finds constraint violation result in entity data

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

   ✔ exports an invokable module

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

   14) _fullCheckAllIds
      ✔ chunks requests and combines their responses

>> Done!


Summary:

Suites:  14 of 14
Specs:   32 of 32
Expects: 0 (0 failures)
Finished in 0.161 seconds

>> Successful!

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

Done.

--- end ---
Upgrading c:mediawiki/mediawiki-codesniffer from 49.0.0 -> 50.0.0
Upgrading c:mediawiki/mediawiki-phan-config from 0.18.0 -> 0.19.0
$ /usr/bin/composer update
--- stderr ---
Loading composer repositories with package information
Updating dependencies
Lock file operations: 2 installs, 5 updates, 3 removals
  - Removing microsoft/tolerant-php-parser (v0.1.2)
  - Removing symfony/polyfill-php80 (v1.33.0)
  - Removing tysonandre/var_representation_polyfill (0.1.3)
  - Upgrading mediawiki/mediawiki-codesniffer (v49.0.0 => v50.0.0)
  - Upgrading mediawiki/mediawiki-phan-config (0.18.0 => 0.19.0)
  - Upgrading mediawiki/phan-taint-check-plugin (8.0.0 => 9.0.0)
  - Upgrading phan/phan (5.5.2 => 6.0.1)
  - Locking phan/tolerant-php-parser (v0.2.0)
  - Locking phan/var_representation_polyfill (0.1.4)
  - Upgrading symfony/console (v7.4.4 => v8.0.4)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 2 installs, 5 updates, 3 removals
    0 [>---------------------------]    0 [->--------------------------]
  - Removing tysonandre/var_representation_polyfill (0.1.3)
  - Removing symfony/polyfill-php80 (v1.33.0)
  - Removing microsoft/tolerant-php-parser (v0.1.2)
  - Upgrading mediawiki/mediawiki-codesniffer (v49.0.0 => v50.0.0): Extracting archive
  - Upgrading symfony/console (v7.4.4 => v8.0.4): Extracting archive
  - Installing phan/var_representation_polyfill (0.1.4): Extracting archive
  - Installing phan/tolerant-php-parser (v0.2.0): Extracting archive
  - Upgrading phan/phan (5.5.2 => 6.0.1): Extracting archive
  - Upgrading mediawiki/phan-taint-check-plugin (8.0.0 => 9.0.0): Extracting archive
  - Upgrading mediawiki/mediawiki-phan-config (0.18.0 => 0.19.0): Extracting archive
 0/7 [>---------------------------]   0%
 6/7 [========================>---]  85%
 7/7 [============================] 100%
Generating autoload files
18 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
No security vulnerability advisories found.
--- stdout ---

--- end ---
Previously failing phpcs rules: {'Generic.Metrics.CyclomaticComplexity.TooHigh'}
$ vendor/bin/phpcs --report=json
--- stdout ---
{"totals":{"errors":0,"warnings":3,"fixable":0},"files":{"\/src\/repo\/src\/ConstraintLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Role.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ServiceWiring-Wikibase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Cache\/CachedEntityIds.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Cache\/CachedCheckConstraintsResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Cache\/CachedArray.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/QualifierChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/WikibaseQualityConstraintsHooks.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Message\/ViolationMessageRendererFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Context\/ReferenceContext.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Helper\/TooManySparqlRequestsException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Context\/QualifierContext.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Helper\/ConstraintParameterException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/ReferenceChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Context\/ContextCursor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Message\/MultilingualTextViolationMessageRenderer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Cache\/CachingMetadata.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Helper\/FormatCheckerHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Helper\/SparqlHelperException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/ValueOnlyChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Context\/ContextCursorDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Context\/ContextCursorSerializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Helper\/EntityTypesParameter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Cache\/DependencyMetadata.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/PropertyScopeChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/MultiValueChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Cache\/CachedBool.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Helper\/TimeValueComparer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintRepositoryLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/WikibaseQualityConstraintsSchemaHooks.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Result\/CheckResultSerializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Html\/HtmlTableHeaderBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Api\/CheckResultsRendererFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Cache\/Metadata.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Cache\/CachedQueryResults.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/LabelInLanguageChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/UniqueValueChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/SingleBestValueChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Context\/ReferenceContextCursor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/CachingConstraintLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Result\/NullResult.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Helper\/ValueCountCheckerHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Cache\/CachedCheckResults.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Context\/QualifierContextCursor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/SymmetricChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Context\/MainSnakContext.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/SingleValueChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/PropertyResolvingMediaWikiIntegrationTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/EntityTypeChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/ImportConstraintStatements.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintRepositoryStore.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/ConstraintRepositoryLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Context\/ApiV2ContextCursor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Context\/EntityContextCursor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Api\/CheckResultsRenderer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Message\/ViolationMessageSerializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Api\/CheckingResultsSource.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/NoneOfChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Context\/MainSnakContextCursor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/ItemIdSnakValue.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Helper\/RangeCheckerHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/IntegerCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/QualifiersChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/ConflictsWithChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Job\/UpdateConstraintsTableJob.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/CommonsLinkChecker.php":{"errors":0,"warnings":1,"messages":[{"message":"Function's cyclomatic complexity (11) exceeds 10; consider refactoring the function","source":"Generic.Metrics.CyclomaticComplexity.TooHigh","severity":5,"fixable":false,"type":"WARNING","line":105,"column":12}]},"\/src\/repo\/tests\/phpunit\/Checker\/EntityTypeCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintSerializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Helper\/NowValue.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Context\/Context.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/RangeChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Result\/CheckResult.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/Cache\/CachedQueryResultsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Job\/CheckConstraintsJobTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/TitleParserMock.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/OneOfChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/PropertyDataTypeLookupMockingTrait.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Helper\/TypeCheckerHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/ConstraintChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Context\/AbstractContext.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/Lexeme\/LanguageChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Fake\/FakeChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Fake\/InMemoryConstraintLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/NoBoundsCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ServiceWiring-ConstraintCheckers.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/.phan\/config.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Fake\/InvalidConvertibleTimestamp.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Fake\/FakeSnakContext.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Helper\/ConnectionCheckerHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintStore.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Helper\/UnitsParameter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/DiffWithinRangeChecker.php":{"errors":0,"warnings":1,"messages":[{"message":"Function's cyclomatic complexity (12) exceeds 10; consider refactoring the function","source":"Generic.Metrics.CyclomaticComplexity.TooHigh","severity":5,"fixable":false,"type":"WARNING","line":118,"column":12}]},"\/src\/repo\/tests\/phpunit\/Checker\/LabelInLanguageCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/ValueCountChecker\/SingleBestValueCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/ContemporaryChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Message\/ViolationMessageRenderer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/Html\/HtmlTableHeaderBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/InverseChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/QualifierChecker\/QualifiersCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Message\/ViolationMessageDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Fake\/AppendingContextCursor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/ImportConstraintEntities.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/WikibaseQualityConstraints.alias.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Html\/HtmlTableBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/TypeChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/ServicesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/Cache\/MetadataTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/MandatoryQualifiersChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/Cache\/CachedEntityIdsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/TargetRequiredClaimChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/ConstraintSerializationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/ValueTypeChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/CitationNeededCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/Cache\/CachedCheckConstraintsResponseTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/ConnectionChecker\/SymmetricCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/ValueOnlyCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/CitationNeededChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Html\/HtmlTableCellBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/Cache\/DependencyMetadataTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/Context\/QualifierContextCursorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Api\/CheckConstraints.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/Fake\/InMemoryConstraintLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Maintenance\/ImportConstraintEntitiesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/Api\/ResultsCacheTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Result\/CheckResultDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/Context\/EntityContextCursorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Message\/ViolationMessageDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Api\/CheckConstraintParameters.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/RangeChecker\/RangeCheckerHelperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/Cache\/CachedArrayTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/QualifierChecker\/MandatoryQualifiersCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/WikibaseQualityConstraintsExtensionJsonTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/CachingConstraintLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/NoBoundsChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/AllowedUnitsChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/FormatChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/ItemIdSnakValueTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Api\/ExpiryLock.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ServiceWiring.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/Cache\/CachedCheckResultsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Api\/CachingResultsSource.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/DefaultConfig.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/IntegerChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/Context\/ContextCursorSerializationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/Checker\/ConnectionChecker\/ConnectionCheckerHelperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Api\/ResultsCache.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Api\/ResultsSource.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Context\/ReferenceContextTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Specials\/SpecialConstraintReport.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Api\/CheckConstraintParametersTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Maintenance\/ImportConstraintStatementsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/Checker\/ValueCountChecker\/ValueCountCheckerHelperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/ValueCountChecker\/MultiValueCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Helper\/LoggingHelperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/WikibaseServices.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/WikibaseChangeNotificationHookHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Helper\/FormatCheckerHelperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Message\/ViolationMessage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/Message\/ViolationMessageTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/ItemChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/Html\/HtmlTableCellBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/Helper\/TimeValueComparerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/Result\/CheckResultTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/Context\/MainSnakContextCursorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Result\/CheckResultSerializationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/TypeChecker\/ValueTypeCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/Helper\/NowValueTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Api\/CheckConstraintsRdf.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Job\/UpdateConstraintsTableJobTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/FormatChecker\/FormatCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintsServices.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/ConnectionChecker\/TargetRequiredClaimCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/CommonsLinkChecker\/CommonsLinkCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Constraint.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Message\/MultilingualTextViolationMessageRendererTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/Api\/CheckingResultsSourceTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/ValueCountChecker\/SingleValueCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/NoneOfCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/Html\/HtmlTableBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/WikibaseChangeNotificationHookHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/PropertyScopeCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/ConstraintParameters.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/Api\/ExpiryLockTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/Context\/ReferenceContextCursorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheckerServices.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/ConstraintTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Api\/CheckConstraintsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Api\/CheckResultsRendererTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/Message\/ViolationMessageSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/QualifierChecker\/QualifierCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Message\/ViolationMessageSerializationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Context\/MainSnakContextTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/RangeChecker\/RangeCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Specials\/SpecialConstraintReportTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/ConnectionChecker\/ConflictsWithCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/Cache\/CachingMetadataTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/Lexeme\/LanguageCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Context\/QualifierContextTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/ConstraintRepositoryStoreTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/Cache\/CachedBoolTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Helper\/ConstraintParameterParser.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/ConnectionChecker\/ItemCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Helper\/SparqlHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Api\/CheckConstraintsRdfTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Helper\/DummySparqlHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/TypeChecker\/TypeCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/DelegatingConstraintChecker.php":{"errors":0,"warnings":1,"messages":[{"message":"Function's cyclomatic complexity (20) exceeds 10; consider refactoring the function","source":"Generic.Metrics.CyclomaticComplexity.TooHigh","severity":5,"fixable":false,"type":"WARNING","line":697,"column":13}]},"\/src\/repo\/tests\/phpunit\/Checker\/ConnectionChecker\/InverseCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Helper\/LoggingHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/DelegatingConstraintCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Job\/CheckConstraintsJob.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/SparqlHelperMock.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/TypeChecker\/TypeCheckerHelperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/RangeChecker\/DiffWithinRangeCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/ReferenceCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/ContemporaryCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Helper\/ConstraintParameterParserTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Api\/CachingResultsSourceTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/OneOfChecker\/OneOfCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/ResultAssertions.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Message\/ViolationMessageRendererTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/AllowedUnitsCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/ValueCountChecker\/UniqueValueCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Helper\/SparqlHelperTest.php":{"errors":0,"warnings":0,"messages":[]}}}

--- end ---
PHPCS run failed
$ vendor/bin/phpcs --report=json
--- stdout ---
{"totals":{"errors":0,"warnings":3,"fixable":0},"files":{"\/src\/repo\/src\/Role.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Cache\/CachedEntityIds.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Cache\/CachedCheckConstraintsResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ServiceWiring-Wikibase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Helper\/TooManySparqlRequestsException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Cache\/CachedArray.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Message\/ViolationMessageRendererFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Helper\/ConstraintParameterException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Context\/ReferenceContext.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Context\/ContextCursor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Helper\/FormatCheckerHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Cache\/CachingMetadata.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Helper\/SparqlHelperException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Context\/QualifierContext.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/WikibaseQualityConstraintsHooks.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/ReferenceChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/QualifierChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Message\/MultilingualTextViolationMessageRenderer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Context\/ContextCursorDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Context\/ContextCursorSerializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/PropertyScopeChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Helper\/EntityTypesParameter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/ValueOnlyChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Cache\/DependencyMetadata.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Helper\/TimeValueComparer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/MultiValueChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Html\/HtmlTableHeaderBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Helper\/ValueCountCheckerHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/SingleBestValueChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Cache\/CachedBool.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Cache\/Metadata.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/LabelInLanguageChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Api\/CheckResultsRendererFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/WikibaseQualityConstraintsSchemaHooks.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Result\/CheckResultSerializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/UniqueValueChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Cache\/CachedQueryResults.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Context\/QualifierContextCursor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Cache\/CachedCheckResults.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintRepositoryLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Context\/MainSnakContext.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/CachingConstraintLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Context\/ReferenceContextCursor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Result\/NullResult.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/SymmetricChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/EntityTypeChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/SingleValueChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/ConstraintRepositoryLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Helper\/RangeCheckerHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Context\/MainSnakContextCursor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/PropertyResolvingMediaWikiIntegrationTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Context\/ApiV2ContextCursor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/NoneOfChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Helper\/NowValue.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Api\/CheckingResultsSource.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Message\/ViolationMessageSerializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintRepositoryStore.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Context\/EntityContextCursor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/ItemIdSnakValue.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/ImportConstraintStatements.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/ConflictsWithChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Api\/CheckResultsRenderer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/QualifiersChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Context\/Context.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/CommonsLinkChecker.php":{"errors":0,"warnings":1,"messages":[{"message":"Function's cyclomatic complexity (11) exceeds 10; consider refactoring the function","source":"Generic.Metrics.CyclomaticComplexity.TooHigh","severity":5,"fixable":false,"type":"WARNING","line":105,"column":12}]},"\/src\/repo\/src\/Job\/UpdateConstraintsTableJob.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/TitleParserMock.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/PropertyDataTypeLookupMockingTrait.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintSerializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Helper\/TypeCheckerHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/OneOfChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/IntegerCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Job\/CheckConstraintsJobTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/Cache\/CachedQueryResultsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/ConstraintChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Result\/CheckResult.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Fake\/FakeChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/RangeChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/EntityTypeCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Context\/AbstractContext.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Fake\/InMemoryConstraintLookup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/Lexeme\/LanguageChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ServiceWiring-ConstraintCheckers.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/LabelInLanguageCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Fake\/InvalidConvertibleTimestamp.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/.phan\/config.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Helper\/UnitsParameter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/ContemporaryChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Fake\/FakeSnakContext.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/Html\/HtmlTableHeaderBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/DiffWithinRangeChecker.php":{"errors":0,"warnings":1,"messages":[{"message":"Function's cyclomatic complexity (12) exceeds 10; consider refactoring the function","source":"Generic.Metrics.CyclomaticComplexity.TooHigh","severity":5,"fixable":false,"type":"WARNING","line":118,"column":12}]},"\/src\/repo\/tests\/phpunit\/Checker\/ValueCountChecker\/SingleBestValueCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintStore.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Helper\/ConnectionCheckerHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Fake\/AppendingContextCursor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/QualifierChecker\/QualifiersCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/MandatoryQualifiersChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/ConstraintSerializationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/NoBoundsCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Message\/ViolationMessageDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/CitationNeededChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/Cache\/MetadataTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/Cache\/CachedEntityIdsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/TypeChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/ValueOnlyCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/Fake\/InMemoryConstraintLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/ConnectionChecker\/SymmetricCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Html\/HtmlTableBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/TargetRequiredClaimChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/Api\/ResultsCacheTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/ImportConstraintEntities.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/WikibaseQualityConstraints.alias.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/Cache\/CachedCheckConstraintsResponseTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Maintenance\/ImportConstraintEntitiesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/Cache\/DependencyMetadataTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Message\/ViolationMessageRenderer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/ServicesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Api\/CheckConstraints.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/Context\/QualifierContextCursorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Html\/HtmlTableCellBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Result\/CheckResultDeserializer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Message\/ViolationMessageDeserializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/Cache\/CachedArrayTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/CachingConstraintLookupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/Context\/EntityContextCursorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/ValueTypeChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/NoBoundsChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Api\/CachingResultsSource.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/CitationNeededCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/QualifierChecker\/MandatoryQualifiersCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/ItemIdSnakValueTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/FormatChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Api\/ResultsSource.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/AllowedUnitsChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/IntegerChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/WikibaseQualityConstraintsExtensionJsonTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Api\/CheckConstraintParameters.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Api\/ExpiryLock.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/InverseChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ServiceWiring.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/Context\/ContextCursorSerializationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Maintenance\/ImportConstraintStatementsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/Cache\/CachedCheckResultsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/DefaultConfig.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/Checker\/ConnectionChecker\/ConnectionCheckerHelperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/ValueCountChecker\/MultiValueCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Helper\/LoggingHelperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/Checker\/ValueCountChecker\/ValueCountCheckerHelperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Api\/ResultsCache.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Specials\/SpecialConstraintReport.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Helper\/FormatCheckerHelperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Api\/CheckConstraintParametersTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/Message\/ViolationMessageTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Context\/ReferenceContextTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/RangeChecker\/RangeCheckerHelperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/WikibaseChangeNotificationHookHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/Helper\/TimeValueComparerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/WikibaseServices.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/Context\/MainSnakContextCursorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/Html\/HtmlTableCellBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Checker\/ItemChecker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/Result\/CheckResultTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Api\/CheckConstraintsRdf.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/Helper\/NowValueTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Result\/CheckResultSerializationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/TypeChecker\/ValueTypeCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Message\/ViolationMessage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/ConnectionChecker\/TargetRequiredClaimCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Job\/UpdateConstraintsTableJobTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/FormatChecker\/FormatCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintsServices.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Message\/MultilingualTextViolationMessageRendererTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/CommonsLinkChecker\/CommonsLinkCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/Api\/CheckingResultsSourceTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/ValueCountChecker\/SingleValueCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Constraint.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/Html\/HtmlTableBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/WikibaseChangeNotificationHookHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/PropertyScopeCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Api\/CheckResultsRendererTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Message\/ViolationMessageSerializationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/NoneOfCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/ConstraintTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/Api\/ExpiryLockTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/Context\/ReferenceContextCursorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/ConstraintParameters.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/ConstraintRepositoryStoreTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheckerServices.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/Message\/ViolationMessageSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Specials\/SpecialConstraintReportTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/QualifierChecker\/QualifierCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Api\/CheckConstraintsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Context\/MainSnakContextTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/RangeChecker\/RangeCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/ConnectionChecker\/ConflictsWithCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/Cache\/CachingMetadataTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Unit\/Cache\/CachedBoolTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Helper\/SparqlHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Context\/QualifierContextTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/Lexeme\/LanguageCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Helper\/ConstraintParameterParser.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Helper\/DummySparqlHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/TypeChecker\/TypeCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Api\/CheckConstraintsRdfTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/DelegatingConstraintChecker.php":{"errors":0,"warnings":1,"messages":[{"message":"Function's cyclomatic complexity (20) exceeds 10; consider refactoring the function","source":"Generic.Metrics.CyclomaticComplexity.TooHigh","severity":5,"fixable":false,"type":"WARNING","line":697,"column":13}]},"\/src\/repo\/tests\/phpunit\/Checker\/ConnectionChecker\/InverseCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/ConnectionChecker\/ItemCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ConstraintCheck\/Helper\/LoggingHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Job\/CheckConstraintsJob.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/DelegatingConstraintCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/SparqlHelperMock.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/TypeChecker\/TypeCheckerHelperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/ReferenceCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/RangeChecker\/DiffWithinRangeCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Helper\/ConstraintParameterParserTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Api\/CachingResultsSourceTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/ContemporaryCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/ResultAssertions.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/OneOfChecker\/OneOfCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/AllowedUnitsCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Message\/ViolationMessageRendererTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Checker\/ValueCountChecker\/UniqueValueCheckerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Helper\/SparqlHelperTest.php":{"errors":0,"warnings":0,"messages":[]}}}

--- end ---
$ git checkout /src/repo/.phpcs.xml
--- stderr ---
Updated 1 path from the index
--- stdout ---

--- end ---
$ /usr/bin/composer install
--- stderr ---
Installing dependencies from lock file (including require-dev)
Verifying lock file contents can be installed on current platform.
Nothing to install, update or remove
Generating autoload files
18 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
--- stdout ---

--- end ---
$ /usr/bin/composer test
--- stderr ---
> composer validate --no-interaction
> parallel-lint . --exclude vendor --exclude node_modules
> phpcs -sp --cache
> minus-x check .
--- stdout ---
./composer.json is valid
PHP 8.4.18 | 10 parallel jobs
............................................................  60/226 ( 26%)
............................................................ 120/226 ( 53%)
............................................................ 180/226 ( 79%)
..............................................               226/226 (100%)


Checked 226 files in 0.8 seconds
No syntax error found
......................................................... 57 / 57 (100%)


Time: 462ms; Memory: 20MB

MinusX
======
Processing /src/repo...
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
..........
All good!

--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {
    "@eslint/eslintrc": {
      "name": "@eslint/eslintrc",
      "severity": "high",
      "isDirect": false,
      "via": [
        "minimatch"
      ],
      "effects": [
        "eslint"
      ],
      "range": "0.0.1 || >=0.1.1",
      "nodes": [
        "node_modules/@eslint/eslintrc"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.8.1",
        "isSemVerMajor": true
      }
    },
    "@humanwhocodes/config-array": {
      "name": "@humanwhocodes/config-array",
      "severity": "high",
      "isDirect": false,
      "via": [
        "minimatch"
      ],
      "effects": [
        "eslint"
      ],
      "range": "*",
      "nodes": [
        "node_modules/@humanwhocodes/config-array"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.8.1",
        "isSemVerMajor": true
      }
    },
    "@typescript-eslint/eslint-plugin": {
      "name": "@typescript-eslint/eslint-plugin",
      "severity": "high",
      "isDirect": false,
      "via": [
        "@typescript-eslint/type-utils",
        "@typescript-eslint/utils",
        "eslint"
      ],
      "effects": [
        "eslint-config-wikimedia"
      ],
      "range": "<=8.55.1-alpha.3",
      "nodes": [
        "node_modules/@typescript-eslint/eslint-plugin"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.8.1",
        "isSemVerMajor": true
      }
    },
    "@typescript-eslint/parser": {
      "name": "@typescript-eslint/parser",
      "severity": "high",
      "isDirect": false,
      "via": [
        "@typescript-eslint/typescript-estree",
        "eslint"
      ],
      "effects": [],
      "range": "1.1.1-alpha.0 - 8.56.0",
      "nodes": [
        "node_modules/@typescript-eslint/parser"
      ],
      "fixAvailable": true
    },
    "@typescript-eslint/type-utils": {
      "name": "@typescript-eslint/type-utils",
      "severity": "high",
      "isDirect": false,
      "via": [
        "@typescript-eslint/typescript-estree",
        "@typescript-eslint/utils",
        "eslint"
      ],
      "effects": [
        "@typescript-eslint/eslint-plugin"
      ],
      "range": "5.9.2-alpha.0 - 8.56.0 || >=8.56.2-alpha.0",
      "nodes": [
        "node_modules/@typescript-eslint/type-utils"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.8.1",
        "isSemVerMajor": true
      }
    },
    "@typescript-eslint/typescript-estree": {
      "name": "@typescript-eslint/typescript-estree",
      "severity": "high",
      "isDirect": false,
      "via": [
        "minimatch"
      ],
      "effects": [
        "@typescript-eslint/parser",
        "@typescript-eslint/type-utils",
        "@typescript-eslint/utils"
      ],
      "range": "6.16.0 - 8.56.1-alpha.2",
      "nodes": [
        "node_modules/@typescript-eslint/typescript-estree"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.8.1",
        "isSemVerMajor": true
      }
    },
    "@typescript-eslint/utils": {
      "name": "@typescript-eslint/utils",
      "severity": "high",
      "isDirect": false,
      "via": [
        "@typescript-eslint/typescript-estree",
        "eslint"
      ],
      "effects": [
        "@typescript-eslint/eslint-plugin",
        "@typescript-eslint/type-utils"
      ],
      "range": "<=8.56.1-alpha.2",
      "nodes": [
        "node_modules/@typescript-eslint/utils"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.8.1",
        "isSemVerMajor": true
      }
    },
    "diff": {
      "name": "diff",
      "severity": "low",
      "isDirect": false,
      "via": [
        {
          "source": 1112706,
          "name": "diff",
          "dependency": "diff",
          "title": "jsdiff has a Denial of Service vulnerability in parsePatch and applyPatch",
          "url": "https://github.com/advisories/GHSA-73rr-hh4g-fpgx",
          "severity": "low",
          "cwe": [
            "CWE-400",
            "CWE-1333"
          ],
          "cvss": {
            "score": 0,
            "vectorString": null
          },
          "range": ">=6.0.0 <8.0.3"
        }
      ],
      "effects": [
        "sinon"
      ],
      "range": "6.0.0 - 8.0.2",
      "nodes": [
        "node_modules/sinon/node_modules/diff"
      ],
      "fixAvailable": {
        "name": "sinon",
        "version": "21.0.1",
        "isSemVerMajor": true
      }
    },
    "doiuse": {
      "name": "doiuse",
      "severity": "high",
      "isDirect": false,
      "via": [
        "multimatch"
      ],
      "effects": [
        "stylelint-no-unsupported-browser-features"
      ],
      "range": ">=2.2.0",
      "nodes": [
        "node_modules/doiuse"
      ],
      "fixAvailable": {
        "name": "stylelint-config-wikimedia",
        "version": "0.10.1",
        "isSemVerMajor": true
      }
    },
    "eslint": {
      "name": "eslint",
      "severity": "high",
      "isDirect": false,
      "via": [
        "@eslint/eslintrc",
        "@humanwhocodes/config-array",
        "file-entry-cache",
        "minimatch"
      ],
      "effects": [
        "@typescript-eslint/eslint-plugin",
        "@typescript-eslint/parser",
        "@typescript-eslint/type-utils",
        "@typescript-eslint/utils",
        "eslint-config-wikimedia",
        "eslint-plugin-jsdoc",
        "eslint-plugin-vue",
        "grunt-eslint"
      ],
      "range": "0.7.1 - 2.0.0-rc.1 || 4.1.0 - 10.0.0-rc.2",
      "nodes": [
        "node_modules/eslint"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.8.1",
        "isSemVerMajor": true
      }
    },
    "eslint-config-wikimedia": {
      "name": "eslint-config-wikimedia",
      "severity": "high",
      "isDirect": true,
      "via": [
        "@typescript-eslint/eslint-plugin",
        "@typescript-eslint/parser",
        "eslint",
        "eslint-plugin-jsdoc",
        "eslint-plugin-vue"
      ],
      "effects": [],
      "range": ">=0.9.0",
      "nodes": [
        "node_modules/eslint-config-wikimedia"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.8.1",
        "isSemVerMajor": true
      }
    },
    "eslint-plugin-jsdoc": {
      "name": "eslint-plugin-jsdoc",
      "severity": "high",
      "isDirect": false,
      "via": [
        "eslint"
      ],
      "effects": [
        "eslint-config-wikimedia"
      ],
      "range": "8.4.4 - 62.6.1",
      "nodes": [
        "node_modules/eslint-plugin-jsdoc"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.8.1",
        "isSemVerMajor": true
      }
    },
    "eslint-plugin-vue": {
      "name": "eslint-plugin-vue",
      "severity": "high",
      "isDirect": false,
      "via": [
        "eslint"
      ],
      "effects": [
        "eslint-config-wikimedia"
      ],
      "range": "5.0.0-beta.0 - 10.7.0",
      "nodes": [
        "node_modules/eslint-plugin-vue"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.8.1",
        "isSemVerMajor": true
      }
    },
    "file-entry-cache": {
      "name": "file-entry-cache",
      "severity": "high",
      "isDirect": false,
      "via": [
        "flat-cache"
      ],
      "effects": [
        "eslint"
      ],
      "range": "4.0.0 - 7.0.2",
      "nodes": [
        "node_modules/file-entry-cache"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.8.1",
        "isSemVerMajor": true
      }
    },
    "flat-cache": {
      "name": "flat-cache",
      "severity": "high",
      "isDirect": false,
      "via": [
        "rimraf"
      ],
      "effects": [
        "file-entry-cache"
      ],
      "range": "1.3.4 - 4.0.0",
      "nodes": [
        "node_modules/flat-cache"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.8.1",
        "isSemVerMajor": true
      }
    },
    "glob": {
      "name": "glob",
      "severity": "high",
      "isDirect": false,
      "via": [
        "minimatch"
      ],
      "effects": [
        "grunt-jasmine-nodejs",
        "jasmine",
        "rimraf"
      ],
      "range": "3.0.0 - 10.5.0",
      "nodes": [
        "node_modules/glob",
        "node_modules/jasmine/node_modules/glob"
      ],
      "fixAvailable": {
        "name": "grunt-jasmine-nodejs",
        "version": "1.5.4",
        "isSemVerMajor": true
      }
    },
    "grunt": {
      "name": "grunt",
      "severity": "high",
      "isDirect": true,
      "via": [
        "glob",
        "minimatch"
      ],
      "effects": [
        "grunt-eslint",
        "grunt-jasmine-nodejs"
      ],
      "range": ">=0.4.0-a",
      "nodes": [
        "node_modules/grunt"
      ],
      "fixAvailable": {
        "name": "grunt",
        "version": "0.3.17",
        "isSemVerMajor": true
      }
    },
    "grunt-eslint": {
      "name": "grunt-eslint",
      "severity": "high",
      "isDirect": true,
      "via": [
        "eslint",
        "grunt"
      ],
      "effects": [],
      "range": "<=17.3.2 || >=18.1.0",
      "nodes": [
        "node_modules/grunt-eslint"
      ],
      "fixAvailable": {
        "name": "grunt-eslint",
        "version": "20.2.0",
        "isSemVerMajor": true
      }
    },
    "grunt-jasmine-nodejs": {
      "name": "grunt-jasmine-nodejs",
      "severity": "high",
      "isDirect": true,
      "via": [
        "glob",
        "grunt"
      ],
      "effects": [],
      "range": "*",
      "nodes": [
        "node_modules/grunt-jasmine-nodejs"
      ],
      "fixAvailable": {
        "name": "grunt-jasmine-nodejs",
        "version": "1.5.4",
        "isSemVerMajor": true
      }
    },
    "jasmine": {
      "name": "jasmine",
      "severity": "high",
      "isDirect": true,
      "via": [
        "glob"
      ],
      "effects": [],
      "range": "<=3.5.0 || 3.6.2 - 5.13.0",
      "nodes": [
        "node_modules/jasmine"
      ],
      "fixAvailable": {
        "name": "jasmine",
        "version": "6.1.0",
        "isSemVerMajor": true
      }
    },
    "minimatch": {
      "name": "minimatch",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1113371,
          "name": "minimatch",
          "dependency": "minimatch",
          "title": "minimatch has a ReDoS via repeated wildcards with non-matching literal in pattern",
          "url": "https://github.com/advisories/GHSA-3ppc-4f35-3m26",
          "severity": "high",
          "cwe": [
            "CWE-1333"
          ],
          "cvss": {
            "score": 0,
            "vectorString": null
          },
          "range": "<10.2.1"
        }
      ],
      "effects": [
        "@eslint/eslintrc",
        "@humanwhocodes/config-array",
        "@typescript-eslint/typescript-estree",
        "eslint",
        "glob",
        "grunt",
        "multimatch"
      ],
      "range": "<10.2.1",
      "nodes": [
        "node_modules/@eslint/eslintrc/node_modules/minimatch",
        "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch",
        "node_modules/eslint/node_modules/minimatch",
        "node_modules/jasmine/node_modules/minimatch",
        "node_modules/minimatch"
      ],
      "fixAvailable": {
        "name": "grunt",
        "version": "0.3.17",
        "isSemVerMajor": true
      }
    },
    "multimatch": {
      "name": "multimatch",
      "severity": "high",
      "isDirect": false,
      "via": [
        "minimatch"
      ],
      "effects": [
        "doiuse"
      ],
      "range": "<=7.0.0",
      "nodes": [
        "node_modules/multimatch"
      ],
      "fixAvailable": {
        "name": "stylelint-config-wikimedia",
        "version": "0.10.1",
        "isSemVerMajor": true
      }
    },
    "rimraf": {
      "name": "rimraf",
      "severity": "high",
      "isDirect": false,
      "via": [
        "glob"
      ],
      "effects": [
        "flat-cache"
      ],
      "range": "2.3.0 - 3.0.2 || 4.2.0 - 5.0.10",
      "nodes": [
        "node_modules/rimraf"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.8.1",
        "isSemVerMajor": true
      }
    },
    "sinon": {
      "name": "sinon",
      "severity": "low",
      "isDirect": true,
      "via": [
        "diff"
      ],
      "effects": [],
      "range": "19.0.0 - 21.0.0",
      "nodes": [
        "node_modules/sinon"
      ],
      "fixAvailable": {
        "name": "sinon",
        "version": "21.0.1",
        "isSemVerMajor": true
      }
    },
    "stylelint-config-wikimedia": {
      "name": "stylelint-config-wikimedia",
      "severity": "high",
      "isDirect": true,
      "via": [
        "stylelint-no-unsupported-browser-features"
      ],
      "effects": [],
      "range": ">=0.10.2",
      "nodes": [
        "node_modules/stylelint-config-wikimedia"
      ],
      "fixAvailable": {
        "name": "stylelint-config-wikimedia",
        "version": "0.10.1",
        "isSemVerMajor": true
      }
    },
    "stylelint-no-unsupported-browser-features": {
      "name": "stylelint-no-unsupported-browser-features",
      "severity": "high",
      "isDirect": false,
      "via": [
        "doiuse"
      ],
      "effects": [
        "stylelint-config-wikimedia"
      ],
      "range": "*",
      "nodes": [
        "node_modules/stylelint-no-unsupported-browser-features"
      ],
      "fixAvailable": {
        "name": "stylelint-config-wikimedia",
        "version": "0.10.1",
        "isSemVerMajor": true
      }
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 2,
      "moderate": 0,
      "high": 24,
      "critical": 0,
      "total": 26
    },
    "dependencies": {
      "prod": 1,
      "dev": 675,
      "optional": 5,
      "peer": 2,
      "peerOptional": 0,
      "total": 675
    }
  }
}

--- end ---
Attempting to npm audit fix
$ /usr/bin/npm audit fix --dry-run --only=dev --json
--- stderr ---
npm WARN invalid config only="dev" set in command line options
npm WARN invalid config Must be one of: null, prod, production
--- stdout ---
{
  "added": 2,
  "removed": 0,
  "changed": 6,
  "audited": 678,
  "funding": 148,
  "audit": {
    "auditReportVersion": 2,
    "vulnerabilities": {
      "@eslint/eslintrc": {
        "name": "@eslint/eslintrc",
        "severity": "high",
        "isDirect": false,
        "via": [
          "minimatch"
        ],
        "effects": [
          "eslint"
        ],
        "range": "0.0.1 || >=0.1.1",
        "nodes": [
          "node_modules/@eslint/eslintrc"
        ],
        "fixAvailable": {
          "name": "eslint-config-wikimedia",
          "version": "0.8.1",
          "isSemVerMajor": true
        }
      },
      "@humanwhocodes/config-array": {
        "name": "@humanwhocodes/config-array",
        "severity": "high",
        "isDirect": false,
        "via": [
          "minimatch"
        ],
        "effects": [
          "eslint"
        ],
        "range": "*",
        "nodes": [
          "node_modules/@humanwhocodes/config-array"
        ],
        "fixAvailable": {
          "name": "eslint-config-wikimedia",
          "version": "0.8.1",
          "isSemVerMajor": true
        }
      },
      "@typescript-eslint/eslint-plugin": {
        "name": "@typescript-eslint/eslint-plugin",
        "severity": "high",
        "isDirect": false,
        "via": [
          "@typescript-eslint/type-utils",
          "@typescript-eslint/utils",
          "eslint"
        ],
        "effects": [
          "eslint-config-wikimedia"
        ],
        "range": "<=8.55.1-alpha.3",
        "nodes": [
          "node_modules/@typescript-eslint/eslint-plugin"
        ],
        "fixAvailable": {
          "name": "eslint-config-wikimedia",
          "version": "0.8.1",
          "isSemVerMajor": true
        }
      },
      "@typescript-eslint/parser": {
        "name": "@typescript-eslint/parser",
        "severity": "high",
        "isDirect": false,
        "via": [
          "@typescript-eslint/typescript-estree",
          "eslint"
        ],
        "effects": [],
        "range": "1.1.1-alpha.0 - 8.56.0",
        "nodes": [
          "node_modules/@typescript-eslint/parser"
        ],
        "fixAvailable": true
      },
      "@typescript-eslint/type-utils": {
        "name": "@typescript-eslint/type-utils",
        "severity": "high",
        "isDirect": false,
        "via": [
          "@typescript-eslint/typescript-estree",
          "@typescript-eslint/utils",
          "eslint"
        ],
        "effects": [
          "@typescript-eslint/eslint-plugin"
        ],
        "range": "5.9.2-alpha.0 - 8.56.0 || >=8.56.2-alpha.0",
        "nodes": [
          "node_modules/@typescript-eslint/type-utils"
        ],
        "fixAvailable": {
          "name": "eslint-config-wikimedia",
          "version": "0.8.1",
          "isSemVerMajor": true
        }
      },
      "@typescript-eslint/typescript-estree": {
        "name": "@typescript-eslint/typescript-estree",
        "severity": "high",
        "isDirect": false,
        "via": [
          "minimatch"
        ],
        "effects": [
          "@typescript-eslint/parser",
          "@typescript-eslint/type-utils",
          "@typescript-eslint/utils"
        ],
        "range": "6.16.0 - 8.56.1-alpha.2",
        "nodes": [
          "node_modules/@typescript-eslint/typescript-estree"
        ],
        "fixAvailable": {
          "name": "eslint-config-wikimedia",
          "version": "0.8.1",
          "isSemVerMajor": true
        }
      },
      "@typescript-eslint/utils": {
        "name": "@typescript-eslint/utils",
        "severity": "high",
        "isDirect": false,
        "via": [
          "@typescript-eslint/typescript-estree",
          "eslint"
        ],
        "effects": [
          "@typescript-eslint/eslint-plugin",
          "@typescript-eslint/type-utils"
        ],
        "range": "<=8.56.1-alpha.2",
        "nodes": [
          "node_modules/@typescript-eslint/utils"
        ],
        "fixAvailable": {
          "name": "eslint-config-wikimedia",
          "version": "0.8.1",
          "isSemVerMajor": true
        }
      },
      "diff": {
        "name": "diff",
        "severity": "low",
        "isDirect": false,
        "via": [
          {
            "source": 1112706,
            "name": "diff",
            "dependency": "diff",
            "title": "jsdiff has a Denial of Service vulnerability in parsePatch and applyPatch",
            "url": "https://github.com/advisories/GHSA-73rr-hh4g-fpgx",
            "severity": "low",
            "cwe": [
              "CWE-400",
              "CWE-1333"
            ],
            "cvss": {
              "score": 0,
              "vectorString": null
            },
            "range": ">=6.0.0 <8.0.3"
          }
        ],
        "effects": [
          "sinon"
        ],
        "range": "6.0.0 - 8.0.2",
        "nodes": [
          "node_modules/sinon/node_modules/diff"
        ],
        "fixAvailable": {
          "name": "sinon",
          "version": "21.0.1",
          "isSemVerMajor": true
        }
      },
      "doiuse": {
        "name": "doiuse",
        "severity": "high",
        "isDirect": false,
        "via": [
          "multimatch"
        ],
        "effects": [
          "stylelint-no-unsupported-browser-features"
        ],
        "range": ">=2.2.0",
        "nodes": [
          "node_modules/doiuse"
        ],
        "fixAvailable": {
          "name": "stylelint-config-wikimedia",
          "version": "0.10.1",
          "isSemVerMajor": true
        }
      },
      "eslint": {
        "name": "eslint",
        "severity": "high",
        "isDirect": false,
        "via": [
          "@eslint/eslintrc",
          "@humanwhocodes/config-array",
          "file-entry-cache",
          "minimatch"
        ],
        "effects": [
          "@typescript-eslint/eslint-plugin",
          "@typescript-eslint/parser",
          "@typescript-eslint/type-utils",
          "@typescript-eslint/utils",
          "eslint-config-wikimedia",
          "eslint-plugin-jsdoc",
          "eslint-plugin-vue",
          "grunt-eslint"
        ],
        "range": "0.7.1 - 2.0.0-rc.1 || 4.1.0 - 10.0.0-rc.2",
        "nodes": [
          "node_modules/eslint"
        ],
        "fixAvailable": {
          "name": "eslint-config-wikimedia",
          "version": "0.8.1",
          "isSemVerMajor": true
        }
      },
      "eslint-config-wikimedia": {
        "name": "eslint-config-wikimedia",
        "severity": "high",
        "isDirect": true,
        "via": [
          "@typescript-eslint/eslint-plugin",
          "@typescript-eslint/parser",
          "eslint",
          "eslint-plugin-jsdoc",
          "eslint-plugin-vue"
        ],
        "effects": [],
        "range": ">=0.9.0",
        "nodes": [
          "node_modules/eslint-config-wikimedia"
        ],
        "fixAvailable": {
          "name": "eslint-config-wikimedia",
          "version": "0.8.1",
          "isSemVerMajor": true
        }
      },
      "eslint-plugin-jsdoc": {
        "name": "eslint-plugin-jsdoc",
        "severity": "high",
        "isDirect": false,
        "via": [
          "eslint"
        ],
        "effects": [
          "eslint-config-wikimedia"
        ],
        "range": "8.4.4 - 62.6.1",
        "nodes": [
          "node_modules/eslint-plugin-jsdoc"
        ],
        "fixAvailable": {
          "name": "eslint-config-wikimedia",
          "version": "0.8.1",
          "isSemVerMajor": true
        }
      },
      "eslint-plugin-vue": {
        "name": "eslint-plugin-vue",
        "severity": "high",
        "isDirect": false,
        "via": [
          "eslint"
        ],
        "effects": [
          "eslint-config-wikimedia"
        ],
        "range": "5.0.0-beta.0 - 10.7.0",
        "nodes": [
          "node_modules/eslint-plugin-vue"
        ],
        "fixAvailable": {
          "name": "eslint-config-wikimedia",
          "version": "0.8.1",
          "isSemVerMajor": true
        }
      },
      "file-entry-cache": {
        "name": "file-entry-cache",
        "severity": "high",
        "isDirect": false,
        "via": [
          "flat-cache"
        ],
        "effects": [
          "eslint"
        ],
        "range": "4.0.0 - 7.0.2",
        "nodes": [
          "node_modules/file-entry-cache"
        ],
        "fixAvailable": {
          "name": "eslint-config-wikimedia",
          "version": "0.8.1",
          "isSemVerMajor": true
        }
      },
      "flat-cache": {
        "name": "flat-cache",
        "severity": "high",
        "isDirect": false,
        "via": [
          "rimraf"
        ],
        "effects": [
          "file-entry-cache"
        ],
        "range": "1.3.4 - 4.0.0",
        "nodes": [
          "node_modules/flat-cache"
        ],
        "fixAvailable": {
          "name": "eslint-config-wikimedia",
          "version": "0.8.1",
          "isSemVerMajor": true
        }
      },
      "glob": {
        "name": "glob",
        "severity": "high",
        "isDirect": false,
        "via": [
          "minimatch"
        ],
        "effects": [
          "grunt-jasmine-nodejs",
          "jasmine",
          "rimraf"
        ],
        "range": "3.0.0 - 10.5.0",
        "nodes": [
          "node_modules/glob",
          "node_modules/jasmine/node_modules/glob"
        ],
        "fixAvailable": {
          "name": "jasmine",
          "version": "6.1.0",
          "isSemVerMajor": true
        }
      },
      "grunt": {
        "name": "grunt",
        "severity": "high",
        "isDirect": true,
        "via": [
          "glob",
          "minimatch"
        ],
        "effects": [
          "grunt-eslint",
          "grunt-jasmine-nodejs"
        ],
        "range": ">=0.4.0-a",
        "nodes": [
          "node_modules/grunt"
        ],
        "fixAvailable": false
      },
      "grunt-eslint": {
        "name": "grunt-eslint",
        "severity": "high",
        "isDirect": true,
        "via": [
          "eslint",
          "grunt"
        ],
        "effects": [],
        "range": "<=17.3.2 || >=18.1.0",
        "nodes": [
          "node_modules/grunt-eslint"
        ],
        "fixAvailable": {
          "name": "grunt-eslint",
          "version": "20.2.0",
          "isSemVerMajor": true
        }
      },
      "grunt-jasmine-nodejs": {
        "name": "grunt-jasmine-nodejs",
        "severity": "high",
        "isDirect": true,
        "via": [
          "glob",
          "grunt"
        ],
        "effects": [],
        "range": "*",
        "nodes": [
          "node_modules/grunt-jasmine-nodejs"
        ],
        "fixAvailable": false
      },
      "jasmine": {
        "name": "jasmine",
        "severity": "high",
        "isDirect": true,
        "via": [
          "glob"
        ],
        "effects": [],
        "range": "<=3.5.0 || 3.6.2 - 5.13.0",
        "nodes": [
          "node_modules/jasmine"
        ],
        "fixAvailable": {
          "name": "jasmine",
          "version": "6.1.0",
          "isSemVerMajor": true
        }
      },
      "minimatch": {
        "name": "minimatch",
        "severity": "high",
        "isDirect": false,
        "via": [
          {
            "source": 1113371,
            "name": "minimatch",
            "dependency": "minimatch",
            "title": "minimatch has a ReDoS via repeated wildcards with non-matching literal in pattern",
            "url": "https://github.com/advisories/GHSA-3ppc-4f35-3m26",
            "severity": "high",
            "cwe": [
              "CWE-1333"
            ],
            "cvss": {
              "score": 0,
              "vectorString": null
            },
            "range": "<10.2.1"
          }
        ],
        "effects": [
          "@eslint/eslintrc",
          "@humanwhocodes/config-array",
          "@typescript-eslint/typescript-estree",
          "eslint",
          "glob",
          "grunt",
          "multimatch"
        ],
        "range": "<10.2.1",
        "nodes": [
          "",
          "",
          "",
          "",
          "node_modules/minimatch"
        ],
        "fixAvailable": {
          "name": "jasmine",
          "version": "6.1.0",
          "isSemVerMajor": true
        }
      },
      "multimatch": {
        "name": "multimatch",
        "severity": "high",
        "isDirect": false,
        "via": [
          "minimatch"
        ],
        "effects": [
          "doiuse"
        ],
        "range": "<=7.0.0",
        "nodes": [
          "node_modules/multimatch"
        ],
        "fixAvailable": {
          "name": "stylelint-config-wikimedia",
          "version": "0.10.1",
          "isSemVerMajor": true
        }
      },
      "rimraf": {
        "name": "rimraf",
        "severity": "high",
        "isDirect": false,
        "via": [
          "glob"
        ],
        "effects": [
          "flat-cache"
        ],
        "range": "2.3.0 - 3.0.2 || 4.2.0 - 5.0.10",
        "nodes": [
          "node_modules/rimraf"
        ],
        "fixAvailable": {
          "name": "eslint-config-wikimedia",
          "version": "0.8.1",
          "isSemVerMajor": true
        }
      },
      "sinon": {
        "name": "sinon",
        "severity": "low",
        "isDirect": true,
        "via": [
          "diff"
        ],
        "effects": [],
        "range": "19.0.0 - 21.0.0",
        "nodes": [
          "node_modules/sinon"
        ],
        "fixAvailable": {
          "name": "sinon",
          "version": "21.0.1",
          "isSemVerMajor": true
        }
      },
      "stylelint-config-wikimedia": {
        "name": "stylelint-config-wikimedia",
        "severity": "high",
        "isDirect": true,
        "via": [
          "stylelint-no-unsupported-browser-features"
        ],
        "effects": [],
        "range": ">=0.10.2",
        "nodes": [
          "node_modules/stylelint-config-wikimedia"
        ],
        "fixAvailable": {
          "name": "stylelint-config-wikimedia",
          "version": "0.10.1",
          "isSemVerMajor": true
        }
      },
      "stylelint-no-unsupported-browser-features": {
        "name": "stylelint-no-unsupported-browser-features",
        "severity": "high",
        "isDirect": false,
        "via": [
          "doiuse"
        ],
        "effects": [
          "stylelint-config-wikimedia"
        ],
        "range": "*",
        "nodes": [
          "node_modules/stylelint-no-unsupported-browser-features"
        ],
        "fixAvailable": {
          "name": "stylelint-config-wikimedia",
          "version": "0.10.1",
          "isSemVerMajor": true
        }
      }
    },
    "metadata": {
      "vulnerabilities": {
        "info": 0,
        "low": 2,
        "moderate": 0,
        "high": 24,
        "critical": 0,
        "total": 26
      },
      "dependencies": {
        "prod": 1,
        "dev": 677,
        "optional": 5,
        "peer": 2,
        "peerOptional": 0,
        "total": 677
      }
    }
  }
}

--- end ---
{"added": 2, "removed": 0, "changed": 6, "audited": 678, "funding": 148, "audit": {"auditReportVersion": 2, "vulnerabilities": {"@eslint/eslintrc": {"name": "@eslint/eslintrc", "severity": "high", "isDirect": false, "via": ["minimatch"], "effects": ["eslint"], "range": "0.0.1 || >=0.1.1", "nodes": ["node_modules/@eslint/eslintrc"], "fixAvailable": {"name": "eslint-config-wikimedia", "version": "0.8.1", "isSemVerMajor": true}}, "@humanwhocodes/config-array": {"name": "@humanwhocodes/config-array", "severity": "high", "isDirect": false, "via": ["minimatch"], "effects": ["eslint"], "range": "*", "nodes": ["node_modules/@humanwhocodes/config-array"], "fixAvailable": {"name": "eslint-config-wikimedia", "version": "0.8.1", "isSemVerMajor": true}}, "@typescript-eslint/eslint-plugin": {"name": "@typescript-eslint/eslint-plugin", "severity": "high", "isDirect": false, "via": ["@typescript-eslint/type-utils", "@typescript-eslint/utils", "eslint"], "effects": ["eslint-config-wikimedia"], "range": "<=8.55.1-alpha.3", "nodes": ["node_modules/@typescript-eslint/eslint-plugin"], "fixAvailable": {"name": "eslint-config-wikimedia", "version": "0.8.1", "isSemVerMajor": true}}, "@typescript-eslint/parser": {"name": "@typescript-eslint/parser", "severity": "high", "isDirect": false, "via": ["@typescript-eslint/typescript-estree", "eslint"], "effects": [], "range": "1.1.1-alpha.0 - 8.56.0", "nodes": ["node_modules/@typescript-eslint/parser"], "fixAvailable": true}, "@typescript-eslint/type-utils": {"name": "@typescript-eslint/type-utils", "severity": "high", "isDirect": false, "via": ["@typescript-eslint/typescript-estree", "@typescript-eslint/utils", "eslint"], "effects": ["@typescript-eslint/eslint-plugin"], "range": "5.9.2-alpha.0 - 8.56.0 || >=8.56.2-alpha.0", "nodes": ["node_modules/@typescript-eslint/type-utils"], "fixAvailable": {"name": "eslint-config-wikimedia", "version": "0.8.1", "isSemVerMajor": true}}, "@typescript-eslint/typescript-estree": {"name": "@typescript-eslint/typescript-estree", "severity": "high", "isDirect": false, "via": ["minimatch"], "effects": ["@typescript-eslint/parser", "@typescript-eslint/type-utils", "@typescript-eslint/utils"], "range": "6.16.0 - 8.56.1-alpha.2", "nodes": ["node_modules/@typescript-eslint/typescript-estree"], "fixAvailable": {"name": "eslint-config-wikimedia", "version": "0.8.1", "isSemVerMajor": true}}, "@typescript-eslint/utils": {"name": "@typescript-eslint/utils", "severity": "high", "isDirect": false, "via": ["@typescript-eslint/typescript-estree", "eslint"], "effects": ["@typescript-eslint/eslint-plugin", "@typescript-eslint/type-utils"], "range": "<=8.56.1-alpha.2", "nodes": ["node_modules/@typescript-eslint/utils"], "fixAvailable": {"name": "eslint-config-wikimedia", "version": "0.8.1", "isSemVerMajor": true}}, "diff": {"name": "diff", "severity": "low", "isDirect": false, "via": [{"source": 1112706, "name": "diff", "dependency": "diff", "title": "jsdiff has a Denial of Service vulnerability in parsePatch and applyPatch", "url": "https://github.com/advisories/GHSA-73rr-hh4g-fpgx", "severity": "low", "cwe": ["CWE-400", "CWE-1333"], "cvss": {"score": 0, "vectorString": null}, "range": ">=6.0.0 <8.0.3"}], "effects": ["sinon"], "range": "6.0.0 - 8.0.2", "nodes": ["node_modules/sinon/node_modules/diff"], "fixAvailable": {"name": "sinon", "version": "21.0.1", "isSemVerMajor": true}}, "doiuse": {"name": "doiuse", "severity": "high", "isDirect": false, "via": ["multimatch"], "effects": ["stylelint-no-unsupported-browser-features"], "range": ">=2.2.0", "nodes": ["node_modules/doiuse"], "fixAvailable": {"name": "stylelint-config-wikimedia", "version": "0.10.1", "isSemVerMajor": true}}, "eslint": {"name": "eslint", "severity": "high", "isDirect": false, "via": ["@eslint/eslintrc", "@humanwhocodes/config-array", "file-entry-cache", "minimatch"], "effects": ["@typescript-eslint/eslint-plugin", "@typescript-eslint/parser", "@typescript-eslint/type-utils", "@typescript-eslint/utils", "eslint-config-wikimedia", "eslint-plugin-jsdoc", "eslint-plugin-vue", "grunt-eslint"], "range": "0.7.1 - 2.0.0-rc.1 || 4.1.0 - 10.0.0-rc.2", "nodes": ["node_modules/eslint"], "fixAvailable": {"name": "eslint-config-wikimedia", "version": "0.8.1", "isSemVerMajor": true}}, "eslint-config-wikimedia": {"name": "eslint-config-wikimedia", "severity": "high", "isDirect": true, "via": ["@typescript-eslint/eslint-plugin", "@typescript-eslint/parser", "eslint", "eslint-plugin-jsdoc", "eslint-plugin-vue"], "effects": [], "range": ">=0.9.0", "nodes": ["node_modules/eslint-config-wikimedia"], "fixAvailable": {"name": "eslint-config-wikimedia", "version": "0.8.1", "isSemVerMajor": true}}, "eslint-plugin-jsdoc": {"name": "eslint-plugin-jsdoc", "severity": "high", "isDirect": false, "via": ["eslint"], "effects": ["eslint-config-wikimedia"], "range": "8.4.4 - 62.6.1", "nodes": ["node_modules/eslint-plugin-jsdoc"], "fixAvailable": {"name": "eslint-config-wikimedia", "version": "0.8.1", "isSemVerMajor": true}}, "eslint-plugin-vue": {"name": "eslint-plugin-vue", "severity": "high", "isDirect": false, "via": ["eslint"], "effects": ["eslint-config-wikimedia"], "range": "5.0.0-beta.0 - 10.7.0", "nodes": ["node_modules/eslint-plugin-vue"], "fixAvailable": {"name": "eslint-config-wikimedia", "version": "0.8.1", "isSemVerMajor": true}}, "file-entry-cache": {"name": "file-entry-cache", "severity": "high", "isDirect": false, "via": ["flat-cache"], "effects": ["eslint"], "range": "4.0.0 - 7.0.2", "nodes": ["node_modules/file-entry-cache"], "fixAvailable": {"name": "eslint-config-wikimedia", "version": "0.8.1", "isSemVerMajor": true}}, "flat-cache": {"name": "flat-cache", "severity": "high", "isDirect": false, "via": ["rimraf"], "effects": ["file-entry-cache"], "range": "1.3.4 - 4.0.0", "nodes": ["node_modules/flat-cache"], "fixAvailable": {"name": "eslint-config-wikimedia", "version": "0.8.1", "isSemVerMajor": true}}, "glob": {"name": "glob", "severity": "high", "isDirect": false, "via": ["minimatch"], "effects": ["grunt-jasmine-nodejs", "jasmine", "rimraf"], "range": "3.0.0 - 10.5.0", "nodes": ["node_modules/glob", "node_modules/jasmine/node_modules/glob"], "fixAvailable": {"name": "jasmine", "version": "6.1.0", "isSemVerMajor": true}}, "grunt": {"name": "grunt", "severity": "high", "isDirect": true, "via": ["glob", "minimatch"], "effects": ["grunt-eslint", "grunt-jasmine-nodejs"], "range": ">=0.4.0-a", "nodes": ["node_modules/grunt"], "fixAvailable": false}, "grunt-eslint": {"name": "grunt-eslint", "severity": "high", "isDirect": true, "via": ["eslint", "grunt"], "effects": [], "range": "<=17.3.2 || >=18.1.0", "nodes": ["node_modules/grunt-eslint"], "fixAvailable": {"name": "grunt-eslint", "version": "20.2.0", "isSemVerMajor": true}}, "grunt-jasmine-nodejs": {"name": "grunt-jasmine-nodejs", "severity": "high", "isDirect": true, "via": ["glob", "grunt"], "effects": [], "range": "*", "nodes": ["node_modules/grunt-jasmine-nodejs"], "fixAvailable": false}, "jasmine": {"name": "jasmine", "severity": "high", "isDirect": true, "via": ["glob"], "effects": [], "range": "<=3.5.0 || 3.6.2 - 5.13.0", "nodes": ["node_modules/jasmine"], "fixAvailable": {"name": "jasmine", "version": "6.1.0", "isSemVerMajor": true}}, "minimatch": {"name": "minimatch", "severity": "high", "isDirect": false, "via": [{"source": 1113371, "name": "minimatch", "dependency": "minimatch", "title": "minimatch has a ReDoS via repeated wildcards with non-matching literal in pattern", "url": "https://github.com/advisories/GHSA-3ppc-4f35-3m26", "severity": "high", "cwe": ["CWE-1333"], "cvss": {"score": 0, "vectorString": null}, "range": "<10.2.1"}], "effects": ["@eslint/eslintrc", "@humanwhocodes/config-array", "@typescript-eslint/typescript-estree", "eslint", "glob", "grunt", "multimatch"], "range": "<10.2.1", "nodes": ["", "", "", "", "node_modules/minimatch"], "fixAvailable": {"name": "jasmine", "version": "6.1.0", "isSemVerMajor": true}}, "multimatch": {"name": "multimatch", "severity": "high", "isDirect": false, "via": ["minimatch"], "effects": ["doiuse"], "range": "<=7.0.0", "nodes": ["node_modules/multimatch"], "fixAvailable": {"name": "stylelint-config-wikimedia", "version": "0.10.1", "isSemVerMajor": true}}, "rimraf": {"name": "rimraf", "severity": "high", "isDirect": false, "via": ["glob"], "effects": ["flat-cache"], "range": "2.3.0 - 3.0.2 || 4.2.0 - 5.0.10", "nodes": ["node_modules/rimraf"], "fixAvailable": {"name": "eslint-config-wikimedia", "version": "0.8.1", "isSemVerMajor": true}}, "sinon": {"name": "sinon", "severity": "low", "isDirect": true, "via": ["diff"], "effects": [], "range": "19.0.0 - 21.0.0", "nodes": ["node_modules/sinon"], "fixAvailable": {"name": "sinon", "version": "21.0.1", "isSemVerMajor": true}}, "stylelint-config-wikimedia": {"name": "stylelint-config-wikimedia", "severity": "high", "isDirect": true, "via": ["stylelint-no-unsupported-browser-features"], "effects": [], "range": ">=0.10.2", "nodes": ["node_modules/stylelint-config-wikimedia"], "fixAvailable": {"name": "stylelint-config-wikimedia", "version": "0.10.1", "isSemVerMajor": true}}, "stylelint-no-unsupported-browser-features": {"name": "stylelint-no-unsupported-browser-features", "severity": "high", "isDirect": false, "via": ["doiuse"], "effects": ["stylelint-config-wikimedia"], "range": "*", "nodes": ["node_modules/stylelint-no-unsupported-browser-features"], "fixAvailable": {"name": "stylelint-config-wikimedia", "version": "0.10.1", "isSemVerMajor": true}}}, "metadata": {"vulnerabilities": {"info": 0, "low": 2, "moderate": 0, "high": 24, "critical": 0, "total": 26}, "dependencies": {"prod": 1, "dev": 677, "optional": 5, "peer": 2, "peerOptional": 0, "total": 677}}}}
$ /usr/bin/npm audit fix --only=dev
--- stderr ---
npm WARN invalid config only="dev" set in command line options
npm WARN invalid config Must be one of: null, prod, production
--- stdout ---

added 2 packages, changed 6 packages, and audited 678 packages in 7s

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

# npm audit report

diff  6.0.0 - 8.0.2
jsdiff has a Denial of Service vulnerability in parsePatch and applyPatch - https://github.com/advisories/GHSA-73rr-hh4g-fpgx
fix available via `npm audit fix --force`
Will install sinon@21.0.1, which is a breaking change
node_modules/sinon/node_modules/diff
  sinon  19.0.0 - 21.0.0
  Depends on vulnerable versions of diff
  node_modules/sinon

minimatch  <10.2.1
Severity: high
minimatch has a ReDoS via repeated wildcards with non-matching literal in pattern - https://github.com/advisories/GHSA-3ppc-4f35-3m26
fix available via `npm audit fix --force`
Will install grunt@0.3.17, which is a breaking change
node_modules/@eslint/eslintrc/node_modules/minimatch
node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch
node_modules/eslint/node_modules/minimatch
node_modules/jasmine/node_modules/minimatch
node_modules/minimatch
  @eslint/eslintrc  0.0.1 || >=0.1.1
  Depends on vulnerable versions of minimatch
  node_modules/@eslint/eslintrc
    eslint  0.7.1 - 2.0.0-rc.1 || 4.1.0 - 10.0.0-rc.2
    Depends on vulnerable versions of @eslint/eslintrc
    Depends on vulnerable versions of @humanwhocodes/config-array
    Depends on vulnerable versions of file-entry-cache
    Depends on vulnerable versions of minimatch
    node_modules/eslint
      @typescript-eslint/eslint-plugin  <=8.56.1
      Depends on vulnerable versions of @typescript-eslint/parser
      Depends on vulnerable versions of @typescript-eslint/type-utils
      Depends on vulnerable versions of @typescript-eslint/utils
      Depends on vulnerable versions of eslint
      node_modules/@typescript-eslint/eslint-plugin
      @typescript-eslint/parser  1.1.1-alpha.0 - 8.56.0
      Depends on vulnerable versions of @typescript-eslint/typescript-estree
      Depends on vulnerable versions of eslint
      node_modules/@typescript-eslint/parser
        eslint-config-wikimedia  >=0.9.0
        Depends on vulnerable versions of @typescript-eslint/eslint-plugin
        Depends on vulnerable versions of @typescript-eslint/parser
        Depends on vulnerable versions of eslint
        Depends on vulnerable versions of eslint-plugin-jsdoc
        Depends on vulnerable versions of eslint-plugin-vue
        node_modules/eslint-config-wikimedia
      @typescript-eslint/type-utils  5.62.1-alpha.0 - 8.56.0
      Depends on vulnerable versions of @typescript-eslint/typescript-estree
      Depends on vulnerable versions of @typescript-eslint/utils
      Depends on vulnerable versions of eslint
      node_modules/@typescript-eslint/type-utils
      @typescript-eslint/utils  <=8.56.1-alpha.2
      Depends on vulnerable versions of @typescript-eslint/typescript-estree
      Depends on vulnerable versions of eslint
      node_modules/@typescript-eslint/utils
      eslint-plugin-jsdoc  8.4.4 - 62.6.1
      Depends on vulnerable versions of eslint
      node_modules/eslint-plugin-jsdoc
      eslint-plugin-vue  5.0.0-beta.0 - 10.7.0
      Depends on vulnerable versions of eslint
      node_modules/eslint-plugin-vue
      grunt-eslint  <=17.3.2 || >=18.1.0
      Depends on vulnerable versions of eslint
      Depends on vulnerable versions of grunt
      node_modules/grunt-eslint
  @humanwhocodes/config-array  *
  Depends on vulnerable versions of minimatch
  node_modules/@humanwhocodes/config-array
  @typescript-eslint/typescript-estree  6.16.0 - 8.56.1-alpha.2
  Depends on vulnerable versions of minimatch
  node_modules/@typescript-eslint/typescript-estree
  glob  3.0.0 - 10.5.0
  Depends on vulnerable versions of minimatch
  node_modules/glob
  node_modules/jasmine/node_modules/glob
    grunt-jasmine-nodejs  *
    Depends on vulnerable versions of glob
    Depends on vulnerable versions of grunt
    node_modules/grunt-jasmine-nodejs
    jasmine  <=3.5.0 || 3.6.2 - 5.13.0
    Depends on vulnerable versions of glob
    node_modules/jasmine
    rimraf  2.3.0 - 3.0.2 || 4.2.0 - 5.0.10
    Depends on vulnerable versions of glob
    node_modules/rimraf
      flat-cache  1.3.4 - 4.0.0
      Depends on vulnerable versions of rimraf
      node_modules/flat-cache
        file-entry-cache  4.0.0 - 7.0.2
        Depends on vulnerable versions of flat-cache
        node_modules/file-entry-cache
  grunt  >=0.4.0-a
  Depends on vulnerable versions of glob
  Depends on vulnerable versions of minimatch
  node_modules/grunt
  multimatch  <=7.0.0
  Depends on vulnerable versions of minimatch
  node_modules/multimatch
    doiuse  >=2.2.0
    Depends on vulnerable versions of multimatch
    node_modules/doiuse
      stylelint-no-unsupported-browser-features  *
      Depends on vulnerable versions of doiuse
      node_modules/stylelint-no-unsupported-browser-features
        stylelint-config-wikimedia  >=0.10.2
        Depends on vulnerable versions of stylelint-no-unsupported-browser-features
        node_modules/stylelint-config-wikimedia

26 vulnerabilities (2 low, 24 high)

To address issues that do not require attention, run:
  npm audit fix

To address all issues (including breaking changes), run:
  npm audit fix --force

--- end ---
Verifying that tests still pass
$ /usr/bin/npm ci
--- stderr ---
npm WARN deprecated @humanwhocodes/config-array@0.13.0: Use @eslint/config-array instead
npm WARN deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
npm WARN deprecated glob@7.1.7: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
npm WARN deprecated eslint@8.57.1: This version is no longer supported. Please see https://eslint.org/version-support for other options.
--- stdout ---

added 677 packages, and audited 678 packages in 10s

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

26 vulnerabilities (2 low, 24 high)

To address issues that do not require attention, run:
  npm audit fix

To address all issues possible (including breaking changes), run:
  npm audit fix --force

Some issues need review, and may require choosing
a different dependency.

Run `npm audit` for details.

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

> test
> grunt test

Running "eslint:all" (eslint) task

/src/repo/modules/gadget.js
  376:19  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 32 defined specs...

Test Suites & Specs:

1) wikibase.quality.constraints.gadget with wbui2025
   ✔ adds multiple issues (on reference) to the store, including advanced issues
   ✔ adds single issues (on main snak + qualifier) to the store
   ✔ does not add anything if the only issue is "advanced"
   ✔ calls api with correct parameters

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

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

   4) getSearchHandler
      ✔ Returns a handler function

5) wikibase.quality.constraints.gadget

   6) _fullCheckAllIds
      ✔ chunks requests and combines their responses

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

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

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

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

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

   12) _extractResultsForStatement
      ✔ finds constraint violation result in entity data

   ✔ exports an invokable module

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

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

>> Done!


Summary:

Suites:  14 of 14
Specs:   32 of 32
Expects: 0 (0 failures)
Finished in 0.130 seconds

>> Successful!

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

Done.

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

--- end ---
build: Updating dependencies

composer:
* mediawiki/mediawiki-codesniffer: 49.0.0 → 50.0.0
* mediawiki/mediawiki-phan-config: 0.18.0 → 0.19.0

npm:
* api-testing: 1.7.2 → 1.7.3


$ git add .
--- stdout ---

--- end ---
$ git commit -F /tmp/tmpxugjm6uu
--- stdout ---
[master b5e498b] build: Updating dependencies
 3 files changed, 90 insertions(+), 54 deletions(-)

--- end ---
$ git format-patch HEAD~1 --stdout
--- stdout ---
From b5e498bdaac0a1f94f88377ad44edd23b40ce027 Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Tue, 24 Feb 2026 11:26:16 +0000
Subject: [PATCH] build: Updating dependencies
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

composer:
* mediawiki/mediawiki-codesniffer: 49.0.0 → 50.0.0
* mediawiki/mediawiki-phan-config: 0.18.0 → 0.19.0

npm:
* api-testing: 1.7.2 → 1.7.3

Change-Id: Id21ed4113ff52adefec9b224abb7039083b918ef
---
 composer.json     |   4 +-
 package-lock.json | 138 +++++++++++++++++++++++++++++-----------------
 package.json      |   2 +-
 3 files changed, 90 insertions(+), 54 deletions(-)

diff --git a/composer.json b/composer.json
index 8c121f3..f356193 100644
--- a/composer.json
+++ b/composer.json
@@ -31,8 +31,8 @@
 		"wikimedia/purtle": "^2.0.0"
 	},
 	"require-dev": {
-		"mediawiki/mediawiki-codesniffer": "49.0.0",
-		"mediawiki/mediawiki-phan-config": "0.18.0",
+		"mediawiki/mediawiki-codesniffer": "50.0.0",
+		"mediawiki/mediawiki-phan-config": "0.19.0",
 		"mediawiki/minus-x": "2.0.1",
 		"php-parallel-lint/php-console-highlighter": "1.0.0",
 		"php-parallel-lint/php-parallel-lint": "1.4.0"
diff --git a/package-lock.json b/package-lock.json
index a49f9e4..a5cb4a5 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -6,7 +6,7 @@
 		"": {
 			"name": "WikibaseQualityConstraints",
 			"devDependencies": {
-				"api-testing": "1.7.2",
+				"api-testing": "1.7.3",
 				"cypress": "^15.7.1",
 				"cypress-axe": "^1.7.0",
 				"cypress-wikibase-api": "0.0.9",
@@ -300,9 +300,9 @@
 			}
 		},
 		"node_modules/@eslint/eslintrc/node_modules/minimatch": {
-			"version": "3.1.2",
-			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
-			"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+			"version": "3.1.3",
+			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.3.tgz",
+			"integrity": "sha512-M2GCs7Vk83NxkUyQV1bkABc4yxgz9kILhHImZiBPAZ9ybuvCb0/H7lEl5XvIg3g+9d4eNotkZA5IWwYl0tibaA==",
 			"dev": true,
 			"dependencies": {
 				"brace-expansion": "^1.1.7"
@@ -926,22 +926,34 @@
 				"typescript": ">=4.8.4 <6.0.0"
 			}
 		},
+		"node_modules/@typescript-eslint/typescript-estree/node_modules/balanced-match": {
+			"version": "4.0.4",
+			"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz",
+			"integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==",
+			"dev": true,
+			"engines": {
+				"node": "18 || 20 || >=22"
+			}
+		},
 		"node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": {
-			"version": "2.0.2",
-			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
-			"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
+			"version": "5.0.3",
+			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.3.tgz",
+			"integrity": "sha512-fy6KJm2RawA5RcHkLa1z/ScpBeA762UF9KmZQxwIbDtRJrgLzM10depAiEQ+CXYcoiqW1/m96OAAoke2nE9EeA==",
 			"dev": true,
 			"dependencies": {
-				"balanced-match": "^1.0.0"
+				"balanced-match": "^4.0.2"
+			},
+			"engines": {
+				"node": "18 || 20 || >=22"
 			}
 		},
 		"node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": {
-			"version": "9.0.5",
-			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
-			"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+			"version": "9.0.6",
+			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.6.tgz",
+			"integrity": "sha512-kQAVowdR33euIqeA0+VZTDqU+qo1IeVY+hrKYtZMio3Pg0P0vuh/kwRylLUddJhB6pf3q/botcOvRtx4IN1wqQ==",
 			"dev": true,
 			"dependencies": {
-				"brace-expansion": "^2.0.1"
+				"brace-expansion": "^5.0.2"
 			},
 			"engines": {
 				"node": ">=16 || 14 >=14.17"
@@ -1131,9 +1143,9 @@
 			}
 		},
 		"node_modules/api-testing": {
-			"version": "1.7.2",
-			"resolved": "https://registry.npmjs.org/api-testing/-/api-testing-1.7.2.tgz",
-			"integrity": "sha512-W6vgHMjmTUMq8He4pRdpLNjfkBre0N/ygv6tT6jrWZQdZlBWDZHi+0pEg8FxBi0U9QzhUfaATrPZkfnF7YVt3g==",
+			"version": "1.7.3",
+			"resolved": "https://registry.npmjs.org/api-testing/-/api-testing-1.7.3.tgz",
+			"integrity": "sha512-wvXUqkiflOur6kI57onNt2BQ6Hse0BRCIzThc1W7W4LEfVvLUCyKOp8EQna9tKqMZ7K1Rz/ptrCSzHe9XEo+Bw==",
 			"dev": true,
 			"dependencies": {
 				"chai": "4.5.0",
@@ -3262,9 +3274,9 @@
 			"dev": true
 		},
 		"node_modules/eslint/node_modules/minimatch": {
-			"version": "3.1.2",
-			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
-			"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+			"version": "3.1.3",
+			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.3.tgz",
+			"integrity": "sha512-M2GCs7Vk83NxkUyQV1bkABc4yxgz9kILhHImZiBPAZ9ybuvCb0/H7lEl5XvIg3g+9d4eNotkZA5IWwYl0tibaA==",
 			"dev": true,
 			"dependencies": {
 				"brace-expansion": "^1.1.7"
@@ -4769,13 +4781,25 @@
 				"mkdirp": "^1.0.4"
 			}
 		},
+		"node_modules/jasmine/node_modules/balanced-match": {
+			"version": "4.0.4",
+			"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz",
+			"integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==",
+			"dev": true,
+			"engines": {
+				"node": "18 || 20 || >=22"
+			}
+		},
 		"node_modules/jasmine/node_modules/brace-expansion": {
-			"version": "2.0.2",
-			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
-			"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
+			"version": "5.0.3",
+			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.3.tgz",
+			"integrity": "sha512-fy6KJm2RawA5RcHkLa1z/ScpBeA762UF9KmZQxwIbDtRJrgLzM10depAiEQ+CXYcoiqW1/m96OAAoke2nE9EeA==",
 			"dev": true,
 			"dependencies": {
-				"balanced-match": "^1.0.0"
+				"balanced-match": "^4.0.2"
+			},
+			"engines": {
+				"node": "18 || 20 || >=22"
 			}
 		},
 		"node_modules/jasmine/node_modules/glob": {
@@ -4805,12 +4829,12 @@
 			"dev": true
 		},
 		"node_modules/jasmine/node_modules/minimatch": {
-			"version": "9.0.5",
-			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
-			"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+			"version": "9.0.6",
+			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.6.tgz",
+			"integrity": "sha512-kQAVowdR33euIqeA0+VZTDqU+qo1IeVY+hrKYtZMio3Pg0P0vuh/kwRylLUddJhB6pf3q/botcOvRtx4IN1wqQ==",
 			"dev": true,
 			"dependencies": {
-				"brace-expansion": "^2.0.1"
+				"brace-expansion": "^5.0.2"
 			},
 			"engines": {
 				"node": ">=16 || 14 >=14.17"
@@ -8273,9 +8297,9 @@
 					}
 				},
 				"minimatch": {
-					"version": "3.1.2",
-					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
-					"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+					"version": "3.1.3",
+					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.3.tgz",
+					"integrity": "sha512-M2GCs7Vk83NxkUyQV1bkABc4yxgz9kILhHImZiBPAZ9ybuvCb0/H7lEl5XvIg3g+9d4eNotkZA5IWwYl0tibaA==",
 					"dev": true,
 					"requires": {
 						"brace-expansion": "^1.1.7"
@@ -8710,22 +8734,28 @@
 				"ts-api-utils": "^2.1.0"
 			},
 			"dependencies": {
+				"balanced-match": {
+					"version": "4.0.4",
+					"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz",
+					"integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==",
+					"dev": true
+				},
 				"brace-expansion": {
-					"version": "2.0.2",
-					"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
-					"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
+					"version": "5.0.3",
+					"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.3.tgz",
+					"integrity": "sha512-fy6KJm2RawA5RcHkLa1z/ScpBeA762UF9KmZQxwIbDtRJrgLzM10depAiEQ+CXYcoiqW1/m96OAAoke2nE9EeA==",
 					"dev": true,
 					"requires": {
-						"balanced-match": "^1.0.0"
+						"balanced-match": "^4.0.2"
 					}
 				},
 				"minimatch": {
-					"version": "9.0.5",
-					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
-					"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+					"version": "9.0.6",
+					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.6.tgz",
+					"integrity": "sha512-kQAVowdR33euIqeA0+VZTDqU+qo1IeVY+hrKYtZMio3Pg0P0vuh/kwRylLUddJhB6pf3q/botcOvRtx4IN1wqQ==",
 					"dev": true,
 					"requires": {
-						"brace-expansion": "^2.0.1"
+						"brace-expansion": "^5.0.2"
 					}
 				}
 			}
@@ -8852,9 +8882,9 @@
 			}
 		},
 		"api-testing": {
-			"version": "1.7.2",
-			"resolved": "https://registry.npmjs.org/api-testing/-/api-testing-1.7.2.tgz",
-			"integrity": "sha512-W6vgHMjmTUMq8He4pRdpLNjfkBre0N/ygv6tT6jrWZQdZlBWDZHi+0pEg8FxBi0U9QzhUfaATrPZkfnF7YVt3g==",
+			"version": "1.7.3",
+			"resolved": "https://registry.npmjs.org/api-testing/-/api-testing-1.7.3.tgz",
+			"integrity": "sha512-wvXUqkiflOur6kI57onNt2BQ6Hse0BRCIzThc1W7W4LEfVvLUCyKOp8EQna9tKqMZ7K1Rz/ptrCSzHe9XEo+Bw==",
 			"dev": true,
 			"requires": {
 				"chai": "4.5.0",
@@ -10042,9 +10072,9 @@
 					}
 				},
 				"minimatch": {
-					"version": "3.1.2",
-					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
-					"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+					"version": "3.1.3",
+					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.3.tgz",
+					"integrity": "sha512-M2GCs7Vk83NxkUyQV1bkABc4yxgz9kILhHImZiBPAZ9ybuvCb0/H7lEl5XvIg3g+9d4eNotkZA5IWwYl0tibaA==",
 					"dev": true,
 					"requires": {
 						"brace-expansion": "^1.1.7"
@@ -11452,13 +11482,19 @@
 				"jasmine-core": "~5.13.0"
 			},
 			"dependencies": {
+				"balanced-match": {
+					"version": "4.0.4",
+					"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz",
+					"integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==",
+					"dev": true
+				},
 				"brace-expansion": {
-					"version": "2.0.2",
-					"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
-					"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
+					"version": "5.0.3",
+					"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.3.tgz",
+					"integrity": "sha512-fy6KJm2RawA5RcHkLa1z/ScpBeA762UF9KmZQxwIbDtRJrgLzM10depAiEQ+CXYcoiqW1/m96OAAoke2nE9EeA==",
 					"dev": true,
 					"requires": {
-						"balanced-match": "^1.0.0"
+						"balanced-match": "^4.0.2"
 					}
 				},
 				"glob": {
@@ -11482,12 +11518,12 @@
 					"dev": true
 				},
 				"minimatch": {
-					"version": "9.0.5",
-					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
-					"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+					"version": "9.0.6",
+					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.6.tgz",
+					"integrity": "sha512-kQAVowdR33euIqeA0+VZTDqU+qo1IeVY+hrKYtZMio3Pg0P0vuh/kwRylLUddJhB6pf3q/botcOvRtx4IN1wqQ==",
 					"dev": true,
 					"requires": {
-						"brace-expansion": "^2.0.1"
+						"brace-expansion": "^5.0.2"
 					}
 				}
 			}
diff --git a/package.json b/package.json
index 1d2967a..024aca6 100644
--- a/package.json
+++ b/package.json
@@ -9,7 +9,7 @@
 		"selenium-test": "npm run cypress:run"
 	},
 	"devDependencies": {
-		"api-testing": "1.7.2",
+		"api-testing": "1.7.3",
 		"cypress": "^15.7.1",
 		"cypress-axe": "^1.7.0",
 		"cypress-wikibase-api": "0.0.9",
-- 
2.47.3


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