mediawiki/extensions/WikiLambda: main (log #1939177)

sourcepatches

This run took 207 seconds.

From 0710663835bbfe8afb8e51030ac82aadbd0d1c89 Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Wed, 11 Jun 2025 09:13:34 +0000
Subject: [PATCH] [DNM] there are no updates

Change-Id: Ib30a672f8244feeb8d5741bd69be1d3e3814282c
---
 package-lock.json | 219 +++++++++++++++++++++++++++++-----------------
 1 file changed, 137 insertions(+), 82 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 93cd0c2..0564978 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1893,11 +1893,10 @@
 			}
 		},
 		"node_modules/@eslint-community/eslint-utils": {
-			"version": "4.6.1",
-			"resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.6.1.tgz",
-			"integrity": "sha512-KTsJMmobmbrFLe3LDh0PC2FXpcSYJt/MLjlkh/9LEnmKYLSYmT/0EW9JWANjeoemiuZrmogti0tW5Ch+qNUYDw==",
+			"version": "4.7.0",
+			"resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz",
+			"integrity": "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"eslint-visitor-keys": "^3.4.3"
 			},
@@ -3658,15 +3657,35 @@
 				"@types/node": "*"
 			}
 		},
+		"node_modules/@typescript-eslint/project-service": {
+			"version": "8.34.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.34.0.tgz",
+			"integrity": "sha512-iEgDALRf970/B2YExmtPMPF54NenZUf4xpL3wsCRx/lgjz6ul/l13R81ozP/ZNuXfnLCS+oPmG7JIxfdNYKELw==",
+			"dev": true,
+			"dependencies": {
+				"@typescript-eslint/tsconfig-utils": "^8.34.0",
+				"@typescript-eslint/types": "^8.34.0",
+				"debug": "^4.3.4"
+			},
+			"engines": {
+				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/typescript-eslint"
+			},
+			"peerDependencies": {
+				"typescript": ">=4.8.4 <5.9.0"
+			}
+		},
 		"node_modules/@typescript-eslint/scope-manager": {
-			"version": "8.30.1",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.30.1.tgz",
-			"integrity": "sha512-+C0B6ChFXZkuaNDl73FJxRYT0G7ufVPOSQkqkpM/U198wUwUFOtgo1k/QzFh1KjpBitaK7R1tgjVz6o9HmsRPg==",
+			"version": "8.34.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.34.0.tgz",
+			"integrity": "sha512-9Ac0X8WiLykl0aj1oYQNcLZjHgBojT6cW68yAgZ19letYu+Hxd0rE0veI1XznSSst1X5lwnxhPbVdwjDRIomRw==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"@typescript-eslint/types": "8.30.1",
-				"@typescript-eslint/visitor-keys": "8.30.1"
+				"@typescript-eslint/types": "8.34.0",
+				"@typescript-eslint/visitor-keys": "8.34.0"
 			},
 			"engines": {
 				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -3676,12 +3695,27 @@
 				"url": "https://opencollective.com/typescript-eslint"
 			}
 		},
+		"node_modules/@typescript-eslint/tsconfig-utils": {
+			"version": "8.34.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.34.0.tgz",
+			"integrity": "sha512-+W9VYHKFIzA5cBeooqQxqNriAP0QeQ7xTiDuIOr71hzgffm3EL2hxwWBIIj4GuofIbKxGNarpKqIq6Q6YrShOA==",
+			"dev": true,
+			"engines": {
+				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/typescript-eslint"
+			},
+			"peerDependencies": {
+				"typescript": ">=4.8.4 <5.9.0"
+			}
+		},
 		"node_modules/@typescript-eslint/types": {
-			"version": "8.30.1",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.30.1.tgz",
-			"integrity": "sha512-81KawPfkuulyWo5QdyG/LOKbspyyiW+p4vpn4bYO7DM/hZImlVnFwrpCTnmNMOt8CvLRr5ojI9nU1Ekpw4RcEw==",
+			"version": "8.34.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.34.0.tgz",
+			"integrity": "sha512-9V24k/paICYPniajHfJ4cuAWETnt7Ssy+R0Rbcqo5sSFr3QEZ/8TSoUi9XeXVBGXCaLtwTOKSLGcInCAvyZeMA==",
 			"dev": true,
-			"license": "MIT",
 			"engines": {
 				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
 			},
@@ -3691,20 +3725,21 @@
 			}
 		},
 		"node_modules/@typescript-eslint/typescript-estree": {
-			"version": "8.30.1",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.30.1.tgz",
-			"integrity": "sha512-kQQnxymiUy9tTb1F2uep9W6aBiYODgq5EMSk6Nxh4Z+BDUoYUSa029ISs5zTzKBFnexQEh71KqwjKnRz58lusQ==",
+			"version": "8.34.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.34.0.tgz",
+			"integrity": "sha512-rOi4KZxI7E0+BMqG7emPSK1bB4RICCpF7QD3KCLXn9ZvWoESsOMlHyZPAHyG04ujVplPaHbmEvs34m+wjgtVtg==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"@typescript-eslint/types": "8.30.1",
-				"@typescript-eslint/visitor-keys": "8.30.1",
+				"@typescript-eslint/project-service": "8.34.0",
+				"@typescript-eslint/tsconfig-utils": "8.34.0",
+				"@typescript-eslint/types": "8.34.0",
+				"@typescript-eslint/visitor-keys": "8.34.0",
 				"debug": "^4.3.4",
 				"fast-glob": "^3.3.2",
 				"is-glob": "^4.0.3",
 				"minimatch": "^9.0.4",
 				"semver": "^7.6.0",
-				"ts-api-utils": "^2.0.1"
+				"ts-api-utils": "^2.1.0"
 			},
 			"engines": {
 				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -3718,11 +3753,10 @@
 			}
 		},
 		"node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
-			"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+			"version": "2.0.2",
+			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
+			"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"balanced-match": "^1.0.0"
 			}
@@ -3732,7 +3766,6 @@
 			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
 			"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
 			"dev": true,
-			"license": "ISC",
 			"dependencies": {
 				"brace-expansion": "^2.0.1"
 			},
@@ -3748,7 +3781,6 @@
 			"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
 			"integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
 			"dev": true,
-			"license": "ISC",
 			"bin": {
 				"semver": "bin/semver.js"
 			},
@@ -3757,16 +3789,15 @@
 			}
 		},
 		"node_modules/@typescript-eslint/utils": {
-			"version": "8.30.1",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.30.1.tgz",
-			"integrity": "sha512-T/8q4R9En2tcEsWPQgB5BQ0XJVOtfARcUvOa8yJP3fh9M/mXraLxZrkCfGb6ChrO/V3W+Xbd04RacUEqk1CFEQ==",
+			"version": "8.34.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.34.0.tgz",
+			"integrity": "sha512-8L4tWatGchV9A1cKbjaavS6mwYwp39jql8xUmIIKJdm+qiaeHy5KMKlBrf30akXAWBzn2SqKsNOtSENWUwg7XQ==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"@eslint-community/eslint-utils": "^4.4.0",
-				"@typescript-eslint/scope-manager": "8.30.1",
-				"@typescript-eslint/types": "8.30.1",
-				"@typescript-eslint/typescript-estree": "8.30.1"
+				"@eslint-community/eslint-utils": "^4.7.0",
+				"@typescript-eslint/scope-manager": "8.34.0",
+				"@typescript-eslint/types": "8.34.0",
+				"@typescript-eslint/typescript-estree": "8.34.0"
 			},
 			"engines": {
 				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -3781,13 +3812,12 @@
 			}
 		},
 		"node_modules/@typescript-eslint/visitor-keys": {
-			"version": "8.30.1",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.30.1.tgz",
-			"integrity": "sha512-aEhgas7aJ6vZnNFC7K4/vMGDGyOiqWcYZPpIWrTKuTAlsvDNKy2GFDqh9smL+iq069ZvR0YzEeq0B8NJlLzjFA==",
+			"version": "8.34.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.34.0.tgz",
+			"integrity": "sha512-qHV7pW7E85A0x6qyrFn+O+q1k1p3tQCsqIZ1KZ5ESLXY57aTvUd3/a4rdPTeXisvhXn2VQG0VSKUqs8KHF2zcA==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"@typescript-eslint/types": "8.30.1",
+				"@typescript-eslint/types": "8.34.0",
 				"eslint-visitor-keys": "^4.2.0"
 			},
 			"engines": {
@@ -3799,11 +3829,10 @@
 			}
 		},
 		"node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": {
-			"version": "4.2.0",
-			"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz",
-			"integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==",
+			"version": "4.2.1",
+			"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz",
+			"integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==",
 			"dev": true,
-			"license": "Apache-2.0",
 			"engines": {
 				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
 			},
@@ -6815,11 +6844,10 @@
 			}
 		},
 		"node_modules/editorconfig/node_modules/brace-expansion": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
-			"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+			"version": "2.0.2",
+			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
+			"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"balanced-match": "^1.0.0"
 			}
@@ -7439,20 +7467,21 @@
 			}
 		},
 		"node_modules/eslint-plugin-n": {
-			"version": "17.17.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-17.17.0.tgz",
-			"integrity": "sha512-2VvPK7Mo73z1rDFb6pTvkH6kFibAmnTubFq5l83vePxu0WiY1s0LOtj2WHb6Sa40R3w4mnh8GFYbHBQyMlotKw==",
+			"version": "17.19.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-17.19.0.tgz",
+			"integrity": "sha512-qxn1NaDHtizbhVAPpbMT8wWFaLtPnwhfN/e+chdu2i6Vgzmo/tGM62tcJ1Hf7J5Ie4dhse3DOPMmDxduzfifzw==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"@eslint-community/eslint-utils": "^4.5.0",
+				"@typescript-eslint/utils": "^8.26.1",
 				"enhanced-resolve": "^5.17.1",
 				"eslint-plugin-es-x": "^7.8.0",
 				"get-tsconfig": "^4.8.1",
 				"globals": "^15.11.0",
 				"ignore": "^5.3.2",
 				"minimatch": "^9.0.5",
-				"semver": "^7.6.3"
+				"semver": "^7.6.3",
+				"ts-declaration-location": "^1.0.6"
 			},
 			"engines": {
 				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -7465,11 +7494,10 @@
 			}
 		},
 		"node_modules/eslint-plugin-n/node_modules/brace-expansion": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
-			"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+			"version": "2.0.2",
+			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
+			"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"balanced-match": "^1.0.0"
 			}
@@ -8643,11 +8671,10 @@
 			}
 		},
 		"node_modules/filelist/node_modules/brace-expansion": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
-			"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+			"version": "2.0.2",
+			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
+			"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"balanced-match": "^1.0.0"
 			}
@@ -9091,11 +9118,10 @@
 			}
 		},
 		"node_modules/glob/node_modules/brace-expansion": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
-			"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+			"version": "2.0.2",
+			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
+			"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"balanced-match": "^1.0.0"
 			}
@@ -12308,11 +12334,10 @@
 			}
 		},
 		"node_modules/js-beautify/node_modules/brace-expansion": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
-			"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+			"version": "2.0.2",
+			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
+			"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"balanced-match": "^1.0.0"
 			}
@@ -13529,11 +13554,10 @@
 			"license": "Python-2.0"
 		},
 		"node_modules/mocha/node_modules/brace-expansion": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
-			"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+			"version": "2.0.2",
+			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
+			"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"balanced-match": "^1.0.0"
 			}
@@ -15114,11 +15138,10 @@
 			}
 		},
 		"node_modules/readdir-glob/node_modules/brace-expansion": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
-			"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+			"version": "2.0.2",
+			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
+			"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"balanced-match": "^1.0.0"
 			}
@@ -16930,7 +16953,6 @@
 			"resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz",
 			"integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==",
 			"dev": true,
-			"license": "MIT",
 			"engines": {
 				"node": ">=18.12"
 			},
@@ -16938,6 +16960,40 @@
 				"typescript": ">=4.8.4"
 			}
 		},
+		"node_modules/ts-declaration-location": {
+			"version": "1.0.7",
+			"resolved": "https://registry.npmjs.org/ts-declaration-location/-/ts-declaration-location-1.0.7.tgz",
+			"integrity": "sha512-EDyGAwH1gO0Ausm9gV6T2nUvBgXT5kGoCMJPllOaooZ+4VvJiKBdZE7wK18N1deEowhcUptS+5GXZK8U/fvpwA==",
+			"dev": true,
+			"funding": [
+				{
+					"type": "ko-fi",
+					"url": "https://ko-fi.com/rebeccastevens"
+				},
+				{
+					"type": "tidelift",
+					"url": "https://tidelift.com/funding/github/npm/ts-declaration-location"
+				}
+			],
+			"dependencies": {
+				"picomatch": "^4.0.2"
+			},
+			"peerDependencies": {
+				"typescript": ">=4.0.0"
+			}
+		},
+		"node_modules/ts-declaration-location/node_modules/picomatch": {
+			"version": "4.0.2",
+			"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz",
+			"integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==",
+			"dev": true,
+			"engines": {
+				"node": ">=12"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/jonschlinkert"
+			}
+		},
 		"node_modules/tsconfig": {
 			"version": "7.0.0",
 			"resolved": "https://registry.npmjs.org/tsconfig/-/tsconfig-7.0.0.tgz",
@@ -17547,11 +17603,10 @@
 			}
 		},
 		"node_modules/webdriverio/node_modules/brace-expansion": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
-			"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+			"version": "2.0.2",
+			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
+			"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"balanced-match": "^1.0.0"
 			}
-- 
2.39.5

$ date
--- stdout ---
Wed Jun 11 09:10:16 UTC 2025

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

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

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

--- end ---
$ git submodule update --init
--- stderr ---
Submodule 'function-schemata' (https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-schemata.git) registered for path 'function-schemata'
Cloning into '/src/repo/function-schemata'...
--- stdout ---
Submodule path 'function-schemata': checked out 'f742b7a0f62b80dd2f03d1448363e045ba76536e'

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

--- end ---
$ git show-ref refs/heads/master
--- stdout ---
94cde9fb1aabbef7c54a2c4bf8c5127b13bab89f refs/heads/master

