mediawiki/extensions/VisualEditor (main)

sourcepatches
From cd040009ee0258e7e76d0059785b24f9cdad96e2 Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Wed, 11 Jun 2025 08:52:30 +0000
Subject: [PATCH] [DNM] there are no updates

Change-Id: I374ac1d5847f854f487489828dc8ae01a9675180
---
 package-lock.json | 640 ++++++++++++++++++++++++++++++++++------------
 1 file changed, 481 insertions(+), 159 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 6b04454..772b0b7 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -276,24 +276,27 @@
 			}
 		},
 		"node_modules/@eslint-community/eslint-utils": {
-			"version": "4.4.0",
-			"resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
-			"integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
+			"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,
 			"dependencies": {
-				"eslint-visitor-keys": "^3.3.0"
+				"eslint-visitor-keys": "^3.4.3"
 			},
 			"engines": {
 				"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
 			},
+			"funding": {
+				"url": "https://opencollective.com/eslint"
+			},
 			"peerDependencies": {
 				"eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
 			}
 		},
 		"node_modules/@eslint-community/regexpp": {
-			"version": "4.10.0",
-			"resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz",
-			"integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==",
+			"version": "4.12.1",
+			"resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz",
+			"integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==",
 			"dev": true,
 			"engines": {
 				"node": "^12.0.0 || ^14.0.0 || >=16.0.0"
@@ -1492,6 +1495,40 @@
 				"@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/project-service/node_modules/@typescript-eslint/types": {
+			"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,
+			"engines": {
+				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/typescript-eslint"
+			}
+		},
 		"node_modules/@typescript-eslint/scope-manager": {
 			"version": "7.12.0",
 			"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.12.0.tgz",
@@ -1509,6 +1546,22 @@
 				"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": "7.12.0",
 			"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.12.0.tgz",
@@ -1551,18 +1604,18 @@
 			}
 		},
 		"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,
 			"dependencies": {
 				"balanced-match": "^1.0.0"
 			}
 		},
 		"node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": {
-			"version": "9.0.4",
-			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz",
-			"integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==",
+			"version": "9.0.5",
+			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+			"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
 			"dev": true,
 			"dependencies": {
 				"brace-expansion": "^2.0.1"
@@ -1697,11 +1750,10 @@
 			}
 		},
 		"node_modules/@wdio/config/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"
 			}
@@ -1820,9 +1872,9 @@
 			}
 		},
 		"node_modules/@wdio/mocha-framework/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,
 			"dependencies": {
 				"balanced-match": "^1.0.0"
@@ -5077,9 +5129,9 @@
 			}
 		},
 		"node_modules/enhanced-resolve": {
-			"version": "5.16.1",
-			"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.16.1.tgz",
-			"integrity": "sha512-4U5pNsuDl0EhuZpq46M5xPslstkviJuhrdobaRDBk2Jy2KO37FDAJl4lb2KlNabxT0m4MTK2UHNrsAcphE8nyw==",
+			"version": "5.18.1",
+			"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.1.tgz",
+			"integrity": "sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==",
 			"dev": true,
 			"dependencies": {
 				"graceful-fs": "^4.2.4",
@@ -5363,21 +5415,22 @@
 			}
 		},
 		"node_modules/eslint-plugin-es-x": {
-			"version": "7.6.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-7.6.0.tgz",
-			"integrity": "sha512-I0AmeNgevgaTR7y2lrVCJmGYF0rjoznpDvqV/kIkZSZbZ8Rw3eu4cGlvBBULScfkSOCzqKbff5LR4CNrV7mZHA==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-7.8.0.tgz",
+			"integrity": "sha512-7Ds8+wAAoV3T+LAKeu39Y5BzXCrGKrcISfgKEqTS4BDN8SFEDQd0S43jiQ8vIa3wUKD07qitZdfzlenSi8/0qQ==",
 			"dev": true,
+			"funding": [
+				"https://github.com/sponsors/ota-meshi",
+				"https://opencollective.com/eslint"
+			],
 			"dependencies": {
 				"@eslint-community/eslint-utils": "^4.1.2",
-				"@eslint-community/regexpp": "^4.6.0",
-				"eslint-compat-utils": "^0.5.0"
+				"@eslint-community/regexpp": "^4.11.0",
+				"eslint-compat-utils": "^0.5.1"
 			},
 			"engines": {
 				"node": "^14.18.0 || >=16.0.0"
 			},
-			"funding": {
-				"url": "https://github.com/sponsors/ota-meshi"
-			},
 			"peerDependencies": {
 				"eslint": ">=8"
 			}
@@ -5484,19 +5537,21 @@
 			}
 		},
 		"node_modules/eslint-plugin-n": {
-			"version": "17.7.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-17.7.0.tgz",
-			"integrity": "sha512-4Jg4ZKVE4VjHig2caBqPHYNW5na84RVufUuipFLJbgM/G57O6FdpUKJbHakCDJb/yjQuyqVzYWRtU3HNYaZUwg==",
+			"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,
 			"dependencies": {
-				"@eslint-community/eslint-utils": "^4.4.0",
-				"enhanced-resolve": "^5.15.0",
-				"eslint-plugin-es-x": "^7.5.0",
-				"get-tsconfig": "^4.7.0",
-				"globals": "^15.0.0",
-				"ignore": "^5.2.4",
-				"minimatch": "^9.0.0",
-				"semver": "^7.5.3"
+				"@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",
+				"ts-declaration-location": "^1.0.6"
 			},
 			"engines": {
 				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -5508,19 +5563,129 @@
 				"eslint": ">=8.23.0"
 			}
 		},
+		"node_modules/eslint-plugin-n/node_modules/@typescript-eslint/scope-manager": {
+			"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,
+			"dependencies": {
+				"@typescript-eslint/types": "8.34.0",
+				"@typescript-eslint/visitor-keys": "8.34.0"
+			},
+			"engines": {
+				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/typescript-eslint"
+			}
+		},
+		"node_modules/eslint-plugin-n/node_modules/@typescript-eslint/types": {
+			"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,
+			"engines": {
+				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/typescript-eslint"
+			}
+		},
+		"node_modules/eslint-plugin-n/node_modules/@typescript-eslint/typescript-estree": {
+			"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,
+			"dependencies": {
+				"@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.1.0"
+			},
+			"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/eslint-plugin-n/node_modules/@typescript-eslint/utils": {
+			"version": "8.34.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.34.0.tgz",
+			"integrity": "sha512-8L4tWatGchV9A1cKbjaavS6mwYwp39jql8xUmIIKJdm+qiaeHy5KMKlBrf30akXAWBzn2SqKsNOtSENWUwg7XQ==",
+			"dev": true,
+			"dependencies": {
+				"@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"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/typescript-eslint"
+			},
+			"peerDependencies": {
+				"eslint": "^8.57.0 || ^9.0.0",
+				"typescript": ">=4.8.4 <5.9.0"
+			}
+		},
+		"node_modules/eslint-plugin-n/node_modules/@typescript-eslint/visitor-keys": {
+			"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,
+			"dependencies": {
+				"@typescript-eslint/types": "8.34.0",
+				"eslint-visitor-keys": "^4.2.0"
+			},
+			"engines": {
+				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/typescript-eslint"
+			}
+		},
 		"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,
 			"dependencies": {
 				"balanced-match": "^1.0.0"
 			}
 		},
+		"node_modules/eslint-plugin-n/node_modules/eslint-visitor-keys": {
+			"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,
+			"engines": {
+				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+			},
+			"funding": {
+				"url": "https://opencollective.com/eslint"
+			}
+		},
 		"node_modules/eslint-plugin-n/node_modules/globals": {
-			"version": "15.3.0",
-			"resolved": "https://registry.npmjs.org/globals/-/globals-15.3.0.tgz",
-			"integrity": "sha512-cCdyVjIUVTtX8ZsPkq1oCsOsLmGIswqnjZYMJJTGaNApj1yHtLSymKhwH51ttirREn75z3p4k051clwg7rvNKA==",
+			"version": "15.15.0",
+			"resolved": "https://registry.npmjs.org/globals/-/globals-15.15.0.tgz",
+			"integrity": "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==",
 			"dev": true,
 			"engines": {
 				"node": ">=18"
@@ -5530,9 +5695,9 @@
 			}
 		},
 		"node_modules/eslint-plugin-n/node_modules/minimatch": {
-			"version": "9.0.4",
-			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz",
-			"integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==",
+			"version": "9.0.5",
+			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+			"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
 			"dev": true,
 			"dependencies": {
 				"brace-expansion": "^2.0.1"
@@ -5544,6 +5709,18 @@
 				"url": "https://github.com/sponsors/isaacs"
 			}
 		},
+		"node_modules/eslint-plugin-n/node_modules/ts-api-utils": {
+			"version": "2.1.0",
+			"resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz",
+			"integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==",
+			"dev": true,
+			"engines": {
+				"node": ">=18.12"
+			},
+			"peerDependencies": {
+				"typescript": ">=4.8.4"
+			}
+		},
 		"node_modules/eslint-plugin-no-jquery": {
 			"version": "3.1.1",
 			"resolved": "https://registry.npmjs.org/eslint-plugin-no-jquery/-/eslint-plugin-no-jquery-3.1.1.tgz",
@@ -6319,18 +6496,18 @@
 			}
 		},
 		"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,
 			"dependencies": {
 				"balanced-match": "^1.0.0"
 			}
 		},
 		"node_modules/filelist/node_modules/minimatch": {
-			"version": "5.0.1",
-			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz",
-			"integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==",
+			"version": "5.1.6",
+			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
+			"integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
 			"dev": true,
 			"dependencies": {
 				"brace-expansion": "^2.0.1"
@@ -6807,9 +6984,9 @@
 			}
 		},
 		"node_modules/get-tsconfig": {
-			"version": "4.7.5",
-			"resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.5.tgz",
-			"integrity": "sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==",
+			"version": "4.10.1",
+			"resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.10.1.tgz",
+			"integrity": "sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==",
 			"dev": true,
 			"dependencies": {
 				"resolve-pkg-maps": "^1.0.0"
@@ -7970,9 +8147,9 @@
 			]
 		},
 		"node_modules/ignore": {
-			"version": "5.3.1",
-			"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz",
-			"integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==",
+			"version": "5.3.2",
+			"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
+			"integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
 			"dev": true,
 			"engines": {
 				"node": ">= 4"
@@ -9990,11 +10167,10 @@
 			}
 		},
 		"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"
 			}
@@ -11726,11 +11902,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"
 			}
@@ -12361,9 +12536,9 @@
 			}
 		},
 		"node_modules/semver": {
-			"version": "7.6.2",
-			"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
-			"integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==",
+			"version": "7.7.2",
+			"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
+			"integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
 			"dev": true,
 			"bin": {
 				"semver": "bin/semver.js"
@@ -13658,9 +13833,9 @@
 			"license": "MIT"
 		},
 		"node_modules/tapable": {
-			"version": "2.2.1",
-			"resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
-			"integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
+			"version": "2.2.2",
+			"resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.2.tgz",
+			"integrity": "sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==",
 			"dev": true,
 			"engines": {
 				"node": ">=6"
@@ -13928,6 +14103,40 @@
 				"typescript": ">=4.2.0"
 			}
 		},
+		"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/tslib": {
 			"version": "2.4.0",
 			"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
@@ -14367,11 +14576,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"
 			}
@@ -15112,18 +15320,18 @@
 			}
 		},
 		"@eslint-community/eslint-utils": {
-			"version": "4.4.0",
-			"resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
-			"integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
+			"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,
 			"requires": {
-				"eslint-visitor-keys": "^3.3.0"
+				"eslint-visitor-keys": "^3.4.3"
 			}
 		},
 		"@eslint-community/regexpp": {
-			"version": "4.10.0",
-			"resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz",
-			"integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==",
+			"version": "4.12.1",
+			"resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz",
+			"integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==",
 			"dev": true
 		},
 		"@eslint/eslintrc": {
@@ -16084,6 +16292,25 @@
 				"@types/node": "*"
 			}
 		},
+		"@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,
+			"requires": {
+				"@typescript-eslint/tsconfig-utils": "^8.34.0",
+				"@typescript-eslint/types": "^8.34.0",
+				"debug": "^4.3.4"
+			},
+			"dependencies": {
+				"@typescript-eslint/types": {
+					"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
+				}
+			}
+		},
 		"@typescript-eslint/scope-manager": {
 			"version": "7.12.0",
 			"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.12.0.tgz",
@@ -16094,6 +16321,13 @@
 				"@typescript-eslint/visitor-keys": "7.12.0"
 			}
 		},
+		"@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,
+			"requires": {}
+		},
 		"@typescript-eslint/types": {
 			"version": "7.12.0",
 			"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.12.0.tgz",
@@ -16117,18 +16351,18 @@
 			},
 			"dependencies": {
 				"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,
 					"requires": {
 						"balanced-match": "^1.0.0"
 					}
 				},
 				"minimatch": {
-					"version": "9.0.4",
-					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz",
-					"integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==",
+					"version": "9.0.5",
+					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+					"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
 					"dev": true,
 					"requires": {
 						"brace-expansion": "^2.0.1"
@@ -16223,9 +16457,9 @@
 			},
 			"dependencies": {
 				"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,
 					"requires": {
 						"balanced-match": "^1.0.0"
@@ -16313,9 +16547,9 @@
 			},
 			"dependencies": {
 				"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,
 					"requires": {
 						"balanced-match": "^1.0.0"
@@ -18773,9 +19007,9 @@
 			}
 		},
 		"enhanced-resolve": {
-			"version": "5.16.1",
-			"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.16.1.tgz",
-			"integrity": "sha512-4U5pNsuDl0EhuZpq46M5xPslstkviJuhrdobaRDBk2Jy2KO37FDAJl4lb2KlNabxT0m4MTK2UHNrsAcphE8nyw==",
+			"version": "5.18.1",
+			"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.1.tgz",
+			"integrity": "sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==",
 			"dev": true,
 			"requires": {
 				"graceful-fs": "^4.2.4",
@@ -19003,14 +19237,14 @@
 			}
 		},
 		"eslint-plugin-es-x": {
-			"version": "7.6.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-7.6.0.tgz",
-			"integrity": "sha512-I0AmeNgevgaTR7y2lrVCJmGYF0rjoznpDvqV/kIkZSZbZ8Rw3eu4cGlvBBULScfkSOCzqKbff5LR4CNrV7mZHA==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-7.8.0.tgz",
+			"integrity": "sha512-7Ds8+wAAoV3T+LAKeu39Y5BzXCrGKrcISfgKEqTS4BDN8SFEDQd0S43jiQ8vIa3wUKD07qitZdfzlenSi8/0qQ==",
 			"dev": true,
 			"requires": {
 				"@eslint-community/eslint-utils": "^4.1.2",
-				"@eslint-community/regexpp": "^4.6.0",
-				"eslint-compat-utils": "^0.5.0"
+				"@eslint-community/regexpp": "^4.11.0",
+				"eslint-compat-utils": "^0.5.1"
 			}
 		},
 		"eslint-plugin-jest": {
@@ -19083,44 +19317,115 @@
 			}
 		},
 		"eslint-plugin-n": {
-			"version": "17.7.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-17.7.0.tgz",
-			"integrity": "sha512-4Jg4ZKVE4VjHig2caBqPHYNW5na84RVufUuipFLJbgM/G57O6FdpUKJbHakCDJb/yjQuyqVzYWRtU3HNYaZUwg==",
-			"dev": true,
-			"requires": {
-				"@eslint-community/eslint-utils": "^4.4.0",
-				"enhanced-resolve": "^5.15.0",
-				"eslint-plugin-es-x": "^7.5.0",
-				"get-tsconfig": "^4.7.0",
-				"globals": "^15.0.0",
-				"ignore": "^5.2.4",
-				"minimatch": "^9.0.0",
-				"semver": "^7.5.3"
-			},
-			"dependencies": {
+			"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,
+			"requires": {
+				"@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",
+				"ts-declaration-location": "^1.0.6"
+			},
+			"dependencies": {
+				"@typescript-eslint/scope-manager": {
+					"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,
+					"requires": {
+						"@typescript-eslint/types": "8.34.0",
+						"@typescript-eslint/visitor-keys": "8.34.0"
+					}
+				},
+				"@typescript-eslint/types": {
+					"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
+				},
+				"@typescript-eslint/typescript-estree": {
+					"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,
+					"requires": {
+						"@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.1.0"
+					}
+				},
+				"@typescript-eslint/utils": {
+					"version": "8.34.0",
+					"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.34.0.tgz",
+					"integrity": "sha512-8L4tWatGchV9A1cKbjaavS6mwYwp39jql8xUmIIKJdm+qiaeHy5KMKlBrf30akXAWBzn2SqKsNOtSENWUwg7XQ==",
+					"dev": true,
+					"requires": {
+						"@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"
+					}
+				},
+				"@typescript-eslint/visitor-keys": {
+					"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,
+					"requires": {
+						"@typescript-eslint/types": "8.34.0",
+						"eslint-visitor-keys": "^4.2.0"
+					}
+				},
 				"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,
 					"requires": {
 						"balanced-match": "^1.0.0"
 					}
 				},
+				"eslint-visitor-keys": {
+					"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
+				},
 				"globals": {
-					"version": "15.3.0",
-					"resolved": "https://registry.npmjs.org/globals/-/globals-15.3.0.tgz",
-					"integrity": "sha512-cCdyVjIUVTtX8ZsPkq1oCsOsLmGIswqnjZYMJJTGaNApj1yHtLSymKhwH51ttirREn75z3p4k051clwg7rvNKA==",
+					"version": "15.15.0",
+					"resolved": "https://registry.npmjs.org/globals/-/globals-15.15.0.tgz",
+					"integrity": "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==",
 					"dev": true
 				},
 				"minimatch": {
-					"version": "9.0.4",
-					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz",
-					"integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==",
+					"version": "9.0.5",
+					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+					"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
 					"dev": true,
 					"requires": {
 						"brace-expansion": "^2.0.1"
 					}
+				},
+				"ts-api-utils": {
+					"version": "2.1.0",
+					"resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz",
+					"integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==",
+					"dev": true,
+					"requires": {}
 				}
 			}
 		},
@@ -19682,18 +19987,18 @@
 			},
 			"dependencies": {
 				"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,
 					"requires": {
 						"balanced-match": "^1.0.0"
 					}
 				},
 				"minimatch": {
-					"version": "5.0.1",
-					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz",
-					"integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==",
+					"version": "5.1.6",
+					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
+					"integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
 					"dev": true,
 					"requires": {
 						"brace-expansion": "^2.0.1"
@@ -20040,9 +20345,9 @@
 			}
 		},
 		"get-tsconfig": {
-			"version": "4.7.5",
-			"resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.5.tgz",
-			"integrity": "sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==",
+			"version": "4.10.1",
+			"resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.10.1.tgz",
+			"integrity": "sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==",
 			"dev": true,
 			"requires": {
 				"resolve-pkg-maps": "^1.0.0"
@@ -20902,9 +21207,9 @@
 			"dev": true
 		},
 		"ignore": {
-			"version": "5.3.1",
-			"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz",
-			"integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==",
+			"version": "5.3.2",
+			"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
+			"integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
 			"dev": true
 		},
 		"image-q": {
@@ -22473,9 +22778,9 @@
 			},
 			"dependencies": {
 				"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,
 					"requires": {
 						"balanced-match": "^1.0.0"
@@ -23732,9 +24037,9 @@
 			},
 			"dependencies": {
 				"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,
 					"requires": {
 						"balanced-match": "^1.0.0"
@@ -24214,9 +24519,9 @@
 			}
 		},
 		"semver": {
-			"version": "7.6.2",
-			"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
-			"integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==",
+			"version": "7.7.2",
+			"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
+			"integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
 			"dev": true
 		},
 		"semver-regex": {
@@ -25139,9 +25444,9 @@
 			}
 		},
 		"tapable": {
-			"version": "2.2.1",
-			"resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
-			"integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
+			"version": "2.2.2",
+			"resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.2.tgz",
+			"integrity": "sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==",
 			"dev": true
 		},
 		"tar-fs": {
@@ -25369,6 +25674,23 @@
 			"dev": true,
 			"requires": {}
 		},
+		"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,
+			"requires": {
+				"picomatch": "^4.0.2"
+			},
+			"dependencies": {
+				"picomatch": {
+					"version": "4.0.2",
+					"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz",
+					"integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==",
+					"dev": true
+				}
+			}
+		},
 		"tslib": {
 			"version": "2.4.0",
 			"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
@@ -25687,9 +26009,9 @@
 			},
 			"dependencies": {
 				"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,
 					"requires": {
 						"balanced-match": "^1.0.0"
-- 
2.39.5

$ date
--- stdout ---
Wed Jun 11 08:49:28 UTC 2025

--- end ---
$ git clone file:///srv/git/mediawiki-extensions-VisualEditor.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 'lib/ve' (https://gerrit.wikimedia.org/r/VisualEditor/VisualEditor.git) registered for path 'lib/ve'
Cloning into '/src/repo/lib/ve'...
--- stdout ---
Submodule path 'lib/ve': checked out '99a06f9fd5c3cc63ace146c310648bd44bf0ee3d'

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

--- end ---
$ git show-ref refs/heads/master
--- stdout ---
be0ad91a5e5e4a3c77649574f64c9ebaa902be16 refs/heads/master

--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {
    "@jimp/core": {
      "name": "@jimp/core",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "phin"
      ],
      "effects": [
        "@jimp/custom"
      ],
      "range": "<=0.21.4--canary.1163.d07ed6254d130e2995d24101e93427ec091016e6.0",
      "nodes": [
        "node_modules/@jimp/core"
      ],
      "fixAvailable": {
        "name": "jimp",
        "version": "1.6.0",
        "isSemVerMajor": true
      }
    },
    "@jimp/custom": {
      "name": "@jimp/custom",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "@jimp/core"
      ],
      "effects": [
        "jimp"
      ],
      "range": "<=0.21.4--canary.1163.d07ed6254d130e2995d24101e93427ec091016e6.0",
      "nodes": [
        "node_modules/@jimp/custom"
      ],
      "fixAvailable": {
        "name": "jimp",
        "version": "1.6.0",
        "isSemVerMajor": true
      }
    },
    "@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
    },
    "@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
    },
    "bin-build": {
      "name": "bin-build",
      "severity": "high",
      "isDirect": false,
      "via": [
        "download",
        "execa"
      ],
      "effects": [
        "gifsicle",
        "guetzli",
        "mozjpeg",
        "optipng-bin",
        "pngquant-bin",
        "zopflipng-bin"
      ],
      "range": ">=2.1.2",
      "nodes": [
        "node_modules/bin-build"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "2.4.0",
        "isSemVerMajor": true
      }
    },
    "bin-check": {
      "name": "bin-check",
      "severity": "high",
      "isDirect": false,
      "via": [
        "execa"
      ],
      "effects": [
        "bin-wrapper"
      ],
      "range": ">=4.1.0",
      "nodes": [
        "node_modules/bin-check"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "2.4.0",
        "isSemVerMajor": true
      }
    },
    "bin-version": {
      "name": "bin-version",
      "severity": "high",
      "isDirect": false,
      "via": [
        "find-versions"
      ],
      "effects": [
        "bin-version-check"
      ],
      "range": "<=4.0.0",
      "nodes": [
        "node_modules/bin-version"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "2.4.0",
        "isSemVerMajor": true
      }
    },
    "bin-version-check": {
      "name": "bin-version-check",
      "severity": "high",
      "isDirect": false,
      "via": [
        "bin-version"
      ],
      "effects": [
        "bin-wrapper"
      ],
      "range": "<=4.0.0",
      "nodes": [
        "node_modules/bin-version-check"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "2.4.0",
        "isSemVerMajor": true
      }
    },
    "bin-wrapper": {
      "name": "bin-wrapper",
      "severity": "high",
      "isDirect": false,
      "via": [
        "bin-check",
        "bin-version-check",
        "download"
      ],
      "effects": [
        "gifsicle",
        "guetzli",
        "jpeg-recompress-bin",
        "mozjpeg",
        "optipng-bin",
        "pngquant-bin",
        "zopflipng-bin"
      ],
      "range": ">=0.4.0",
      "nodes": [
        "node_modules/bin-wrapper"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "2.4.0",
        "isSemVerMajor": 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/@wdio/config/node_modules/brace-expansion",
        "node_modules/@wdio/mocha-framework/node_modules/brace-expansion",
        "node_modules/eslint-plugin-n/node_modules/brace-expansion",
        "node_modules/filelist/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": "mocha",
        "version": "9.2.2",
        "isSemVerMajor": true
      }
    },
    "cacheable-request": {
      "name": "cacheable-request",
      "severity": "high",
      "isDirect": false,
      "via": [
        "http-cache-semantics"
      ],
      "effects": [
        "got"
      ],
      "range": "0.1.0 - 2.1.4",
      "nodes": [
        "node_modules/bin-wrapper/node_modules/cacheable-request"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "2.4.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": [
        "execa",
        "yarn-install"
      ],
      "range": "<6.0.6",
      "nodes": [
        "node_modules/execa/node_modules/cross-spawn",
        "node_modules/yarn-install/node_modules/cross-spawn"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.15.0",
        "isSemVerMajor": true
      }
    },
    "css-select": {
      "name": "css-select",
      "severity": "high",
      "isDirect": false,
      "via": [
        "nth-check"
      ],
      "effects": [
        "svgo"
      ],
      "range": "<=3.1.0",
      "nodes": [
        "node_modules/css-select"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "2.4.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
    },
    "download": {
      "name": "download",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "got"
      ],
      "effects": [
        "bin-build",
        "bin-wrapper"
      ],
      "range": ">=4.0.0",
      "nodes": [
        "node_modules/bin-wrapper/node_modules/download",
        "node_modules/download"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "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": [
        "node_modules/eslint-plugin-n"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.27.0",
        "isSemVerMajor": true
      }
    },
    "exec-buffer": {
      "name": "exec-buffer",
      "severity": "high",
      "isDirect": false,
      "via": [
        "execa"
      ],
      "effects": [
        "grunt-image"
      ],
      "range": ">=3.1.0",
      "nodes": [
        "node_modules/exec-buffer"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "2.4.0",
        "isSemVerMajor": true
      }
    },
    "execa": {
      "name": "execa",
      "severity": "high",
      "isDirect": false,
      "via": [
        "cross-spawn"
      ],
      "effects": [
        "bin-build",
        "bin-check",
        "exec-buffer"
      ],
      "range": "0.5.0 - 0.9.0",
      "nodes": [
        "node_modules/execa"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "2.4.0",
        "isSemVerMajor": true
      }
    },
    "filelist": {
      "name": "filelist",
      "severity": "low",
      "isDirect": false,
      "via": [
        "minimatch"
      ],
      "effects": [],
      "range": ">=1.0.3",
      "nodes": [
        "node_modules/filelist"
      ],
      "fixAvailable": true
    },
    "find-versions": {
      "name": "find-versions",
      "severity": "high",
      "isDirect": false,
      "via": [
        "semver-regex"
      ],
      "effects": [
        "bin-version"
      ],
      "range": "<=3.2.0",
      "nodes": [
        "node_modules/find-versions"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "2.4.0",
        "isSemVerMajor": true
      }
    },
    "gifsicle": {
      "name": "gifsicle",
      "severity": "high",
      "isDirect": false,
      "via": [
        "bin-build",
        "bin-wrapper"
      ],
      "effects": [],
      "range": ">=3.0.0",
      "nodes": [
        "node_modules/gifsicle"
      ],
      "fixAvailable": true
    },
    "glob": {
      "name": "glob",
      "severity": "low",
      "isDirect": false,
      "via": [
        "minimatch"
      ],
      "effects": [
        "@wdio/config",
        "mocha"
      ],
      "range": ">=8.0.1",
      "nodes": [
        "node_modules/@wdio/config/node_modules/glob",
        "node_modules/@wdio/mocha-framework/node_modules/glob",
        "node_modules/mocha/node_modules/glob"
      ],
      "fixAvailable": {
        "name": "mocha",
        "version": "9.2.2",
        "isSemVerMajor": true
      }
    },
    "got": {
      "name": "got",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1088948,
          "name": "got",
          "dependency": "got",
          "title": "Got allows a redirect to a UNIX socket",
          "url": "https://github.com/advisories/GHSA-pfrx-2q88-qq97",
          "severity": "moderate",
          "cwe": [],
          "cvss": {
            "score": 5.3,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N"
          },
          "range": "<11.8.5"
        },
        "cacheable-request"
      ],
      "effects": [
        "download"
      ],
      "range": "<=11.8.3",
      "nodes": [
        "node_modules/bin-wrapper/node_modules/got",
        "node_modules/download/node_modules/got"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "2.4.0",
        "isSemVerMajor": true
      }
    },
    "grunt-image": {
      "name": "grunt-image",
      "severity": "high",
      "isDirect": true,
      "via": [
        "exec-buffer",
        "gifsicle",
        "guetzli",
        "jpeg-recompress-bin",
        "mozjpeg",
        "optipng-bin",
        "pngquant-bin",
        "svgo",
        "zopflipng-bin"
      ],
      "effects": [],
      "range": "0.1.0 || >=1.0.0",
      "nodes": [
        "node_modules/grunt-image"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "2.4.0",
        "isSemVerMajor": true
      }
    },
    "guetzli": {
      "name": "guetzli",
      "severity": "high",
      "isDirect": false,
      "via": [
        "bin-build",
        "bin-wrapper"
      ],
      "effects": [
        "grunt-image"
      ],
      "range": "*",
      "nodes": [
        "node_modules/guetzli"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "2.4.0",
        "isSemVerMajor": true
      }
    },
    "http-cache-semantics": {
      "name": "http-cache-semantics",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1102456,
          "name": "http-cache-semantics",
          "dependency": "http-cache-semantics",
          "title": "http-cache-semantics vulnerable to Regular Expression Denial of Service",
          "url": "https://github.com/advisories/GHSA-rc47-6667-2j5j",
          "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": "<4.1.1"
        }
      ],
      "effects": [
        "cacheable-request"
      ],
      "range": "<4.1.1",
      "nodes": [
        "node_modules/bin-wrapper/node_modules/http-cache-semantics"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "2.4.0",
        "isSemVerMajor": true
      }
    },
    "jimp": {
      "name": "jimp",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "@jimp/custom"
      ],
      "effects": [],
      "range": "0.3.6-alpha.5 - 0.21.4--canary.1163.d07ed6254d130e2995d24101e93427ec091016e6.0",
      "nodes": [
        "node_modules/jimp"
      ],
      "fixAvailable": {
        "name": "jimp",
        "version": "1.6.0",
        "isSemVerMajor": true
      }
    },
    "jpeg-recompress-bin": {
      "name": "jpeg-recompress-bin",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "bin-wrapper"
      ],
      "effects": [
        "grunt-image"
      ],
      "range": ">=3.0.1",
      "nodes": [
        "node_modules/jpeg-recompress-bin"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "2.4.0",
        "isSemVerMajor": true
      }
    },
    "meow": {
      "name": "meow",
      "severity": "high",
      "isDirect": false,
      "via": [
        "trim-newlines"
      ],
      "effects": [],
      "range": "3.4.0 - 5.0.0",
      "nodes": [
        "node_modules/meow"
      ],
      "fixAvailable": true
    },
    "minimatch": {
      "name": "minimatch",
      "severity": "low",
      "isDirect": false,
      "via": [
        "brace-expansion"
      ],
      "effects": [
        "@typescript-eslint/typescript-estree",
        "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/@wdio/config/node_modules/minimatch",
        "node_modules/@wdio/mocha-framework/node_modules/minimatch",
        "node_modules/eslint-plugin-n/node_modules/minimatch",
        "node_modules/filelist/node_modules/minimatch",
        "node_modules/mocha/node_modules/glob/node_modules/minimatch",
        "node_modules/mocha/node_modules/minimatch",
        "node_modules/readdir-glob/node_modules/minimatch",
        "node_modules/webdriverio/node_modules/minimatch"
      ],
      "fixAvailable": {
        "name": "mocha",
        "version": "9.2.2",
        "isSemVerMajor": true
      }
    },
    "mocha": {
      "name": "mocha",
      "severity": "low",
      "isDirect": true,
      "via": [
        "glob",
        "minimatch"
      ],
      "effects": [
        "@wdio/mocha-framework"
      ],
      "range": ">=10.0.0",
      "nodes": [
        "node_modules/@wdio/mocha-framework/node_modules/mocha",
        "node_modules/mocha"
      ],
      "fixAvailable": {
        "name": "mocha",
        "version": "9.2.2",
        "isSemVerMajor": true
      }
    },
    "mozjpeg": {
      "name": "mozjpeg",
      "severity": "high",
      "isDirect": false,
      "via": [
        "bin-build",
        "bin-wrapper"
      ],
      "effects": [
        "grunt-image"
      ],
      "range": ">=4.0.0",
      "nodes": [
        "node_modules/mozjpeg"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "2.4.0",
        "isSemVerMajor": true
      }
    },
    "mwbot": {
      "name": "mwbot",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "request"
      ],
      "effects": [
        "wdio-mediawiki"
      ],
      "range": ">=0.1.6",
      "nodes": [
        "node_modules/mwbot"
      ],
      "fixAvailable": false
    },
    "nth-check": {
      "name": "nth-check",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1095141,
          "name": "nth-check",
          "dependency": "nth-check",
          "title": "Inefficient Regular Expression Complexity in nth-check",
          "url": "https://github.com/advisories/GHSA-rp65-9cf3-cjxr",
          "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": "<2.0.1"
        }
      ],
      "effects": [
        "css-select"
      ],
      "range": "<2.0.1",
      "nodes": [
        "node_modules/css-select/node_modules/nth-check"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "2.4.0",
        "isSemVerMajor": true
      }
    },
    "optipng-bin": {
      "name": "optipng-bin",
      "severity": "high",
      "isDirect": false,
      "via": [
        "bin-build",
        "bin-wrapper"
      ],
      "effects": [],
      "range": ">=3.0.0",
      "nodes": [
        "node_modules/optipng-bin"
      ],
      "fixAvailable": true
    },
    "phin": {
      "name": "phin",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1096967,
          "name": "phin",
          "dependency": "phin",
          "title": "phin may include sensitive headers in subsequent requests after redirect",
          "url": "https://github.com/advisories/GHSA-x565-32qp-m3vf",
          "severity": "moderate",
          "cwe": [
            "CWE-200"
          ],
          "cvss": {
            "score": 4.3,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N"
          },
          "range": "<3.7.1"
        }
      ],
      "effects": [
        "@jimp/core"
      ],
      "range": "<3.7.1",
      "nodes": [
        "node_modules/phin"
      ],
      "fixAvailable": {
        "name": "jimp",
        "version": "1.6.0",
        "isSemVerMajor": true
      }
    },
    "pngquant-bin": {
      "name": "pngquant-bin",
      "severity": "high",
      "isDirect": false,
      "via": [
        "bin-build",
        "bin-wrapper"
      ],
      "effects": [
        "grunt-image"
      ],
      "range": ">=3.0.0",
      "nodes": [
        "node_modules/pngquant-bin"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "2.4.0",
        "isSemVerMajor": true
      }
    },
    "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/devtools/node_modules/puppeteer-core",
        "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
    },
    "selenium-webdriver": {
      "name": "selenium-webdriver",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "xml2js"
      ],
      "effects": [],
      "range": "2.43.1 - 4.0.0-rc-2",
      "nodes": [
        "node_modules/selenium-webdriver"
      ],
      "fixAvailable": {
        "name": "selenium-webdriver",
        "version": "4.33.0",
        "isSemVerMajor": true
      }
    },
    "semver-regex": {
      "name": "semver-regex",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1092475,
          "name": "semver-regex",
          "dependency": "semver-regex",
          "title": "semver-regex Regular Expression Denial of Service (ReDOS)",
          "url": "https://github.com/advisories/GHSA-44c6-4v22-4mhx",
          "severity": "high",
          "cwe": [
            "CWE-400",
            "CWE-1333"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": "<3.1.3"
        },
        {
          "source": 1092605,
          "name": "semver-regex",
          "dependency": "semver-regex",
          "title": "Regular expression denial of service in semver-regex",
          "url": "https://github.com/advisories/GHSA-4x5v-gmq8-25ch",
          "severity": "low",
          "cwe": [
            "CWE-1333"
          ],
          "cvss": {
            "score": 0,
            "vectorString": null
          },
          "range": "<3.1.4"
        }
      ],
      "effects": [
        "find-versions"
      ],
      "range": "<=3.1.3",
      "nodes": [
        "node_modules/semver-regex"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "2.4.0",
        "isSemVerMajor": true
      }
    },
    "svgo": {
      "name": "svgo",
      "severity": "high",
      "isDirect": false,
      "via": [
        "css-select"
      ],
      "effects": [
        "grunt-image"
      ],
      "range": "1.0.0 - 1.3.2",
      "nodes": [
        "node_modules/svgo"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "2.4.0",
        "isSemVerMajor": true
      }
    },
    "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/tough-cookie"
      ],
      "fixAvailable": false
    },
    "trim-newlines": {
      "name": "trim-newlines",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1095100,
          "name": "trim-newlines",
          "dependency": "trim-newlines",
          "title": "Uncontrolled Resource Consumption in trim-newlines",
          "url": "https://github.com/advisories/GHSA-7p7h-4mm5-852v",
          "severity": "high",
          "cwe": [
            "CWE-400"
          ],
          "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": "<3.0.1"
        }
      ],
      "effects": [
        "meow"
      ],
      "range": "<3.0.1",
      "nodes": [
        "node_modules/trim-newlines"
      ],
      "fixAvailable": true
    },
    "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/devtools/node_modules/ws",
        "node_modules/ws"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.15.0",
        "isSemVerMajor": true
      }
    },
    "xml2js": {
      "name": "xml2js",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1096693,
          "name": "xml2js",
          "dependency": "xml2js",
          "title": "xml2js is vulnerable to prototype pollution",
          "url": "https://github.com/advisories/GHSA-776f-qx25-q3cc",
          "severity": "moderate",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 5.3,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N"
          },
          "range": "<0.5.0"
        }
      ],
      "effects": [
        "selenium-webdriver"
      ],
      "range": "<0.5.0",
      "nodes": [
        "node_modules/xml2js"
      ],
      "fixAvailable": {
        "name": "selenium-webdriver",
        "version": "4.33.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
      }
    },
    "zopflipng-bin": {
      "name": "zopflipng-bin",
      "severity": "high",
      "isDirect": false,
      "via": [
        "bin-build",
        "bin-wrapper"
      ],
      "effects": [
        "grunt-image"
      ],
      "range": ">=3.0.0",
      "nodes": [
        "node_modules/zopflipng-bin"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "2.4.0",
        "isSemVerMajor": true
      }
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 15,
      "moderate": 12,
      "high": 35,
      "critical": 0,
      "total": 62
    },
    "dependencies": {
      "prod": 1,
      "dev": 1256,
      "optional": 3,
      "peer": 1,
      "peerOptional": 0,
      "total": 1256
    }
  }
}