--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {
    "@testing-library/vue": {
      "name": "@testing-library/vue",
      "severity": "low",
      "isDirect": true,
      "via": [
        "@vue/test-utils"
      ],
      "effects": [],
      "range": "",
      "nodes": [
        "node_modules/@testing-library/vue"
      ],
      "fixAvailable": false
    },
    "@typescript-eslint/typescript-estree": {
      "name": "@typescript-eslint/typescript-estree",
      "severity": "low",
      "isDirect": false,
      "via": [
        "minimatch"
      ],
      "effects": [
        "@typescript-eslint/utils"
      ],
      "range": ">=6.16.0",
      "nodes": [
        "node_modules/@typescript-eslint/typescript-estree"
      ],
      "fixAvailable": true
    },
    "@typescript-eslint/utils": {
      "name": "@typescript-eslint/utils",
      "severity": "low",
      "isDirect": false,
      "via": [
        "@typescript-eslint/typescript-estree"
      ],
      "effects": [],
      "range": ">=6.16.0",
      "nodes": [
        "node_modules/@typescript-eslint/utils"
      ],
      "fixAvailable": true
    },
    "@vue/test-utils": {
      "name": "@vue/test-utils",
      "severity": "low",
      "isDirect": true,
      "via": [
        "js-beautify"
      ],
      "effects": [
        "@testing-library/vue"
      ],
      "range": ">=2.2.8",
      "nodes": [
        "node_modules/@vue/test-utils"
      ],
      "fixAvailable": false
    },
    "@wdio/cli": {
      "name": "@wdio/cli",
      "severity": "high",
      "isDirect": true,
      "via": [
        "@wdio/config",
        "webdriverio",
        "yarn-install"
      ],
      "effects": [
        "@wdio/junit-reporter",
        "@wdio/local-runner",
        "@wdio/spec-reporter"
      ],
      "range": ">=5.4.10",
      "nodes": [
        "node_modules/@wdio/cli"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.15.0",
        "isSemVerMajor": true
      }
    },
    "@wdio/config": {
      "name": "@wdio/config",
      "severity": "low",
      "isDirect": false,
      "via": [
        "glob"
      ],
      "effects": [
        "@wdio/cli",
        "@wdio/runner",
        "devtools",
        "webdriver",
        "webdriverio"
      ],
      "range": ">=7.20.0",
      "nodes": [
        "node_modules/@wdio/config"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.15.0",
        "isSemVerMajor": true
      }
    },
    "@wdio/junit-reporter": {
      "name": "@wdio/junit-reporter",
      "severity": "high",
      "isDirect": true,
      "via": [
        "@wdio/cli"
      ],
      "effects": [],
      "range": "6.0.4 - 8.0.0-alpha.631",
      "nodes": [
        "node_modules/@wdio/junit-reporter"
      ],
      "fixAvailable": {
        "name": "@wdio/junit-reporter",
        "version": "9.15.0",
        "isSemVerMajor": true
      }
    },
    "@wdio/local-runner": {
      "name": "@wdio/local-runner",
      "severity": "high",
      "isDirect": true,
      "via": [
        "@wdio/cli",
        "@wdio/runner"
      ],
      "effects": [],
      "range": "6.0.4 - 9.8.0",
      "nodes": [
        "node_modules/@wdio/local-runner"
      ],
      "fixAvailable": {
        "name": "@wdio/local-runner",
        "version": "9.15.0",
        "isSemVerMajor": true
      }
    },
    "@wdio/mocha-framework": {
      "name": "@wdio/mocha-framework",
      "severity": "low",
      "isDirect": true,
      "via": [
        "mocha"
      ],
      "effects": [],
      "range": ">=7.19.7",
      "nodes": [
        "node_modules/@wdio/mocha-framework"
      ],
      "fixAvailable": {
        "name": "@wdio/mocha-framework",
        "version": "7.19.5",
        "isSemVerMajor": true
      }
    },
    "@wdio/runner": {
      "name": "@wdio/runner",
      "severity": "low",
      "isDirect": false,
      "via": [
        "@wdio/config",
        "webdriver",
        "webdriverio"
      ],
      "effects": [
        "@wdio/local-runner"
      ],
      "range": ">=7.16.16",
      "nodes": [
        "node_modules/@wdio/runner"
      ],
      "fixAvailable": {
        "name": "@wdio/local-runner",
        "version": "9.15.0",
        "isSemVerMajor": true
      }
    },
    "@wdio/spec-reporter": {
      "name": "@wdio/spec-reporter",
      "severity": "high",
      "isDirect": true,
      "via": [
        "@wdio/cli"
      ],
      "effects": [],
      "range": "6.0.4 - 8.0.0-alpha.631",
      "nodes": [
        "node_modules/@wdio/spec-reporter"
      ],
      "fixAvailable": {
        "name": "@wdio/spec-reporter",
        "version": "9.15.0",
        "isSemVerMajor": true
      }
    },
    "archiver": {
      "name": "archiver",
      "severity": "low",
      "isDirect": false,
      "via": [
        "readdir-glob"
      ],
      "effects": [],
      "range": ">=5.3.2",
      "nodes": [
        "node_modules/archiver"
      ],
      "fixAvailable": true
    },
    "brace-expansion": {
      "name": "brace-expansion",
      "severity": "low",
      "isDirect": false,
      "via": [
        {
          "source": 1105422,
          "name": "brace-expansion",
          "dependency": "brace-expansion",
          "title": "brace-expansion Regular Expression Denial of Service vulnerability",
          "url": "https://github.com/advisories/GHSA-v6h2-p8h4-qcjw",
          "severity": "low",
          "cwe": [
            "CWE-400"
          ],
          "cvss": {
            "score": 3.1,
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:L"
          },
          "range": ">=2.0.1 <=4.0.0"
        }
      ],
      "effects": [
        "minimatch"
      ],
      "range": "2.0.1 - 4.0.0",
      "nodes": [
        "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion",
        "node_modules/editorconfig/node_modules/brace-expansion",
        "node_modules/eslint-plugin-n/node_modules/brace-expansion",
        "node_modules/filelist/node_modules/brace-expansion",
        "node_modules/glob/node_modules/brace-expansion",
        "node_modules/js-beautify/node_modules/brace-expansion",
        "node_modules/mocha/node_modules/brace-expansion",
        "node_modules/readdir-glob/node_modules/brace-expansion",
        "node_modules/webdriverio/node_modules/brace-expansion"
      ],
      "fixAvailable": false
    },
    "cross-spawn": {
      "name": "cross-spawn",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1104663,
          "name": "cross-spawn",
          "dependency": "cross-spawn",
          "title": "Regular Expression Denial of Service (ReDoS) in cross-spawn",
          "url": "https://github.com/advisories/GHSA-3xgq-45jj-v275",
          "severity": "high",
          "cwe": [
            "CWE-1333"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": "<6.0.6"
        }
      ],
      "effects": [
        "yarn-install"
      ],
      "range": "<6.0.6",
      "nodes": [
        "node_modules/yarn-install/node_modules/cross-spawn"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.15.0",
        "isSemVerMajor": true
      }
    },
    "devtools": {
      "name": "devtools",
      "severity": "high",
      "isDirect": false,
      "via": [
        "@wdio/config",
        "puppeteer-core"
      ],
      "effects": [],
      "range": ">=7.16.5",
      "nodes": [
        "node_modules/devtools"
      ],
      "fixAvailable": true
    },
    "editorconfig": {
      "name": "editorconfig",
      "severity": "low",
      "isDirect": false,
      "via": [
        "minimatch"
      ],
      "effects": [
        "js-beautify"
      ],
      "range": ">=1.0.0",
      "nodes": [
        "node_modules/editorconfig"
      ],
      "fixAvailable": false
    },
    "eslint-config-wikimedia": {
      "name": "eslint-config-wikimedia",
      "severity": "low",
      "isDirect": true,
      "via": [
        "eslint-plugin-n"
      ],
      "effects": [],
      "range": ">=0.28.0",
      "nodes": [
        "node_modules/eslint-config-wikimedia"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.27.0",
        "isSemVerMajor": true
      }
    },
    "eslint-plugin-n": {
      "name": "eslint-plugin-n",
      "severity": "low",
      "isDirect": false,
      "via": [
        "minimatch"
      ],
      "effects": [
        "eslint-config-wikimedia"
      ],
      "range": ">=17.0.0-0",
      "nodes": [
        "node_modules/eslint-plugin-n"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.27.0",
        "isSemVerMajor": true
      }
    },
    "filelist": {
      "name": "filelist",
      "severity": "low",
      "isDirect": false,
      "via": [
        "minimatch"
      ],
      "effects": [
        "jake"
      ],
      "range": ">=1.0.3",
      "nodes": [
        "node_modules/filelist"
      ],
      "fixAvailable": true
    },
    "glob": {
      "name": "glob",
      "severity": "low",
      "isDirect": false,
      "via": [
        "minimatch"
      ],
      "effects": [
        "@wdio/config",
        "js-beautify",
        "mocha"
      ],
      "range": ">=8.0.1",
      "nodes": [
        "node_modules/glob",
        "node_modules/js-beautify/node_modules/glob"
      ],
      "fixAvailable": false
    },
    "jake": {
      "name": "jake",
      "severity": "low",
      "isDirect": false,
      "via": [
        "filelist"
      ],
      "effects": [],
      "range": ">=10.8.6",
      "nodes": [
        "node_modules/jake"
      ],
      "fixAvailable": true
    },
    "js-beautify": {
      "name": "js-beautify",
      "severity": "low",
      "isDirect": false,
      "via": [
        "editorconfig",
        "glob"
      ],
      "effects": [
        "@vue/test-utils"
      ],
      "range": ">=1.14.5",
      "nodes": [
        "node_modules/js-beautify"
      ],
      "fixAvailable": false
    },
    "minimatch": {
      "name": "minimatch",
      "severity": "low",
      "isDirect": false,
      "via": [
        "brace-expansion"
      ],
      "effects": [
        "@typescript-eslint/typescript-estree",
        "editorconfig",
        "eslint-plugin-n",
        "filelist",
        "glob",
        "mocha",
        "readdir-glob",
        "webdriverio"
      ],
      "range": "5.0.0 - 9.0.5 || >=10.0.1",
      "nodes": [
        "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch",
        "node_modules/editorconfig/node_modules/minimatch",
        "node_modules/eslint-plugin-n/node_modules/minimatch",
        "node_modules/filelist/node_modules/minimatch",
        "node_modules/glob/node_modules/minimatch",
        "node_modules/js-beautify/node_modules/minimatch",
        "node_modules/mocha/node_modules/minimatch",
        "node_modules/readdir-glob/node_modules/minimatch",
        "node_modules/webdriverio/node_modules/minimatch"
      ],
      "fixAvailable": false
    },
    "mocha": {
      "name": "mocha",
      "severity": "low",
      "isDirect": false,
      "via": [
        "glob",
        "minimatch"
      ],
      "effects": [
        "@wdio/mocha-framework"
      ],
      "range": ">=10.0.0",
      "nodes": [
        "node_modules/mocha"
      ],
      "fixAvailable": {
        "name": "@wdio/mocha-framework",
        "version": "7.19.5",
        "isSemVerMajor": true
      }
    },
    "mwbot": {
      "name": "mwbot",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "request"
      ],
      "effects": [
        "wdio-mediawiki"
      ],
      "range": ">=0.1.6",
      "nodes": [
        "node_modules/mwbot"
      ],
      "fixAvailable": false
    },
    "puppeteer-core": {
      "name": "puppeteer-core",
      "severity": "high",
      "isDirect": false,
      "via": [
        "tar-fs",
        "ws"
      ],
      "effects": [
        "devtools",
        "webdriverio"
      ],
      "range": "10.0.0 - 22.11.1",
      "nodes": [
        "node_modules/puppeteer-core"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.15.0",
        "isSemVerMajor": true
      }
    },
    "readdir-glob": {
      "name": "readdir-glob",
      "severity": "low",
      "isDirect": false,
      "via": [
        "minimatch"
      ],
      "effects": [
        "archiver"
      ],
      "range": ">=1.1.2",
      "nodes": [
        "node_modules/readdir-glob"
      ],
      "fixAvailable": true
    },
    "request": {
      "name": "request",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1096727,
          "name": "request",
          "dependency": "request",
          "title": "Server-Side Request Forgery in Request",
          "url": "https://github.com/advisories/GHSA-p8p7-x288-28g6",
          "severity": "moderate",
          "cwe": [
            "CWE-918"
          ],
          "cvss": {
            "score": 6.1,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"
          },
          "range": "<=2.88.2"
        },
        "tough-cookie"
      ],
      "effects": [
        "mwbot"
      ],
      "range": "*",
      "nodes": [
        "node_modules/request"
      ],
      "fixAvailable": false
    },
    "tar-fs": {
      "name": "tar-fs",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1104677,
          "name": "tar-fs",
          "dependency": "tar-fs",
          "title": "tar-fs Vulnerable to Link Following and Path Traversal via Extracting a Crafted tar File",
          "url": "https://github.com/advisories/GHSA-pq67-2wwv-3xjx",
          "severity": "high",
          "cwe": [
            "CWE-22"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N"
          },
          "range": ">=2.0.0 <2.1.2"
        },
        {
          "source": 1105197,
          "name": "tar-fs",
          "dependency": "tar-fs",
          "title": "tar-fs can extract outside the specified dir with a specific tarball",
          "url": "https://github.com/advisories/GHSA-8cj5-5rvv-wf4v",
          "severity": "high",
          "cwe": [
            "CWE-22"
          ],
          "cvss": {
            "score": 0,
            "vectorString": null
          },
          "range": ">=2.0.0 <2.1.3"
        }
      ],
      "effects": [
        "puppeteer-core"
      ],
      "range": "2.0.0 - 2.1.2",
      "nodes": [
        "node_modules/tar-fs"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.15.0",
        "isSemVerMajor": true
      }
    },
    "tough-cookie": {
      "name": "tough-cookie",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1097682,
          "name": "tough-cookie",
          "dependency": "tough-cookie",
          "title": "tough-cookie Prototype Pollution vulnerability",
          "url": "https://github.com/advisories/GHSA-72xf-g2v4-qvf3",
          "severity": "moderate",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 6.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N"
          },
          "range": "<4.1.3"
        }
      ],
      "effects": [
        "request"
      ],
      "range": "<4.1.3",
      "nodes": [
        "node_modules/request/node_modules/tough-cookie"
      ],
      "fixAvailable": false
    },
    "wdio-mediawiki": {
      "name": "wdio-mediawiki",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "mwbot"
      ],
      "effects": [],
      "range": "*",
      "nodes": [
        "node_modules/wdio-mediawiki"
      ],
      "fixAvailable": false
    },
    "webdriver": {
      "name": "webdriver",
      "severity": "low",
      "isDirect": false,
      "via": [
        "@wdio/config"
      ],
      "effects": [],
      "range": ">=7.20.0",
      "nodes": [
        "node_modules/webdriver"
      ],
      "fixAvailable": true
    },
    "webdriverio": {
      "name": "webdriverio",
      "severity": "high",
      "isDirect": false,
      "via": [
        "@wdio/config",
        "devtools",
        "minimatch",
        "puppeteer-core",
        "webdriver"
      ],
      "effects": [
        "@wdio/cli",
        "@wdio/runner"
      ],
      "range": ">=7.16.5",
      "nodes": [
        "node_modules/webdriverio"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.15.0",
        "isSemVerMajor": true
      }
    },
    "ws": {
      "name": "ws",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1098392,
          "name": "ws",
          "dependency": "ws",
          "title": "ws affected by a DoS when handling a request with many HTTP headers",
          "url": "https://github.com/advisories/GHSA-3h5v-q93c-6h6q",
          "severity": "high",
          "cwe": [
            "CWE-476"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": ">=8.0.0 <8.17.1"
        }
      ],
      "effects": [
        "puppeteer-core"
      ],
      "range": "8.0.0 - 8.17.0",
      "nodes": [
        "node_modules/puppeteer-core/node_modules/ws"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.15.0",
        "isSemVerMajor": true
      }
    },
    "yarn-install": {
      "name": "yarn-install",
      "severity": "high",
      "isDirect": false,
      "via": [
        "cross-spawn"
      ],
      "effects": [
        "@wdio/cli"
      ],
      "range": "*",
      "nodes": [
        "node_modules/yarn-install"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.15.0",
        "isSemVerMajor": true
      }
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 20,
      "moderate": 4,
      "high": 11,
      "critical": 0,
      "total": 35
    },
    "dependencies": {
      "prod": 1,
      "dev": 1343,
      "optional": 4,
      "peer": 1,
      "peerOptional": 0,
      "total": 1343
    }
  }
}

--- 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: 39 installs, 0 updates, 0 removals
  - Locking composer/pcre (3.3.2)
  - Locking composer/semver (3.4.3)
  - Locking composer/spdx-licenses (1.5.9)
  - Locking composer/xdebug-handler (3.0.5)
  - Locking dealerdirect/phpcodesniffer-composer-installer (v1.0.0)
  - Locking diff/diff (3.4.0)
  - Locking doctrine/deprecations (1.1.5)
  - Locking felixfbecker/advanced-json-rpc (v3.2.1)
  - Locking mediawiki/mediawiki-codesniffer (v47.0.0)
  - Locking mediawiki/mediawiki-phan-config (0.15.1)
  - Locking mediawiki/minus-x (1.1.3)
  - Locking mediawiki/phan-taint-check-plugin (6.1.0)
  - Locking microsoft/tolerant-php-parser (v0.1.2)
  - Locking netresearch/jsonmapper (v4.5.0)
  - Locking phan/phan (5.4.5)
  - 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.2.1)
  - Locking phpcsstandards/phpcsutils (1.0.12)
  - Locking phpdocumentor/reflection-common (2.2.0)
  - Locking phpdocumentor/reflection-docblock (5.6.2)
  - Locking phpdocumentor/type-resolver (1.10.0)
  - Locking phpstan/phpdoc-parser (2.1.0)
  - Locking psr/container (2.0.2)
  - Locking psr/log (3.0.2)
  - Locking sabre/event (5.1.7)
  - Locking squizlabs/php_codesniffer (3.12.2)
  - Locking symfony/console (v7.3.0)
  - Locking symfony/deprecation-contracts (v3.6.0)
  - Locking symfony/polyfill-ctype (v1.32.0)
  - Locking symfony/polyfill-intl-grapheme (v1.32.0)
  - Locking symfony/polyfill-intl-normalizer (v1.32.0)
  - Locking symfony/polyfill-mbstring (v1.32.0)
  - Locking symfony/polyfill-php80 (v1.32.0)
  - Locking symfony/service-contracts (v3.6.0)
  - Locking symfony/string (v7.3.0)
  - Locking tysonandre/var_representation_polyfill (0.1.3)
  - Locking webmozart/assert (1.11.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 39 installs, 0 updates, 0 removals
    0 [>---------------------------]    0 [->--------------------------]
  - Installing squizlabs/php_codesniffer (3.12.2): Extracting archive
  - Installing dealerdirect/phpcodesniffer-composer-installer (v1.0.0): Extracting archive
  - Installing composer/pcre (3.3.2): Extracting archive
  - Installing diff/diff (3.4.0): Extracting archive
  - Installing symfony/polyfill-php80 (v1.32.0): Extracting archive
  - Installing phpcsstandards/phpcsutils (1.0.12): Extracting archive
  - Installing phpcsstandards/phpcsextra (1.2.1): Extracting archive
  - Installing symfony/polyfill-mbstring (v1.32.0): Extracting archive
  - Installing composer/spdx-licenses (1.5.9): Extracting archive
  - Installing composer/semver (3.4.3): Extracting archive
  - Installing mediawiki/mediawiki-codesniffer (v47.0.0): Extracting archive
  - Installing tysonandre/var_representation_polyfill (0.1.3): Extracting archive
  - Installing symfony/polyfill-intl-normalizer (v1.32.0): Extracting archive
  - Installing symfony/polyfill-intl-grapheme (v1.32.0): Extracting archive
  - Installing symfony/polyfill-ctype (v1.32.0): Extracting archive
  - Installing symfony/string (v7.3.0): 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.0): Extracting archive
  - Installing symfony/console (v7.3.0): Extracting archive
  - Installing sabre/event (5.1.7): Extracting archive
  - Installing netresearch/jsonmapper (v4.5.0): Extracting archive
  - Installing microsoft/tolerant-php-parser (v0.1.2): Extracting archive
  - Installing webmozart/assert (1.11.0): Extracting archive
  - Installing phpstan/phpdoc-parser (2.1.0): Extracting archive
  - Installing phpdocumentor/reflection-common (2.2.0): Extracting archive
  - Installing doctrine/deprecations (1.1.5): Extracting archive
  - Installing phpdocumentor/type-resolver (1.10.0): Extracting archive
  - Installing phpdocumentor/reflection-docblock (5.6.2): 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.4.5): Extracting archive
  - Installing mediawiki/phan-taint-check-plugin (6.1.0): Extracting archive
  - Installing mediawiki/mediawiki-phan-config (0.15.1): Extracting archive
  - Installing mediawiki/minus-x (1.1.3): Extracting archive
  - Installing php-parallel-lint/php-console-color (v1.0.1): Extracting archive
  - Installing php-parallel-lint/php-console-highlighter (v1.0.0): Extracting archive
  - Installing php-parallel-lint/php-parallel-lint (v1.4.0): Extracting archive
  0/37 [>---------------------------]   0%
 20/37 [===============>------------]  54%
 35/37 [==========================>-]  94%
 37/37 [============================] 100%