--- 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: 38 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 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: 38 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 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/36 [>---------------------------]   0%
 20/36 [===============>------------]  55%
 35/36 [===========================>]  97%
 36/36 [============================] 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": {
    "@jimp/core": {
      "name": "@jimp/core",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "phin"
      ],
      "effects": [
        "@jimp/custom"
      ],
      "range": "<=0.21.4--canary.1163.d07ed6254d130e2995d24101e93427ec091016e6.0",
      "nodes": [
        "node_modules/@jimp/core"
      ],
      "fixAvailable": {
        "name": "jimp",
        "version": "1.6.0",
        "isSemVerMajor": true
      }
    },
    "@jimp/custom": {
      "name": "@jimp/custom",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "@jimp/core"
      ],
      "effects": [
        "jimp"
      ],
      "range": "<=0.21.4--canary.1163.d07ed6254d130e2995d24101e93427ec091016e6.0",
      "nodes": [
        "node_modules/@jimp/custom"
      ],
      "fixAvailable": {
        "name": "jimp",
        "version": "1.6.0",
        "isSemVerMajor": true
      }
    },
    "@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
    },
    "@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
    },
    "bin-build": {
      "name": "bin-build",
      "severity": "high",
      "isDirect": false,
      "via": [
        "download",
        "execa"
      ],
      "effects": [
        "gifsicle",
        "guetzli",
        "mozjpeg",
        "optipng-bin",
        "pngquant-bin",
        "zopflipng-bin"
      ],
      "range": ">=2.1.2",
      "nodes": [
        "node_modules/bin-build"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "2.4.0",
        "isSemVerMajor": true
      }
    },
    "bin-check": {
      "name": "bin-check",
      "severity": "high",
      "isDirect": false,
      "via": [
        "execa"
      ],
      "effects": [
        "bin-wrapper"
      ],
      "range": ">=4.1.0",
      "nodes": [
        "node_modules/bin-check"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "2.4.0",
        "isSemVerMajor": true
      }
    },
    "bin-version": {
      "name": "bin-version",
      "severity": "high",
      "isDirect": false,
      "via": [
        "find-versions"
      ],
      "effects": [
        "bin-version-check"
      ],
      "range": "<=4.0.0",
      "nodes": [
        "node_modules/bin-version"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "2.4.0",
        "isSemVerMajor": true
      }
    },
    "bin-version-check": {
      "name": "bin-version-check",
      "severity": "high",
      "isDirect": false,
      "via": [
        "bin-version"
      ],
      "effects": [
        "bin-wrapper"
      ],
      "range": "<=4.0.0",
      "nodes": [
        "node_modules/bin-version-check"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "2.4.0",
        "isSemVerMajor": true
      }
    },
    "bin-wrapper": {
      "name": "bin-wrapper",
      "severity": "high",
      "isDirect": false,
      "via": [
        "bin-check",
        "bin-version-check",
        "download"
      ],
      "effects": [
        "gifsicle",
        "guetzli",
        "jpeg-recompress-bin",
        "mozjpeg",
        "optipng-bin",
        "pngquant-bin",
        "zopflipng-bin"
      ],
      "range": ">=0.4.0",
      "nodes": [
        "node_modules/bin-wrapper"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "2.4.0",
        "isSemVerMajor": 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/@wdio/config/node_modules/brace-expansion",
        "node_modules/@wdio/mocha-framework/node_modules/brace-expansion",
        "node_modules/eslint-plugin-n/node_modules/brace-expansion",
        "node_modules/filelist/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": "mocha",
        "version": "9.2.2",
        "isSemVerMajor": true
      }
    },
    "cacheable-request": {
      "name": "cacheable-request",
      "severity": "high",
      "isDirect": false,
      "via": [
        "http-cache-semantics"
      ],
      "effects": [
        "got"
      ],
      "range": "0.1.0 - 2.1.4",
      "nodes": [
        "node_modules/bin-wrapper/node_modules/cacheable-request"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "2.4.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": [
        "execa",
        "yarn-install"
      ],
      "range": "<6.0.6",
      "nodes": [
        "node_modules/execa/node_modules/cross-spawn",
        "node_modules/yarn-install/node_modules/cross-spawn"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.15.0",
        "isSemVerMajor": true
      }
    },
    "css-select": {
      "name": "css-select",
      "severity": "high",
      "isDirect": false,
      "via": [
        "nth-check"
      ],
      "effects": [
        "svgo"
      ],
      "range": "<=3.1.0",
      "nodes": [
        "node_modules/css-select"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "2.4.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
    },
    "download": {
      "name": "download",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "got"
      ],
      "effects": [
        "bin-build",
        "bin-wrapper"
      ],
      "range": ">=4.0.0",
      "nodes": [
        "node_modules/bin-wrapper/node_modules/download",
        "node_modules/download"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "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": [
        "node_modules/eslint-plugin-n"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.27.0",
        "isSemVerMajor": true
      }
    },
    "exec-buffer": {
      "name": "exec-buffer",
      "severity": "high",
      "isDirect": false,
      "via": [
        "execa"
      ],
      "effects": [
        "grunt-image"
      ],
      "range": ">=3.1.0",
      "nodes": [
        "node_modules/exec-buffer"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "2.4.0",
        "isSemVerMajor": true
      }
    },
    "execa": {
      "name": "execa",
      "severity": "high",
      "isDirect": false,
      "via": [
        "cross-spawn"
      ],
      "effects": [
        "bin-build",
        "bin-check",
        "exec-buffer"
      ],
      "range": "0.5.0 - 0.9.0",
      "nodes": [
        "node_modules/execa"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "2.4.0",
        "isSemVerMajor": true
      }
    },
    "filelist": {
      "name": "filelist",
      "severity": "low",
      "isDirect": false,
      "via": [
        "minimatch"
      ],
      "effects": [],
      "range": ">=1.0.3",
      "nodes": [
        "node_modules/filelist"
      ],
      "fixAvailable": true
    },
    "find-versions": {
      "name": "find-versions",
      "severity": "high",
      "isDirect": false,
      "via": [
        "semver-regex"
      ],
      "effects": [
        "bin-version"
      ],
      "range": "<=3.2.0",
      "nodes": [
        "node_modules/find-versions"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "2.4.0",
        "isSemVerMajor": true
      }
    },
    "gifsicle": {
      "name": "gifsicle",
      "severity": "high",
      "isDirect": false,
      "via": [
        "bin-build",
        "bin-wrapper"
      ],
      "effects": [],
      "range": ">=3.0.0",
      "nodes": [
        "node_modules/gifsicle"
      ],
      "fixAvailable": true
    },
    "glob": {
      "name": "glob",
      "severity": "low",
      "isDirect": false,
      "via": [
        "minimatch"
      ],
      "effects": [
        "@wdio/config",
        "mocha"
      ],
      "range": ">=8.0.1",
      "nodes": [
        "node_modules/@wdio/config/node_modules/glob",
        "node_modules/@wdio/mocha-framework/node_modules/glob",
        "node_modules/mocha/node_modules/glob"
      ],
      "fixAvailable": {
        "name": "mocha",
        "version": "9.2.2",
        "isSemVerMajor": true
      }
    },
    "got": {
      "name": "got",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1088948,
          "name": "got",
          "dependency": "got",
          "title": "Got allows a redirect to a UNIX socket",
          "url": "https://github.com/advisories/GHSA-pfrx-2q88-qq97",
          "severity": "moderate",
          "cwe": [],
          "cvss": {
            "score": 5.3,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N"
          },
          "range": "<11.8.5"
        },
        "cacheable-request"
      ],
      "effects": [
        "download"
      ],
      "range": "<=11.8.3",
      "nodes": [
        "node_modules/bin-wrapper/node_modules/got",
        "node_modules/download/node_modules/got"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "2.4.0",
        "isSemVerMajor": true
      }
    },
    "grunt-image": {
      "name": "grunt-image",
      "severity": "high",
      "isDirect": true,
      "via": [
        "exec-buffer",
        "gifsicle",
        "guetzli",
        "jpeg-recompress-bin",
        "mozjpeg",
        "optipng-bin",
        "pngquant-bin",
        "svgo",
        "zopflipng-bin"
      ],
      "effects": [],
      "range": "0.1.0 || >=1.0.0",
      "nodes": [
        "node_modules/grunt-image"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "2.4.0",
        "isSemVerMajor": true
      }
    },
    "guetzli": {
      "name": "guetzli",
      "severity": "high",
      "isDirect": false,
      "via": [
        "bin-build",
        "bin-wrapper"
      ],
      "effects": [
        "grunt-image"
      ],
      "range": "*",
      "nodes": [
        "node_modules/guetzli"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "2.4.0",
        "isSemVerMajor": true
      }
    },
    "http-cache-semantics": {
      "name": "http-cache-semantics",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1102456,
          "name": "http-cache-semantics",
          "dependency": "http-cache-semantics",
          "title": "http-cache-semantics vulnerable to Regular Expression Denial of Service",
          "url": "https://github.com/advisories/GHSA-rc47-6667-2j5j",
          "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": "<4.1.1"
        }
      ],
      "effects": [
        "cacheable-request"
      ],
      "range": "<4.1.1",
      "nodes": [
        "node_modules/bin-wrapper/node_modules/http-cache-semantics"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "2.4.0",
        "isSemVerMajor": true
      }
    },
    "jimp": {
      "name": "jimp",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "@jimp/custom"
      ],
      "effects": [],
      "range": "0.3.6-alpha.5 - 0.21.4--canary.1163.d07ed6254d130e2995d24101e93427ec091016e6.0",
      "nodes": [
        "node_modules/jimp"
      ],
      "fixAvailable": {
        "name": "jimp",
        "version": "1.6.0",
        "isSemVerMajor": true
      }
    },
    "jpeg-recompress-bin": {
      "name": "jpeg-recompress-bin",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "bin-wrapper"
      ],
      "effects": [
        "grunt-image"
      ],
      "range": ">=3.0.1",
      "nodes": [
        "node_modules/jpeg-recompress-bin"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "2.4.0",
        "isSemVerMajor": true
      }
    },
    "meow": {
      "name": "meow",
      "severity": "high",
      "isDirect": false,
      "via": [
        "trim-newlines"
      ],
      "effects": [],
      "range": "3.4.0 - 5.0.0",
      "nodes": [
        "node_modules/meow"
      ],
      "fixAvailable": true
    },
    "minimatch": {
      "name": "minimatch",
      "severity": "low",
      "isDirect": false,
      "via": [
        "brace-expansion"
      ],
      "effects": [
        "@typescript-eslint/typescript-estree",
        "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/@wdio/config/node_modules/minimatch",
        "node_modules/@wdio/mocha-framework/node_modules/minimatch",
        "node_modules/eslint-plugin-n/node_modules/minimatch",
        "node_modules/filelist/node_modules/minimatch",
        "node_modules/mocha/node_modules/glob/node_modules/minimatch",
        "node_modules/mocha/node_modules/minimatch",
        "node_modules/readdir-glob/node_modules/minimatch",
        "node_modules/webdriverio/node_modules/minimatch"
      ],
      "fixAvailable": {
        "name": "mocha",
        "version": "9.2.2",
        "isSemVerMajor": true
      }
    },
    "mocha": {
      "name": "mocha",
      "severity": "low",
      "isDirect": true,
      "via": [
        "glob",
        "minimatch"
      ],
      "effects": [
        "@wdio/mocha-framework"
      ],
      "range": ">=10.0.0",
      "nodes": [
        "node_modules/@wdio/mocha-framework/node_modules/mocha",
        "node_modules/mocha"
      ],
      "fixAvailable": {
        "name": "mocha",
        "version": "9.2.2",
        "isSemVerMajor": true
      }
    },
    "mozjpeg": {
      "name": "mozjpeg",
      "severity": "high",
      "isDirect": false,
      "via": [
        "bin-build",
        "bin-wrapper"
      ],
      "effects": [
        "grunt-image"
      ],
      "range": ">=4.0.0",
      "nodes": [
        "node_modules/mozjpeg"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "2.4.0",
        "isSemVerMajor": true
      }
    },
    "mwbot": {
      "name": "mwbot",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "request"
      ],
      "effects": [
        "wdio-mediawiki"
      ],
      "range": ">=0.1.6",
      "nodes": [
        "node_modules/mwbot"
      ],
      "fixAvailable": false
    },
    "nth-check": {
      "name": "nth-check",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1095141,
          "name": "nth-check",
          "dependency": "nth-check",
          "title": "Inefficient Regular Expression Complexity in nth-check",
          "url": "https://github.com/advisories/GHSA-rp65-9cf3-cjxr",
          "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": "<2.0.1"
        }
      ],
      "effects": [
        "css-select"
      ],
      "range": "<2.0.1",
      "nodes": [
        "node_modules/css-select/node_modules/nth-check"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "2.4.0",
        "isSemVerMajor": true
      }
    },
    "optipng-bin": {
      "name": "optipng-bin",
      "severity": "high",
      "isDirect": false,
      "via": [
        "bin-build",
        "bin-wrapper"
      ],
      "effects": [],
      "range": ">=3.0.0",
      "nodes": [
        "node_modules/optipng-bin"
      ],
      "fixAvailable": true
    },
    "phin": {
      "name": "phin",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1096967,
          "name": "phin",
          "dependency": "phin",
          "title": "phin may include sensitive headers in subsequent requests after redirect",
          "url": "https://github.com/advisories/GHSA-x565-32qp-m3vf",
          "severity": "moderate",
          "cwe": [
            "CWE-200"
          ],
          "cvss": {
            "score": 4.3,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N"
          },
          "range": "<3.7.1"
        }
      ],
      "effects": [
        "@jimp/core"
      ],
      "range": "<3.7.1",
      "nodes": [
        "node_modules/phin"
      ],
      "fixAvailable": {
        "name": "jimp",
        "version": "1.6.0",
        "isSemVerMajor": true
      }
    },
    "pngquant-bin": {
      "name": "pngquant-bin",
      "severity": "high",
      "isDirect": false,
      "via": [
        "bin-build",
        "bin-wrapper"
      ],
      "effects": [
        "grunt-image"
      ],
      "range": ">=3.0.0",
      "nodes": [
        "node_modules/pngquant-bin"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "2.4.0",
        "isSemVerMajor": true
      }
    },
    "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/devtools/node_modules/puppeteer-core",
        "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
    },
    "selenium-webdriver": {
      "name": "selenium-webdriver",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "xml2js"
      ],
      "effects": [],
      "range": "2.43.1 - 4.0.0-rc-2",
      "nodes": [
        "node_modules/selenium-webdriver"
      ],
      "fixAvailable": {
        "name": "selenium-webdriver",
        "version": "4.33.0",
        "isSemVerMajor": true
      }
    },
    "semver-regex": {
      "name": "semver-regex",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1092475,
          "name": "semver-regex",
          "dependency": "semver-regex",
          "title": "semver-regex Regular Expression Denial of Service (ReDOS)",
          "url": "https://github.com/advisories/GHSA-44c6-4v22-4mhx",
          "severity": "high",
          "cwe": [
            "CWE-400",
            "CWE-1333"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": "<3.1.3"
        },
        {
          "source": 1092605,
          "name": "semver-regex",
          "dependency": "semver-regex",
          "title": "Regular expression denial of service in semver-regex",
          "url": "https://github.com/advisories/GHSA-4x5v-gmq8-25ch",
          "severity": "low",
          "cwe": [
            "CWE-1333"
          ],
          "cvss": {
            "score": 0,
            "vectorString": null
          },
          "range": "<3.1.4"
        }
      ],
      "effects": [
        "find-versions"
      ],
      "range": "<=3.1.3",
      "nodes": [
        "node_modules/semver-regex"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "2.4.0",
        "isSemVerMajor": true
      }
    },
    "svgo": {
      "name": "svgo",
      "severity": "high",
      "isDirect": false,
      "via": [
        "css-select"
      ],
      "effects": [
        "grunt-image"
      ],
      "range": "1.0.0 - 1.3.2",
      "nodes": [
        "node_modules/svgo"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "2.4.0",
        "isSemVerMajor": true
      }
    },
    "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/tough-cookie"
      ],
      "fixAvailable": false
    },
    "trim-newlines": {
      "name": "trim-newlines",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1095100,
          "name": "trim-newlines",
          "dependency": "trim-newlines",
          "title": "Uncontrolled Resource Consumption in trim-newlines",
          "url": "https://github.com/advisories/GHSA-7p7h-4mm5-852v",
          "severity": "high",
          "cwe": [
            "CWE-400"
          ],
          "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": "<3.0.1"
        }
      ],
      "effects": [
        "meow"
      ],
      "range": "<3.0.1",
      "nodes": [
        "node_modules/trim-newlines"
      ],
      "fixAvailable": true
    },
    "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/devtools/node_modules/ws",
        "node_modules/ws"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.15.0",
        "isSemVerMajor": true
      }
    },
    "xml2js": {
      "name": "xml2js",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1096693,
          "name": "xml2js",
          "dependency": "xml2js",
          "title": "xml2js is vulnerable to prototype pollution",
          "url": "https://github.com/advisories/GHSA-776f-qx25-q3cc",
          "severity": "moderate",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 5.3,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N"
          },
          "range": "<0.5.0"
        }
      ],
      "effects": [
        "selenium-webdriver"
      ],
      "range": "<0.5.0",
      "nodes": [
        "node_modules/xml2js"
      ],
      "fixAvailable": {
        "name": "selenium-webdriver",
        "version": "4.33.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
      }
    },
    "zopflipng-bin": {
      "name": "zopflipng-bin",
      "severity": "high",
      "isDirect": false,
      "via": [
        "bin-build",
        "bin-wrapper"
      ],
      "effects": [
        "grunt-image"
      ],
      "range": ">=3.0.0",
      "nodes": [
        "node_modules/zopflipng-bin"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "2.4.0",
        "isSemVerMajor": true
      }
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 15,
      "moderate": 12,
      "high": 35,
      "critical": 0,
      "total": 62
    },
    "dependencies": {
      "prod": 1,
      "dev": 1256,
      "optional": 3,
      "peer": 1,
      "peerOptional": 0,
      "total": 1256
    }
  }
}