1 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating autoload files
16 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 ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {
    "@typescript-eslint/typescript-estree": {
      "name": "@typescript-eslint/typescript-estree",
      "severity": "low",
      "isDirect": false,
      "via": [
        "minimatch"
      ],
      "effects": [
        "@typescript-eslint/utils"
      ],
      "range": ">=6.16.0",
      "nodes": [
        "node_modules/@typescript-eslint/typescript-estree"
      ],
      "fixAvailable": true
    },
    "@typescript-eslint/utils": {
      "name": "@typescript-eslint/utils",
      "severity": "low",
      "isDirect": false,
      "via": [
        "@typescript-eslint/typescript-estree"
      ],
      "effects": [],
      "range": ">=6.16.0",
      "nodes": [
        "node_modules/@typescript-eslint/utils"
      ],
      "fixAvailable": true
    },
    "@vue/test-utils": {
      "name": "@vue/test-utils",
      "severity": "low",
      "isDirect": true,
      "via": [
        "js-beautify"
      ],
      "effects": [],
      "range": ">=2.2.8",
      "nodes": [
        "node_modules/@vue/test-utils"
      ],
      "fixAvailable": {
        "name": "@vue/test-utils",
        "version": "2.2.7",
        "isSemVerMajor": true
      }
    },
    "@wdio/cli": {
      "name": "@wdio/cli",
      "severity": "high",
      "isDirect": true,
      "via": [
        "@wdio/config",
        "webdriverio",
        "yarn-install"
      ],
      "effects": [
        "@wdio/junit-reporter",
        "@wdio/local-runner",
        "@wdio/spec-reporter"
      ],
      "range": ">=5.4.10",
      "nodes": [
        "node_modules/@wdio/cli"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.15.0",
        "isSemVerMajor": true
      }
    },
    "@wdio/config": {
      "name": "@wdio/config",
      "severity": "low",
      "isDirect": false,
      "via": [
        "glob"
      ],
      "effects": [
        "@wdio/cli",
        "@wdio/runner",
        "devtools",
        "webdriver",
        "webdriverio"
      ],
      "range": ">=7.20.0",
      "nodes": [
        "node_modules/@wdio/config"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.15.0",
        "isSemVerMajor": true
      }
    },
    "@wdio/junit-reporter": {
      "name": "@wdio/junit-reporter",
      "severity": "high",
      "isDirect": true,
      "via": [
        "@wdio/cli"
      ],
      "effects": [],
      "range": "6.0.4 - 8.0.0-alpha.631",
      "nodes": [
        "node_modules/@wdio/junit-reporter"
      ],
      "fixAvailable": {
        "name": "@wdio/junit-reporter",
        "version": "9.15.0",
        "isSemVerMajor": true
      }
    },
    "@wdio/local-runner": {
      "name": "@wdio/local-runner",
      "severity": "high",
      "isDirect": true,
      "via": [
        "@wdio/cli",
        "@wdio/runner"
      ],
      "effects": [],
      "range": "6.0.4 - 9.8.0",
      "nodes": [
        "node_modules/@wdio/local-runner"
      ],
      "fixAvailable": {
        "name": "@wdio/local-runner",
        "version": "9.15.0",
        "isSemVerMajor": true
      }
    },
    "@wdio/mocha-framework": {
      "name": "@wdio/mocha-framework",
      "severity": "low",
      "isDirect": true,
      "via": [
        "mocha"
      ],
      "effects": [],
      "range": ">=7.19.7",
      "nodes": [
        "node_modules/@wdio/mocha-framework"
      ],
      "fixAvailable": {
        "name": "@wdio/mocha-framework",
        "version": "7.19.5",
        "isSemVerMajor": true
      }
    },
    "@wdio/runner": {
      "name": "@wdio/runner",
      "severity": "low",
      "isDirect": false,
      "via": [
        "@wdio/config",
        "webdriver",
        "webdriverio"
      ],
      "effects": [
        "@wdio/local-runner"
      ],
      "range": ">=7.16.16",
      "nodes": [
        "node_modules/@wdio/runner"
      ],
      "fixAvailable": {
        "name": "@wdio/local-runner",
        "version": "9.15.0",
        "isSemVerMajor": true
      }
    },
    "@wdio/spec-reporter": {
      "name": "@wdio/spec-reporter",
      "severity": "high",
      "isDirect": true,
      "via": [
        "@wdio/cli"
      ],
      "effects": [],
      "range": "6.0.4 - 8.0.0-alpha.631",
      "nodes": [
        "node_modules/@wdio/spec-reporter"
      ],
      "fixAvailable": {
        "name": "@wdio/spec-reporter",
        "version": "9.15.0",
        "isSemVerMajor": true
      }
    },
    "archiver": {
      "name": "archiver",
      "severity": "low",
      "isDirect": false,
      "via": [
        "readdir-glob"
      ],
      "effects": [],
      "range": ">=5.3.2",
      "nodes": [
        "node_modules/archiver"
      ],
      "fixAvailable": true
    },
    "brace-expansion": {
      "name": "brace-expansion",
      "severity": "low",
      "isDirect": false,
      "via": [
        {
          "source": 1105422,
          "name": "brace-expansion",
          "dependency": "brace-expansion",
          "title": "brace-expansion Regular Expression Denial of Service vulnerability",
          "url": "https://github.com/advisories/GHSA-v6h2-p8h4-qcjw",
          "severity": "low",
          "cwe": [
            "CWE-400"
          ],
          "cvss": {
            "score": 3.1,
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:L"
          },
          "range": ">=2.0.1 <=4.0.0"
        }
      ],
      "effects": [
        "minimatch"
      ],
      "range": "2.0.1 - 4.0.0",
      "nodes": [
        "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion",
        "node_modules/editorconfig/node_modules/brace-expansion",
        "node_modules/eslint-plugin-n/node_modules/brace-expansion",
        "node_modules/filelist/node_modules/brace-expansion",
        "node_modules/glob/node_modules/brace-expansion",
        "node_modules/js-beautify/node_modules/brace-expansion",
        "node_modules/mocha/node_modules/brace-expansion",
        "node_modules/readdir-glob/node_modules/brace-expansion",
        "node_modules/webdriverio/node_modules/brace-expansion"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.27.0",
        "isSemVerMajor": true
      }
    },
    "cross-spawn": {
      "name": "cross-spawn",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1104663,
          "name": "cross-spawn",
          "dependency": "cross-spawn",
          "title": "Regular Expression Denial of Service (ReDoS) in cross-spawn",
          "url": "https://github.com/advisories/GHSA-3xgq-45jj-v275",
          "severity": "high",
          "cwe": [
            "CWE-1333"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": "<6.0.6"
        }
      ],
      "effects": [
        "yarn-install"
      ],
      "range": "<6.0.6",
      "nodes": [
        "node_modules/yarn-install/node_modules/cross-spawn"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.15.0",
        "isSemVerMajor": true
      }
    },
    "devtools": {
      "name": "devtools",
      "severity": "high",
      "isDirect": false,
      "via": [
        "@wdio/config",
        "puppeteer-core"
      ],
      "effects": [],
      "range": ">=7.16.5",
      "nodes": [
        "node_modules/devtools"
      ],
      "fixAvailable": true
    },
    "editorconfig": {
      "name": "editorconfig",
      "severity": "low",
      "isDirect": false,
      "via": [
        "minimatch"
      ],
      "effects": [
        "js-beautify"
      ],
      "range": ">=1.0.0",
      "nodes": [
        "node_modules/editorconfig"
      ],
      "fixAvailable": {
        "name": "@vue/test-utils",
        "version": "2.2.7",
        "isSemVerMajor": true
      }
    },
    "eslint-config-wikimedia": {
      "name": "eslint-config-wikimedia",
      "severity": "low",
      "isDirect": true,
      "via": [
        "eslint-plugin-n"
      ],
      "effects": [],
      "range": ">=0.28.0",
      "nodes": [
        "node_modules/eslint-config-wikimedia"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.27.0",
        "isSemVerMajor": true
      }
    },
    "eslint-plugin-n": {
      "name": "eslint-plugin-n",
      "severity": "low",
      "isDirect": false,
      "via": [
        "minimatch"
      ],
      "effects": [
        "eslint-config-wikimedia"
      ],
      "range": ">=17.0.0-0",
      "nodes": [
        "node_modules/eslint-plugin-n"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.27.0",
        "isSemVerMajor": true
      }
    },
    "filelist": {
      "name": "filelist",
      "severity": "low",
      "isDirect": false,
      "via": [
        "minimatch"
      ],
      "effects": [
        "jake"
      ],
      "range": ">=1.0.3",
      "nodes": [
        "node_modules/filelist"
      ],
      "fixAvailable": true
    },
    "glob": {
      "name": "glob",
      "severity": "low",
      "isDirect": false,
      "via": [
        "minimatch"
      ],
      "effects": [
        "@wdio/config",
        "js-beautify",
        "mocha"
      ],
      "range": ">=8.0.1",
      "nodes": [
        "node_modules/glob",
        "node_modules/js-beautify/node_modules/glob"
      ],
      "fixAvailable": {
        "name": "@wdio/mocha-framework",
        "version": "7.19.5",
        "isSemVerMajor": true
      }
    },
    "jake": {
      "name": "jake",
      "severity": "low",
      "isDirect": false,
      "via": [
        "filelist"
      ],
      "effects": [],
      "range": ">=10.8.6",
      "nodes": [
        "node_modules/jake"
      ],
      "fixAvailable": true
    },
    "js-beautify": {
      "name": "js-beautify",
      "severity": "low",
      "isDirect": false,
      "via": [
        "editorconfig",
        "glob"
      ],
      "effects": [
        "@vue/test-utils"
      ],
      "range": ">=1.14.5",
      "nodes": [
        "node_modules/js-beautify"
      ],
      "fixAvailable": {
        "name": "@vue/test-utils",
        "version": "2.2.7",
        "isSemVerMajor": true
      }
    },
    "minimatch": {
      "name": "minimatch",
      "severity": "low",
      "isDirect": false,
      "via": [
        "brace-expansion"
      ],
      "effects": [
        "@typescript-eslint/typescript-estree",
        "editorconfig",
        "eslint-plugin-n",
        "filelist",
        "glob",
        "mocha",
        "readdir-glob",
        "webdriverio"
      ],
      "range": "5.0.0 - 9.0.5 || >=10.0.1",
      "nodes": [
        "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch",
        "node_modules/editorconfig/node_modules/minimatch",
        "node_modules/eslint-plugin-n/node_modules/minimatch",
        "node_modules/filelist/node_modules/minimatch",
        "node_modules/glob/node_modules/minimatch",
        "node_modules/js-beautify/node_modules/minimatch",
        "node_modules/mocha/node_modules/minimatch",
        "node_modules/readdir-glob/node_modules/minimatch",
        "node_modules/webdriverio/node_modules/minimatch"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.27.0",
        "isSemVerMajor": true
      }
    },
    "mocha": {
      "name": "mocha",
      "severity": "low",
      "isDirect": false,
      "via": [
        "glob",
        "minimatch"
      ],
      "effects": [
        "@wdio/mocha-framework"
      ],
      "range": ">=10.0.0",
      "nodes": [
        "node_modules/mocha"
      ],
      "fixAvailable": {
        "name": "@wdio/mocha-framework",
        "version": "7.19.5",
        "isSemVerMajor": true
      }
    },
    "mwbot": {
      "name": "mwbot",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "request"
      ],
      "effects": [
        "wdio-mediawiki"
      ],
      "range": ">=0.1.6",
      "nodes": [
        "node_modules/mwbot"
      ],
      "fixAvailable": false
    },
    "puppeteer-core": {
      "name": "puppeteer-core",
      "severity": "high",
      "isDirect": false,
      "via": [
        "tar-fs",
        "ws"
      ],
      "effects": [
        "devtools",
        "webdriverio"
      ],
      "range": "10.0.0 - 22.11.1",
      "nodes": [
        "node_modules/puppeteer-core"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.15.0",
        "isSemVerMajor": true
      }
    },
    "readdir-glob": {
      "name": "readdir-glob",
      "severity": "low",
      "isDirect": false,
      "via": [
        "minimatch"
      ],
      "effects": [
        "archiver"
      ],
      "range": ">=1.1.2",
      "nodes": [
        "node_modules/readdir-glob"
      ],
      "fixAvailable": true
    },
    "request": {
      "name": "request",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1096727,
          "name": "request",
          "dependency": "request",
          "title": "Server-Side Request Forgery in Request",
          "url": "https://github.com/advisories/GHSA-p8p7-x288-28g6",
          "severity": "moderate",
          "cwe": [
            "CWE-918"
          ],
          "cvss": {
            "score": 6.1,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"
          },
          "range": "<=2.88.2"
        },
        "tough-cookie"
      ],
      "effects": [
        "mwbot"
      ],
      "range": "*",
      "nodes": [
        "node_modules/request"
      ],
      "fixAvailable": false
    },
    "tar-fs": {
      "name": "tar-fs",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1104677,
          "name": "tar-fs",
          "dependency": "tar-fs",
          "title": "tar-fs Vulnerable to Link Following and Path Traversal via Extracting a Crafted tar File",
          "url": "https://github.com/advisories/GHSA-pq67-2wwv-3xjx",
          "severity": "high",
          "cwe": [
            "CWE-22"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N"
          },
          "range": ">=2.0.0 <2.1.2"
        },
        {
          "source": 1105197,
          "name": "tar-fs",
          "dependency": "tar-fs",
          "title": "tar-fs can extract outside the specified dir with a specific tarball",
          "url": "https://github.com/advisories/GHSA-8cj5-5rvv-wf4v",
          "severity": "high",
          "cwe": [
            "CWE-22"
          ],
          "cvss": {
            "score": 0,
            "vectorString": null
          },
          "range": ">=2.0.0 <2.1.3"
        }
      ],
      "effects": [
        "puppeteer-core"
      ],
      "range": "2.0.0 - 2.1.2",
      "nodes": [
        "node_modules/tar-fs"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.15.0",
        "isSemVerMajor": true
      }
    },
    "tough-cookie": {
      "name": "tough-cookie",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1097682,
          "name": "tough-cookie",
          "dependency": "tough-cookie",
          "title": "tough-cookie Prototype Pollution vulnerability",
          "url": "https://github.com/advisories/GHSA-72xf-g2v4-qvf3",
          "severity": "moderate",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 6.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N"
          },
          "range": "<4.1.3"
        }
      ],
      "effects": [
        "request"
      ],
      "range": "<4.1.3",
      "nodes": [
        "node_modules/request/node_modules/tough-cookie"
      ],
      "fixAvailable": false
    },
    "wdio-mediawiki": {
      "name": "wdio-mediawiki",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "mwbot"
      ],
      "effects": [],
      "range": "*",
      "nodes": [
        "node_modules/wdio-mediawiki"
      ],
      "fixAvailable": false
    },
    "webdriver": {
      "name": "webdriver",
      "severity": "low",
      "isDirect": false,
      "via": [
        "@wdio/config"
      ],
      "effects": [],
      "range": ">=7.20.0",
      "nodes": [
        "node_modules/webdriver"
      ],
      "fixAvailable": true
    },
    "webdriverio": {
      "name": "webdriverio",
      "severity": "high",
      "isDirect": false,
      "via": [
        "@wdio/config",
        "devtools",
        "minimatch",
        "puppeteer-core",
        "webdriver"
      ],
      "effects": [
        "@wdio/cli",
        "@wdio/runner"
      ],
      "range": ">=7.16.5",
      "nodes": [
        "node_modules/webdriverio"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.15.0",
        "isSemVerMajor": true
      }
    },
    "ws": {
      "name": "ws",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1098392,
          "name": "ws",
          "dependency": "ws",
          "title": "ws affected by a DoS when handling a request with many HTTP headers",
          "url": "https://github.com/advisories/GHSA-3h5v-q93c-6h6q",
          "severity": "high",
          "cwe": [
            "CWE-476"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": ">=8.0.0 <8.17.1"
        }
      ],
      "effects": [
        "puppeteer-core"
      ],
      "range": "8.0.0 - 8.17.0",
      "nodes": [
        "node_modules/puppeteer-core/node_modules/ws"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.15.0",
        "isSemVerMajor": true
      }
    },
    "yarn-install": {
      "name": "yarn-install",
      "severity": "high",
      "isDirect": false,
      "via": [
        "cross-spawn"
      ],
      "effects": [
        "@wdio/cli"
      ],
      "range": "*",
      "nodes": [
        "node_modules/yarn-install"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.15.0",
        "isSemVerMajor": true
      }
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 19,
      "moderate": 4,
      "high": 11,
      "critical": 0,
      "total": 34
    },
    "dependencies": {
      "prod": 1,
      "dev": 1343,
      "optional": 4,
      "peer": 1,
      "peerOptional": 0,
      "total": 1343
    }
  }
}