--- end ---
Attempting to npm audit fix
$ /usr/bin/npm audit fix --dry-run --only=dev --json
--- stderr ---
npm WARN invalid config only="dev" set in command line options
npm WARN invalid config Must be one of: null, prod, production
--- stdout ---
{
  "added": 1268,
  "removed": 0,
  "changed": 0,
  "audited": 1269,
  "funding": 195,
  "audit": {
    "auditReportVersion": 2,
    "vulnerabilities": {
      "@jimp/core": {
        "name": "@jimp/core",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          "phin"
        ],
        "effects": [
          "@jimp/custom"
        ],
        "range": "<=0.21.4--canary.1163.d07ed6254d130e2995d24101e93427ec091016e6.0",
        "nodes": [
          "node_modules/@jimp/core"
        ],
        "fixAvailable": {
          "name": "jimp",
          "version": "1.6.0",
          "isSemVerMajor": true
        }
      },
      "@jimp/custom": {
        "name": "@jimp/custom",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          "@jimp/core"
        ],
        "effects": [
          "jimp"
        ],
        "range": "<=0.21.4--canary.1163.d07ed6254d130e2995d24101e93427ec091016e6.0",
        "nodes": [
          "node_modules/@jimp/custom"
        ],
        "fixAvailable": {
          "name": "jimp",
          "version": "1.6.0",
          "isSemVerMajor": true
        }
      },
      "@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
      },
      "@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
      },
      "bin-build": {
        "name": "bin-build",
        "severity": "high",
        "isDirect": false,
        "via": [
          "download",
          "execa"
        ],
        "effects": [
          "gifsicle",
          "guetzli",
          "mozjpeg",
          "optipng-bin",
          "pngquant-bin",
          "zopflipng-bin"
        ],
        "range": ">=2.1.2",
        "nodes": [
          "node_modules/bin-build"
        ],
        "fixAvailable": {
          "name": "grunt-image",
          "version": "2.4.0",
          "isSemVerMajor": true
        }
      },
      "bin-check": {
        "name": "bin-check",
        "severity": "high",
        "isDirect": false,
        "via": [
          "execa"
        ],
        "effects": [
          "bin-wrapper"
        ],
        "range": ">=4.1.0",
        "nodes": [
          "node_modules/bin-check"
        ],
        "fixAvailable": {
          "name": "grunt-image",
          "version": "2.4.0",
          "isSemVerMajor": true
        }
      },
      "bin-version": {
        "name": "bin-version",
        "severity": "high",
        "isDirect": false,
        "via": [
          "find-versions"
        ],
        "effects": [
          "bin-version-check"
        ],
        "range": "<=4.0.0",
        "nodes": [
          "node_modules/bin-version"
        ],
        "fixAvailable": {
          "name": "grunt-image",
          "version": "2.4.0",
          "isSemVerMajor": true
        }
      },
      "bin-version-check": {
        "name": "bin-version-check",
        "severity": "high",
        "isDirect": false,
        "via": [
          "bin-version"
        ],
        "effects": [
          "bin-wrapper"
        ],
        "range": "<=4.0.0",
        "nodes": [
          "node_modules/bin-version-check"
        ],
        "fixAvailable": {
          "name": "grunt-image",
          "version": "2.4.0",
          "isSemVerMajor": true
        }
      },
      "bin-wrapper": {
        "name": "bin-wrapper",
        "severity": "high",
        "isDirect": false,
        "via": [
          "bin-check",
          "bin-version-check",
          "download"
        ],
        "effects": [
          "gifsicle",
          "guetzli",
          "jpeg-recompress-bin",
          "mozjpeg",
          "optipng-bin",
          "pngquant-bin",
          "zopflipng-bin"
        ],
        "range": ">=0.4.0",
        "nodes": [
          "node_modules/bin-wrapper"
        ],
        "fixAvailable": {
          "name": "grunt-image",
          "version": "2.4.0",
          "isSemVerMajor": 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/mocha/node_modules/brace-expansion"
        ],
        "fixAvailable": {
          "name": "mocha",
          "version": "9.2.2",
          "isSemVerMajor": true
        }
      },
      "cacheable-request": {
        "name": "cacheable-request",
        "severity": "high",
        "isDirect": false,
        "via": [
          "http-cache-semantics"
        ],
        "effects": [
          "got"
        ],
        "range": "0.1.0 - 2.1.4",
        "nodes": [
          "node_modules/bin-wrapper/node_modules/cacheable-request"
        ],
        "fixAvailable": {
          "name": "grunt-image",
          "version": "2.4.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": [
          "execa",
          "yarn-install"
        ],
        "range": "<6.0.6",
        "nodes": [
          "node_modules/execa/node_modules/cross-spawn",
          "node_modules/yarn-install/node_modules/cross-spawn"
        ],
        "fixAvailable": {
          "name": "@wdio/cli",
          "version": "9.15.0",
          "isSemVerMajor": true
        }
      },
      "css-select": {
        "name": "css-select",
        "severity": "high",
        "isDirect": false,
        "via": [
          "nth-check"
        ],
        "effects": [
          "svgo"
        ],
        "range": "<=3.1.0",
        "nodes": [
          "node_modules/css-select"
        ],
        "fixAvailable": {
          "name": "grunt-image",
          "version": "2.4.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
      },
      "download": {
        "name": "download",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          "got"
        ],
        "effects": [
          "bin-build",
          "bin-wrapper"
        ],
        "range": ">=4.0.0",
        "nodes": [
          "node_modules/bin-wrapper/node_modules/download",
          "node_modules/download"
        ],
        "fixAvailable": {
          "name": "grunt-image",
          "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
        }
      },
      "exec-buffer": {
        "name": "exec-buffer",
        "severity": "high",
        "isDirect": false,
        "via": [
          "execa"
        ],
        "effects": [
          "grunt-image"
        ],
        "range": ">=3.1.0",
        "nodes": [
          "node_modules/exec-buffer"
        ],
        "fixAvailable": {
          "name": "grunt-image",
          "version": "2.4.0",
          "isSemVerMajor": true
        }
      },
      "execa": {
        "name": "execa",
        "severity": "high",
        "isDirect": false,
        "via": [
          "cross-spawn"
        ],
        "effects": [
          "bin-build",
          "bin-check",
          "exec-buffer"
        ],
        "range": "0.5.0 - 0.9.0",
        "nodes": [
          "node_modules/execa"
        ],
        "fixAvailable": {
          "name": "grunt-image",
          "version": "2.4.0",
          "isSemVerMajor": true
        }
      },
      "filelist": {
        "name": "filelist",
        "severity": "low",
        "isDirect": false,
        "via": [
          "minimatch"
        ],
        "effects": [],
        "range": ">=1.0.3",
        "nodes": [
          "node_modules/filelist"
        ],
        "fixAvailable": true
      },
      "find-versions": {
        "name": "find-versions",
        "severity": "high",
        "isDirect": false,
        "via": [
          "semver-regex"
        ],
        "effects": [
          "bin-version"
        ],
        "range": "<=3.2.0",
        "nodes": [
          "node_modules/find-versions"
        ],
        "fixAvailable": {
          "name": "grunt-image",
          "version": "2.4.0",
          "isSemVerMajor": true
        }
      },
      "gifsicle": {
        "name": "gifsicle",
        "severity": "high",
        "isDirect": false,
        "via": [
          "bin-build",
          "bin-wrapper"
        ],
        "effects": [
          "grunt-image"
        ],
        "range": ">=3.0.0",
        "nodes": [
          "node_modules/gifsicle"
        ],
        "fixAvailable": {
          "name": "grunt-image",
          "version": "2.4.0",
          "isSemVerMajor": true
        }
      },
      "glob": {
        "name": "glob",
        "severity": "low",
        "isDirect": false,
        "via": [
          "minimatch"
        ],
        "effects": [
          "@wdio/config",
          "mocha"
        ],
        "range": ">=8.0.1",
        "nodes": [
          "node_modules/@wdio/config/node_modules/glob",
          "node_modules/@wdio/mocha-framework/node_modules/glob",
          "node_modules/mocha/node_modules/glob"
        ],
        "fixAvailable": {
          "name": "mocha",
          "version": "9.2.2",
          "isSemVerMajor": true
        }
      },
      "got": {
        "name": "got",
        "severity": "high",
        "isDirect": false,
        "via": [
          {
            "source": 1088948,
            "name": "got",
            "dependency": "got",
            "title": "Got allows a redirect to a UNIX socket",
            "url": "https://github.com/advisories/GHSA-pfrx-2q88-qq97",
            "severity": "moderate",
            "cwe": [],
            "cvss": {
              "score": 5.3,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N"
            },
            "range": "<11.8.5"
          },
          "cacheable-request"
        ],
        "effects": [
          "download"
        ],
        "range": "<=11.8.3",
        "nodes": [
          "node_modules/bin-wrapper/node_modules/got",
          "node_modules/download/node_modules/got"
        ],
        "fixAvailable": {
          "name": "grunt-image",
          "version": "2.4.0",
          "isSemVerMajor": true
        }
      },
      "grunt-image": {
        "name": "grunt-image",
        "severity": "high",
        "isDirect": true,
        "via": [
          "exec-buffer",
          "gifsicle",
          "guetzli",
          "jpeg-recompress-bin",
          "mozjpeg",
          "optipng-bin",
          "pngquant-bin",
          "svgo",
          "zopflipng-bin"
        ],
        "effects": [],
        "range": "0.1.0 || >=1.0.0",
        "nodes": [
          "node_modules/grunt-image"
        ],
        "fixAvailable": {
          "name": "grunt-image",
          "version": "2.4.0",
          "isSemVerMajor": true
        }
      },
      "guetzli": {
        "name": "guetzli",
        "severity": "high",
        "isDirect": false,
        "via": [
          "bin-build",
          "bin-wrapper"
        ],
        "effects": [
          "grunt-image"
        ],
        "range": "*",
        "nodes": [
          "node_modules/guetzli"
        ],
        "fixAvailable": {
          "name": "grunt-image",
          "version": "2.4.0",
          "isSemVerMajor": true
        }
      },
      "http-cache-semantics": {
        "name": "http-cache-semantics",
        "severity": "high",
        "isDirect": false,
        "via": [
          {
            "source": 1102456,
            "name": "http-cache-semantics",
            "dependency": "http-cache-semantics",
            "title": "http-cache-semantics vulnerable to Regular Expression Denial of Service",
            "url": "https://github.com/advisories/GHSA-rc47-6667-2j5j",
            "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": "<4.1.1"
          }
        ],
        "effects": [
          "cacheable-request"
        ],
        "range": "<4.1.1",
        "nodes": [
          "node_modules/bin-wrapper/node_modules/http-cache-semantics"
        ],
        "fixAvailable": {
          "name": "grunt-image",
          "version": "2.4.0",
          "isSemVerMajor": true
        }
      },
      "jimp": {
        "name": "jimp",
        "severity": "moderate",
        "isDirect": true,
        "via": [
          "@jimp/custom"
        ],
        "effects": [],
        "range": "0.3.6-alpha.5 - 0.21.4--canary.1163.d07ed6254d130e2995d24101e93427ec091016e6.0",
        "nodes": [
          "node_modules/jimp"
        ],
        "fixAvailable": {
          "name": "jimp",
          "version": "1.6.0",
          "isSemVerMajor": true
        }
      },
      "jpeg-recompress-bin": {
        "name": "jpeg-recompress-bin",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          "bin-wrapper"
        ],
        "effects": [
          "grunt-image"
        ],
        "range": ">=3.0.1",
        "nodes": [
          "node_modules/jpeg-recompress-bin"
        ],
        "fixAvailable": {
          "name": "grunt-image",
          "version": "2.4.0",
          "isSemVerMajor": true
        }
      },
      "meow": {
        "name": "meow",
        "severity": "high",
        "isDirect": false,
        "via": [
          "trim-newlines"
        ],
        "effects": [],
        "range": "3.4.0 - 5.0.0",
        "nodes": [
          "node_modules/meow"
        ],
        "fixAvailable": true
      },
      "minimatch": {
        "name": "minimatch",
        "severity": "low",
        "isDirect": false,
        "via": [
          "brace-expansion"
        ],
        "effects": [
          "@typescript-eslint/typescript-estree",
          "eslint-plugin-n",
          "filelist",
          "glob",
          "mocha",
          "readdir-glob",
          "webdriverio"
        ],
        "range": "5.0.0 - 9.0.5 || >=10.0.1",
        "nodes": [
          "",
          "",
          "",
          "node_modules/@wdio/config/node_modules/minimatch",
          "node_modules/@wdio/mocha-framework/node_modules/minimatch",
          "node_modules/eslint-plugin-n/node_modules/minimatch",
          "node_modules/mocha/node_modules/glob/node_modules/minimatch",
          "node_modules/mocha/node_modules/minimatch",
          "node_modules/readdir-glob/node_modules/minimatch",
          "node_modules/webdriverio/node_modules/minimatch"
        ],
        "fixAvailable": {
          "name": "mocha",
          "version": "9.2.2",
          "isSemVerMajor": true
        }
      },
      "mocha": {
        "name": "mocha",
        "severity": "low",
        "isDirect": true,
        "via": [
          "glob",
          "minimatch"
        ],
        "effects": [
          "@wdio/mocha-framework"
        ],
        "range": ">=10.0.0",
        "nodes": [
          "node_modules/@wdio/mocha-framework/node_modules/mocha",
          "node_modules/mocha"
        ],
        "fixAvailable": {
          "name": "mocha",
          "version": "9.2.2",
          "isSemVerMajor": true
        }
      },
      "mozjpeg": {
        "name": "mozjpeg",
        "severity": "high",
        "isDirect": false,
        "via": [
          "bin-build",
          "bin-wrapper"
        ],
        "effects": [],
        "range": ">=4.0.0",
        "nodes": [
          "node_modules/mozjpeg"
        ],
        "fixAvailable": true
      },
      "mwbot": {
        "name": "mwbot",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          "request"
        ],
        "effects": [
          "wdio-mediawiki"
        ],
        "range": ">=0.1.6",
        "nodes": [
          "node_modules/mwbot"
        ],
        "fixAvailable": false
      },
      "nth-check": {
        "name": "nth-check",
        "severity": "high",
        "isDirect": false,
        "via": [
          {
            "source": 1095141,
            "name": "nth-check",
            "dependency": "nth-check",
            "title": "Inefficient Regular Expression Complexity in nth-check",
            "url": "https://github.com/advisories/GHSA-rp65-9cf3-cjxr",
            "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": "<2.0.1"
          }
        ],
        "effects": [
          "css-select"
        ],
        "range": "<2.0.1",
        "nodes": [
          "node_modules/css-select/node_modules/nth-check"
        ],
        "fixAvailable": {
          "name": "grunt-image",
          "version": "2.4.0",
          "isSemVerMajor": true
        }
      },
      "optipng-bin": {
        "name": "optipng-bin",
        "severity": "high",
        "isDirect": false,
        "via": [
          "bin-build",
          "bin-wrapper"
        ],
        "effects": [],
        "range": ">=3.0.0",
        "nodes": [
          "node_modules/optipng-bin"
        ],
        "fixAvailable": true
      },
      "phin": {
        "name": "phin",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          {
            "source": 1096967,
            "name": "phin",
            "dependency": "phin",
            "title": "phin may include sensitive headers in subsequent requests after redirect",
            "url": "https://github.com/advisories/GHSA-x565-32qp-m3vf",
            "severity": "moderate",
            "cwe": [
              "CWE-200"
            ],
            "cvss": {
              "score": 4.3,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N"
            },
            "range": "<3.7.1"
          }
        ],
        "effects": [
          "@jimp/core"
        ],
        "range": "<3.7.1",
        "nodes": [
          "node_modules/phin"
        ],
        "fixAvailable": {
          "name": "jimp",
          "version": "1.6.0",
          "isSemVerMajor": true
        }
      },
      "pngquant-bin": {
        "name": "pngquant-bin",
        "severity": "high",
        "isDirect": false,
        "via": [
          "bin-build",
          "bin-wrapper"
        ],
        "effects": [
          "grunt-image"
        ],
        "range": ">=3.0.0",
        "nodes": [
          "node_modules/pngquant-bin"
        ],
        "fixAvailable": {
          "name": "grunt-image",
          "version": "2.4.0",
          "isSemVerMajor": true
        }
      },
      "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/devtools/node_modules/puppeteer-core",
          "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
      },
      "selenium-webdriver": {
        "name": "selenium-webdriver",
        "severity": "moderate",
        "isDirect": true,
        "via": [
          "xml2js"
        ],
        "effects": [],
        "range": "2.43.1 - 4.0.0-rc-2",
        "nodes": [
          "node_modules/selenium-webdriver"
        ],
        "fixAvailable": {
          "name": "selenium-webdriver",
          "version": "4.33.0",
          "isSemVerMajor": true
        }
      },
      "semver-regex": {
        "name": "semver-regex",
        "severity": "high",
        "isDirect": false,
        "via": [
          {
            "source": 1092475,
            "name": "semver-regex",
            "dependency": "semver-regex",
            "title": "semver-regex Regular Expression Denial of Service (ReDOS)",
            "url": "https://github.com/advisories/GHSA-44c6-4v22-4mhx",
            "severity": "high",
            "cwe": [
              "CWE-400",
              "CWE-1333"
            ],
            "cvss": {
              "score": 7.5,
              "vectorString": "CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
            },
            "range": "<3.1.3"
          },
          {
            "source": 1092605,
            "name": "semver-regex",
            "dependency": "semver-regex",
            "title": "Regular expression denial of service in semver-regex",
            "url": "https://github.com/advisories/GHSA-4x5v-gmq8-25ch",
            "severity": "low",
            "cwe": [
              "CWE-1333"
            ],
            "cvss": {
              "score": 0,
              "vectorString": null
            },
            "range": "<3.1.4"
          }
        ],
        "effects": [
          "find-versions"
        ],
        "range": "<=3.1.3",
        "nodes": [
          "node_modules/semver-regex"
        ],
        "fixAvailable": {
          "name": "grunt-image",
          "version": "2.4.0",
          "isSemVerMajor": true
        }
      },
      "svgo": {
        "name": "svgo",
        "severity": "high",
        "isDirect": false,
        "via": [
          "css-select"
        ],
        "effects": [
          "grunt-image"
        ],
        "range": "1.0.0 - 1.3.2",
        "nodes": [
          "node_modules/svgo"
        ],
        "fixAvailable": {
          "name": "grunt-image",
          "version": "2.4.0",
          "isSemVerMajor": true
        }
      },
      "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/tough-cookie"
        ],
        "fixAvailable": false
      },
      "trim-newlines": {
        "name": "trim-newlines",
        "severity": "high",
        "isDirect": false,
        "via": [
          {
            "source": 1095100,
            "name": "trim-newlines",
            "dependency": "trim-newlines",
            "title": "Uncontrolled Resource Consumption in trim-newlines",
            "url": "https://github.com/advisories/GHSA-7p7h-4mm5-852v",
            "severity": "high",
            "cwe": [
              "CWE-400"
            ],
            "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": "<3.0.1"
          }
        ],
        "effects": [
          "meow"
        ],
        "range": "<3.0.1",
        "nodes": [
          "node_modules/trim-newlines"
        ],
        "fixAvailable": true
      },
      "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/devtools/node_modules/ws",
          "node_modules/ws"
        ],
        "fixAvailable": {
          "name": "@wdio/cli",
          "version": "9.15.0",
          "isSemVerMajor": true
        }
      },
      "xml2js": {
        "name": "xml2js",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          {
            "source": 1096693,
            "name": "xml2js",
            "dependency": "xml2js",
            "title": "xml2js is vulnerable to prototype pollution",
            "url": "https://github.com/advisories/GHSA-776f-qx25-q3cc",
            "severity": "moderate",
            "cwe": [
              "CWE-1321"
            ],
            "cvss": {
              "score": 5.3,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N"
            },
            "range": "<0.5.0"
          }
        ],
        "effects": [
          "selenium-webdriver"
        ],
        "range": "<0.5.0",
        "nodes": [
          "node_modules/xml2js"
        ],
        "fixAvailable": {
          "name": "selenium-webdriver",
          "version": "4.33.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
        }
      },
      "zopflipng-bin": {
        "name": "zopflipng-bin",
        "severity": "high",
        "isDirect": false,
        "via": [
          "bin-build",
          "bin-wrapper"
        ],
        "effects": [
          "grunt-image"
        ],
        "range": ">=3.0.0",
        "nodes": [
          "node_modules/zopflipng-bin"
        ],
        "fixAvailable": {
          "name": "grunt-image",
          "version": "2.4.0",
          "isSemVerMajor": true
        }
      }
    },
    "metadata": {
      "vulnerabilities": {
        "info": 0,
        "low": 15,
        "moderate": 12,
        "high": 35,
        "critical": 0,
        "total": 62
      },
      "dependencies": {
        "prod": 1,
        "dev": 1268,
        "optional": 3,
        "peer": 1,
        "peerOptional": 0,
        "total": 1268
      }
    }
  }
}

--- end ---
{"added": 1268, "removed": 0, "changed": 0, "audited": 1269, "funding": 195, "audit": {"auditReportVersion": 2, "vulnerabilities": {"@jimp/core": {"name": "@jimp/core", "severity": "moderate", "isDirect": false, "via": ["phin"], "effects": ["@jimp/custom"], "range": "<=0.21.4--canary.1163.d07ed6254d130e2995d24101e93427ec091016e6.0", "nodes": ["node_modules/@jimp/core"], "fixAvailable": {"name": "jimp", "version": "1.6.0", "isSemVerMajor": true}}, "@jimp/custom": {"name": "@jimp/custom", "severity": "moderate", "isDirect": false, "via": ["@jimp/core"], "effects": ["jimp"], "range": "<=0.21.4--canary.1163.d07ed6254d130e2995d24101e93427ec091016e6.0", "nodes": ["node_modules/@jimp/custom"], "fixAvailable": {"name": "jimp", "version": "1.6.0", "isSemVerMajor": true}}, "@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}, "@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}, "bin-build": {"name": "bin-build", "severity": "high", "isDirect": false, "via": ["download", "execa"], "effects": ["gifsicle", "guetzli", "mozjpeg", "optipng-bin", "pngquant-bin", "zopflipng-bin"], "range": ">=2.1.2", "nodes": ["node_modules/bin-build"], "fixAvailable": {"name": "grunt-image", "version": "2.4.0", "isSemVerMajor": true}}, "bin-check": {"name": "bin-check", "severity": "high", "isDirect": false, "via": ["execa"], "effects": ["bin-wrapper"], "range": ">=4.1.0", "nodes": ["node_modules/bin-check"], "fixAvailable": {"name": "grunt-image", "version": "2.4.0", "isSemVerMajor": true}}, "bin-version": {"name": "bin-version", "severity": "high", "isDirect": false, "via": ["find-versions"], "effects": ["bin-version-check"], "range": "<=4.0.0", "nodes": ["node_modules/bin-version"], "fixAvailable": {"name": "grunt-image", "version": "2.4.0", "isSemVerMajor": true}}, "bin-version-check": {"name": "bin-version-check", "severity": "high", "isDirect": false, "via": ["bin-version"], "effects": ["bin-wrapper"], "range": "<=4.0.0", "nodes": ["node_modules/bin-version-check"], "fixAvailable": {"name": "grunt-image", "version": "2.4.0", "isSemVerMajor": true}}, "bin-wrapper": {"name": "bin-wrapper", "severity": "high", "isDirect": false, "via": ["bin-check", "bin-version-check", "download"], "effects": ["gifsicle", "guetzli", "jpeg-recompress-bin", "mozjpeg", "optipng-bin", "pngquant-bin", "zopflipng-bin"], "range": ">=0.4.0", "nodes": ["node_modules/bin-wrapper"], "fixAvailable": {"name": "grunt-image", "version": "2.4.0", "isSemVerMajor": 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/mocha/node_modules/brace-expansion"], "fixAvailable": {"name": "mocha", "version": "9.2.2", "isSemVerMajor": true}}, "cacheable-request": {"name": "cacheable-request", "severity": "high", "isDirect": false, "via": ["http-cache-semantics"], "effects": ["got"], "range": "0.1.0 - 2.1.4", "nodes": ["node_modules/bin-wrapper/node_modules/cacheable-request"], "fixAvailable": {"name": "grunt-image", "version": "2.4.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": ["execa", "yarn-install"], "range": "<6.0.6", "nodes": ["node_modules/execa/node_modules/cross-spawn", "node_modules/yarn-install/node_modules/cross-spawn"], "fixAvailable": {"name": "@wdio/cli", "version": "9.15.0", "isSemVerMajor": true}}, "css-select": {"name": "css-select", "severity": "high", "isDirect": false, "via": ["nth-check"], "effects": ["svgo"], "range": "<=3.1.0", "nodes": ["node_modules/css-select"], "fixAvailable": {"name": "grunt-image", "version": "2.4.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}, "download": {"name": "download", "severity": "moderate", "isDirect": false, "via": ["got"], "effects": ["bin-build", "bin-wrapper"], "range": ">=4.0.0", "nodes": ["node_modules/bin-wrapper/node_modules/download", "node_modules/download"], "fixAvailable": {"name": "grunt-image", "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}}, "exec-buffer": {"name": "exec-buffer", "severity": "high", "isDirect": false, "via": ["execa"], "effects": ["grunt-image"], "range": ">=3.1.0", "nodes": ["node_modules/exec-buffer"], "fixAvailable": {"name": "grunt-image", "version": "2.4.0", "isSemVerMajor": true}}, "execa": {"name": "execa", "severity": "high", "isDirect": false, "via": ["cross-spawn"], "effects": ["bin-build", "bin-check", "exec-buffer"], "range": "0.5.0 - 0.9.0", "nodes": ["node_modules/execa"], "fixAvailable": {"name": "grunt-image", "version": "2.4.0", "isSemVerMajor": true}}, "filelist": {"name": "filelist", "severity": "low", "isDirect": false, "via": ["minimatch"], "effects": [], "range": ">=1.0.3", "nodes": ["node_modules/filelist"], "fixAvailable": true}, "find-versions": {"name": "find-versions", "severity": "high", "isDirect": false, "via": ["semver-regex"], "effects": ["bin-version"], "range": "<=3.2.0", "nodes": ["node_modules/find-versions"], "fixAvailable": {"name": "grunt-image", "version": "2.4.0", "isSemVerMajor": true}}, "gifsicle": {"name": "gifsicle", "severity": "high", "isDirect": false, "via": ["bin-build", "bin-wrapper"], "effects": ["grunt-image"], "range": ">=3.0.0", "nodes": ["node_modules/gifsicle"], "fixAvailable": {"name": "grunt-image", "version": "2.4.0", "isSemVerMajor": true}}, "glob": {"name": "glob", "severity": "low", "isDirect": false, "via": ["minimatch"], "effects": ["@wdio/config", "mocha"], "range": ">=8.0.1", "nodes": ["node_modules/@wdio/config/node_modules/glob", "node_modules/@wdio/mocha-framework/node_modules/glob", "node_modules/mocha/node_modules/glob"], "fixAvailable": {"name": "mocha", "version": "9.2.2", "isSemVerMajor": true}}, "got": {"name": "got", "severity": "high", "isDirect": false, "via": [{"source": 1088948, "name": "got", "dependency": "got", "title": "Got allows a redirect to a UNIX socket", "url": "https://github.com/advisories/GHSA-pfrx-2q88-qq97", "severity": "moderate", "cwe": [], "cvss": {"score": 5.3, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N"}, "range": "<11.8.5"}, "cacheable-request"], "effects": ["download"], "range": "<=11.8.3", "nodes": ["node_modules/bin-wrapper/node_modules/got", "node_modules/download/node_modules/got"], "fixAvailable": {"name": "grunt-image", "version": "2.4.0", "isSemVerMajor": true}}, "grunt-image": {"name": "grunt-image", "severity": "high", "isDirect": true, "via": ["exec-buffer", "gifsicle", "guetzli", "jpeg-recompress-bin", "mozjpeg", "optipng-bin", "pngquant-bin", "svgo", "zopflipng-bin"], "effects": [], "range": "0.1.0 || >=1.0.0", "nodes": ["node_modules/grunt-image"], "fixAvailable": {"name": "grunt-image", "version": "2.4.0", "isSemVerMajor": true}}, "guetzli": {"name": "guetzli", "severity": "high", "isDirect": false, "via": ["bin-build", "bin-wrapper"], "effects": ["grunt-image"], "range": "*", "nodes": ["node_modules/guetzli"], "fixAvailable": {"name": "grunt-image", "version": "2.4.0", "isSemVerMajor": true}}, "http-cache-semantics": {"name": "http-cache-semantics", "severity": "high", "isDirect": false, "via": [{"source": 1102456, "name": "http-cache-semantics", "dependency": "http-cache-semantics", "title": "http-cache-semantics vulnerable to Regular Expression Denial of Service", "url": "https://github.com/advisories/GHSA-rc47-6667-2j5j", "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": "<4.1.1"}], "effects": ["cacheable-request"], "range": "<4.1.1", "nodes": ["node_modules/bin-wrapper/node_modules/http-cache-semantics"], "fixAvailable": {"name": "grunt-image", "version": "2.4.0", "isSemVerMajor": true}}, "jimp": {"name": "jimp", "severity": "moderate", "isDirect": true, "via": ["@jimp/custom"], "effects": [], "range": "0.3.6-alpha.5 - 0.21.4--canary.1163.d07ed6254d130e2995d24101e93427ec091016e6.0", "nodes": ["node_modules/jimp"], "fixAvailable": {"name": "jimp", "version": "1.6.0", "isSemVerMajor": true}}, "jpeg-recompress-bin": {"name": "jpeg-recompress-bin", "severity": "moderate", "isDirect": false, "via": ["bin-wrapper"], "effects": ["grunt-image"], "range": ">=3.0.1", "nodes": ["node_modules/jpeg-recompress-bin"], "fixAvailable": {"name": "grunt-image", "version": "2.4.0", "isSemVerMajor": true}}, "meow": {"name": "meow", "severity": "high", "isDirect": false, "via": ["trim-newlines"], "effects": [], "range": "3.4.0 - 5.0.0", "nodes": ["node_modules/meow"], "fixAvailable": true}, "minimatch": {"name": "minimatch", "severity": "low", "isDirect": false, "via": ["brace-expansion"], "effects": ["@typescript-eslint/typescript-estree", "eslint-plugin-n", "filelist", "glob", "mocha", "readdir-glob", "webdriverio"], "range": "5.0.0 - 9.0.5 || >=10.0.1", "nodes": ["", "", "", "node_modules/@wdio/config/node_modules/minimatch", "node_modules/@wdio/mocha-framework/node_modules/minimatch", "node_modules/eslint-plugin-n/node_modules/minimatch", "node_modules/mocha/node_modules/glob/node_modules/minimatch", "node_modules/mocha/node_modules/minimatch", "node_modules/readdir-glob/node_modules/minimatch", "node_modules/webdriverio/node_modules/minimatch"], "fixAvailable": {"name": "mocha", "version": "9.2.2", "isSemVerMajor": true}}, "mocha": {"name": "mocha", "severity": "low", "isDirect": true, "via": ["glob", "minimatch"], "effects": ["@wdio/mocha-framework"], "range": ">=10.0.0", "nodes": ["node_modules/@wdio/mocha-framework/node_modules/mocha", "node_modules/mocha"], "fixAvailable": {"name": "mocha", "version": "9.2.2", "isSemVerMajor": true}}, "mozjpeg": {"name": "mozjpeg", "severity": "high", "isDirect": false, "via": ["bin-build", "bin-wrapper"], "effects": [], "range": ">=4.0.0", "nodes": ["node_modules/mozjpeg"], "fixAvailable": true}, "mwbot": {"name": "mwbot", "severity": "moderate", "isDirect": false, "via": ["request"], "effects": ["wdio-mediawiki"], "range": ">=0.1.6", "nodes": ["node_modules/mwbot"], "fixAvailable": false}, "nth-check": {"name": "nth-check", "severity": "high", "isDirect": false, "via": [{"source": 1095141, "name": "nth-check", "dependency": "nth-check", "title": "Inefficient Regular Expression Complexity in nth-check", "url": "https://github.com/advisories/GHSA-rp65-9cf3-cjxr", "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": "<2.0.1"}], "effects": ["css-select"], "range": "<2.0.1", "nodes": ["node_modules/css-select/node_modules/nth-check"], "fixAvailable": {"name": "grunt-image", "version": "2.4.0", "isSemVerMajor": true}}, "optipng-bin": {"name": "optipng-bin", "severity": "high", "isDirect": false, "via": ["bin-build", "bin-wrapper"], "effects": [], "range": ">=3.0.0", "nodes": ["node_modules/optipng-bin"], "fixAvailable": true}, "phin": {"name": "phin", "severity": "moderate", "isDirect": false, "via": [{"source": 1096967, "name": "phin", "dependency": "phin", "title": "phin may include sensitive headers in subsequent requests after redirect", "url": "https://github.com/advisories/GHSA-x565-32qp-m3vf", "severity": "moderate", "cwe": ["CWE-200"], "cvss": {"score": 4.3, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N"}, "range": "<3.7.1"}], "effects": ["@jimp/core"], "range": "<3.7.1", "nodes": ["node_modules/phin"], "fixAvailable": {"name": "jimp", "version": "1.6.0", "isSemVerMajor": true}}, "pngquant-bin": {"name": "pngquant-bin", "severity": "high", "isDirect": false, "via": ["bin-build", "bin-wrapper"], "effects": ["grunt-image"], "range": ">=3.0.0", "nodes": ["node_modules/pngquant-bin"], "fixAvailable": {"name": "grunt-image", "version": "2.4.0", "isSemVerMajor": true}}, "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/devtools/node_modules/puppeteer-core", "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}, "selenium-webdriver": {"name": "selenium-webdriver", "severity": "moderate", "isDirect": true, "via": ["xml2js"], "effects": [], "range": "2.43.1 - 4.0.0-rc-2", "nodes": ["node_modules/selenium-webdriver"], "fixAvailable": {"name": "selenium-webdriver", "version": "4.33.0", "isSemVerMajor": true}}, "semver-regex": {"name": "semver-regex", "severity": "high", "isDirect": false, "via": [{"source": 1092475, "name": "semver-regex", "dependency": "semver-regex", "title": "semver-regex Regular Expression Denial of Service (ReDOS)", "url": "https://github.com/advisories/GHSA-44c6-4v22-4mhx", "severity": "high", "cwe": ["CWE-400", "CWE-1333"], "cvss": {"score": 7.5, "vectorString": "CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}, "range": "<3.1.3"}, {"source": 1092605, "name": "semver-regex", "dependency": "semver-regex", "title": "Regular expression denial of service in semver-regex", "url": "https://github.com/advisories/GHSA-4x5v-gmq8-25ch", "severity": "low", "cwe": ["CWE-1333"], "cvss": {"score": 0, "vectorString": null}, "range": "<3.1.4"}], "effects": ["find-versions"], "range": "<=3.1.3", "nodes": ["node_modules/semver-regex"], "fixAvailable": {"name": "grunt-image", "version": "2.4.0", "isSemVerMajor": true}}, "svgo": {"name": "svgo", "severity": "high", "isDirect": false, "via": ["css-select"], "effects": ["grunt-image"], "range": "1.0.0 - 1.3.2", "nodes": ["node_modules/svgo"], "fixAvailable": {"name": "grunt-image", "version": "2.4.0", "isSemVerMajor": true}}, "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/tough-cookie"], "fixAvailable": false}, "trim-newlines": {"name": "trim-newlines", "severity": "high", "isDirect": false, "via": [{"source": 1095100, "name": "trim-newlines", "dependency": "trim-newlines", "title": "Uncontrolled Resource Consumption in trim-newlines", "url": "https://github.com/advisories/GHSA-7p7h-4mm5-852v", "severity": "high", "cwe": ["CWE-400"], "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": "<3.0.1"}], "effects": ["meow"], "range": "<3.0.1", "nodes": ["node_modules/trim-newlines"], "fixAvailable": true}, "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/devtools/node_modules/ws", "node_modules/ws"], "fixAvailable": {"name": "@wdio/cli", "version": "9.15.0", "isSemVerMajor": true}}, "xml2js": {"name": "xml2js", "severity": "moderate", "isDirect": false, "via": [{"source": 1096693, "name": "xml2js", "dependency": "xml2js", "title": "xml2js is vulnerable to prototype pollution", "url": "https://github.com/advisories/GHSA-776f-qx25-q3cc", "severity": "moderate", "cwe": ["CWE-1321"], "cvss": {"score": 5.3, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N"}, "range": "<0.5.0"}], "effects": ["selenium-webdriver"], "range": "<0.5.0", "nodes": ["node_modules/xml2js"], "fixAvailable": {"name": "selenium-webdriver", "version": "4.33.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}}, "zopflipng-bin": {"name": "zopflipng-bin", "severity": "high", "isDirect": false, "via": ["bin-build", "bin-wrapper"], "effects": ["grunt-image"], "range": ">=3.0.0", "nodes": ["node_modules/zopflipng-bin"], "fixAvailable": {"name": "grunt-image", "version": "2.4.0", "isSemVerMajor": true}}}, "metadata": {"vulnerabilities": {"info": 0, "low": 15, "moderate": 12, "high": 35, "critical": 0, "total": 62}, "dependencies": {"prod": 1, "dev": 1268, "optional": 3, "peer": 1, "peerOptional": 0, "total": 1268}}}}
$ /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 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 har-validator@5.1.5: this library is no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@8.1.0: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@8.1.0: Glob versions prior to v9 are no longer supported
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 svgo@1.3.2: This SVGO version is no longer supported. Upgrade to v2.x.x.
--- stdout ---

added 1267 packages, and audited 1268 packages in 49s

195 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 mocha@9.2.2, which is a breaking change
node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion
node_modules/@wdio/config/node_modules/brace-expansion
node_modules/@wdio/mocha-framework/node_modules/brace-expansion
node_modules/eslint-plugin-n/node_modules/brace-expansion
node_modules/filelist/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/@wdio/config/node_modules/minimatch
  node_modules/@wdio/mocha-framework/node_modules/minimatch
  node_modules/eslint-plugin-n/node_modules/minimatch
  node_modules/filelist/node_modules/minimatch
  node_modules/mocha/node_modules/glob/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
    node_modules/eslint-plugin-n/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
      node_modules/eslint-plugin-n/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
    filelist  >=1.0.3
    Depends on vulnerable versions of minimatch
    node_modules/filelist
    glob  >=8.0.1
    Depends on vulnerable versions of minimatch
    node_modules/@wdio/config/node_modules/glob
    node_modules/@wdio/mocha-framework/node_modules/glob
    node_modules/mocha/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/@wdio/mocha-framework/node_modules/mocha
      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/execa/node_modules/cross-spawn
node_modules/yarn-install/node_modules/cross-spawn
  execa  0.5.0 - 0.9.0
  Depends on vulnerable versions of cross-spawn
  node_modules/execa
    bin-build  >=2.1.2
    Depends on vulnerable versions of download
    Depends on vulnerable versions of execa
    node_modules/bin-build
      gifsicle  >=3.0.0
      Depends on vulnerable versions of bin-build
      Depends on vulnerable versions of bin-wrapper
      node_modules/gifsicle
        grunt-image  0.1.0 || >=1.0.0
        Depends on vulnerable versions of exec-buffer
        Depends on vulnerable versions of gifsicle
        Depends on vulnerable versions of guetzli
        Depends on vulnerable versions of jpeg-recompress-bin
        Depends on vulnerable versions of mozjpeg
        Depends on vulnerable versions of optipng-bin
        Depends on vulnerable versions of pngquant-bin
        Depends on vulnerable versions of svgo
        Depends on vulnerable versions of zopflipng-bin
        node_modules/grunt-image
      guetzli  *
      Depends on vulnerable versions of bin-build
      Depends on vulnerable versions of bin-wrapper
      node_modules/guetzli
      mozjpeg  >=4.0.0
      Depends on vulnerable versions of bin-build
      Depends on vulnerable versions of bin-wrapper
      node_modules/mozjpeg
      optipng-bin  >=3.0.0
      Depends on vulnerable versions of bin-build
      Depends on vulnerable versions of bin-wrapper
      node_modules/optipng-bin
      pngquant-bin  >=3.0.0
      Depends on vulnerable versions of bin-build
      Depends on vulnerable versions of bin-wrapper
      node_modules/pngquant-bin
      zopflipng-bin  >=3.0.0
      Depends on vulnerable versions of bin-build
      Depends on vulnerable versions of bin-wrapper
      node_modules/zopflipng-bin
    bin-check  >=4.1.0
    Depends on vulnerable versions of execa
    node_modules/bin-check
      bin-wrapper  >=0.4.0
      Depends on vulnerable versions of bin-check
      Depends on vulnerable versions of bin-version-check
      Depends on vulnerable versions of download
      node_modules/bin-wrapper
        jpeg-recompress-bin  >=3.0.1
        Depends on vulnerable versions of bin-wrapper
        node_modules/jpeg-recompress-bin
    exec-buffer  >=3.1.0
    Depends on vulnerable versions of execa
    node_modules/exec-buffer
  yarn-install  *
  Depends on vulnerable versions of cross-spawn
  node_modules/yarn-install

got  <=11.8.3
Severity: high
Got allows a redirect to a UNIX socket - https://github.com/advisories/GHSA-pfrx-2q88-qq97
Depends on vulnerable versions of cacheable-request
fix available via `npm audit fix --force`
Will install grunt-image@2.4.0, which is a breaking change
node_modules/bin-wrapper/node_modules/got
node_modules/download/node_modules/got
  download  >=4.0.0
  Depends on vulnerable versions of got
  node_modules/bin-wrapper/node_modules/download
  node_modules/download

http-cache-semantics  <4.1.1
Severity: high
http-cache-semantics vulnerable to Regular Expression Denial of Service - https://github.com/advisories/GHSA-rc47-6667-2j5j
fix available via `npm audit fix --force`
Will install grunt-image@2.4.0, which is a breaking change
node_modules/bin-wrapper/node_modules/http-cache-semantics
  cacheable-request  0.1.0 - 2.1.4
  Depends on vulnerable versions of http-cache-semantics
  node_modules/bin-wrapper/node_modules/cacheable-request

nth-check  <2.0.1
Severity: high
Inefficient Regular Expression Complexity in nth-check - https://github.com/advisories/GHSA-rp65-9cf3-cjxr
fix available via `npm audit fix --force`
Will install grunt-image@2.4.0, which is a breaking change
node_modules/css-select/node_modules/nth-check
  css-select  <=3.1.0
  Depends on vulnerable versions of nth-check
  node_modules/css-select
    svgo  1.0.0 - 1.3.2
    Depends on vulnerable versions of css-select
    node_modules/svgo

phin  <3.7.1
Severity: moderate
phin may include sensitive headers in subsequent requests after redirect - https://github.com/advisories/GHSA-x565-32qp-m3vf
fix available via `npm audit fix --force`
Will install jimp@1.6.0, which is a breaking change
node_modules/phin
  @jimp/core  <=0.21.4--canary.1163.d07ed6254d130e2995d24101e93427ec091016e6.0
  Depends on vulnerable versions of phin
  node_modules/@jimp/core
    @jimp/custom  <=0.21.4--canary.1163.d07ed6254d130e2995d24101e93427ec091016e6.0
    Depends on vulnerable versions of @jimp/core
    node_modules/@jimp/custom
      jimp  0.3.6-alpha.5 - 0.21.4--canary.1163.d07ed6254d130e2995d24101e93427ec091016e6.0
      Depends on vulnerable versions of @jimp/custom
      node_modules/jimp

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

semver-regex  <=3.1.3
Severity: high
semver-regex Regular Expression Denial of Service (ReDOS) - https://github.com/advisories/GHSA-44c6-4v22-4mhx
Regular expression denial of service in semver-regex - https://github.com/advisories/GHSA-4x5v-gmq8-25ch
fix available via `npm audit fix --force`
Will install grunt-image@2.4.0, which is a breaking change
node_modules/semver-regex
  find-versions  <=3.2.0
  Depends on vulnerable versions of semver-regex
  node_modules/find-versions
    bin-version  <=4.0.0
    Depends on vulnerable versions of find-versions
    node_modules/bin-version
      bin-version-check  <=4.0.0
      Depends on vulnerable versions of bin-version
      node_modules/bin-version-check

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/devtools/node_modules/puppeteer-core
  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/tough-cookie

trim-newlines  <3.0.1
Severity: high
Uncontrolled Resource Consumption in trim-newlines - https://github.com/advisories/GHSA-7p7h-4mm5-852v
fix available via `npm audit fix`
node_modules/trim-newlines
  meow  3.4.0 - 5.0.0
  Depends on vulnerable versions of trim-newlines
  node_modules/meow

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/devtools/node_modules/ws
node_modules/ws

xml2js  <0.5.0
Severity: moderate
xml2js is vulnerable to prototype pollution - https://github.com/advisories/GHSA-776f-qx25-q3cc
fix available via `npm audit fix --force`
Will install selenium-webdriver@4.33.0, which is a breaking change
node_modules/xml2js
  selenium-webdriver  2.43.1 - 4.0.0-rc-2
  Depends on vulnerable versions of xml2js
  node_modules/selenium-webdriver

62 vulnerabilities (15 low, 12 moderate, 35 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 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 har-validator@5.1.5: this library is no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@8.1.0: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@8.1.0: Glob versions prior to v9 are no longer supported
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 svgo@1.3.2: This SVGO version is no longer supported. Upgrade to v2.x.x.
--- stdout ---

added 1267 packages, and audited 1268 packages in 42s

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

62 vulnerabilities (15 low, 12 moderate, 35 high)

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

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

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

Run `npm audit` for details.

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

> visualeditor@0.0.0 test
> grunt test && node build/checkModules.js

Running "tyops:src" (tyops) task
>> No typos found; 452 files checked for 21 typos.

Running "eslint:all" (eslint) task

/src/repo/build/screenshots.js
  97:6  warning  Found writeFile from package "fs" with non literal argument at index 0  security/detect-non-literal-fs-filename

/src/repo/modules/ve-mw-collab/ve.init.mw.CollabTarget.init.js
   65:3  warning  Prefer .then to .done  no-jquery/no-done-fail
   65:3  warning  Prefer .then to .fail  no-jquery/no-done-fail
  189:6  warning  Prefer .then to .fail  no-jquery/no-done-fail

/src/repo/modules/ve-mw/ce/nodes/ve.ce.MWExtensionNode.js
  79:15  warning  Prefer .then to .done  no-jquery/no-done-fail
  79:15  warning  Prefer .then to .fail  no-jquery/no-done-fail

/src/repo/modules/ve-mw/ce/nodes/ve.ce.MWImageNode.js
  119:14  warning  Prefer .then to .done  no-jquery/no-done-fail
  119:14  warning  Prefer .then to .fail  no-jquery/no-done-fail

/src/repo/modules/ve-mw/ce/nodes/ve.ce.MWTransclusionNode.js
  176:14  warning  Prefer .then to .done  no-jquery/no-done-fail
  176:14  warning  Prefer .then to .fail  no-jquery/no-done-fail

/src/repo/modules/ve-mw/dm/models/ve.dm.MWImageModel.js
   341:4  warning  Prefer .then to .done  no-jquery/no-done-fail
  1199:3  warning  Prefer .then to .done  no-jquery/no-done-fail

/src/repo/modules/ve-mw/dm/models/ve.dm.MWTransclusionModel.js
  329:15  warning  Prefer .then to .done  no-jquery/no-done-fail

/src/repo/modules/ve-mw/dm/nodes/ve.dm.MWImageNode.js
  368:3  warning  Prefer .then to .done  no-jquery/no-done-fail

/src/repo/modules/ve-mw/dm/ve.dm.MWWikitextSurfaceFragment.js
  139:3  warning  Prefer .then to .fail  no-jquery/no-done-fail

/src/repo/modules/ve-mw/init/apiresponsecache/ve.init.mw.LinkCache.js
  82:2  warning  Prefer .then to .done  no-jquery/no-done-fail

/src/repo/modules/ve-mw/init/targets/ve.init.mw.ArticleTarget.js
  1125:2   warning  Prefer .then to .done  no-jquery/no-done-fail
  1125:2   warning  Prefer .then to .fail  no-jquery/no-done-fail
  1557:32  warning  Prefer .then to .done  no-jquery/no-done-fail
  1557:32  warning  Prefer .then to .fail  no-jquery/no-done-fail
  1615:3   warning  Prefer .then to .done  no-jquery/no-done-fail
  1615:3   warning  Prefer .then to .fail  no-jquery/no-done-fail
  1691:37  warning  Prefer .then to .done  no-jquery/no-done-fail
  1691:37  warning  Prefer .then to .fail  no-jquery/no-done-fail
  1985:2   warning  Prefer .then to .done  no-jquery/no-done-fail
  1985:2   warning  Prefer .then to .fail  no-jquery/no-done-fail
  1996:3   warning  Prefer .then to .done  no-jquery/no-done-fail
  2468:18  warning  Prefer .then to .done  no-jquery/no-done-fail

/src/repo/modules/ve-mw/init/targets/ve.init.mw.DesktopArticleTarget.js
   244:3  warning  Prefer .then to .done  no-jquery/no-done-fail
   397:3  warning  Prefer .then to .done  no-jquery/no-done-fail
   397:3  warning  Prefer .then to .fail  no-jquery/no-done-fail
   678:2  warning  Prefer .then to .done  no-jquery/no-done-fail
   798:2  warning  Prefer .then to .done  no-jquery/no-done-fail
   871:9  warning  Prefer .then to .fail  no-jquery/no-done-fail
  1474:2  warning  Prefer .then to .done  no-jquery/no-done-fail

/src/repo/modules/ve-mw/preinit/ve.init.MWEditingTabDialog.js
  82:4  warning  Prefer .then to .done  no-jquery/no-done-fail

/src/repo/modules/ve-mw/preinit/ve.init.mw.DesktopArticleTarget.init.js
   680:6  warning  Prefer .then to .done  no-jquery/no-done-fail
  1100:5  warning  Prefer .then to .done  no-jquery/no-done-fail
  1533:6  warning  Prefer .then to .done  no-jquery/no-done-fail
  1626:4  warning  Prefer .then to .done  no-jquery/no-done-fail

/src/repo/modules/ve-mw/tests/ui/datatransferhandlers/ve.ui.MWWikitextStringTransferHandler.test.js
  51:2  warning  Prefer .then to .done  no-jquery/no-done-fail

/src/repo/modules/ve-mw/tests/ui/dialogs/ve.ui.MWTransclusionDialog.test.js
  42:3  warning  Prefer .then to .done  no-jquery/no-done-fail
  42:3  warning  Prefer .then to .fail  no-jquery/no-done-fail
  82:4  warning  Prefer .then to .done  no-jquery/no-done-fail

/src/repo/modules/ve-mw/ui/dialogs/ve.ui.MWGalleryDialog.js
  436:26  warning  Prefer .then to .done  no-jquery/no-done-fail
  623:9   warning  Prefer .then to .done  no-jquery/no-done-fail
  705:2   warning  Prefer .then to .done  no-jquery/no-done-fail

/src/repo/modules/ve-mw/ui/dialogs/ve.ui.MWMediaDialog.js
  720:2  warning  Prefer .then to .done  no-jquery/no-done-fail

/src/repo/modules/ve-mw/ui/dialogs/ve.ui.MWSaveDialog.js
  358:27  warning  Prefer .then to .done  no-jquery/no-done-fail
  358:27  warning  Prefer .then to .fail  no-jquery/no-done-fail
  493:2   warning  Prefer .then to .done  no-jquery/no-done-fail
  509:2   warning  Prefer .then to .done  no-jquery/no-done-fail

/src/repo/modules/ve-mw/ui/dialogs/ve.ui.MWTemplateDialog.js
  363:4  warning  Prefer .then to .done  no-jquery/no-done-fail

/src/repo/modules/ve-mw/ui/dialogs/ve.ui.MWTransclusionDialog.js
  103:3  warning  Prefer .then to .done  no-jquery/no-done-fail
  429:3  warning  Prefer .then to .done  no-jquery/no-done-fail
  528:2  warning  Prefer .then to .done  no-jquery/no-done-fail

/src/repo/modules/ve-mw/ui/inspectors/ve.ui.MWLinkAnnotationInspector.js
  214:2  warning  Prefer .then to .done  no-jquery/no-done-fail

/src/repo/modules/ve-mw/ui/pages/ve.ui.MWLanguagesPage.js
   36:2  warning  Prefer .then to .done  no-jquery/no-done-fail
  163:2  warning  Prefer .then to .done  no-jquery/no-done-fail
  163:2  warning  Prefer .then to .fail  no-jquery/no-done-fail

/src/repo/modules/ve-mw/ui/toolgroups/ve.ui.MWHelpListToolGroup.js
  196:2  warning  Prefer .then to .done  no-jquery/no-done-fail

/src/repo/modules/ve-mw/ui/ve.ui.MWWikitextDataTransferHandlerFactory.js
  76:4  warning  Prefer .then to .done  no-jquery/no-done-fail
  76:4  warning  Prefer .then to .fail  no-jquery/no-done-fail

/src/repo/modules/ve-mw/ui/ve.ui.MWWikitextTransferRegistry.js
  27:1  warning  Prefer .then to .done  no-jquery/no-done-fail

/src/repo/modules/ve-mw/ui/widgets/ve.ui.MWAceEditorWidget.js
   82:3  warning  Prefer .then to .done  no-jquery/no-done-fail
   90:2  warning  Prefer .then to .done  no-jquery/no-done-fail
  153:2  warning  Prefer .then to .done  no-jquery/no-done-fail
  201:2  warning  Prefer .then to .done  no-jquery/no-done-fail
  219:2  warning  Prefer .then to .done  no-jquery/no-done-fail
  265:2  warning  Prefer .then to .done  no-jquery/no-done-fail
  265:2  warning  Prefer .then to .fail  no-jquery/no-done-fail
  323:2  warning  Prefer .then to .done  no-jquery/no-done-fail
  339:2  warning  Prefer .then to .done  no-jquery/no-done-fail
  353:2  warning  Prefer .then to .done  no-jquery/no-done-fail
  367:2  warning  Prefer .then to .done  no-jquery/no-done-fail
  385:2  warning  Prefer .then to .done  no-jquery/no-done-fail
  385:2  warning  Prefer .then to .fail  no-jquery/no-done-fail
  401:3  warning  Prefer .then to .done  no-jquery/no-done-fail
  406:2  warning  Prefer .then to .fail  no-jquery/no-done-fail

/src/repo/modules/ve-mw/ui/widgets/ve.ui.MWCategoryWidget.js
  117:3  warning  Prefer .then to .done  no-jquery/no-done-fail

✖ 80 problems (0 errors, 80 warnings)


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

Running "banana:VisualEditor" (banana) task
>> 7 message directories checked.

Done.
No missing files.

--- end ---
{}
{}
{}
{}
{}
{"1095100": {"source": 1095100, "name": "trim-newlines", "dependency": "trim-newlines", "title": "Uncontrolled Resource Consumption in trim-newlines", "url": "https://github.com/advisories/GHSA-7p7h-4mm5-852v", "severity": "high", "cwe": ["CWE-400"], "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": "<3.0.1"}}
{}
{}
{}
{"1095100": {"source": 1095100, "name": "trim-newlines", "dependency": "trim-newlines", "title": "Uncontrolled Resource Consumption in trim-newlines", "url": "https://github.com/advisories/GHSA-7p7h-4mm5-852v", "severity": "high", "cwe": ["CWE-400"], "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": "<3.0.1"}}
{}
$ 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/tmpn27g1o4x
--- stdout ---
[master cd04000] [DNM] there are no updates
 1 file changed, 481 insertions(+), 159 deletions(-)

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

Change-Id: I374ac1d5847f854f487489828dc8ae01a9675180
---
 package-lock.json | 640 ++++++++++++++++++++++++++++++++++------------
 1 file changed, 481 insertions(+), 159 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 6b04454..772b0b7 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -276,24 +276,27 @@
 			}
 		},
 		"node_modules/@eslint-community/eslint-utils": {
-			"version": "4.4.0",
-			"resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
-			"integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
+			"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,
 			"dependencies": {
-				"eslint-visitor-keys": "^3.3.0"
+				"eslint-visitor-keys": "^3.4.3"
 			},
 			"engines": {
 				"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
 			},
+			"funding": {
+				"url": "https://opencollective.com/eslint"
+			},
 			"peerDependencies": {
 				"eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
 			}
 		},
 		"node_modules/@eslint-community/regexpp": {
-			"version": "4.10.0",
-			"resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz",
-			"integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==",
+			"version": "4.12.1",
+			"resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz",
+			"integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==",
 			"dev": true,
 			"engines": {
 				"node": "^12.0.0 || ^14.0.0 || >=16.0.0"
@@ -1492,6 +1495,40 @@
 				"@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/project-service/node_modules/@typescript-eslint/types": {
+			"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,
+			"engines": {
+				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/typescript-eslint"
+			}
+		},
 		"node_modules/@typescript-eslint/scope-manager": {
 			"version": "7.12.0",
 			"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.12.0.tgz",
@@ -1509,6 +1546,22 @@
 				"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": "7.12.0",
 			"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.12.0.tgz",
@@ -1551,18 +1604,18 @@
 			}
 		},
 		"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,
 			"dependencies": {
 				"balanced-match": "^1.0.0"
 			}
 		},
 		"node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": {
-			"version": "9.0.4",
-			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz",
-			"integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==",
+			"version": "9.0.5",
+			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+			"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
 			"dev": true,
 			"dependencies": {
 				"brace-expansion": "^2.0.1"
@@ -1697,11 +1750,10 @@
 			}
 		},
 		"node_modules/@wdio/config/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"
 			}
@@ -1820,9 +1872,9 @@
 			}
 		},
 		"node_modules/@wdio/mocha-framework/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,
 			"dependencies": {
 				"balanced-match": "^1.0.0"
@@ -5077,9 +5129,9 @@
 			}
 		},
 		"node_modules/enhanced-resolve": {
-			"version": "5.16.1",
-			"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.16.1.tgz",
-			"integrity": "sha512-4U5pNsuDl0EhuZpq46M5xPslstkviJuhrdobaRDBk2Jy2KO37FDAJl4lb2KlNabxT0m4MTK2UHNrsAcphE8nyw==",
+			"version": "5.18.1",
+			"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.1.tgz",
+			"integrity": "sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==",
 			"dev": true,
 			"dependencies": {
 				"graceful-fs": "^4.2.4",
@@ -5363,21 +5415,22 @@
 			}
 		},
 		"node_modules/eslint-plugin-es-x": {
-			"version": "7.6.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-7.6.0.tgz",
-			"integrity": "sha512-I0AmeNgevgaTR7y2lrVCJmGYF0rjoznpDvqV/kIkZSZbZ8Rw3eu4cGlvBBULScfkSOCzqKbff5LR4CNrV7mZHA==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-7.8.0.tgz",
+			"integrity": "sha512-7Ds8+wAAoV3T+LAKeu39Y5BzXCrGKrcISfgKEqTS4BDN8SFEDQd0S43jiQ8vIa3wUKD07qitZdfzlenSi8/0qQ==",
 			"dev": true,
+			"funding": [
+				"https://github.com/sponsors/ota-meshi",
+				"https://opencollective.com/eslint"
+			],
 			"dependencies": {
 				"@eslint-community/eslint-utils": "^4.1.2",
-				"@eslint-community/regexpp": "^4.6.0",
-				"eslint-compat-utils": "^0.5.0"
+				"@eslint-community/regexpp": "^4.11.0",
+				"eslint-compat-utils": "^0.5.1"
 			},
 			"engines": {
 				"node": "^14.18.0 || >=16.0.0"
 			},
-			"funding": {
-				"url": "https://github.com/sponsors/ota-meshi"
-			},
 			"peerDependencies": {
 				"eslint": ">=8"
 			}
@@ -5484,19 +5537,21 @@
 			}
 		},
 		"node_modules/eslint-plugin-n": {
-			"version": "17.7.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-17.7.0.tgz",
-			"integrity": "sha512-4Jg4ZKVE4VjHig2caBqPHYNW5na84RVufUuipFLJbgM/G57O6FdpUKJbHakCDJb/yjQuyqVzYWRtU3HNYaZUwg==",
+			"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,
 			"dependencies": {
-				"@eslint-community/eslint-utils": "^4.4.0",
-				"enhanced-resolve": "^5.15.0",
-				"eslint-plugin-es-x": "^7.5.0",
-				"get-tsconfig": "^4.7.0",
-				"globals": "^15.0.0",
-				"ignore": "^5.2.4",
-				"minimatch": "^9.0.0",
-				"semver": "^7.5.3"
+				"@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",
+				"ts-declaration-location": "^1.0.6"
 			},
 			"engines": {
 				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -5508,19 +5563,129 @@
 				"eslint": ">=8.23.0"
 			}
 		},