--- 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
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wikimedia/codex@2.0.0',
npm WARN EBADENGINE   required: { node: '>=20', npm: '>=10.8.1' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wikimedia/codex-icons@2.0.0',
npm WARN EBADENGINE   required: { node: '>=20', npm: '>=10.8.1' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
--- stdout ---
{
  "added": 1347,
  "removed": 0,
  "changed": 0,
  "audited": 1348,
  "funding": 204,
  "audit": {
    "auditReportVersion": 2,
    "vulnerabilities": {
      "@typescript-eslint/typescript-estree": {
        "name": "@typescript-eslint/typescript-estree",
        "severity": "low",
        "isDirect": false,
        "via": [
          "minimatch"
        ],
        "effects": [
          "@typescript-eslint/utils"
        ],
        "range": ">=6.16.0",
        "nodes": [
          ""
        ],
        "fixAvailable": true
      },
      "@typescript-eslint/utils": {
        "name": "@typescript-eslint/utils",
        "severity": "low",
        "isDirect": false,
        "via": [
          "@typescript-eslint/typescript-estree"
        ],
        "effects": [],
        "range": ">=6.16.0",
        "nodes": [
          ""
        ],
        "fixAvailable": true
      },
      "@vue/test-utils": {
        "name": "@vue/test-utils",
        "severity": "low",
        "isDirect": true,
        "via": [
          "js-beautify"
        ],
        "effects": [],
        "range": ">=2.4.1",
        "nodes": [
          "node_modules/@vue/test-utils"
        ],
        "fixAvailable": {
          "name": "@vue/test-utils",
          "version": "2.4.0",
          "isSemVerMajor": true
        }
      },
      "@wdio/cli": {
        "name": "@wdio/cli",
        "severity": "high",
        "isDirect": true,
        "via": [
          "@wdio/config",
          "webdriverio",
          "yarn-install"
        ],
        "effects": [
          "@wdio/junit-reporter",
          "@wdio/local-runner",
          "@wdio/spec-reporter"
        ],
        "range": ">=5.4.10",
        "nodes": [
          "node_modules/@wdio/cli"
        ],
        "fixAvailable": {
          "name": "@wdio/cli",
          "version": "9.15.0",
          "isSemVerMajor": true
        }
      },
      "@wdio/config": {
        "name": "@wdio/config",
        "severity": "low",
        "isDirect": false,
        "via": [
          "glob"
        ],
        "effects": [
          "@wdio/cli",
          "@wdio/runner",
          "devtools",
          "webdriver",
          "webdriverio"
        ],
        "range": ">=7.20.0",
        "nodes": [
          "node_modules/@wdio/config"
        ],
        "fixAvailable": {
          "name": "@wdio/cli",
          "version": "9.15.0",
          "isSemVerMajor": true
        }
      },
      "@wdio/junit-reporter": {
        "name": "@wdio/junit-reporter",
        "severity": "high",
        "isDirect": true,
        "via": [
          "@wdio/cli"
        ],
        "effects": [],
        "range": "6.0.4 - 8.0.0-alpha.631",
        "nodes": [
          "node_modules/@wdio/junit-reporter"
        ],
        "fixAvailable": {
          "name": "@wdio/junit-reporter",
          "version": "9.15.0",
          "isSemVerMajor": true
        }
      },
      "@wdio/local-runner": {
        "name": "@wdio/local-runner",
        "severity": "high",
        "isDirect": true,
        "via": [
          "@wdio/cli",
          "@wdio/runner"
        ],
        "effects": [],
        "range": "6.0.4 - 9.8.0",
        "nodes": [
          "node_modules/@wdio/local-runner"
        ],
        "fixAvailable": {
          "name": "@wdio/local-runner",
          "version": "9.15.0",
          "isSemVerMajor": true
        }
      },
      "@wdio/mocha-framework": {
        "name": "@wdio/mocha-framework",
        "severity": "low",
        "isDirect": true,
        "via": [
          "mocha"
        ],
        "effects": [],
        "range": ">=7.19.7",
        "nodes": [
          "node_modules/@wdio/mocha-framework"
        ],
        "fixAvailable": {
          "name": "@wdio/mocha-framework",
          "version": "7.19.5",
          "isSemVerMajor": true
        }
      },
      "@wdio/runner": {
        "name": "@wdio/runner",
        "severity": "low",
        "isDirect": false,
        "via": [
          "@wdio/config",
          "webdriver",
          "webdriverio"
        ],
        "effects": [
          "@wdio/local-runner"
        ],
        "range": ">=7.16.16",
        "nodes": [
          "node_modules/@wdio/runner"
        ],
        "fixAvailable": {
          "name": "@wdio/local-runner",
          "version": "9.15.0",
          "isSemVerMajor": true
        }
      },
      "@wdio/spec-reporter": {
        "name": "@wdio/spec-reporter",
        "severity": "high",
        "isDirect": true,
        "via": [
          "@wdio/cli"
        ],
        "effects": [],
        "range": "6.0.4 - 8.0.0-alpha.631",
        "nodes": [
          "node_modules/@wdio/spec-reporter"
        ],
        "fixAvailable": {
          "name": "@wdio/spec-reporter",
          "version": "9.15.0",
          "isSemVerMajor": true
        }
      },
      "archiver": {
        "name": "archiver",
        "severity": "low",
        "isDirect": false,
        "via": [
          "readdir-glob"
        ],
        "effects": [],
        "range": ">=5.3.2",
        "nodes": [
          "node_modules/archiver"
        ],
        "fixAvailable": true
      },
      "brace-expansion": {
        "name": "brace-expansion",
        "severity": "low",
        "isDirect": false,
        "via": [
          {
            "source": 1105422,
            "name": "brace-expansion",
            "dependency": "brace-expansion",
            "title": "brace-expansion Regular Expression Denial of Service vulnerability",
            "url": "https://github.com/advisories/GHSA-v6h2-p8h4-qcjw",
            "severity": "low",
            "cwe": [
              "CWE-400"
            ],
            "cvss": {
              "score": 3.1,
              "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:L"
            },
            "range": ">=2.0.1 <=4.0.0"
          }
        ],
        "effects": [
          "minimatch"
        ],
        "range": "2.0.1 - 4.0.0",
        "nodes": [
          "",
          "",
          "",
          "",
          "",
          "",
          "",
          "",
          ""
        ],
        "fixAvailable": {
          "name": "@wdio/mocha-framework",
          "version": "7.19.5",
          "isSemVerMajor": true
        }
      },
      "cross-spawn": {
        "name": "cross-spawn",
        "severity": "high",
        "isDirect": false,
        "via": [
          {
            "source": 1104663,
            "name": "cross-spawn",
            "dependency": "cross-spawn",
            "title": "Regular Expression Denial of Service (ReDoS) in cross-spawn",
            "url": "https://github.com/advisories/GHSA-3xgq-45jj-v275",
            "severity": "high",
            "cwe": [
              "CWE-1333"
            ],
            "cvss": {
              "score": 7.5,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
            },
            "range": "<6.0.6"
          }
        ],
        "effects": [
          "yarn-install"
        ],
        "range": "<6.0.6",
        "nodes": [
          "node_modules/yarn-install/node_modules/cross-spawn"
        ],
        "fixAvailable": {
          "name": "@wdio/cli",
          "version": "9.15.0",
          "isSemVerMajor": true
        }
      },
      "devtools": {
        "name": "devtools",
        "severity": "high",
        "isDirect": false,
        "via": [
          "@wdio/config",
          "puppeteer-core"
        ],
        "effects": [],
        "range": ">=7.16.5",
        "nodes": [
          "node_modules/devtools"
        ],
        "fixAvailable": true
      },
      "editorconfig": {
        "name": "editorconfig",
        "severity": "low",
        "isDirect": false,
        "via": [
          "minimatch"
        ],
        "effects": [
          "js-beautify"
        ],
        "range": ">=1.0.0",
        "nodes": [
          "node_modules/editorconfig"
        ],
        "fixAvailable": {
          "name": "@vue/test-utils",
          "version": "2.4.0",
          "isSemVerMajor": true
        }
      },
      "eslint-config-wikimedia": {
        "name": "eslint-config-wikimedia",
        "severity": "low",
        "isDirect": true,
        "via": [
          "eslint-plugin-n"
        ],
        "effects": [],
        "range": ">=0.28.0",
        "nodes": [
          "node_modules/eslint-config-wikimedia"
        ],
        "fixAvailable": {
          "name": "eslint-config-wikimedia",
          "version": "0.27.0",
          "isSemVerMajor": true
        }
      },
      "eslint-plugin-n": {
        "name": "eslint-plugin-n",
        "severity": "low",
        "isDirect": false,
        "via": [
          "minimatch"
        ],
        "effects": [
          "eslint-config-wikimedia"
        ],
        "range": ">=17.0.0-0",
        "nodes": [
          ""
        ],
        "fixAvailable": {
          "name": "eslint-config-wikimedia",
          "version": "0.27.0",
          "isSemVerMajor": true
        }
      },
      "filelist": {
        "name": "filelist",
        "severity": "low",
        "isDirect": false,
        "via": [
          "minimatch"
        ],
        "effects": [
          "jake"
        ],
        "range": ">=1.0.3",
        "nodes": [
          "node_modules/filelist"
        ],
        "fixAvailable": true
      },
      "glob": {
        "name": "glob",
        "severity": "low",
        "isDirect": false,
        "via": [
          "minimatch"
        ],
        "effects": [
          "@wdio/config",
          "js-beautify",
          "mocha"
        ],
        "range": ">=8.0.1",
        "nodes": [
          "node_modules/glob",
          "node_modules/js-beautify/node_modules/glob"
        ],
        "fixAvailable": {
          "name": "@wdio/mocha-framework",
          "version": "7.19.5",
          "isSemVerMajor": true
        }
      },
      "jake": {
        "name": "jake",
        "severity": "low",
        "isDirect": false,
        "via": [
          "filelist"
        ],
        "effects": [],
        "range": ">=10.8.6",
        "nodes": [
          "node_modules/jake"
        ],
        "fixAvailable": true
      },
      "js-beautify": {
        "name": "js-beautify",
        "severity": "low",
        "isDirect": false,
        "via": [
          "editorconfig",
          "glob"
        ],
        "effects": [
          "@vue/test-utils"
        ],
        "range": ">=1.14.5",
        "nodes": [
          "node_modules/js-beautify"
        ],
        "fixAvailable": {
          "name": "@vue/test-utils",
          "version": "2.4.0",
          "isSemVerMajor": true
        }
      },
      "minimatch": {
        "name": "minimatch",
        "severity": "low",
        "isDirect": false,
        "via": [
          "brace-expansion"
        ],
        "effects": [
          "@typescript-eslint/typescript-estree",
          "editorconfig",
          "eslint-plugin-n",
          "filelist",
          "glob",
          "mocha",
          "readdir-glob",
          "webdriverio"
        ],
        "range": "5.0.0 - 9.0.5 || >=10.0.1",
        "nodes": [
          "",
          "node_modules/editorconfig/node_modules/minimatch",
          "node_modules/eslint-plugin-n/node_modules/minimatch",
          "node_modules/filelist/node_modules/minimatch",
          "node_modules/glob/node_modules/minimatch",
          "node_modules/js-beautify/node_modules/minimatch",
          "node_modules/mocha/node_modules/minimatch",
          "node_modules/readdir-glob/node_modules/minimatch",
          "node_modules/webdriverio/node_modules/minimatch"
        ],
        "fixAvailable": {
          "name": "@wdio/mocha-framework",
          "version": "7.19.5",
          "isSemVerMajor": true
        }
      },
      "mocha": {
        "name": "mocha",
        "severity": "low",
        "isDirect": false,
        "via": [
          "glob",
          "minimatch"
        ],
        "effects": [
          "@wdio/mocha-framework"
        ],
        "range": ">=10.0.0",
        "nodes": [
          "node_modules/mocha"
        ],
        "fixAvailable": {
          "name": "@wdio/mocha-framework",
          "version": "7.19.5",
          "isSemVerMajor": true
        }
      },
      "mwbot": {
        "name": "mwbot",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          "request"
        ],
        "effects": [
          "wdio-mediawiki"
        ],
        "range": ">=0.1.6",
        "nodes": [
          "node_modules/mwbot"
        ],
        "fixAvailable": false
      },
      "puppeteer-core": {
        "name": "puppeteer-core",
        "severity": "high",
        "isDirect": false,
        "via": [
          "tar-fs",
          "ws"
        ],
        "effects": [
          "devtools",
          "webdriverio"
        ],
        "range": "10.0.0 - 22.11.1",
        "nodes": [
          "node_modules/puppeteer-core"
        ],
        "fixAvailable": {
          "name": "@wdio/cli",
          "version": "9.15.0",
          "isSemVerMajor": true
        }
      },
      "readdir-glob": {
        "name": "readdir-glob",
        "severity": "low",
        "isDirect": false,
        "via": [
          "minimatch"
        ],
        "effects": [
          "archiver"
        ],
        "range": ">=1.1.2",
        "nodes": [
          "node_modules/readdir-glob"
        ],
        "fixAvailable": true
      },
      "request": {
        "name": "request",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          {
            "source": 1096727,
            "name": "request",
            "dependency": "request",
            "title": "Server-Side Request Forgery in Request",
            "url": "https://github.com/advisories/GHSA-p8p7-x288-28g6",
            "severity": "moderate",
            "cwe": [
              "CWE-918"
            ],
            "cvss": {
              "score": 6.1,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"
            },
            "range": "<=2.88.2"
          },
          "tough-cookie"
        ],
        "effects": [
          "mwbot"
        ],
        "range": "*",
        "nodes": [
          "node_modules/request"
        ],
        "fixAvailable": false
      },
      "tar-fs": {
        "name": "tar-fs",
        "severity": "high",
        "isDirect": false,
        "via": [
          {
            "source": 1104677,
            "name": "tar-fs",
            "dependency": "tar-fs",
            "title": "tar-fs Vulnerable to Link Following and Path Traversal via Extracting a Crafted tar File",
            "url": "https://github.com/advisories/GHSA-pq67-2wwv-3xjx",
            "severity": "high",
            "cwe": [
              "CWE-22"
            ],
            "cvss": {
              "score": 7.5,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N"
            },
            "range": ">=2.0.0 <2.1.2"
          },
          {
            "source": 1105197,
            "name": "tar-fs",
            "dependency": "tar-fs",
            "title": "tar-fs can extract outside the specified dir with a specific tarball",
            "url": "https://github.com/advisories/GHSA-8cj5-5rvv-wf4v",
            "severity": "high",
            "cwe": [
              "CWE-22"
            ],
            "cvss": {
              "score": 0,
              "vectorString": null
            },
            "range": ">=2.0.0 <2.1.3"
          }
        ],
        "effects": [
          "puppeteer-core"
        ],
        "range": "2.0.0 - 2.1.2",
        "nodes": [
          "node_modules/tar-fs"
        ],
        "fixAvailable": {
          "name": "@wdio/cli",
          "version": "9.15.0",
          "isSemVerMajor": true
        }
      },
      "tough-cookie": {
        "name": "tough-cookie",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          {
            "source": 1097682,
            "name": "tough-cookie",
            "dependency": "tough-cookie",
            "title": "tough-cookie Prototype Pollution vulnerability",
            "url": "https://github.com/advisories/GHSA-72xf-g2v4-qvf3",
            "severity": "moderate",
            "cwe": [
              "CWE-1321"
            ],
            "cvss": {
              "score": 6.5,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N"
            },
            "range": "<4.1.3"
          }
        ],
        "effects": [
          "request"
        ],
        "range": "<4.1.3",
        "nodes": [
          "node_modules/request/node_modules/tough-cookie"
        ],
        "fixAvailable": false
      },
      "wdio-mediawiki": {
        "name": "wdio-mediawiki",
        "severity": "moderate",
        "isDirect": true,
        "via": [
          "mwbot"
        ],
        "effects": [],
        "range": "*",
        "nodes": [
          "node_modules/wdio-mediawiki"
        ],
        "fixAvailable": false
      },
      "webdriver": {
        "name": "webdriver",
        "severity": "low",
        "isDirect": false,
        "via": [
          "@wdio/config"
        ],
        "effects": [],
        "range": ">=7.20.0",
        "nodes": [
          "node_modules/webdriver"
        ],
        "fixAvailable": true
      },
      "webdriverio": {
        "name": "webdriverio",
        "severity": "high",
        "isDirect": false,
        "via": [
          "@wdio/config",
          "devtools",
          "minimatch",
          "puppeteer-core",
          "webdriver"
        ],
        "effects": [
          "@wdio/cli",
          "@wdio/runner"
        ],
        "range": ">=7.16.5",
        "nodes": [
          "node_modules/webdriverio"
        ],
        "fixAvailable": {
          "name": "@wdio/cli",
          "version": "9.15.0",
          "isSemVerMajor": true
        }
      },
      "ws": {
        "name": "ws",
        "severity": "high",
        "isDirect": false,
        "via": [
          {
            "source": 1098392,
            "name": "ws",
            "dependency": "ws",
            "title": "ws affected by a DoS when handling a request with many HTTP headers",
            "url": "https://github.com/advisories/GHSA-3h5v-q93c-6h6q",
            "severity": "high",
            "cwe": [
              "CWE-476"
            ],
            "cvss": {
              "score": 7.5,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
            },
            "range": ">=8.0.0 <8.17.1"
          }
        ],
        "effects": [
          "puppeteer-core"
        ],
        "range": "8.0.0 - 8.17.0",
        "nodes": [
          "node_modules/puppeteer-core/node_modules/ws"
        ],
        "fixAvailable": {
          "name": "@wdio/cli",
          "version": "9.15.0",
          "isSemVerMajor": true
        }
      },
      "yarn-install": {
        "name": "yarn-install",
        "severity": "high",
        "isDirect": false,
        "via": [
          "cross-spawn"
        ],
        "effects": [
          "@wdio/cli"
        ],
        "range": "*",
        "nodes": [
          "node_modules/yarn-install"
        ],
        "fixAvailable": {
          "name": "@wdio/cli",
          "version": "9.15.0",
          "isSemVerMajor": true
        }
      }
    },
    "metadata": {
      "vulnerabilities": {
        "info": 0,
        "low": 19,
        "moderate": 4,
        "high": 11,
        "critical": 0,
        "total": 34
      },
      "dependencies": {
        "prod": 1,
        "dev": 1347,
        "optional": 4,
        "peer": 1,
        "peerOptional": 0,
        "total": 1347
      }
    }
  }
}

--- end ---
{"added": 1347, "removed": 0, "changed": 0, "audited": 1348, "funding": 204, "audit": {"auditReportVersion": 2, "vulnerabilities": {"@typescript-eslint/typescript-estree": {"name": "@typescript-eslint/typescript-estree", "severity": "low", "isDirect": false, "via": ["minimatch"], "effects": ["@typescript-eslint/utils"], "range": ">=6.16.0", "nodes": [""], "fixAvailable": true}, "@typescript-eslint/utils": {"name": "@typescript-eslint/utils", "severity": "low", "isDirect": false, "via": ["@typescript-eslint/typescript-estree"], "effects": [], "range": ">=6.16.0", "nodes": [""], "fixAvailable": true}, "@vue/test-utils": {"name": "@vue/test-utils", "severity": "low", "isDirect": true, "via": ["js-beautify"], "effects": [], "range": ">=2.4.1", "nodes": ["node_modules/@vue/test-utils"], "fixAvailable": {"name": "@vue/test-utils", "version": "2.4.0", "isSemVerMajor": true}}, "@wdio/cli": {"name": "@wdio/cli", "severity": "high", "isDirect": true, "via": ["@wdio/config", "webdriverio", "yarn-install"], "effects": ["@wdio/junit-reporter", "@wdio/local-runner", "@wdio/spec-reporter"], "range": ">=5.4.10", "nodes": ["node_modules/@wdio/cli"], "fixAvailable": {"name": "@wdio/cli", "version": "9.15.0", "isSemVerMajor": true}}, "@wdio/config": {"name": "@wdio/config", "severity": "low", "isDirect": false, "via": ["glob"], "effects": ["@wdio/cli", "@wdio/runner", "devtools", "webdriver", "webdriverio"], "range": ">=7.20.0", "nodes": ["node_modules/@wdio/config"], "fixAvailable": {"name": "@wdio/cli", "version": "9.15.0", "isSemVerMajor": true}}, "@wdio/junit-reporter": {"name": "@wdio/junit-reporter", "severity": "high", "isDirect": true, "via": ["@wdio/cli"], "effects": [], "range": "6.0.4 - 8.0.0-alpha.631", "nodes": ["node_modules/@wdio/junit-reporter"], "fixAvailable": {"name": "@wdio/junit-reporter", "version": "9.15.0", "isSemVerMajor": true}}, "@wdio/local-runner": {"name": "@wdio/local-runner", "severity": "high", "isDirect": true, "via": ["@wdio/cli", "@wdio/runner"], "effects": [], "range": "6.0.4 - 9.8.0", "nodes": ["node_modules/@wdio/local-runner"], "fixAvailable": {"name": "@wdio/local-runner", "version": "9.15.0", "isSemVerMajor": true}}, "@wdio/mocha-framework": {"name": "@wdio/mocha-framework", "severity": "low", "isDirect": true, "via": ["mocha"], "effects": [], "range": ">=7.19.7", "nodes": ["node_modules/@wdio/mocha-framework"], "fixAvailable": {"name": "@wdio/mocha-framework", "version": "7.19.5", "isSemVerMajor": true}}, "@wdio/runner": {"name": "@wdio/runner", "severity": "low", "isDirect": false, "via": ["@wdio/config", "webdriver", "webdriverio"], "effects": ["@wdio/local-runner"], "range": ">=7.16.16", "nodes": ["node_modules/@wdio/runner"], "fixAvailable": {"name": "@wdio/local-runner", "version": "9.15.0", "isSemVerMajor": true}}, "@wdio/spec-reporter": {"name": "@wdio/spec-reporter", "severity": "high", "isDirect": true, "via": ["@wdio/cli"], "effects": [], "range": "6.0.4 - 8.0.0-alpha.631", "nodes": ["node_modules/@wdio/spec-reporter"], "fixAvailable": {"name": "@wdio/spec-reporter", "version": "9.15.0", "isSemVerMajor": true}}, "archiver": {"name": "archiver", "severity": "low", "isDirect": false, "via": ["readdir-glob"], "effects": [], "range": ">=5.3.2", "nodes": ["node_modules/archiver"], "fixAvailable": true}, "brace-expansion": {"name": "brace-expansion", "severity": "low", "isDirect": false, "via": [{"source": 1105422, "name": "brace-expansion", "dependency": "brace-expansion", "title": "brace-expansion Regular Expression Denial of Service vulnerability", "url": "https://github.com/advisories/GHSA-v6h2-p8h4-qcjw", "severity": "low", "cwe": ["CWE-400"], "cvss": {"score": 3.1, "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:L"}, "range": ">=2.0.1 <=4.0.0"}], "effects": ["minimatch"], "range": "2.0.1 - 4.0.0", "nodes": ["", "", "", "", "", "", "", "", ""], "fixAvailable": {"name": "@wdio/mocha-framework", "version": "7.19.5", "isSemVerMajor": true}}, "cross-spawn": {"name": "cross-spawn", "severity": "high", "isDirect": false, "via": [{"source": 1104663, "name": "cross-spawn", "dependency": "cross-spawn", "title": "Regular Expression Denial of Service (ReDoS) in cross-spawn", "url": "https://github.com/advisories/GHSA-3xgq-45jj-v275", "severity": "high", "cwe": ["CWE-1333"], "cvss": {"score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}, "range": "<6.0.6"}], "effects": ["yarn-install"], "range": "<6.0.6", "nodes": ["node_modules/yarn-install/node_modules/cross-spawn"], "fixAvailable": {"name": "@wdio/cli", "version": "9.15.0", "isSemVerMajor": true}}, "devtools": {"name": "devtools", "severity": "high", "isDirect": false, "via": ["@wdio/config", "puppeteer-core"], "effects": [], "range": ">=7.16.5", "nodes": ["node_modules/devtools"], "fixAvailable": true}, "editorconfig": {"name": "editorconfig", "severity": "low", "isDirect": false, "via": ["minimatch"], "effects": ["js-beautify"], "range": ">=1.0.0", "nodes": ["node_modules/editorconfig"], "fixAvailable": {"name": "@vue/test-utils", "version": "2.4.0", "isSemVerMajor": true}}, "eslint-config-wikimedia": {"name": "eslint-config-wikimedia", "severity": "low", "isDirect": true, "via": ["eslint-plugin-n"], "effects": [], "range": ">=0.28.0", "nodes": ["node_modules/eslint-config-wikimedia"], "fixAvailable": {"name": "eslint-config-wikimedia", "version": "0.27.0", "isSemVerMajor": true}}, "eslint-plugin-n": {"name": "eslint-plugin-n", "severity": "low", "isDirect": false, "via": ["minimatch"], "effects": ["eslint-config-wikimedia"], "range": ">=17.0.0-0", "nodes": [""], "fixAvailable": {"name": "eslint-config-wikimedia", "version": "0.27.0", "isSemVerMajor": true}}, "filelist": {"name": "filelist", "severity": "low", "isDirect": false, "via": ["minimatch"], "effects": ["jake"], "range": ">=1.0.3", "nodes": ["node_modules/filelist"], "fixAvailable": true}, "glob": {"name": "glob", "severity": "low", "isDirect": false, "via": ["minimatch"], "effects": ["@wdio/config", "js-beautify", "mocha"], "range": ">=8.0.1", "nodes": ["node_modules/glob", "node_modules/js-beautify/node_modules/glob"], "fixAvailable": {"name": "@wdio/mocha-framework", "version": "7.19.5", "isSemVerMajor": true}}, "jake": {"name": "jake", "severity": "low", "isDirect": false, "via": ["filelist"], "effects": [], "range": ">=10.8.6", "nodes": ["node_modules/jake"], "fixAvailable": true}, "js-beautify": {"name": "js-beautify", "severity": "low", "isDirect": false, "via": ["editorconfig", "glob"], "effects": ["@vue/test-utils"], "range": ">=1.14.5", "nodes": ["node_modules/js-beautify"], "fixAvailable": {"name": "@vue/test-utils", "version": "2.4.0", "isSemVerMajor": true}}, "minimatch": {"name": "minimatch", "severity": "low", "isDirect": false, "via": ["brace-expansion"], "effects": ["@typescript-eslint/typescript-estree", "editorconfig", "eslint-plugin-n", "filelist", "glob", "mocha", "readdir-glob", "webdriverio"], "range": "5.0.0 - 9.0.5 || >=10.0.1", "nodes": ["", "node_modules/editorconfig/node_modules/minimatch", "node_modules/eslint-plugin-n/node_modules/minimatch", "node_modules/filelist/node_modules/minimatch", "node_modules/glob/node_modules/minimatch", "node_modules/js-beautify/node_modules/minimatch", "node_modules/mocha/node_modules/minimatch", "node_modules/readdir-glob/node_modules/minimatch", "node_modules/webdriverio/node_modules/minimatch"], "fixAvailable": {"name": "@wdio/mocha-framework", "version": "7.19.5", "isSemVerMajor": true}}, "mocha": {"name": "mocha", "severity": "low", "isDirect": false, "via": ["glob", "minimatch"], "effects": ["@wdio/mocha-framework"], "range": ">=10.0.0", "nodes": ["node_modules/mocha"], "fixAvailable": {"name": "@wdio/mocha-framework", "version": "7.19.5", "isSemVerMajor": true}}, "mwbot": {"name": "mwbot", "severity": "moderate", "isDirect": false, "via": ["request"], "effects": ["wdio-mediawiki"], "range": ">=0.1.6", "nodes": ["node_modules/mwbot"], "fixAvailable": false}, "puppeteer-core": {"name": "puppeteer-core", "severity": "high", "isDirect": false, "via": ["tar-fs", "ws"], "effects": ["devtools", "webdriverio"], "range": "10.0.0 - 22.11.1", "nodes": ["node_modules/puppeteer-core"], "fixAvailable": {"name": "@wdio/cli", "version": "9.15.0", "isSemVerMajor": true}}, "readdir-glob": {"name": "readdir-glob", "severity": "low", "isDirect": false, "via": ["minimatch"], "effects": ["archiver"], "range": ">=1.1.2", "nodes": ["node_modules/readdir-glob"], "fixAvailable": true}, "request": {"name": "request", "severity": "moderate", "isDirect": false, "via": [{"source": 1096727, "name": "request", "dependency": "request", "title": "Server-Side Request Forgery in Request", "url": "https://github.com/advisories/GHSA-p8p7-x288-28g6", "severity": "moderate", "cwe": ["CWE-918"], "cvss": {"score": 6.1, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"}, "range": "<=2.88.2"}, "tough-cookie"], "effects": ["mwbot"], "range": "*", "nodes": ["node_modules/request"], "fixAvailable": false}, "tar-fs": {"name": "tar-fs", "severity": "high", "isDirect": false, "via": [{"source": 1104677, "name": "tar-fs", "dependency": "tar-fs", "title": "tar-fs Vulnerable to Link Following and Path Traversal via Extracting a Crafted tar File", "url": "https://github.com/advisories/GHSA-pq67-2wwv-3xjx", "severity": "high", "cwe": ["CWE-22"], "cvss": {"score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N"}, "range": ">=2.0.0 <2.1.2"}, {"source": 1105197, "name": "tar-fs", "dependency": "tar-fs", "title": "tar-fs can extract outside the specified dir with a specific tarball", "url": "https://github.com/advisories/GHSA-8cj5-5rvv-wf4v", "severity": "high", "cwe": ["CWE-22"], "cvss": {"score": 0, "vectorString": null}, "range": ">=2.0.0 <2.1.3"}], "effects": ["puppeteer-core"], "range": "2.0.0 - 2.1.2", "nodes": ["node_modules/tar-fs"], "fixAvailable": {"name": "@wdio/cli", "version": "9.15.0", "isSemVerMajor": true}}, "tough-cookie": {"name": "tough-cookie", "severity": "moderate", "isDirect": false, "via": [{"source": 1097682, "name": "tough-cookie", "dependency": "tough-cookie", "title": "tough-cookie Prototype Pollution vulnerability", "url": "https://github.com/advisories/GHSA-72xf-g2v4-qvf3", "severity": "moderate", "cwe": ["CWE-1321"], "cvss": {"score": 6.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N"}, "range": "<4.1.3"}], "effects": ["request"], "range": "<4.1.3", "nodes": ["node_modules/request/node_modules/tough-cookie"], "fixAvailable": false}, "wdio-mediawiki": {"name": "wdio-mediawiki", "severity": "moderate", "isDirect": true, "via": ["mwbot"], "effects": [], "range": "*", "nodes": ["node_modules/wdio-mediawiki"], "fixAvailable": false}, "webdriver": {"name": "webdriver", "severity": "low", "isDirect": false, "via": ["@wdio/config"], "effects": [], "range": ">=7.20.0", "nodes": ["node_modules/webdriver"], "fixAvailable": true}, "webdriverio": {"name": "webdriverio", "severity": "high", "isDirect": false, "via": ["@wdio/config", "devtools", "minimatch", "puppeteer-core", "webdriver"], "effects": ["@wdio/cli", "@wdio/runner"], "range": ">=7.16.5", "nodes": ["node_modules/webdriverio"], "fixAvailable": {"name": "@wdio/cli", "version": "9.15.0", "isSemVerMajor": true}}, "ws": {"name": "ws", "severity": "high", "isDirect": false, "via": [{"source": 1098392, "name": "ws", "dependency": "ws", "title": "ws affected by a DoS when handling a request with many HTTP headers", "url": "https://github.com/advisories/GHSA-3h5v-q93c-6h6q", "severity": "high", "cwe": ["CWE-476"], "cvss": {"score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}, "range": ">=8.0.0 <8.17.1"}], "effects": ["puppeteer-core"], "range": "8.0.0 - 8.17.0", "nodes": ["node_modules/puppeteer-core/node_modules/ws"], "fixAvailable": {"name": "@wdio/cli", "version": "9.15.0", "isSemVerMajor": true}}, "yarn-install": {"name": "yarn-install", "severity": "high", "isDirect": false, "via": ["cross-spawn"], "effects": ["@wdio/cli"], "range": "*", "nodes": ["node_modules/yarn-install"], "fixAvailable": {"name": "@wdio/cli", "version": "9.15.0", "isSemVerMajor": true}}}, "metadata": {"vulnerabilities": {"info": 0, "low": 19, "moderate": 4, "high": 11, "critical": 0, "total": 34}, "dependencies": {"prod": 1, "dev": 1347, "optional": 4, "peer": 1, "peerOptional": 0, "total": 1347}}}}
$ /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
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wikimedia/codex@2.0.0',
npm WARN EBADENGINE   required: { node: '>=20', npm: '>=10.8.1' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wikimedia/codex-icons@2.0.0',
npm WARN EBADENGINE   required: { node: '>=20', npm: '>=10.8.1' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN deprecated @types/easy-table@1.2.3: This is a stub types definition. easy-table provides its own type definitions, so you do not need this installed.
npm WARN deprecated osenv@0.1.5: This package is no longer supported.
npm WARN deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated @humanwhocodes/config-array@0.13.0: Use @eslint/config-array instead
npm WARN deprecated rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported
npm WARN deprecated abab@2.0.6: Use your platform's native atob() and btoa() methods instead
npm WARN deprecated glob@8.1.0: Glob versions prior to v9 are no longer supported
npm WARN deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.1.7: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.1.7: Glob versions prior to v9 are no longer supported
npm WARN deprecated domexception@4.0.0: Use your platform's native DOMException instead
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
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 1346 packages, and audited 1347 packages in 20s

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

# npm audit report

brace-expansion  2.0.1 - 4.0.0
brace-expansion Regular Expression Denial of Service vulnerability - https://github.com/advisories/GHSA-v6h2-p8h4-qcjw
fix available via `npm audit fix --force`
Will install @wdio/mocha-framework@7.19.5, which is a breaking change
node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion
node_modules/editorconfig/node_modules/brace-expansion
node_modules/eslint-plugin-n/node_modules/brace-expansion
node_modules/filelist/node_modules/brace-expansion
node_modules/glob/node_modules/brace-expansion
node_modules/js-beautify/node_modules/brace-expansion
node_modules/mocha/node_modules/brace-expansion
node_modules/readdir-glob/node_modules/brace-expansion
node_modules/webdriverio/node_modules/brace-expansion
  minimatch  5.0.0 - 9.0.5 || >=10.0.1
  Depends on vulnerable versions of brace-expansion
  node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch
  node_modules/editorconfig/node_modules/minimatch
  node_modules/eslint-plugin-n/node_modules/minimatch
  node_modules/filelist/node_modules/minimatch
  node_modules/glob/node_modules/minimatch
  node_modules/js-beautify/node_modules/minimatch
  node_modules/mocha/node_modules/minimatch
  node_modules/readdir-glob/node_modules/minimatch
  node_modules/webdriverio/node_modules/minimatch
    @typescript-eslint/typescript-estree  >=6.16.0
    Depends on vulnerable versions of minimatch
    node_modules/@typescript-eslint/typescript-estree
      @typescript-eslint/utils  >=6.16.0
      Depends on vulnerable versions of @typescript-eslint/typescript-estree
      node_modules/@typescript-eslint/utils
        eslint-plugin-n  >=17.0.0-0
        Depends on vulnerable versions of @typescript-eslint/utils
        Depends on vulnerable versions of minimatch
        node_modules/eslint-plugin-n
          eslint-config-wikimedia  >=0.28.0
          Depends on vulnerable versions of eslint-plugin-n
          node_modules/eslint-config-wikimedia
    editorconfig  >=1.0.0
    Depends on vulnerable versions of minimatch
    node_modules/editorconfig
      js-beautify  >=1.14.5
      Depends on vulnerable versions of editorconfig
      Depends on vulnerable versions of glob
      node_modules/js-beautify
        @vue/test-utils  >=2.4.1
        Depends on vulnerable versions of js-beautify
        node_modules/@vue/test-utils
          @testing-library/vue  >=8.0.0
          Depends on vulnerable versions of @vue/test-utils
          node_modules/@testing-library/vue
    filelist  >=1.0.3
    Depends on vulnerable versions of minimatch
    node_modules/filelist
      jake  >=10.8.6
      Depends on vulnerable versions of filelist
      node_modules/jake
    glob  >=8.0.1
    Depends on vulnerable versions of minimatch
    node_modules/glob
    node_modules/js-beautify/node_modules/glob
      @wdio/config  >=7.20.0
      Depends on vulnerable versions of glob
      node_modules/@wdio/config
        @wdio/cli  >=5.4.10
        Depends on vulnerable versions of @wdio/config
        Depends on vulnerable versions of webdriverio
        Depends on vulnerable versions of yarn-install
        node_modules/@wdio/cli
          @wdio/junit-reporter  6.0.4 - 8.0.0-alpha.631
          Depends on vulnerable versions of @wdio/cli
          node_modules/@wdio/junit-reporter
          @wdio/local-runner  6.0.4 - 9.8.0
          Depends on vulnerable versions of @wdio/cli
          Depends on vulnerable versions of @wdio/runner
          node_modules/@wdio/local-runner
          @wdio/spec-reporter  6.0.4 - 8.0.0-alpha.631
          Depends on vulnerable versions of @wdio/cli
          node_modules/@wdio/spec-reporter
        @wdio/runner  >=7.16.16
        Depends on vulnerable versions of @wdio/config
        Depends on vulnerable versions of webdriver
        Depends on vulnerable versions of webdriverio
        node_modules/@wdio/runner
        devtools  >=7.16.5
        Depends on vulnerable versions of @wdio/config
        Depends on vulnerable versions of puppeteer-core
        node_modules/devtools
        webdriver  >=7.20.0
        Depends on vulnerable versions of @wdio/config
        node_modules/webdriver
        webdriverio  >=7.16.5
        Depends on vulnerable versions of @wdio/config
        Depends on vulnerable versions of devtools
        Depends on vulnerable versions of minimatch
        Depends on vulnerable versions of puppeteer-core
        Depends on vulnerable versions of webdriver
        node_modules/webdriverio
      mocha  >=10.0.0
      Depends on vulnerable versions of glob
      Depends on vulnerable versions of minimatch
      node_modules/mocha
        @wdio/mocha-framework  >=7.19.7
        Depends on vulnerable versions of mocha
        node_modules/@wdio/mocha-framework
    readdir-glob  >=1.1.2
    Depends on vulnerable versions of minimatch
    node_modules/readdir-glob
      archiver  >=5.3.2
      Depends on vulnerable versions of readdir-glob
      node_modules/archiver

cross-spawn  <6.0.6
Severity: high
Regular Expression Denial of Service (ReDoS) in cross-spawn - https://github.com/advisories/GHSA-3xgq-45jj-v275
fix available via `npm audit fix --force`
Will install @wdio/cli@9.15.0, which is a breaking change
node_modules/yarn-install/node_modules/cross-spawn
  yarn-install  *
  Depends on vulnerable versions of cross-spawn
  node_modules/yarn-install

request  *
Severity: moderate
Server-Side Request Forgery in Request - https://github.com/advisories/GHSA-p8p7-x288-28g6
Depends on vulnerable versions of tough-cookie
No fix available
node_modules/request
  mwbot  >=0.1.6
  Depends on vulnerable versions of request
  node_modules/mwbot
    wdio-mediawiki  *
    Depends on vulnerable versions of mwbot
    node_modules/wdio-mediawiki

tar-fs  2.0.0 - 2.1.2
Severity: high
tar-fs Vulnerable to Link Following and Path Traversal via Extracting a Crafted tar File - https://github.com/advisories/GHSA-pq67-2wwv-3xjx
tar-fs can extract outside the specified dir with a specific tarball - https://github.com/advisories/GHSA-8cj5-5rvv-wf4v
fix available via `npm audit fix --force`
Will install @wdio/cli@9.15.0, which is a breaking change
node_modules/tar-fs
  puppeteer-core  10.0.0 - 22.11.1
  Depends on vulnerable versions of tar-fs
  Depends on vulnerable versions of ws
  node_modules/puppeteer-core

tough-cookie  <4.1.3
Severity: moderate
tough-cookie Prototype Pollution vulnerability - https://github.com/advisories/GHSA-72xf-g2v4-qvf3
No fix available
node_modules/request/node_modules/tough-cookie

ws  8.0.0 - 8.17.0
Severity: high
ws affected by a DoS when handling a request with many HTTP headers - https://github.com/advisories/GHSA-3h5v-q93c-6h6q
fix available via `npm audit fix --force`
Will install @wdio/cli@9.15.0, which is a breaking change
node_modules/puppeteer-core/node_modules/ws

35 vulnerabilities (20 low, 4 moderate, 11 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.

--- end ---
Verifying that tests still pass
$ /usr/bin/npm ci
--- stderr ---
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wikimedia/codex@2.0.0',
npm WARN EBADENGINE   required: { node: '>=20', npm: '>=10.8.1' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wikimedia/codex-icons@2.0.0',
npm WARN EBADENGINE   required: { node: '>=20', npm: '>=10.8.1' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN deprecated @types/easy-table@1.2.3: This is a stub types definition. easy-table provides its own type definitions, so you do not need this installed.
npm WARN deprecated osenv@0.1.5: This package is no longer supported.
npm WARN deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated @humanwhocodes/config-array@0.13.0: Use @eslint/config-array instead
npm WARN deprecated rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported
npm WARN deprecated abab@2.0.6: Use your platform's native atob() and btoa() methods instead
npm WARN deprecated glob@8.1.0: Glob versions prior to v9 are no longer supported
npm WARN deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.1.7: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.1.7: Glob versions prior to v9 are no longer supported
npm WARN deprecated domexception@4.0.0: Use your platform's native DOMException instead
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
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 1346 packages, and audited 1347 packages in 24s

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

35 vulnerabilities (20 low, 4 moderate, 11 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
--- stderr ---
PASS tests/jest/store/stores/factory.test.js
PASS tests/jest/store/stores/submission.test.js
PASS tests/jest/store/stores/zobject.test.js
PASS tests/jest/store/stores/library.test.js
PASS tests/jest/store/stores/zfunction.test.js
PASS tests/jest/utils/typeUtils.test.js
PASS tests/jest/store/stores/router.test.js
PASS tests/jest/components/widgets/about/About.test.js (5.402 s)
PASS tests/jest/components/widgets/about/AboutLanguageBlock.test.js
PASS tests/jest/components/default/ZObjectKeyValue.test.js (7.755 s)
PASS tests/jest/components/default/ZObjectStringRenderer.test.js
PASS tests/jest/store/stores/wikidata/entities.test.js
PASS tests/jest/components/visualeditor/FunctionInputPreview.test.js
PASS tests/jest/utils/zobjectUtils.test.js
PASS tests/jest/store/stores/testResults.test.js
PASS tests/jest/components/widgets/function-evaluator/FunctionEvaluator.test.js
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: call - {"zobjecttype":"Z14","zobjectid":"Z12345","zlang":"Z1002","selectedfunctionzid":"Z10000","haserrors":false}

      at Object.<anonymous> (jest.setup.js:132:12)

    console.log
      Metrics Platform event emitted using submitInteraction: call - {"zobjecttype":"Z14","zobjectid":"Z12345","zlang":"Z1002","selectedfunctionzid":"Z10000","haserrors":false}

      at Object.<anonymous> (jest.setup.js:132:12)

PASS tests/jest/components/default/ZObjectToString.test.js (6.701 s)
PASS tests/jest/components/base/ModeSelector.test.js
PASS tests/jest/store/stores/ztype.test.js
PASS tests/jest/components/widgets/function-evaluator/FunctionMetadataDialog.test.js
PASS tests/jest/components/default/ZCode.test.js
PASS tests/jest/components/widgets/function-explorer/FunctionExplorer.test.js
PASS tests/jest/components/base/ZObjectSelector.test.js
PASS tests/jest/components/function/viewer/FunctionViewerDetails.test.js
PASS tests/jest/store/classes/ApiError.test.js
PASS tests/jest/store/stores/wikidata/lexemes.test.js
PASS tests/jest/components/widgets/about/AboutLanguagesDialog.test.js
PASS tests/jest/languageselector/LanguageSelector.test.js
PASS tests/jest/components/default/wikidata/EntitySelector.test.js
PASS tests/jest/components/default/ZImplementation.test.js
PASS tests/jest/components/widgets/publish/PublishDialog.test.js
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: publish - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002","haserrors":false}

      at Object.<anonymous> (jest.setup.js:132:12)

    console.log
      Metrics Platform event emitted using submitInteraction: publish - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002","haserrors":false}

      at Object.<anonymous> (jest.setup.js:132:12)

    console.log
      Metrics Platform event emitted using submitInteraction: publish - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002","haserrors":false}

      at Object.<anonymous> (jest.setup.js:132:12)

    console.log
      Metrics Platform event emitted using submitInteraction: publish - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002","haserrors":false}

      at Object.<anonymous> (jest.setup.js:132:12)

    console.log
      Metrics Platform event emitted using submitInteraction: publish - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002","haserrors":false}

      at Object.<anonymous> (jest.setup.js:132:12)

    console.log
      Metrics Platform event emitted using submitInteraction: publish - {"zobjecttype":"Z14","zobjectid":"Z10001","zlang":"Z1002","implementationtype":"Z14K3","haserrors":false}

      at Object.<anonymous> (jest.setup.js:132:12)

    console.log
      Metrics Platform event emitted using submitInteraction: publish - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002","haserrors":true}

      at Object.<anonymous> (jest.setup.js:132:12)

PASS tests/jest/store/stores/currentPage.test.js
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:132:12)

PASS tests/jest/utils/schemata.test.js
PASS tests/jest/components/default/ZTester.test.js
PASS tests/jest/store/stores/wikidata/properties.test.js
PASS tests/jest/integration/CreateNewWikidataEnum.test.js (17.67 s)
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: create - {"zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:132:12)

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z0","zobjecttype":"Z7","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:132:12)

    console.log
      Metrics Platform event emitted using submitInteraction: publish - {"zobjecttype":"Z7","zobjectid":"Z0","zlang":"Z1002","haserrors":false}

      at Object.<anonymous> (jest.setup.js:132:12)

    console.log
      Metrics Platform event emitted using submitInteraction: create - {"zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:132:12)

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z0","zobjecttype":"Z7","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:132:12)

    console.log
      Metrics Platform event emitted using submitInteraction: publish - {"zobjecttype":"Z7","zobjectid":"Z0","zlang":"Z1002","haserrors":false}

      at Object.<anonymous> (jest.setup.js:132:12)

PASS tests/jest/integration/DisconnectFunctionImplementation.test.js (5.85 s)
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: view - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:132:12)

    console.log
      Metrics Platform event emitted using submitInteraction: view - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:132:12)

    console.log
      Metrics Platform event emitted using submitInteraction: view - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:132:12)

PASS tests/jest/integration/CreateNewTester.test.js (8.925 s)
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z0","zobjecttype":"Z20","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:132:12)

    console.log
      Metrics Platform event emitted using submitInteraction: create - {"zobjecttype":"Z20","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:132:12)

    console.log
      Metrics Platform event emitted using submitInteraction: publish - {"zobjecttype":"Z20","zobjectid":"Z0","zlang":"Z1002","haserrors":false}

      at Object.<anonymous> (jest.setup.js:132:12)

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z0","zobjecttype":"Z20","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:132:12)

    console.log
      Metrics Platform event emitted using submitInteraction: create - {"zobjecttype":"Z20","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:132:12)

PASS tests/jest/components/widgets/function-report/FunctionReport.test.js
PASS tests/jest/store/stores/wikidata/items.test.js
PASS tests/jest/components/default/wikidata/LexemeForm.test.js
PASS tests/jest/components/default/wikidata/Property.test.js
PASS tests/jest/components/base/TypeSelector.test.js
PASS tests/jest/components/widgets/publish/Publish.test.js
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: cancel - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002","implementationtype":"Z14K3"}

      at Object.<anonymous> (jest.setup.js:132:12)

    console.log
      Metrics Platform event emitted using submitInteraction: cancel - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:132:12)

    console.log
      Metrics Platform event emitted using submitInteraction: cancel - {"zobjecttype":"Z14","zobjectid":"Z10001","zlang":"Z1002","implementationtype":"Z14K3"}

      at Object.<anonymous> (jest.setup.js:132:12)

PASS tests/jest/integration/CreateNewCompositionImplementation.test.js (10.8 s)
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: create - {"zobjecttype":"Z14","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:132:12)

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z0","zobjecttype":"Z14","implementationtype":"Z14K2","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:132:12)

    console.log
      Metrics Platform event emitted using submitInteraction: publish - {"zobjecttype":"Z14","zobjectid":"Z0","zlang":"Z1002","implementationtype":"Z14K2","haserrors":false}

      at Object.<anonymous> (jest.setup.js:132:12)

PASS tests/jest/components/default/wikidata/Lexeme.test.js
PASS tests/jest/components/base/Pagination.test.js
PASS tests/jest/components/default/wikidata/Item.test.js
PASS tests/jest/components/function/editor/FunctionEditorInputsItem.test.js
PASS tests/jest/integration/EditFunction.test.js (5.12 s)
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: edit - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:132:12)

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z12345","zobjecttype":"Z8","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:132:12)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      35 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      36 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 37 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      38 | };
      39 |
      40 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:37:19)
      at Object.<anonymous> (tests/jest/integration/EditFunction.test.js:78:9)

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z12345","zobjecttype":"Z8","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:132:12)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      35 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      36 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 37 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      38 | };
      39 |
      40 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:37:19)
      at Object.<anonymous> (tests/jest/integration/EditFunction.test.js:86:9)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      35 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      36 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 37 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      38 | };
      39 |
      40 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:37:19)
      at Object.<anonymous> (tests/jest/integration/EditFunction.test.js:91:9)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      35 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      36 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 37 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      38 | };
      39 |
      40 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:37:19)
      at Object.<anonymous> (tests/jest/integration/EditFunction.test.js:112:9)

    console.error
      Error: Not implemented: navigation (except hash changes)
          at module.exports (/src/repo/node_modules/jsdom/lib/jsdom/browser/not-implemented.js:9:17)
          at navigateFetch (/src/repo/node_modules/jsdom/lib/jsdom/living/window/navigation.js:77:3)
          at exports.navigate (/src/repo/node_modules/jsdom/lib/jsdom/living/window/navigation.js:55:3)
          at LocationImpl._locationObjectNavigate (/src/repo/node_modules/jsdom/lib/jsdom/living/window/Location-impl.js:31:5)
          at LocationImpl._locationObjectSetterNavigate (/src/repo/node_modules/jsdom/lib/jsdom/living/window/Location-impl.js:25:17)
          at LocationImpl.set href [as href] (/src/repo/node_modules/jsdom/lib/jsdom/living/window/Location-impl.js:47:10)
          at Location.set href [as href] (/src/repo/node_modules/jsdom/lib/jsdom/living/generated/Location.js:125:37)
          at Proxy.successfulExit (/src/repo/resources/ext.wikilambda.app/components/widgets/publish/PublishDialog.vue:300:24)
          at /src/repo/resources/ext.wikilambda.app/components/widgets/publish/PublishDialog.vue:326:10
          at processTicksAndRejections (node:internal/process/task_queues:95:5) {
        type: 'not implemented'
      }

      298 | 			this.setDirty( false );
      299 | 			this.closeDialog();
    > 300 | 			window.location.href = !pageTitle ?
          | 			                    ^
      301 | 				new mw.Title( Constants.PATHS.MAIN_PAGE ).getUrl() :
      302 | 				urlUtils.generateViewUrl( {
      303 | 					langCode: this.getUserLangCode,

      at VirtualConsole.<anonymous> (node_modules/jest-environment-jsdom/build/index.js:63:23)
      at module.exports (node_modules/jsdom/lib/jsdom/browser/not-implemented.js:12:26)
      at navigateFetch (node_modules/jsdom/lib/jsdom/living/window/navigation.js:77:3)
      at exports.navigate (node_modules/jsdom/lib/jsdom/living/window/navigation.js:55:3)
      at LocationImpl._locationObjectNavigate (node_modules/jsdom/lib/jsdom/living/window/Location-impl.js:31:5)
      at LocationImpl._locationObjectSetterNavigate (node_modules/jsdom/lib/jsdom/living/window/Location-impl.js:25:17)
      at LocationImpl.set href [as href] (node_modules/jsdom/lib/jsdom/living/window/Location-impl.js:47:10)
      at Location.set href [as href] (node_modules/jsdom/lib/jsdom/living/generated/Location.js:125:37)
      at Proxy.successfulExit (resources/ext.wikilambda.app/components/widgets/publish/PublishDialog.vue:300:24)
      at resources/ext.wikilambda.app/components/widgets/publish/PublishDialog.vue:326:10

    console.log
      Metrics Platform event emitted using submitInteraction: publish - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002","haserrors":false}

      at Object.<anonymous> (jest.setup.js:132:12)

PASS tests/jest/integration/CreateNewFunction.test.js
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: create - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:132:12)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      35 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      36 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 37 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      38 | };
      39 |
      40 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:37:19)
      at Object.<anonymous> (tests/jest/integration/CreateNewFunction.test.js:52:9)

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z0","zobjecttype":"Z8","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:132:12)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      35 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      36 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 37 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      38 | };
      39 |
      40 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:37:19)
      at Object.<anonymous> (tests/jest/integration/CreateNewFunction.test.js:56:9)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      35 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      36 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 37 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      38 | };
      39 |
      40 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:37:19)
      at Object.<anonymous> (tests/jest/integration/CreateNewFunction.test.js:70:9)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      35 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      36 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 37 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      38 | };
      39 |
      40 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:37:19)
      at Object.<anonymous> (tests/jest/integration/CreateNewFunction.test.js:86:9)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      35 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      36 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 37 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      38 | };
      39 |
      40 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:37:19)
      at Object.<anonymous> (tests/jest/integration/CreateNewFunction.test.js:104:9)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      35 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      36 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 37 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      38 | };
      39 |
      40 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:37:19)
      at Object.<anonymous> (tests/jest/integration/CreateNewFunction.test.js:108:9)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      35 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      36 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 37 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      38 | };
      39 |
      40 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:37:19)
      at Object.<anonymous> (tests/jest/integration/CreateNewFunction.test.js:117:9)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      35 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      36 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 37 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      38 | };
      39 |
      40 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:37:19)
      at Object.<anonymous> (tests/jest/integration/CreateNewFunction.test.js:121:9)

    console.error
      Error: Not implemented: navigation (except hash changes)
          at module.exports (/src/repo/node_modules/jsdom/lib/jsdom/browser/not-implemented.js:9:17)
          at navigateFetch (/src/repo/node_modules/jsdom/lib/jsdom/living/window/navigation.js:77:3)
          at exports.navigate (/src/repo/node_modules/jsdom/lib/jsdom/living/window/navigation.js:55:3)
          at LocationImpl._locationObjectNavigate (/src/repo/node_modules/jsdom/lib/jsdom/living/window/Location-impl.js:31:5)
          at LocationImpl._locationObjectSetterNavigate (/src/repo/node_modules/jsdom/lib/jsdom/living/window/Location-impl.js:25:17)
          at LocationImpl.set href [as href] (/src/repo/node_modules/jsdom/lib/jsdom/living/window/Location-impl.js:47:10)
          at Location.set href [as href] (/src/repo/node_modules/jsdom/lib/jsdom/living/generated/Location.js:125:37)
          at Proxy.successfulExit (/src/repo/resources/ext.wikilambda.app/components/widgets/publish/PublishDialog.vue:300:24)
          at /src/repo/resources/ext.wikilambda.app/components/widgets/publish/PublishDialog.vue:326:10
          at processTicksAndRejections (node:internal/process/task_queues:95:5) {
        type: 'not implemented'
      }

      298 | 			this.setDirty( false );
      299 | 			this.closeDialog();
    > 300 | 			window.location.href = !pageTitle ?
          | 			                    ^
      301 | 				new mw.Title( Constants.PATHS.MAIN_PAGE ).getUrl() :
      302 | 				urlUtils.generateViewUrl( {
      303 | 					langCode: this.getUserLangCode,

      at VirtualConsole.<anonymous> (node_modules/jest-environment-jsdom/build/index.js:63:23)
      at module.exports (node_modules/jsdom/lib/jsdom/browser/not-implemented.js:12:26)
      at navigateFetch (node_modules/jsdom/lib/jsdom/living/window/navigation.js:77:3)
      at exports.navigate (node_modules/jsdom/lib/jsdom/living/window/navigation.js:55:3)
      at LocationImpl._locationObjectNavigate (node_modules/jsdom/lib/jsdom/living/window/Location-impl.js:31:5)
      at LocationImpl._locationObjectSetterNavigate (node_modules/jsdom/lib/jsdom/living/window/Location-impl.js:25:17)
      at LocationImpl.set href [as href] (node_modules/jsdom/lib/jsdom/living/window/Location-impl.js:47:10)
      at Location.set href [as href] (node_modules/jsdom/lib/jsdom/living/generated/Location.js:125:37)
      at Proxy.successfulExit (resources/ext.wikilambda.app/components/widgets/publish/PublishDialog.vue:300:24)
      at resources/ext.wikilambda.app/components/widgets/publish/PublishDialog.vue:326:10

    console.log
      Metrics Platform event emitted using submitInteraction: publish - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002","haserrors":false}

      at Object.<anonymous> (jest.setup.js:132:12)

PASS tests/jest/components/default/ZArgumentReference.test.js
PASS tests/jest/components/default/ZReference.test.js
PASS tests/jest/integration/CreateNewCodeImplementation.test.js (10.82 s)
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: create - {"zobjecttype":"Z14","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:132:12)

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z0","zobjecttype":"Z14","implementationtype":"Z14K2","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:132:12)

    console.log
      Metrics Platform event emitted using submitInteraction: publish - {"zobjecttype":"Z14","zobjectid":"Z0","zlang":"Z1002","implementationtype":"Z14K3","haserrors":false}

      at Object.<anonymous> (jest.setup.js:132:12)

    console.log
      Metrics Platform event emitted using submitInteraction: create - {"zobjecttype":"Z14","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:132:12)

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z0","zobjecttype":"Z14","implementationtype":"Z14K2","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:132:12)

PASS tests/jest/store/stores/visualeditor.test.js
PASS tests/jest/components/function/editor/FunctionEditorAliases.test.js
PASS tests/jest/components/visualeditor/FunctionInputSetup.test.js
PASS tests/jest/components/visualeditor/FunctionInputParser.test.js
PASS tests/jest/integration/FunctionEditorEdgeCases.test.js (5.617 s)
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: create - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:132:12)

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z0","zobjecttype":"Z8","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:132:12)

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z0","zobjecttype":"Z8","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:132:12)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      35 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      36 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 37 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      38 | };
      39 |
      40 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:37:19)
      at Object.<anonymous> (tests/jest/integration/FunctionEditorEdgeCases.test.js:96:9)

    console.log
      Metrics Platform event emitted using submitInteraction: publish - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002","haserrors":false}

      at Object.<anonymous> (jest.setup.js:132:12)