+		"node_modules/eslint-plugin-n/node_modules/@typescript-eslint/scope-manager": {
+			"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,
+			"dependencies": {
+				"@typescript-eslint/types": "8.34.0",
+				"@typescript-eslint/visitor-keys": "8.34.0"
+			},
+			"engines": {
+				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/typescript-eslint"
+			}
+		},
+		"node_modules/eslint-plugin-n/node_modules/@typescript-eslint/types": {
+			"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,
+			"engines": {
+				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/typescript-eslint"
+			}
+		},
+		"node_modules/eslint-plugin-n/node_modules/@typescript-eslint/typescript-estree": {
+			"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,
+			"dependencies": {
+				"@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.1.0"
+			},
+			"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/eslint-plugin-n/node_modules/@typescript-eslint/utils": {
+			"version": "8.34.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.34.0.tgz",
+			"integrity": "sha512-8L4tWatGchV9A1cKbjaavS6mwYwp39jql8xUmIIKJdm+qiaeHy5KMKlBrf30akXAWBzn2SqKsNOtSENWUwg7XQ==",
+			"dev": true,
+			"dependencies": {
+				"@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"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/typescript-eslint"
+			},
+			"peerDependencies": {
+				"eslint": "^8.57.0 || ^9.0.0",
+				"typescript": ">=4.8.4 <5.9.0"
+			}
+		},
+		"node_modules/eslint-plugin-n/node_modules/@typescript-eslint/visitor-keys": {
+			"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,
+			"dependencies": {
+				"@typescript-eslint/types": "8.34.0",
+				"eslint-visitor-keys": "^4.2.0"
+			},
+			"engines": {
+				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/typescript-eslint"
+			}
+		},
 		"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,
 			"dependencies": {
 				"balanced-match": "^1.0.0"
 			}
 		},