PASS tests/jest/components/function/editor/FunctionEditorName.test.js
PASS tests/jest/store/stores/errors.test.js
PASS tests/jest/utils/miscUtils.test.js
PASS tests/jest/mixins/pageTitleMixin.test.js
PASS tests/jest/components/base/ClipboardManager.test.js
PASS tests/jest/components/function/editor/FunctionEditorInputs.test.js
PASS tests/jest/components/visualeditor/FunctionInputField.test.js
PASS tests/jest/components/default/ZTypedList.test.js
PASS tests/jest/components/function/editor/FunctionEditorDescription.test.js
PASS tests/jest/integration/RunFunctionCall.test.js
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: call - {"zobjectid":"Z0","zlang":"Z1002","selectedfunctionzid":"Z12345","haserrors":false}

      at Object.<anonymous> (jest.setup.js:132:12)

PASS tests/jest/components/function/editor/FunctionEditorLanguageBlock.test.js
PASS tests/jest/components/default/wikidata/ReferenceSelector.test.js
PASS tests/jest/mixins/errorMixin.test.js
PASS tests/jest/integration/FunctionEditorGenericTypes.test.js (5.259 s)
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: create - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:132:12)

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z0","zobjecttype":"Z8","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:132:12)

    console.log
      Metrics Platform event emitted using submitInteraction: publish - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002","haserrors":false}

      at Object.<anonymous> (jest.setup.js:132:12)

PASS tests/jest/composables/useBreakpoints.test.js
PASS tests/jest/components/widgets/function-report/FunctionReportItem.test.js
PASS tests/jest/store/stores/functionCall.test.js
PASS tests/jest/components/base/CodeEditor.test.js
PASS tests/jest/components/default/ZTypedListType.test.js
PASS tests/jest/components/default/wikidata/Enum.test.js
PASS tests/jest/components/App.test.js
PASS tests/jest/components/visualeditor/FunctionSelect.test.js
PASS tests/jest/store/stores/user.test.js
PASS tests/jest/utils/urlUtils.test.js
PASS tests/jest/components/visualeditor/FunctionInputEnum.test.js
PASS tests/jest/store/stores/listItems.test.js
PASS tests/jest/components/function/editor/FunctionEditor.test.js
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: create - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:132:12)

    console.log
      Metrics Platform event emitted using submitInteraction: create - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:132:12)

    console.log
      Metrics Platform event emitted using submitInteraction: create - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:132:12)

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z0","zobjecttype":"Z8","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:132:12)

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z0","zobjecttype":"Z8","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:132:12)

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z0","zobjecttype":"Z8","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:132:12)

    console.log
      Metrics Platform event emitted using submitInteraction: create - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:132:12)

PASS tests/jest/components/default/ZMonolingualString.test.js
PASS tests/jest/mixins/eventLogMixin.test.js
PASS tests/jest/integration/ConnectFunctionImplementation.test.js
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: view - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:132:12)

PASS tests/jest/components/base/ExpandedToggle.test.js
PASS tests/jest/integration/ConnectFunctionTest.test.js
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: view - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:132:12)

PASS tests/jest/components/widgets/function-evaluator/EvaluationResult.test.js
PASS tests/jest/integration/DisconnectFunctionTest.test.js
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: view - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:132:12)

PASS tests/jest/store/stores/languages.test.js
PASS tests/jest/components/function/editor/FunctionEditorOutput.test.js
PASS tests/jest/components/visualeditor/FunctionCallSetup.test.js
PASS tests/jest/components/function/editor/FunctionEditorLanguage.test.js
PASS tests/jest/integration/CancelEditExistingFunction.test.js (5.557 s)
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: edit - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:132:12)

    console.log
      Metrics Platform event emitted using submitInteraction: cancel - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:132:12)

    console.log
      Metrics Platform event emitted using submitInteraction: edit - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:132:12)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      35 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      36 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 37 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      38 | };
      39 |
      40 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:37:19)
      at Object.<anonymous> (tests/jest/integration/CancelEditExistingFunction.test.js:62:9)

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z12345","zobjecttype":"Z8","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:132:12)

    console.log
      Metrics Platform event emitted using submitInteraction: cancel - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:132:12)

PASS tests/jest/components/default/ZString.test.js
PASS tests/jest/mixins/clipboardMixin.test.js
PASS tests/jest/components/default/ZTypedListItems.test.js
PASS tests/jest/components/default/ZBoolean.test.js
PASS tests/jest/components/visualeditor/ExpandableDescription.test.js
PASS tests/jest/components/base/LocalizedLabel.test.js
PASS tests/jest/components/base/TypeToString.test.js
PASS tests/jest/views/FunctionViewer.test.js
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: view - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:132:12)

    console.log
      Metrics Platform event emitted using submitInteraction: view - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:132:12)

    console.log
      Metrics Platform event emitted using submitInteraction: view - {"zobjecttype":"Z8","zobjectid":"Z12345","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:132:12)

PASS tests/jest/store/stores/programmingLanguages.test.js
PASS tests/jest/integration/CancelEditNewFunction.test.js
  ● Console

    console.log
      Metrics Platform event emitted using submitInteraction: create - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:132:12)

    console.log
      Metrics Platform event emitted using submitInteraction: cancel - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:132:12)

    console.log
      Metrics Platform event emitted using submitInteraction: create - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:132:12)

    console.warn
      Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead.

      35 | 	const textbox = within( parentWrapper ).getByRole( 'textbox' );
      36 | 	// TODO (T370511): Using "fireEvent.change" may lead to unexpected results. Please use fireEvent.update() instead
    > 37 | 	return fireEvent.change( textbox, { target: { value: newText } } );
         | 	                 ^
      38 | };
      39 |
      40 | const chipInputAddChip = async ( parentWrapper, newChip ) => {

      at warnOnChangeOrInputEventCalledDirectly (node_modules/@testing-library/vue/dist/fire-event.js:103:13)
      at Function.<anonymous> (node_modules/@testing-library/vue/dist/fire-event.js:32:5)
      at asyncGeneratorStep (node_modules/@testing-library/vue/dist/fire-event.js:10:103)
      at _next (node_modules/@testing-library/vue/dist/fire-event.js:12:194)
      at node_modules/@testing-library/vue/dist/fire-event.js:12:364
      at Function.change (node_modules/@testing-library/vue/dist/fire-event.js:12:97)
      at textInputChange (tests/jest/integration/helpers/interactionHelpers.js:37:19)
      at Object.<anonymous> (tests/jest/integration/CancelEditNewFunction.test.js:55:9)

    console.log
      Metrics Platform event emitted using submitInteraction: change - {"zobjectid":"Z0","zobjecttype":"Z8","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:132:12)

    console.log
      Metrics Platform event emitted using submitInteraction: cancel - {"zobjecttype":"Z8","zobjectid":"Z0","zlang":"Z1002"}

      at Object.<anonymous> (jest.setup.js:132:12)

PASS tests/jest/components/widgets/publish/LeaveEditorDialog.test.js
PASS tests/jest/components/default/ZFunctionCall.test.js
PASS tests/jest/components/visualeditor/FunctionInputString.test.js
PASS tests/jest/components/function/viewer/FunctionViewerDetailsTable.test.js
PASS tests/jest/utils/wikidataUtils.test.js
PASS tests/jest/store/index.test.js

Test Suites: 114 passed, 114 total
Tests:       1708 passed, 1708 total
Snapshots:   0 total
Time:        94.982 s
Ran all test suites.
--- stdout ---

> test
> grunt test && npm run test:unit

Running "eslint:all" (eslint) task

/src/repo/docker-compose.sample.yml
   3:1  warning  This line has a length of 103. Maximum allowed is 100  max-len
   4:1  warning  This line has a length of 107. Maximum allowed is 100  max-len
  48:1  warning  This line has a length of 117. Maximum allowed is 100  max-len
  49:1  warning  This line has a length of 104. Maximum allowed is 100  max-len
  50:1  warning  This line has a length of 106. Maximum allowed is 100  max-len
  56:1  warning  This line has a length of 120. Maximum allowed is 100  max-len
  57:1  warning  This line has a length of 104. Maximum allowed is 100  max-len
  58:1  warning  This line has a length of 109. Maximum allowed is 100  max-len

✖ 8 problems (0 errors, 8 warnings)


Running "banana:WikiLambda" (banana) task
>> 3 message directories checked.

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

Done.

> test:unit
> jest

-----------------------------------------------------------|---------|----------|---------|---------|-----------------------------------------------------------------------------------------------------------------
File                                                       | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s                                                                                               
-----------------------------------------------------------|---------|----------|---------|---------|-----------------------------------------------------------------------------------------------------------------
All files                                                  |   98.43 |    93.39 |   96.74 |   98.43 |                                                                                                                 
 ext.wikilambda.app/components                             |   97.74 |      100 |     100 |   97.74 |                                                                                                                 
  App.vue                                                  |   97.74 |      100 |     100 |   97.74 | 93,97,117                                                                                                       
 ext.wikilambda.app/components/base                        |    98.5 |    92.16 |   96.59 |    98.5 |                                                                                                                 
  ClipboardManager.vue                                     |   97.77 |    85.71 |     100 |   97.77 | 69-70                                                                                                           
  CodeEditor.vue                                           |     100 |      100 |     100 |     100 |                                                                                                                 
  CustomDialogHeader.vue                                   |     100 |      100 |     100 |     100 |                                                                                                                 
  ExpandedToggle.vue                                       |     100 |      100 |     100 |     100 |                                                                                                                 
  KeyBlock.vue                                             |     100 |      100 |     100 |     100 |                                                                                                                 
  KeyValueBlock.vue                                        |     100 |      100 |     100 |     100 |                                                                                                                 
  LocalizedLabel.vue                                       |     100 |      100 |     100 |     100 |                                                                                                                 
  ModeSelector.vue                                         |   99.41 |    95.12 |     100 |   99.41 | 211-212                                                                                                         
  Pagination.vue                                           |     100 |      100 |     100 |     100 |                                                                                                                 
  StatusIcon.vue                                           |     100 |      100 |     100 |     100 |                                                                                                                 
  TypeSelector.vue                                         |   94.73 |       80 |    87.5 |   94.73 | 165-169,181-183,186-189                                                                                         
  TypeToString.vue                                         |   99.34 |    94.11 |     100 |   99.34 | 81                                                                                                              
  WidgetBase.vue                                           |     100 |      100 |     100 |     100 |                                                                                                                 
  ZObjectSelector.vue                                      |   96.87 |    89.15 |      92 |   96.87 | 338,346-351,394-395,455-456,482-483,494-495,524-526,575-576                                                     
 ext.wikilambda.app/components/default-view-types          |   98.55 |    93.59 |   94.17 |   98.55 |                                                                                                                 
  ZArgumentReference.vue                                   |     100 |      100 |     100 |     100 |                                                                                                                 
  ZBoolean.vue                                             |     100 |      100 |     100 |     100 |                                                                                                                 
  ZCode.vue                                                |   97.48 |    91.37 |     100 |   97.48 | 361,407-418                                                                                                     
  ZFunctionCall.vue                                        |     100 |      100 |     100 |     100 |                                                                                                                 
  ZImplementation.vue                                      |     100 |      100 |     100 |     100 |                                                                                                                 
  ZMonolingualString.vue                                   |     100 |     92.3 |     100 |     100 | 137                                                                                                             
  ZObjectKeyValue.vue                                      |   97.01 |    93.18 |    86.2 |   97.01 | 205,214,247-248,313,344-345,404-405,638-640,664-665,695-696,711-712,818-819,821-822,824-825,827-828,844         
  ZObjectKeyValueSet.vue                                   |   98.13 |      100 |      75 |   98.13 | 84-85                                                                                                           
  ZObjectStringRenderer.vue                                |   97.61 |    89.47 |   84.61 |   97.61 | 253,378-379,455,478-481,514-518                                                                                 
  ZObjectToString.vue                                      |   99.24 |    95.83 |     100 |   99.24 | 237-238,260-261                                                                                                 
  ZReference.vue                                           |     100 |    91.66 |     100 |     100 | 110,137                                                                                                         
  ZString.vue                                              |     100 |      100 |     100 |     100 |                                                                                                                 
  ZTester.vue                                              |    99.3 |    95.45 |     100 |    99.3 | 218-219                                                                                                         
  ZTypedList.vue                                           |   98.57 |    88.88 |   83.33 |   98.57 | 130-131                                                                                                         
  ZTypedListItems.vue                                      |   98.52 |      100 |      80 |   98.52 | 86-87                                                                                                           
  ZTypedListType.vue                                       |     100 |      100 |     100 |     100 |                                                                                                                 
 ext.wikilambda.app/components/default-view-types/wikidata |   98.77 |    87.28 |   95.16 |   98.77 |                                                                                                                 
  EntitySelector.vue                                       |   96.31 |    83.87 |      90 |   96.31 | 86,90,179-185                                                                                                   
  Enum.vue                                                 |     100 |    84.21 |     100 |     100 | 113,124,136                                                                                                     
  Item.vue                                                 |     100 |    92.85 |     100 |     100 | 139                                                                                                             
  Lexeme.vue                                               |     100 |    92.85 |     100 |     100 | 139                                                                                                             
  LexemeForm.vue                                           |   97.31 |    81.81 |    87.5 |   97.31 | 147-151                                                                                                         
  Property.vue                                             |   98.89 |    81.81 |    87.5 |   98.89 | 146-147                                                                                                         
  ReferenceSelector.vue                                    |     100 |    93.75 |     100 |     100 | 122                                                                                                             
  wikidataIconSvg.js                                       |     100 |      100 |     100 |     100 |                                                                                                                 
 ext.wikilambda.app/components/function/editor             |   99.07 |    93.75 |   97.08 |   99.07 |                                                                                                                 
  FunctionEditor.vue                                       |   98.68 |    82.92 |     100 |   98.68 | 125,129-131                                                                                                     
  FunctionEditorAliases.vue                                |     100 |      100 |     100 |     100 |                                                                                                                 
  FunctionEditorDescription.vue                            |   96.88 |    90.47 |   91.66 |   96.88 | 151-152,161-162,188-190                                                                                         
  FunctionEditorField.vue                                  |     100 |      100 |     100 |     100 |                                                                                                                 
  FunctionEditorInputs.vue                                 |     100 |      100 |     100 |     100 |                                                                                                                 
  FunctionEditorInputsItem.vue                             |    99.4 |      100 |    92.3 |    99.4 | 229-230                                                                                                         
  FunctionEditorLanguage.vue                               |     100 |      100 |     100 |     100 |                                                                                                                 
  FunctionEditorLanguageBlock.vue                          |     100 |      100 |     100 |     100 |                                                                                                                 
  FunctionEditorName.vue                                   |   96.99 |     90.9 |   91.66 |   96.99 | 157-158,167-168,194-196                                                                                         
  FunctionEditorOutput.vue                                 |     100 |      100 |     100 |     100 |                                                                                                                 
 ext.wikilambda.app/components/function/viewer             |   98.77 |    96.12 |   98.03 |   98.77 |                                                                                                                 
  FunctionTesterTable.vue                                  |      95 |    85.71 |    87.5 |      95 | 91-92,109,159-164                                                                                               
  FunctionViewerDetails.vue                                |   99.32 |    98.01 |     100 |   99.32 | 237-238,575,597,618                                                                                             
  FunctionViewerDetailsTable.vue                           |     100 |      100 |     100 |     100 |                                                                                                                 
 ext.wikilambda.app/components/visualeditor                |   98.45 |     96.6 |   95.41 |   98.45 |                                                                                                                 
  ExpandableDescription.vue                                |   98.62 |      100 |   83.33 |   98.62 | 91-92                                                                                                           
  FunctionCallSetup.vue                                    |   97.56 |      100 |      75 |   97.56 | 98,105-106                                                                                                      
  FunctionInputEnum.vue                                    |   98.41 |    95.83 |    92.3 |   98.41 | 85,156-157                                                                                                      
  FunctionInputField.vue                                   |    98.8 |    92.85 |     100 |    98.8 | 98-99                                                                                                           
  FunctionInputParser.vue                                  |   95.06 |    91.89 |     100 |   95.06 | 100-102,172-177,289-295                                                                                         
  FunctionInputPreview.vue                                 |   99.62 |    98.41 |     100 |   99.62 | 424-425                                                                                                         
  FunctionInputSetup.vue                                   |   98.88 |      100 |      95 |   98.88 | 116-119                                                                                                         
  FunctionInputString.vue                                  |     100 |      100 |     100 |     100 |                                                                                                                 
  FunctionSelect.vue                                       |   98.98 |    93.33 |     100 |   98.98 | 144-145                                                                                                         
  FunctionSelectItem.vue                                   |     100 |      100 |     100 |     100 |                                                                                                                 
  wikifunctionsIconSvg.js                                  |     100 |      100 |     100 |     100 |                                                                                                                 
 ext.wikilambda.app/components/widgets/about               |   98.41 |    91.95 |   95.16 |   98.41 |                                                                                                                 
  About.vue                                                |   98.73 |    94.84 |   93.33 |   98.73 | 247,291-294,329-330,436-437                                                                                     
  AboutLanguageBlock.vue                                   |   99.66 |    95.65 |     100 |   99.66 | 482-483                                                                                                         
  AboutLanguagesDialog.vue                                 |   95.86 |    77.41 |   92.85 |   95.86 | 251-253,264-266,286-287,315-316,318-319,321-322,324-325                                                         
 ext.wikilambda.app/components/widgets/function-evaluator  |   97.11 |    81.08 |   94.91 |   97.11 |                                                                                                                 
  EvaluationResult.vue                                     |   96.18 |       75 |      60 |   96.18 | 89,98-99,113-114                                                                                                
  FunctionEvaluator.vue                                    |     100 |       88 |     100 |     100 | 269,364,400,431-433                                                                                             
  FunctionMetadataDialog.vue                               |   95.44 |    77.65 |   96.77 |   95.44 | 250-251,297-298,304-305,399-400,420,436-437,552-553,610-611,636,647-648,652,673,701-703,727-731,736-740,745-749 
 ext.wikilambda.app/components/widgets/function-explorer   |   99.71 |      100 |   91.66 |   99.71 |                                                                                                                 
  FunctionExplorer.vue                                     |   99.71 |      100 |   91.66 |   99.71 | 280                                                                                                             
 ext.wikilambda.app/components/widgets/function-report     |      97 |    91.56 |   89.65 |      97 |                                                                                                                 
  FunctionReport.vue                                       |   96.44 |    87.03 |   90.47 |   96.44 | 226-228,286-288,294-296,330-331,340-341                                                                         
  FunctionReportItem.vue                                   |   97.86 |      100 |    87.5 |   97.86 | 180-184                                                                                                         
 ext.wikilambda.app/components/widgets/publish             |   97.92 |     84.5 |   91.89 |   97.92 |                                                                                                                 
  LeaveEditorDialog.vue                                    |     100 |      100 |     100 |     100 |                                                                                                                 
  Publish.vue                                              |    94.4 |    81.25 |   81.25 |    94.4 | 99-107,134,199-201,219-221                                                                                      
  PublishDialog.vue                                        |     100 |    85.29 |     100 |     100 | 234,300,336-338                                                                                                 
 ext.wikilambda.app/composables                            |     100 |      100 |     100 |     100 |                                                                                                                 
  useBreakpoints.js                                        |     100 |      100 |     100 |     100 |                                                                                                                 
 ext.wikilambda.app/mixins                                 |   99.25 |    91.89 |     100 |   99.25 |                                                                                                                 
  clipboardMixin.js                                        |     100 |      100 |     100 |     100 |                                                                                                                 
  errorMixin.js                                            |    98.3 |    81.81 |     100 |    98.3 | 83-84                                                                                                           
  eventLogMixin.js                                         |   97.43 |    93.33 |     100 |   97.43 | 45-46                                                                                                           
  metadataMixin.js                                         |     100 |      100 |     100 |     100 |                                                                                                                 
  pageTitleMixin.js                                        |     100 |    94.44 |     100 |     100 | 73                                                                                                              
  typeMixin.js                                             |     100 |      100 |     100 |     100 |                                                                                                                 
 ext.wikilambda.app/store                                  |     100 |      100 |     100 |     100 |                                                                                                                 
  index.js                                                 |     100 |      100 |     100 |     100 |                                                                                                                 
 ext.wikilambda.app/store/classes                          |   98.91 |    96.36 |     100 |   98.91 |                                                                                                                 
  ApiError.js                                              |    97.9 |    92.85 |     100 |    97.9 | 180-183                                                                                                         
  LabelData.js                                             |     100 |      100 |     100 |     100 |                                                                                                                 
  Row.js                                                   |     100 |      100 |     100 |     100 |                                                                                                                 
 ext.wikilambda.app/store/stores                           |   98.52 |    95.95 |   99.04 |   98.52 |                                                                                                                 
  errors.js                                                |   98.21 |    95.65 |     100 |   98.21 | 144-146                                                                                                         
  functionCall.js                                          |     100 |      100 |     100 |     100 |                                                                                                                 
  languages.js                                             |   92.39 |    76.92 |     100 |   92.39 | 26-29,43-45                                                                                                     
  library.js                                               |   96.23 |    95.28 |   94.44 |   96.23 | 138-139,397-405,509-510,535-536,547-550,554,594-602,612-617,645-647,852,970-971,1080                            
  listItems.js                                             |     100 |      100 |     100 |     100 |                                                                                                                 
  programmingLanguages.js                                  |     100 |      100 |     100 |     100 |                                                                                                                 
  router.js                                                |     100 |     97.5 |     100 |     100 | 21                                                                                                              
  testResults.js                                           |     100 |    91.66 |     100 |     100 | 133,203,253-255                                                                                                 
  user.js                                                  |     100 |      100 |     100 |     100 |                                                                                                                 
  visualeditor.js                                          |   98.96 |       95 |     100 |   98.96 | 73-74                                                                                                           
  zfunction.js                                             |     100 |      100 |     100 |     100 |                                                                                                                 
  zobject.js                                               |   98.92 |    95.92 |     100 |   98.92 | 414-418,481-482,502-503,523-524,1020-1021,1053-1054,1322-1323,1576-1577,1914-1916                               
  ztype.js                                                 |    99.4 |      100 |     100 |    99.4 | 285-286                                                                                                         
 ext.wikilambda.app/store/stores/wikidata                  |   99.68 |    93.39 |     100 |   99.68 |                                                                                                                 
  entities.js                                              |   99.64 |    95.16 |     100 |   99.64 | 216                                                                                                             
  items.js                                                 |     100 |    95.23 |     100 |     100 | 97,118                                                                                                          
  lexemes.js                                               |   99.34 |    92.64 |     100 |   99.34 | 230-231                                                                                                         
  properties.js                                            |     100 |       90 |     100 |     100 | 63,91,94,116                                                                                                    
 ext.wikilambda.app/store/stores/zobject                   |   98.22 |    94.87 |     100 |   98.22 |                                                                                                                 
  currentPage.js                                           |     100 |    96.42 |     100 |     100 | 171                                                                                                             
  factory.js                                               |   96.73 |    91.05 |     100 |   96.73 | 164-170,787-793,807-813,817-823,829                                                                             
  submission.js                                            |     100 |      100 |     100 |     100 |                                                                                                                 
 ext.wikilambda.app/utils                                  |   97.73 |    95.04 |   98.27 |   97.73 |                                                                                                                 
  apiUtils.js                                              |   98.44 |    83.33 |     100 |   98.44 | 230-232,290-291                                                                                                 
  miscUtils.js                                             |     100 |      100 |     100 |     100 |                                                                                                                 
  schemata.js                                              |   96.58 |    92.85 |     100 |   96.58 | 171-176,208-209,211-212,302-303                                                                                 
  typeUtils.js                                             |   97.09 |    99.02 |     100 |   97.09 | 551-572                                                                                                         
  urlUtils.js                                              |      98 |      100 |    87.5 |      98 | 96-97                                                                                                           
  wikidataUtils.js                                         |     100 |      100 |     100 |     100 |                                                                                                                 
  zobjectUtils.js                                          |     100 |      100 |     100 |     100 |                                                                                                                 
 ext.wikilambda.app/views                                  |   96.73 |    70.58 |      90 |   96.73 |                                                                                                                 
  Default.vue                                              |    97.4 |       68 |    92.3 |    97.4 | 184-185,226,240-243                                                                                             
  FunctionEditor.vue                                       |     100 |      100 |     100 |     100 |                                                                                                                 
  FunctionEvaluator.vue                                    |     100 |      100 |     100 |     100 |                                                                                                                 
  FunctionViewer.vue                                       |   93.33 |    71.42 |      80 |   93.33 | 83-90                                                                                                           
 ext.wikilambda.languageselector/components                |   98.05 |    93.75 |   94.11 |   98.05 |                                                                                                                 
  LanguageSelector.vue                                     |   98.05 |    93.75 |   94.11 |   98.05 | 228-229,267-268,289-290                                                                                         
-----------------------------------------------------------|---------|----------|---------|---------|-----------------------------------------------------------------------------------------------------------------

--- end ---
{}
{}
{}
{}
{}
{}
{}
{}
Traceback (most recent call last):
  File "/venv/lib/python3.11/site-packages/runner-0.1.0-py3.11.egg/runner/__init__.py", line 687, in fix_stylelint_config
    data = gf.parse_section("stylelint")
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/venv/lib/python3.11/site-packages/runner-0.1.0-py3.11.egg/runner/grunt.py", line 135, in parse_section
    return self._inner_parse(base.group(1).splitlines()[1:])
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/venv/lib/python3.11/site-packages/runner-0.1.0-py3.11.egg/runner/grunt.py", line 187, in _inner_parse
    raise RuntimeError("???")
RuntimeError: ???

$ package-lock-lint package-lock.json
--- stdout ---
Checking package-lock.json

--- end ---
[DNM] there are no updates
$ git add .
--- stdout ---

--- end ---
$ git commit -F /tmp/tmpawc201oe
--- stdout ---
[master 0710663] [DNM] there are no updates
 1 file changed, 137 insertions(+), 82 deletions(-)

--- end ---
$ git format-patch HEAD~1 --stdout
--- stdout ---
From 0710663835bbfe8afb8e51030ac82aadbd0d1c89 Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Wed, 11 Jun 2025 09:13:34 +0000
Subject: [PATCH] [DNM] there are no updates

Change-Id: Ib30a672f8244feeb8d5741bd69be1d3e3814282c
---
 package-lock.json | 219 +++++++++++++++++++++++++++++-----------------
 1 file changed, 137 insertions(+), 82 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 93cd0c2..0564978 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1893,11 +1893,10 @@
 			}
 		},
 		"node_modules/@eslint-community/eslint-utils": {
-			"version": "4.6.1",
-			"resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.6.1.tgz",
-			"integrity": "sha512-KTsJMmobmbrFLe3LDh0PC2FXpcSYJt/MLjlkh/9LEnmKYLSYmT/0EW9JWANjeoemiuZrmogti0tW5Ch+qNUYDw==",
+			"version": "4.7.0",
+			"resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz",
+			"integrity": "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"eslint-visitor-keys": "^3.4.3"
 			},