+		"node_modules/eslint-plugin-n/node_modules/eslint-visitor-keys": {
+			"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,
+			"engines": {
+				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+			},
+			"funding": {
+				"url": "https://opencollective.com/eslint"
+			}
+		},
 		"node_modules/eslint-plugin-n/node_modules/globals": {
-			"version": "15.3.0",
-			"resolved": "https://registry.npmjs.org/globals/-/globals-15.3.0.tgz",
-			"integrity": "sha512-cCdyVjIUVTtX8ZsPkq1oCsOsLmGIswqnjZYMJJTGaNApj1yHtLSymKhwH51ttirREn75z3p4k051clwg7rvNKA==",
+			"version": "15.15.0",
+			"resolved": "https://registry.npmjs.org/globals/-/globals-15.15.0.tgz",
+			"integrity": "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==",
 			"dev": true,
 			"engines": {
 				"node": ">=18"
@@ -5530,9 +5695,9 @@
 			}
 		},
 		"node_modules/eslint-plugin-n/node_modules/minimatch": {
-			"version": "9.0.4",
-			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz",
-			"integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==",
+			"version": "9.0.5",
+			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+			"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
 			"dev": true,
 			"dependencies": {
 				"brace-expansion": "^2.0.1"
@@ -5544,6 +5709,18 @@
 				"url": "https://github.com/sponsors/isaacs"
 			}
 		},