@@ -3658,15 +3657,35 @@
 				"@types/node": "*"
 			}
 		},
+		"node_modules/@typescript-eslint/project-service": {
+			"version": "8.34.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.34.0.tgz",
+			"integrity": "sha512-iEgDALRf970/B2YExmtPMPF54NenZUf4xpL3wsCRx/lgjz6ul/l13R81ozP/ZNuXfnLCS+oPmG7JIxfdNYKELw==",
+			"dev": true,
+			"dependencies": {
+				"@typescript-eslint/tsconfig-utils": "^8.34.0",
+				"@typescript-eslint/types": "^8.34.0",
+				"debug": "^4.3.4"
+			},
+			"engines": {
+				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/typescript-eslint"
+			},
+			"peerDependencies": {
+				"typescript": ">=4.8.4 <5.9.0"
+			}
+		},
 		"node_modules/@typescript-eslint/scope-manager": {
-			"version": "8.30.1",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.30.1.tgz",
-			"integrity": "sha512-+C0B6ChFXZkuaNDl73FJxRYT0G7ufVPOSQkqkpM/U198wUwUFOtgo1k/QzFh1KjpBitaK7R1tgjVz6o9HmsRPg==",
+			"version": "8.34.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.34.0.tgz",
+			"integrity": "sha512-9Ac0X8WiLykl0aj1oYQNcLZjHgBojT6cW68yAgZ19letYu+Hxd0rE0veI1XznSSst1X5lwnxhPbVdwjDRIomRw==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"@typescript-eslint/types": "8.30.1",
-				"@typescript-eslint/visitor-keys": "8.30.1"
+				"@typescript-eslint/types": "8.34.0",
+				"@typescript-eslint/visitor-keys": "8.34.0"
 			},
 			"engines": {
 				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -3676,12 +3695,27 @@
 				"url": "https://opencollective.com/typescript-eslint"
 			}
 		},
+		"node_modules/@typescript-eslint/tsconfig-utils": {
+			"version": "8.34.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.34.0.tgz",
+			"integrity": "sha512-+W9VYHKFIzA5cBeooqQxqNriAP0QeQ7xTiDuIOr71hzgffm3EL2hxwWBIIj4GuofIbKxGNarpKqIq6Q6YrShOA==",
+			"dev": true,
+			"engines": {
+				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/typescript-eslint"
+			},
+			"peerDependencies": {
+				"typescript": ">=4.8.4 <5.9.0"
+			}
+		},
 		"node_modules/@typescript-eslint/types": {
-			"version": "8.30.1",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.30.1.tgz",
-			"integrity": "sha512-81KawPfkuulyWo5QdyG/LOKbspyyiW+p4vpn4bYO7DM/hZImlVnFwrpCTnmNMOt8CvLRr5ojI9nU1Ekpw4RcEw==",
+			"version": "8.34.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.34.0.tgz",
+			"integrity": "sha512-9V24k/paICYPniajHfJ4cuAWETnt7Ssy+R0Rbcqo5sSFr3QEZ/8TSoUi9XeXVBGXCaLtwTOKSLGcInCAvyZeMA==",
 			"dev": true,
-			"license": "MIT",
 			"engines": {
 				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
 			},
@@ -3691,20 +3725,21 @@
 			}
 		},
 		"node_modules/@typescript-eslint/typescript-estree": {
-			"version": "8.30.1",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.30.1.tgz",
-			"integrity": "sha512-kQQnxymiUy9tTb1F2uep9W6aBiYODgq5EMSk6Nxh4Z+BDUoYUSa029ISs5zTzKBFnexQEh71KqwjKnRz58lusQ==",
+			"version": "8.34.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.34.0.tgz",
+			"integrity": "sha512-rOi4KZxI7E0+BMqG7emPSK1bB4RICCpF7QD3KCLXn9ZvWoESsOMlHyZPAHyG04ujVplPaHbmEvs34m+wjgtVtg==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"@typescript-eslint/types": "8.30.1",
-				"@typescript-eslint/visitor-keys": "8.30.1",
+				"@typescript-eslint/project-service": "8.34.0",
+				"@typescript-eslint/tsconfig-utils": "8.34.0",
+				"@typescript-eslint/types": "8.34.0",
+				"@typescript-eslint/visitor-keys": "8.34.0",
 				"debug": "^4.3.4",
 				"fast-glob": "^3.3.2",
 				"is-glob": "^4.0.3",
 				"minimatch": "^9.0.4",
 				"semver": "^7.6.0",
-				"ts-api-utils": "^2.0.1"
+				"ts-api-utils": "^2.1.0"
 			},
 			"engines": {
 				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -3718,11 +3753,10 @@
 			}
 		},
 		"node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
-			"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+			"version": "2.0.2",
+			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
+			"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"balanced-match": "^1.0.0"
 			}
@@ -3732,7 +3766,6 @@
 			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
 			"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
 			"dev": true,
-			"license": "ISC",
 			"dependencies": {
 				"brace-expansion": "^2.0.1"
 			},
@@ -3748,7 +3781,6 @@
 			"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
 			"integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
 			"dev": true,
-			"license": "ISC",
 			"bin": {
 				"semver": "bin/semver.js"
 			},
@@ -3757,16 +3789,15 @@
 			}
 		},
 		"node_modules/@typescript-eslint/utils": {
-			"version": "8.30.1",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.30.1.tgz",
-			"integrity": "sha512-T/8q4R9En2tcEsWPQgB5BQ0XJVOtfARcUvOa8yJP3fh9M/mXraLxZrkCfGb6ChrO/V3W+Xbd04RacUEqk1CFEQ==",
+			"version": "8.34.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.34.0.tgz",
+			"integrity": "sha512-8L4tWatGchV9A1cKbjaavS6mwYwp39jql8xUmIIKJdm+qiaeHy5KMKlBrf30akXAWBzn2SqKsNOtSENWUwg7XQ==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"@eslint-community/eslint-utils": "^4.4.0",
-				"@typescript-eslint/scope-manager": "8.30.1",
-				"@typescript-eslint/types": "8.30.1",
-				"@typescript-eslint/typescript-estree": "8.30.1"
+				"@eslint-community/eslint-utils": "^4.7.0",
+				"@typescript-eslint/scope-manager": "8.34.0",
+				"@typescript-eslint/types": "8.34.0",
+				"@typescript-eslint/typescript-estree": "8.34.0"
 			},
 			"engines": {
 				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -3781,13 +3812,12 @@
 			}
 		},
 		"node_modules/@typescript-eslint/visitor-keys": {
-			"version": "8.30.1",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.30.1.tgz",
-			"integrity": "sha512-aEhgas7aJ6vZnNFC7K4/vMGDGyOiqWcYZPpIWrTKuTAlsvDNKy2GFDqh9smL+iq069ZvR0YzEeq0B8NJlLzjFA==",
+			"version": "8.34.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.34.0.tgz",
+			"integrity": "sha512-qHV7pW7E85A0x6qyrFn+O+q1k1p3tQCsqIZ1KZ5ESLXY57aTvUd3/a4rdPTeXisvhXn2VQG0VSKUqs8KHF2zcA==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"@typescript-eslint/types": "8.30.1",
+				"@typescript-eslint/types": "8.34.0",
 				"eslint-visitor-keys": "^4.2.0"
 			},
 			"engines": {
@@ -3799,11 +3829,10 @@
 			}
 		},
 		"node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": {
-			"version": "4.2.0",
-			"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz",
-			"integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==",
+			"version": "4.2.1",
+			"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz",
+			"integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==",
 			"dev": true,
-			"license": "Apache-2.0",
 			"engines": {
 				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
 			},
@@ -6815,11 +6844,10 @@
 			}
 		},
 		"node_modules/editorconfig/node_modules/brace-expansion": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
-			"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+			"version": "2.0.2",
+			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
+			"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"balanced-match": "^1.0.0"
 			}
@@ -7439,20 +7467,21 @@
 			}
 		},
 		"node_modules/eslint-plugin-n": {
-			"version": "17.17.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-17.17.0.tgz",
-			"integrity": "sha512-2VvPK7Mo73z1rDFb6pTvkH6kFibAmnTubFq5l83vePxu0WiY1s0LOtj2WHb6Sa40R3w4mnh8GFYbHBQyMlotKw==",
+			"version": "17.19.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-17.19.0.tgz",
+			"integrity": "sha512-qxn1NaDHtizbhVAPpbMT8wWFaLtPnwhfN/e+chdu2i6Vgzmo/tGM62tcJ1Hf7J5Ie4dhse3DOPMmDxduzfifzw==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"@eslint-community/eslint-utils": "^4.5.0",
+				"@typescript-eslint/utils": "^8.26.1",
 				"enhanced-resolve": "^5.17.1",
 				"eslint-plugin-es-x": "^7.8.0",
 				"get-tsconfig": "^4.8.1",
 				"globals": "^15.11.0",
 				"ignore": "^5.3.2",
 				"minimatch": "^9.0.5",
-				"semver": "^7.6.3"
+				"semver": "^7.6.3",
+				"ts-declaration-location": "^1.0.6"
 			},
 			"engines": {
 				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -7465,11 +7494,10 @@
 			}
 		},
 		"node_modules/eslint-plugin-n/node_modules/brace-expansion": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
-			"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+			"version": "2.0.2",
+			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
+			"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"balanced-match": "^1.0.0"
 			}
@@ -8643,11 +8671,10 @@
 			}
 		},
 		"node_modules/filelist/node_modules/brace-expansion": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
-			"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+			"version": "2.0.2",
+			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
+			"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"balanced-match": "^1.0.0"
 			}
@@ -9091,11 +9118,10 @@
 			}
 		},
 		"node_modules/glob/node_modules/brace-expansion": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
-			"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+			"version": "2.0.2",
+			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
+			"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"balanced-match": "^1.0.0"
 			}
@@ -12308,11 +12334,10 @@
 			}
 		},
 		"node_modules/js-beautify/node_modules/brace-expansion": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
-			"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+			"version": "2.0.2",
+			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
+			"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"balanced-match": "^1.0.0"
 			}
@@ -13529,11 +13554,10 @@
 			"license": "Python-2.0"
 		},
 		"node_modules/mocha/node_modules/brace-expansion": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
-			"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+			"version": "2.0.2",
+			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
+			"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"balanced-match": "^1.0.0"
 			}
@@ -15114,11 +15138,10 @@
 			}
 		},
 		"node_modules/readdir-glob/node_modules/brace-expansion": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
-			"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+			"version": "2.0.2",
+			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
+			"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"balanced-match": "^1.0.0"
 			}
@@ -16930,7 +16953,6 @@
 			"resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz",
 			"integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==",
 			"dev": true,
-			"license": "MIT",
 			"engines": {
 				"node": ">=18.12"
 			},
@@ -16938,6 +16960,40 @@
 				"typescript": ">=4.8.4"
 			}
 		},
+		"node_modules/ts-declaration-location": {
+			"version": "1.0.7",
+			"resolved": "https://registry.npmjs.org/ts-declaration-location/-/ts-declaration-location-1.0.7.tgz",
+			"integrity": "sha512-EDyGAwH1gO0Ausm9gV6T2nUvBgXT5kGoCMJPllOaooZ+4VvJiKBdZE7wK18N1deEowhcUptS+5GXZK8U/fvpwA==",
+			"dev": true,
+			"funding": [
+				{
+					"type": "ko-fi",
+					"url": "https://ko-fi.com/rebeccastevens"
+				},
+				{
+					"type": "tidelift",
+					"url": "https://tidelift.com/funding/github/npm/ts-declaration-location"
+				}
+			],
+			"dependencies": {
+				"picomatch": "^4.0.2"
+			},
+			"peerDependencies": {
+				"typescript": ">=4.0.0"
+			}
+		},
+		"node_modules/ts-declaration-location/node_modules/picomatch": {
+			"version": "4.0.2",
+			"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz",
+			"integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==",
+			"dev": true,
+			"engines": {
+				"node": ">=12"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/jonschlinkert"
+			}
+		},
 		"node_modules/tsconfig": {
 			"version": "7.0.0",
 			"resolved": "https://registry.npmjs.org/tsconfig/-/tsconfig-7.0.0.tgz",
@@ -17547,11 +17603,10 @@
 			}
 		},
 		"node_modules/webdriverio/node_modules/brace-expansion": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
-			"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+			"version": "2.0.2",
+			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
+			"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"balanced-match": "^1.0.0"
 			}
-- 
2.39.5


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