+		"node_modules/eslint-plugin-n/node_modules/ts-api-utils": {
+			"version": "2.1.0",
+			"resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz",
+			"integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==",
+			"dev": true,
+			"engines": {
+				"node": ">=18.12"
+			},
+			"peerDependencies": {
+				"typescript": ">=4.8.4"
+			}
+		},
 		"node_modules/eslint-plugin-no-jquery": {
 			"version": "3.1.1",
 			"resolved": "https://registry.npmjs.org/eslint-plugin-no-jquery/-/eslint-plugin-no-jquery-3.1.1.tgz",
@@ -6319,18 +6496,18 @@
 			}
 		},
 		"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,
 			"dependencies": {
 				"balanced-match": "^1.0.0"
 			}
 		},
 		"node_modules/filelist/node_modules/minimatch": {
-			"version": "5.0.1",
-			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz",
-			"integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==",
+			"version": "5.1.6",
+			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
+			"integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
 			"dev": true,
 			"dependencies": {
 				"brace-expansion": "^2.0.1"
@@ -6807,9 +6984,9 @@
 			}
 		},
 		"node_modules/get-tsconfig": {
-			"version": "4.7.5",
-			"resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.5.tgz",
-			"integrity": "sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==",
+			"version": "4.10.1",
+			"resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.10.1.tgz",
+			"integrity": "sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==",
 			"dev": true,
 			"dependencies": {
 				"resolve-pkg-maps": "^1.0.0"
@@ -7970,9 +8147,9 @@
 			]
 		},
 		"node_modules/ignore": {
-			"version": "5.3.1",
-			"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz",
-			"integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==",
+			"version": "5.3.2",
+			"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
+			"integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
 			"dev": true,
 			"engines": {
 				"node": ">= 4"
@@ -9990,11 +10167,10 @@
 			}
 		},
 		"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"
 			}
@@ -11726,11 +11902,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"
 			}
@@ -12361,9 +12536,9 @@
 			}
 		},
 		"node_modules/semver": {
-			"version": "7.6.2",
-			"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
-			"integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==",
+			"version": "7.7.2",
+			"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
+			"integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
 			"dev": true,
 			"bin": {
 				"semver": "bin/semver.js"
@@ -13658,9 +13833,9 @@
 			"license": "MIT"
 		},
 		"node_modules/tapable": {
-			"version": "2.2.1",
-			"resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
-			"integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
+			"version": "2.2.2",
+			"resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.2.tgz",
+			"integrity": "sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==",
 			"dev": true,
 			"engines": {
 				"node": ">=6"
@@ -13928,6 +14103,40 @@
 				"typescript": ">=4.2.0"
 			}
 		},
+		"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/tslib": {
 			"version": "2.4.0",
 			"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
@@ -14367,11 +14576,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"
 			}
@@ -15112,18 +15320,18 @@
 			}
 		},
 		"@eslint-community/eslint-utils": {
-			"version": "4.4.0",
-			"resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
-			"integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
+			"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,
 			"requires": {
-				"eslint-visitor-keys": "^3.3.0"
+				"eslint-visitor-keys": "^3.4.3"
 			}
 		},
 		"@eslint-community/regexpp": {
-			"version": "4.10.0",
-			"resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz",
-			"integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==",
+			"version": "4.12.1",
+			"resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz",
+			"integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==",
 			"dev": true
 		},
 		"@eslint/eslintrc": {
@@ -16084,6 +16292,25 @@
 				"@types/node": "*"
 			}
 		},
+		"@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,
+			"requires": {
+				"@typescript-eslint/tsconfig-utils": "^8.34.0",
+				"@typescript-eslint/types": "^8.34.0",
+				"debug": "^4.3.4"
+			},
+			"dependencies": {
+				"@typescript-eslint/types": {
+					"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
+				}
+			}
+		},
 		"@typescript-eslint/scope-manager": {
 			"version": "7.12.0",
 			"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.12.0.tgz",
@@ -16094,6 +16321,13 @@
 				"@typescript-eslint/visitor-keys": "7.12.0"
 			}
 		},
+		"@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,
+			"requires": {}
+		},
 		"@typescript-eslint/types": {
 			"version": "7.12.0",
 			"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.12.0.tgz",
@@ -16117,18 +16351,18 @@
 			},
 			"dependencies": {
 				"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,
 					"requires": {
 						"balanced-match": "^1.0.0"
 					}
 				},
 				"minimatch": {
-					"version": "9.0.4",
-					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz",
-					"integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==",
+					"version": "9.0.5",
+					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+					"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
 					"dev": true,
 					"requires": {
 						"brace-expansion": "^2.0.1"
@@ -16223,9 +16457,9 @@
 			},
 			"dependencies": {
 				"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,
 					"requires": {
 						"balanced-match": "^1.0.0"
@@ -16313,9 +16547,9 @@
 			},
 			"dependencies": {
 				"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,
 					"requires": {
 						"balanced-match": "^1.0.0"
@@ -18773,9 +19007,9 @@
 			}
 		},
 		"enhanced-resolve": {
-			"version": "5.16.1",
-			"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.16.1.tgz",
-			"integrity": "sha512-4U5pNsuDl0EhuZpq46M5xPslstkviJuhrdobaRDBk2Jy2KO37FDAJl4lb2KlNabxT0m4MTK2UHNrsAcphE8nyw==",
+			"version": "5.18.1",
+			"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.1.tgz",
+			"integrity": "sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==",
 			"dev": true,
 			"requires": {
 				"graceful-fs": "^4.2.4",
@@ -19003,14 +19237,14 @@
 			}
 		},
 		"eslint-plugin-es-x": {
-			"version": "7.6.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-7.6.0.tgz",
-			"integrity": "sha512-I0AmeNgevgaTR7y2lrVCJmGYF0rjoznpDvqV/kIkZSZbZ8Rw3eu4cGlvBBULScfkSOCzqKbff5LR4CNrV7mZHA==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-7.8.0.tgz",
+			"integrity": "sha512-7Ds8+wAAoV3T+LAKeu39Y5BzXCrGKrcISfgKEqTS4BDN8SFEDQd0S43jiQ8vIa3wUKD07qitZdfzlenSi8/0qQ==",
 			"dev": true,
 			"requires": {
 				"@eslint-community/eslint-utils": "^4.1.2",
-				"@eslint-community/regexpp": "^4.6.0",
-				"eslint-compat-utils": "^0.5.0"
+				"@eslint-community/regexpp": "^4.11.0",
+				"eslint-compat-utils": "^0.5.1"
 			}
 		},
 		"eslint-plugin-jest": {
@@ -19083,44 +19317,115 @@
 			}
 		},
 		"eslint-plugin-n": {
-			"version": "17.7.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-17.7.0.tgz",
-			"integrity": "sha512-4Jg4ZKVE4VjHig2caBqPHYNW5na84RVufUuipFLJbgM/G57O6FdpUKJbHakCDJb/yjQuyqVzYWRtU3HNYaZUwg==",
-			"dev": true,
-			"requires": {
-				"@eslint-community/eslint-utils": "^4.4.0",
-				"enhanced-resolve": "^5.15.0",
-				"eslint-plugin-es-x": "^7.5.0",
-				"get-tsconfig": "^4.7.0",
-				"globals": "^15.0.0",
-				"ignore": "^5.2.4",
-				"minimatch": "^9.0.0",
-				"semver": "^7.5.3"
-			},
-			"dependencies": {
+			"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,
+			"requires": {
+				"@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",
+				"ts-declaration-location": "^1.0.6"
+			},
+			"dependencies": {
+				"@typescript-eslint/scope-manager": {
+					"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,
+					"requires": {
+						"@typescript-eslint/types": "8.34.0",
+						"@typescript-eslint/visitor-keys": "8.34.0"
+					}
+				},
+				"@typescript-eslint/types": {
+					"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
+				},
+				"@typescript-eslint/typescript-estree": {
+					"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,
+					"requires": {
+						"@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.1.0"
+					}
+				},
+				"@typescript-eslint/utils": {
+					"version": "8.34.0",
+					"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.34.0.tgz",
+					"integrity": "sha512-8L4tWatGchV9A1cKbjaavS6mwYwp39jql8xUmIIKJdm+qiaeHy5KMKlBrf30akXAWBzn2SqKsNOtSENWUwg7XQ==",
+					"dev": true,
+					"requires": {
+						"@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"
+					}
+				},
+				"@typescript-eslint/visitor-keys": {
+					"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,
+					"requires": {
+						"@typescript-eslint/types": "8.34.0",
+						"eslint-visitor-keys": "^4.2.0"
+					}
+				},
 				"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,
 					"requires": {
 						"balanced-match": "^1.0.0"
 					}
 				},
+				"eslint-visitor-keys": {
+					"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
+				},
 				"globals": {
-					"version": "15.3.0",
-					"resolved": "https://registry.npmjs.org/globals/-/globals-15.3.0.tgz",
-					"integrity": "sha512-cCdyVjIUVTtX8ZsPkq1oCsOsLmGIswqnjZYMJJTGaNApj1yHtLSymKhwH51ttirREn75z3p4k051clwg7rvNKA==",
+					"version": "15.15.0",
+					"resolved": "https://registry.npmjs.org/globals/-/globals-15.15.0.tgz",
+					"integrity": "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==",
 					"dev": true
 				},
 				"minimatch": {
-					"version": "9.0.4",
-					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz",
-					"integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==",
+					"version": "9.0.5",
+					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+					"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
 					"dev": true,
 					"requires": {
 						"brace-expansion": "^2.0.1"
 					}
+				},
+				"ts-api-utils": {
+					"version": "2.1.0",
+					"resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz",
+					"integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==",
+					"dev": true,
+					"requires": {}
 				}
 			}
 		},
@@ -19682,18 +19987,18 @@
 			},
 			"dependencies": {
 				"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,
 					"requires": {
 						"balanced-match": "^1.0.0"
 					}
 				},
 				"minimatch": {
-					"version": "5.0.1",
-					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz",
-					"integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==",
+					"version": "5.1.6",
+					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
+					"integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
 					"dev": true,
 					"requires": {
 						"brace-expansion": "^2.0.1"
@@ -20040,9 +20345,9 @@
 			}
 		},
 		"get-tsconfig": {
-			"version": "4.7.5",
-			"resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.5.tgz",
-			"integrity": "sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==",
+			"version": "4.10.1",
+			"resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.10.1.tgz",
+			"integrity": "sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==",
 			"dev": true,
 			"requires": {
 				"resolve-pkg-maps": "^1.0.0"
@@ -20902,9 +21207,9 @@
 			"dev": true
 		},
 		"ignore": {
-			"version": "5.3.1",
-			"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz",
-			"integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==",
+			"version": "5.3.2",
+			"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
+			"integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
 			"dev": true
 		},
 		"image-q": {
@@ -22473,9 +22778,9 @@
 			},
 			"dependencies": {
 				"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,
 					"requires": {
 						"balanced-match": "^1.0.0"
@@ -23732,9 +24037,9 @@
 			},
 			"dependencies": {
 				"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,
 					"requires": {
 						"balanced-match": "^1.0.0"
@@ -24214,9 +24519,9 @@
 			}
 		},
 		"semver": {
-			"version": "7.6.2",
-			"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
-			"integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==",
+			"version": "7.7.2",
+			"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
+			"integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
 			"dev": true
 		},
 		"semver-regex": {
@@ -25139,9 +25444,9 @@
 			}
 		},
 		"tapable": {
-			"version": "2.2.1",
-			"resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
-			"integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
+			"version": "2.2.2",
+			"resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.2.tgz",
+			"integrity": "sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==",
 			"dev": true
 		},
 		"tar-fs": {
@@ -25369,6 +25674,23 @@
 			"dev": true,
 			"requires": {}
 		},
+		"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,
+			"requires": {
+				"picomatch": "^4.0.2"
+			},
+			"dependencies": {
+				"picomatch": {
+					"version": "4.0.2",
+					"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz",
+					"integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==",
+					"dev": true
+				}
+			}
+		},
 		"tslib": {
 			"version": "2.4.0",
 			"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
@@ -25687,9 +26009,9 @@
 			},
 			"dependencies": {
 				"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,
 					"requires": {
 						"balanced-match": "^1.0.0"
-- 
2.39.5


--- end ---

composer dependencies

Development dependencies

npm dependencies

Development dependencies

Logs

Source code is licensed under the AGPL.