mediawiki/extensions/MediaUploader: REL1_45 (log #2339695)

sourcepatches

This run took 49 seconds.

From 2a04554939ddacd23c48d6c984d025262a6bfa3d Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Thu, 22 Jan 2026 15:16:55 +0000
Subject: [PATCH] build: Updating npm dependencies
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* js-yaml: 3.14.1, 4.1.0 → 3.14.2, 4.1.1
  * https://github.com/advisories/GHSA-mh29-5h37-fv8m
* lodash: 4.17.21 → 4.17.23
  * https://github.com/advisories/GHSA-xxjr-mmjv-4gpg
* qs: 6.11.1 → 6.14.1
  * https://github.com/advisories/GHSA-6rw7-vpxm-498p

Change-Id: I797f00ec20590bdd8bcf3218a227f2f53be2c6cc
---
 package-lock.json | 474 +++++++++++++++++++++++++++++++++++-----------
 1 file changed, 363 insertions(+), 111 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 7afe441..55cce53 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -271,9 +271,9 @@
 			"dev": true
 		},
 		"node_modules/@eslint/eslintrc/node_modules/js-yaml": {
-			"version": "4.1.0",
-			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
-			"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+			"version": "4.1.1",
+			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
+			"integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
 			"dev": true,
 			"dependencies": {
 				"argparse": "^2.0.1"
@@ -1258,14 +1258,30 @@
 			"integrity": "sha1-NWnt6Lo0MV+rmcPpLLBMciDeH6g=",
 			"dev": true
 		},
-		"node_modules/call-bind": {
+		"node_modules/call-bind-apply-helpers": {
 			"version": "1.0.2",
-			"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
-			"integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
+			"resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
+			"integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
+			"dev": true,
+			"dependencies": {
+				"es-errors": "^1.3.0",
+				"function-bind": "^1.1.2"
+			},
+			"engines": {
+				"node": ">= 0.4"
+			}
+		},
+		"node_modules/call-bound": {
+			"version": "1.0.4",
+			"resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz",
+			"integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==",
 			"dev": true,
 			"dependencies": {
-				"function-bind": "^1.1.1",
-				"get-intrinsic": "^1.0.2"
+				"call-bind-apply-helpers": "^1.0.2",
+				"get-intrinsic": "^1.3.0"
+			},
+			"engines": {
+				"node": ">= 0.4"
 			},
 			"funding": {
 				"url": "https://github.com/sponsors/ljharb"
@@ -1472,9 +1488,9 @@
 			"dev": true
 		},
 		"node_modules/cosmiconfig/node_modules/js-yaml": {
-			"version": "4.1.0",
-			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
-			"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+			"version": "4.1.1",
+			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
+			"integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
 			"dev": true,
 			"dependencies": {
 				"argparse": "^2.0.1"
@@ -1698,6 +1714,20 @@
 				"url": "https://github.com/fb55/domutils?sponsor=1"
 			}
 		},
+		"node_modules/dunder-proto": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
+			"integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
+			"dev": true,
+			"dependencies": {
+				"call-bind-apply-helpers": "^1.0.1",
+				"es-errors": "^1.3.0",
+				"gopd": "^1.2.0"
+			},
+			"engines": {
+				"node": ">= 0.4"
+			}
+		},
 		"node_modules/duplexify": {
 			"version": "4.1.3",
 			"resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.3.tgz",
@@ -1807,6 +1837,36 @@
 				"is-arrayish": "^0.2.1"
 			}
 		},
+		"node_modules/es-define-property": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
+			"integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
+			"dev": true,
+			"engines": {
+				"node": ">= 0.4"
+			}
+		},
+		"node_modules/es-errors": {
+			"version": "1.3.0",
+			"resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
+			"integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
+			"dev": true,
+			"engines": {
+				"node": ">= 0.4"
+			}
+		},
+		"node_modules/es-object-atoms": {
+			"version": "1.1.1",
+			"resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
+			"integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
+			"dev": true,
+			"dependencies": {
+				"es-errors": "^1.3.0"
+			},
+			"engines": {
+				"node": ">= 0.4"
+			}
+		},
 		"node_modules/escalade": {
 			"version": "3.2.0",
 			"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
@@ -2526,9 +2586,9 @@
 			}
 		},
 		"node_modules/eslint-plugin-unicorn/node_modules/js-yaml": {
-			"version": "4.1.0",
-			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
-			"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+			"version": "4.1.1",
+			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
+			"integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
 			"dev": true,
 			"dependencies": {
 				"argparse": "^2.0.1"
@@ -2676,9 +2736,9 @@
 			}
 		},
 		"node_modules/eslint/node_modules/js-yaml": {
-			"version": "4.1.0",
-			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
-			"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+			"version": "4.1.1",
+			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
+			"integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
 			"dev": true,
 			"dependencies": {
 				"argparse": "^2.0.1"
@@ -3042,19 +3102,42 @@
 			}
 		},
 		"node_modules/get-intrinsic": {
-			"version": "1.2.0",
-			"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz",
-			"integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==",
+			"version": "1.3.0",
+			"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
+			"integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
 			"dev": true,
 			"dependencies": {
-				"function-bind": "^1.1.1",
-				"has": "^1.0.3",
-				"has-symbols": "^1.0.3"
+				"call-bind-apply-helpers": "^1.0.2",
+				"es-define-property": "^1.0.1",
+				"es-errors": "^1.3.0",
+				"es-object-atoms": "^1.1.1",
+				"function-bind": "^1.1.2",
+				"get-proto": "^1.0.1",
+				"gopd": "^1.2.0",
+				"has-symbols": "^1.1.0",
+				"hasown": "^2.0.2",
+				"math-intrinsics": "^1.1.0"
+			},
+			"engines": {
+				"node": ">= 0.4"
 			},
 			"funding": {
 				"url": "https://github.com/sponsors/ljharb"
 			}
 		},
+		"node_modules/get-proto": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz",
+			"integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
+			"dev": true,
+			"dependencies": {
+				"dunder-proto": "^1.0.1",
+				"es-object-atoms": "^1.0.0"
+			},
+			"engines": {
+				"node": ">= 0.4"
+			}
+		},
 		"node_modules/get-tsconfig": {
 			"version": "4.7.6",
 			"resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.6.tgz",
@@ -3189,6 +3272,18 @@
 				"node": ">= 0.10"
 			}
 		},
+		"node_modules/gopd": {
+			"version": "1.2.0",
+			"resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
+			"integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
+			"dev": true,
+			"engines": {
+				"node": ">= 0.4"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/ljharb"
+			}
+		},
 		"node_modules/graceful-fs": {
 			"version": "4.2.11",
 			"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
@@ -3403,18 +3498,6 @@
 				"stylelint": "16.x"
 			}
 		},
-		"node_modules/has": {
-			"version": "1.0.3",
-			"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
-			"integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
-			"dev": true,
-			"dependencies": {
-				"function-bind": "^1.1.1"
-			},
-			"engines": {
-				"node": ">= 0.4.0"
-			}
-		},
 		"node_modules/has-flag": {
 			"version": "4.0.0",
 			"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
@@ -3425,9 +3508,9 @@
 			}
 		},
 		"node_modules/has-symbols": {
-			"version": "1.0.3",
-			"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
-			"integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
+			"integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
 			"dev": true,
 			"engines": {
 				"node": ">= 0.4"
@@ -3762,9 +3845,9 @@
 			"dev": true
 		},
 		"node_modules/js-yaml": {
-			"version": "3.14.1",
-			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
-			"integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
+			"version": "3.14.2",
+			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz",
+			"integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==",
 			"dev": true,
 			"dependencies": {
 				"argparse": "^1.0.7",
@@ -3918,9 +4001,9 @@
 			}
 		},
 		"node_modules/lodash": {
-			"version": "4.17.21",
-			"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
-			"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
+			"version": "4.17.23",
+			"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz",
+			"integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==",
 			"dev": true
 		},
 		"node_modules/lodash.memoize": {
@@ -3962,6 +4045,15 @@
 				"node": ">=0.10.0"
 			}
 		},
+		"node_modules/math-intrinsics": {
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
+			"integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
+			"dev": true,
+			"engines": {
+				"node": ">= 0.4"
+			}
+		},
 		"node_modules/mathml-tag-names": {
 			"version": "2.1.3",
 			"resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz",
@@ -4152,10 +4244,13 @@
 			}
 		},
 		"node_modules/object-inspect": {
-			"version": "1.12.3",
-			"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz",
-			"integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==",
+			"version": "1.13.4",
+			"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz",
+			"integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==",
 			"dev": true,
+			"engines": {
+				"node": ">= 0.4"
+			},
 			"funding": {
 				"url": "https://github.com/sponsors/ljharb"
 			}
@@ -4557,12 +4652,12 @@
 			}
 		},
 		"node_modules/qs": {
-			"version": "6.11.1",
-			"resolved": "https://registry.npmjs.org/qs/-/qs-6.11.1.tgz",
-			"integrity": "sha512-0wsrzgTz/kAVIeuxSjnpGC56rzYtr6JT/2BwEvMaPhFIoYa1aGO8LbzuU1R0uUYQkLpWBTOj0l/CLAJB64J6nQ==",
+			"version": "6.14.1",
+			"resolved": "https://registry.npmjs.org/qs/-/qs-6.14.1.tgz",
+			"integrity": "sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==",
 			"dev": true,
 			"dependencies": {
-				"side-channel": "^1.0.4"
+				"side-channel": "^1.1.0"
 			},
 			"engines": {
 				"node": ">=0.6"
@@ -4994,14 +5089,72 @@
 			}
 		},
 		"node_modules/side-channel": {
-			"version": "1.0.4",
-			"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
-			"integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz",
+			"integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==",
 			"dev": true,
 			"dependencies": {
-				"call-bind": "^1.0.0",
-				"get-intrinsic": "^1.0.2",
-				"object-inspect": "^1.9.0"
+				"es-errors": "^1.3.0",
+				"object-inspect": "^1.13.3",
+				"side-channel-list": "^1.0.0",
+				"side-channel-map": "^1.0.1",
+				"side-channel-weakmap": "^1.0.2"
+			},
+			"engines": {
+				"node": ">= 0.4"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/ljharb"
+			}
+		},
+		"node_modules/side-channel-list": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz",
+			"integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==",
+			"dev": true,
+			"dependencies": {
+				"es-errors": "^1.3.0",
+				"object-inspect": "^1.13.3"
+			},
+			"engines": {
+				"node": ">= 0.4"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/ljharb"
+			}
+		},
+		"node_modules/side-channel-map": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz",
+			"integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==",
+			"dev": true,
+			"dependencies": {
+				"call-bound": "^1.0.2",
+				"es-errors": "^1.3.0",
+				"get-intrinsic": "^1.2.5",
+				"object-inspect": "^1.13.3"
+			},
+			"engines": {
+				"node": ">= 0.4"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/ljharb"
+			}
+		},
+		"node_modules/side-channel-weakmap": {
+			"version": "1.0.2",
+			"resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz",
+			"integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==",
+			"dev": true,
+			"dependencies": {
+				"call-bound": "^1.0.2",
+				"es-errors": "^1.3.0",
+				"get-intrinsic": "^1.2.5",
+				"object-inspect": "^1.13.3",
+				"side-channel-map": "^1.0.1"
+			},
+			"engines": {
+				"node": ">= 0.4"
 			},
 			"funding": {
 				"url": "https://github.com/sponsors/ljharb"
@@ -6104,9 +6257,9 @@
 					"dev": true
 				},
 				"js-yaml": {
-					"version": "4.1.0",
-					"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
-					"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+					"version": "4.1.1",
+					"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
+					"integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
 					"dev": true,
 					"requires": {
 						"argparse": "^2.0.1"
@@ -6759,14 +6912,24 @@
 			"integrity": "sha1-NWnt6Lo0MV+rmcPpLLBMciDeH6g=",
 			"dev": true
 		},
-		"call-bind": {
+		"call-bind-apply-helpers": {
 			"version": "1.0.2",
-			"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
-			"integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
+			"resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
+			"integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
 			"dev": true,
 			"requires": {
-				"function-bind": "^1.1.1",
-				"get-intrinsic": "^1.0.2"
+				"es-errors": "^1.3.0",
+				"function-bind": "^1.1.2"
+			}
+		},
+		"call-bound": {
+			"version": "1.0.4",
+			"resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz",
+			"integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==",
+			"dev": true,
+			"requires": {
+				"call-bind-apply-helpers": "^1.0.2",
+				"get-intrinsic": "^1.3.0"
 			}
 		},
 		"callsites": {
@@ -6904,9 +7067,9 @@
 					"dev": true
 				},
 				"js-yaml": {
-					"version": "4.1.0",
-					"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
-					"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+					"version": "4.1.1",
+					"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
+					"integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
 					"dev": true,
 					"requires": {
 						"argparse": "^2.0.1"
@@ -7066,6 +7229,17 @@
 				"domhandler": "^5.0.3"
 			}
 		},
+		"dunder-proto": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
+			"integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
+			"dev": true,
+			"requires": {
+				"call-bind-apply-helpers": "^1.0.1",
+				"es-errors": "^1.3.0",
+				"gopd": "^1.2.0"
+			}
+		},
 		"duplexify": {
 			"version": "4.1.3",
 			"resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.3.tgz",
@@ -7162,6 +7336,27 @@
 				"is-arrayish": "^0.2.1"
 			}
 		},
+		"es-define-property": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
+			"integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
+			"dev": true
+		},
+		"es-errors": {
+			"version": "1.3.0",
+			"resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
+			"integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
+			"dev": true
+		},
+		"es-object-atoms": {
+			"version": "1.1.1",
+			"resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
+			"integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
+			"dev": true,
+			"requires": {
+				"es-errors": "^1.3.0"
+			}
+		},
 		"escalade": {
 			"version": "3.2.0",
 			"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
@@ -7236,9 +7431,9 @@
 					}
 				},
 				"js-yaml": {
-					"version": "4.1.0",
-					"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
-					"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+					"version": "4.1.1",
+					"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
+					"integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
 					"dev": true,
 					"requires": {
 						"argparse": "^2.0.1"
@@ -7671,9 +7866,9 @@
 					"dev": true
 				},
 				"js-yaml": {
-					"version": "4.1.0",
-					"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
-					"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+					"version": "4.1.1",
+					"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
+					"integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
 					"dev": true,
 					"requires": {
 						"argparse": "^2.0.1"
@@ -8012,14 +8207,31 @@
 			"dev": true
 		},
 		"get-intrinsic": {
-			"version": "1.2.0",
-			"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz",
-			"integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==",
+			"version": "1.3.0",
+			"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
+			"integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
 			"dev": true,
 			"requires": {
-				"function-bind": "^1.1.1",
-				"has": "^1.0.3",
-				"has-symbols": "^1.0.3"
+				"call-bind-apply-helpers": "^1.0.2",
+				"es-define-property": "^1.0.1",
+				"es-errors": "^1.3.0",
+				"es-object-atoms": "^1.1.1",
+				"function-bind": "^1.1.2",
+				"get-proto": "^1.0.1",
+				"gopd": "^1.2.0",
+				"has-symbols": "^1.1.0",
+				"hasown": "^2.0.2",
+				"math-intrinsics": "^1.1.0"
+			}
+		},
+		"get-proto": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz",
+			"integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
+			"dev": true,
+			"requires": {
+				"dunder-proto": "^1.0.1",
+				"es-object-atoms": "^1.0.0"
 			}
 		},
 		"get-tsconfig": {
@@ -8120,6 +8332,12 @@
 				"minimatch": "~3.0.2"
 			}
 		},
+		"gopd": {
+			"version": "1.2.0",
+			"resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
+			"integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
+			"dev": true
+		},
 		"graceful-fs": {
 			"version": "4.2.11",
 			"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
@@ -8283,15 +8501,6 @@
 				"chalk": "^4.1.2"
 			}
 		},
-		"has": {
-			"version": "1.0.3",
-			"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
-			"integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
-			"dev": true,
-			"requires": {
-				"function-bind": "^1.1.1"
-			}
-		},
 		"has-flag": {
 			"version": "4.0.0",
 			"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
@@ -8299,9 +8508,9 @@
 			"dev": true
 		},
 		"has-symbols": {
-			"version": "1.0.3",
-			"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
-			"integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
+			"integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
 			"dev": true
 		},
 		"hasown": {
@@ -8548,9 +8757,9 @@
 			"dev": true
 		},
 		"js-yaml": {
-			"version": "3.14.1",
-			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
-			"integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
+			"version": "3.14.2",
+			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz",
+			"integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==",
 			"dev": true,
 			"requires": {
 				"argparse": "^1.0.7",
@@ -8676,9 +8885,9 @@
 			}
 		},
 		"lodash": {
-			"version": "4.17.21",
-			"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
-			"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
+			"version": "4.17.23",
+			"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz",
+			"integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==",
 			"dev": true
 		},
 		"lodash.memoize": {
@@ -8714,6 +8923,12 @@
 			"integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==",
 			"dev": true
 		},
+		"math-intrinsics": {
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
+			"integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
+			"dev": true
+		},
 		"mathml-tag-names": {
 			"version": "2.1.3",
 			"resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz",
@@ -8851,9 +9066,9 @@
 			"dev": true
 		},
 		"object-inspect": {
-			"version": "1.12.3",
-			"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz",
-			"integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==",
+			"version": "1.13.4",
+			"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz",
+			"integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==",
 			"dev": true
 		},
 		"object.defaults": {
@@ -9137,12 +9352,12 @@
 			"dev": true
 		},
 		"qs": {
-			"version": "6.11.1",
-			"resolved": "https://registry.npmjs.org/qs/-/qs-6.11.1.tgz",
-			"integrity": "sha512-0wsrzgTz/kAVIeuxSjnpGC56rzYtr6JT/2BwEvMaPhFIoYa1aGO8LbzuU1R0uUYQkLpWBTOj0l/CLAJB64J6nQ==",
+			"version": "6.14.1",
+			"resolved": "https://registry.npmjs.org/qs/-/qs-6.14.1.tgz",
+			"integrity": "sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==",
 			"dev": true,
 			"requires": {
-				"side-channel": "^1.0.4"
+				"side-channel": "^1.1.0"
 			}
 		},
 		"queue-microtask": {
@@ -9437,14 +9652,51 @@
 			"dev": true
 		},
 		"side-channel": {
-			"version": "1.0.4",
-			"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
-			"integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz",
+			"integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==",
+			"dev": true,
+			"requires": {
+				"es-errors": "^1.3.0",
+				"object-inspect": "^1.13.3",
+				"side-channel-list": "^1.0.0",
+				"side-channel-map": "^1.0.1",
+				"side-channel-weakmap": "^1.0.2"
+			}
+		},
+		"side-channel-list": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz",
+			"integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==",
+			"dev": true,
+			"requires": {
+				"es-errors": "^1.3.0",
+				"object-inspect": "^1.13.3"
+			}
+		},
+		"side-channel-map": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz",
+			"integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==",
+			"dev": true,
+			"requires": {
+				"call-bound": "^1.0.2",
+				"es-errors": "^1.3.0",
+				"get-intrinsic": "^1.2.5",
+				"object-inspect": "^1.13.3"
+			}
+		},
+		"side-channel-weakmap": {
+			"version": "1.0.2",
+			"resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz",
+			"integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==",
 			"dev": true,
 			"requires": {
-				"call-bind": "^1.0.0",
-				"get-intrinsic": "^1.0.2",
-				"object-inspect": "^1.9.0"
+				"call-bound": "^1.0.2",
+				"es-errors": "^1.3.0",
+				"get-intrinsic": "^1.2.5",
+				"object-inspect": "^1.13.3",
+				"side-channel-map": "^1.0.1"
 			}
 		},
 		"signal-exit": {
-- 
2.47.3

$ date
--- stdout ---
Thu Jan 22 15:16:20 UTC 2026

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

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

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

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

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

--- end ---
$ git show-ref refs/heads/REL1_45
--- stdout ---
2556cb0a3cb1aaa478f22ef26b27ddc7d73eb57f refs/heads/REL1_45

--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {
    "js-yaml": {
      "name": "js-yaml",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1109801,
          "name": "js-yaml",
          "dependency": "js-yaml",
          "title": "js-yaml has prototype pollution in merge (<<)",
          "url": "https://github.com/advisories/GHSA-mh29-5h37-fv8m",
          "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": "<3.14.2"
        },
        {
          "source": 1109802,
          "name": "js-yaml",
          "dependency": "js-yaml",
          "title": "js-yaml has prototype pollution in merge (<<)",
          "url": "https://github.com/advisories/GHSA-mh29-5h37-fv8m",
          "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": ">=4.0.0 <4.1.1"
        }
      ],
      "effects": [],
      "range": "<3.14.2 || >=4.0.0 <4.1.1",
      "nodes": [
        "node_modules/@eslint/eslintrc/node_modules/js-yaml",
        "node_modules/cosmiconfig/node_modules/js-yaml",
        "node_modules/eslint-plugin-unicorn/node_modules/js-yaml",
        "node_modules/eslint/node_modules/js-yaml",
        "node_modules/js-yaml"
      ],
      "fixAvailable": true
    },
    "lodash": {
      "name": "lodash",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1112455,
          "name": "lodash",
          "dependency": "lodash",
          "title": "Lodash has Prototype Pollution Vulnerability in `_.unset` and `_.omit` functions",
          "url": "https://github.com/advisories/GHSA-xxjr-mmjv-4gpg",
          "severity": "moderate",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 6.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L"
          },
          "range": ">=4.0.0 <=4.17.22"
        }
      ],
      "effects": [],
      "range": "4.0.0 - 4.17.21",
      "nodes": [
        "node_modules/lodash"
      ],
      "fixAvailable": true
    },
    "qs": {
      "name": "qs",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1111755,
          "name": "qs",
          "dependency": "qs",
          "title": "qs's arrayLimit bypass in its bracket notation allows DoS via memory exhaustion",
          "url": "https://github.com/advisories/GHSA-6rw7-vpxm-498p",
          "severity": "high",
          "cwe": [
            "CWE-20"
          ],
          "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.14.1"
        }
      ],
      "effects": [],
      "range": "<6.14.1",
      "nodes": [
        "node_modules/qs"
      ],
      "fixAvailable": true
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 0,
      "moderate": 2,
      "high": 1,
      "critical": 0,
      "total": 3
    },
    "dependencies": {
      "prod": 1,
      "dev": 476,
      "optional": 4,
      "peer": 5,
      "peerOptional": 0,
      "total": 476
    }
  }
}

--- 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: 40 installs, 0 updates, 0 removals
  - Locking composer/pcre (3.3.2)
  - Locking composer/semver (3.4.4)
  - Locking composer/spdx-licenses (1.5.9)
  - Locking composer/xdebug-handler (3.0.5)
  - Locking dealerdirect/phpcodesniffer-composer-installer (v1.2.0)
  - Locking doctrine/deprecations (1.1.5)
  - Locking felixfbecker/advanced-json-rpc (v3.2.1)
  - Locking justinrainbow/json-schema (5.3.1)
  - Locking mediawiki/mediawiki-codesniffer (v48.0.0)
  - Locking mediawiki/mediawiki-phan-config (0.17.0)
  - Locking mediawiki/minus-x (1.1.3)
  - Locking mediawiki/phan-taint-check-plugin (7.0.0)
  - Locking microsoft/tolerant-php-parser (v0.1.2)
  - Locking netresearch/jsonmapper (v4.5.0)
  - Locking phan/phan (5.5.1)
  - Locking php-parallel-lint/php-console-color (v1.0.1)
  - Locking php-parallel-lint/php-console-highlighter (v1.0.0)
  - Locking php-parallel-lint/php-parallel-lint (v1.4.0)
  - Locking phpcsstandards/phpcsextra (1.4.0)
  - Locking phpcsstandards/phpcsutils (1.1.1)
  - Locking phpdocumentor/reflection-common (2.2.0)
  - Locking phpdocumentor/reflection-docblock (5.6.6)
  - Locking phpdocumentor/type-resolver (1.12.0)
  - Locking phpstan/phpdoc-parser (2.3.1)
  - Locking psr/container (2.0.2)
  - Locking psr/log (3.0.2)
  - Locking sabre/event (5.1.7)
  - Locking squizlabs/php_codesniffer (3.13.2)
  - Locking symfony/console (v7.4.3)
  - Locking symfony/deprecation-contracts (v3.6.0)
  - Locking symfony/polyfill-ctype (v1.33.0)
  - Locking symfony/polyfill-intl-grapheme (v1.33.0)
  - Locking symfony/polyfill-intl-normalizer (v1.33.0)
  - Locking symfony/polyfill-mbstring (v1.33.0)
  - Locking symfony/polyfill-php80 (v1.33.0)
  - Locking symfony/service-contracts (v3.6.1)
  - Locking symfony/string (v8.0.1)
  - Locking symfony/yaml (v5.4.45)
  - Locking tysonandre/var_representation_polyfill (0.1.3)
  - Locking webmozart/assert (2.1.2)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 40 installs, 0 updates, 0 removals
    0 [>---------------------------]    0 [->--------------------------]
  - Installing squizlabs/php_codesniffer (3.13.2): Extracting archive
  - Installing dealerdirect/phpcodesniffer-composer-installer (v1.2.0): Extracting archive
  - Installing composer/pcre (3.3.2): Extracting archive
  - Installing justinrainbow/json-schema (5.3.1): Extracting archive
  - Installing phpcsstandards/phpcsutils (1.1.1): Extracting archive
  - Installing phpcsstandards/phpcsextra (1.4.0): Extracting archive
  - Installing symfony/polyfill-mbstring (v1.33.0): Extracting archive
  - Installing composer/spdx-licenses (1.5.9): Extracting archive
  - Installing composer/semver (3.4.4): Extracting archive
  - Installing mediawiki/mediawiki-codesniffer (v48.0.0): Extracting archive
  - Installing tysonandre/var_representation_polyfill (0.1.3): Extracting archive
  - Installing symfony/polyfill-php80 (v1.33.0): Extracting archive
  - Installing symfony/polyfill-intl-normalizer (v1.33.0): Extracting archive
  - Installing symfony/polyfill-intl-grapheme (v1.33.0): Extracting archive
  - Installing symfony/polyfill-ctype (v1.33.0): Extracting archive
  - Installing symfony/string (v8.0.1): Extracting archive
  - Installing symfony/deprecation-contracts (v3.6.0): Extracting archive
  - Installing psr/container (2.0.2): Extracting archive
  - Installing symfony/service-contracts (v3.6.1): Extracting archive
  - Installing symfony/console (v7.4.3): Extracting archive
  - Installing sabre/event (5.1.7): Extracting archive
  - Installing netresearch/jsonmapper (v4.5.0): Extracting archive
  - Installing microsoft/tolerant-php-parser (v0.1.2): Extracting archive
  - Installing webmozart/assert (2.1.2): Extracting archive
  - Installing phpstan/phpdoc-parser (2.3.1): Extracting archive
  - Installing phpdocumentor/reflection-common (2.2.0): Extracting archive
  - Installing doctrine/deprecations (1.1.5): Extracting archive
  - Installing phpdocumentor/type-resolver (1.12.0): Extracting archive
  - Installing phpdocumentor/reflection-docblock (5.6.6): Extracting archive
  - Installing felixfbecker/advanced-json-rpc (v3.2.1): Extracting archive
  - Installing psr/log (3.0.2): Extracting archive
  - Installing composer/xdebug-handler (3.0.5): Extracting archive
  - Installing phan/phan (5.5.1): Extracting archive
  - Installing mediawiki/phan-taint-check-plugin (7.0.0): Extracting archive
  - Installing mediawiki/mediawiki-phan-config (0.17.0): Extracting archive
  - Installing mediawiki/minus-x (1.1.3): Extracting archive
  - Installing php-parallel-lint/php-console-color (v1.0.1): Extracting archive
  - Installing php-parallel-lint/php-console-highlighter (v1.0.0): Extracting archive
  - Installing php-parallel-lint/php-parallel-lint (v1.4.0): Extracting archive
  - Installing symfony/yaml (v5.4.45): Extracting archive
  0/38 [>---------------------------]   0%
 29/38 [=====================>------]  76%
 37/38 [===========================>]  97%
 38/38 [============================] 100%
1 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating autoload files
18 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": {
    "js-yaml": {
      "name": "js-yaml",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1109801,
          "name": "js-yaml",
          "dependency": "js-yaml",
          "title": "js-yaml has prototype pollution in merge (<<)",
          "url": "https://github.com/advisories/GHSA-mh29-5h37-fv8m",
          "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": "<3.14.2"
        },
        {
          "source": 1109802,
          "name": "js-yaml",
          "dependency": "js-yaml",
          "title": "js-yaml has prototype pollution in merge (<<)",
          "url": "https://github.com/advisories/GHSA-mh29-5h37-fv8m",
          "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": ">=4.0.0 <4.1.1"
        }
      ],
      "effects": [],
      "range": "<3.14.2 || >=4.0.0 <4.1.1",
      "nodes": [
        "node_modules/@eslint/eslintrc/node_modules/js-yaml",
        "node_modules/cosmiconfig/node_modules/js-yaml",
        "node_modules/eslint-plugin-unicorn/node_modules/js-yaml",
        "node_modules/eslint/node_modules/js-yaml",
        "node_modules/js-yaml"
      ],
      "fixAvailable": true
    },
    "lodash": {
      "name": "lodash",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1112455,
          "name": "lodash",
          "dependency": "lodash",
          "title": "Lodash has Prototype Pollution Vulnerability in `_.unset` and `_.omit` functions",
          "url": "https://github.com/advisories/GHSA-xxjr-mmjv-4gpg",
          "severity": "moderate",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 6.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L"
          },
          "range": ">=4.0.0 <=4.17.22"
        }
      ],
      "effects": [],
      "range": "4.0.0 - 4.17.21",
      "nodes": [
        "node_modules/lodash"
      ],
      "fixAvailable": true
    },
    "qs": {
      "name": "qs",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1111755,
          "name": "qs",
          "dependency": "qs",
          "title": "qs's arrayLimit bypass in its bracket notation allows DoS via memory exhaustion",
          "url": "https://github.com/advisories/GHSA-6rw7-vpxm-498p",
          "severity": "high",
          "cwe": [
            "CWE-20"
          ],
          "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.14.1"
        }
      ],
      "effects": [],
      "range": "<6.14.1",
      "nodes": [
        "node_modules/qs"
      ],
      "fixAvailable": true
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 0,
      "moderate": 2,
      "high": 1,
      "critical": 0,
      "total": 3
    },
    "dependencies": {
      "prod": 1,
      "dev": 476,
      "optional": 4,
      "peer": 5,
      "peerOptional": 0,
      "total": 476
    }
  }
}

--- 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": 486,
  "removed": 0,
  "changed": 0,
  "audited": 487,
  "funding": 126,
  "audit": {
    "auditReportVersion": 2,
    "vulnerabilities": {
      "js-yaml": {
        "name": "js-yaml",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          {
            "source": 1109801,
            "name": "js-yaml",
            "dependency": "js-yaml",
            "title": "js-yaml has prototype pollution in merge (<<)",
            "url": "https://github.com/advisories/GHSA-mh29-5h37-fv8m",
            "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": "<3.14.2"
          },
          {
            "source": 1109802,
            "name": "js-yaml",
            "dependency": "js-yaml",
            "title": "js-yaml has prototype pollution in merge (<<)",
            "url": "https://github.com/advisories/GHSA-mh29-5h37-fv8m",
            "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": ">=4.0.0 <4.1.1"
          }
        ],
        "effects": [],
        "range": "<3.14.2 || >=4.0.0 <4.1.1",
        "nodes": [
          "",
          "",
          "",
          "",
          ""
        ],
        "fixAvailable": true
      },
      "lodash": {
        "name": "lodash",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          {
            "source": 1112455,
            "name": "lodash",
            "dependency": "lodash",
            "title": "Lodash has Prototype Pollution Vulnerability in `_.unset` and `_.omit` functions",
            "url": "https://github.com/advisories/GHSA-xxjr-mmjv-4gpg",
            "severity": "moderate",
            "cwe": [
              "CWE-1321"
            ],
            "cvss": {
              "score": 6.5,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L"
            },
            "range": ">=4.0.0 <=4.17.22"
          }
        ],
        "effects": [],
        "range": "4.0.0 - 4.17.21",
        "nodes": [
          ""
        ],
        "fixAvailable": true
      },
      "qs": {
        "name": "qs",
        "severity": "high",
        "isDirect": false,
        "via": [
          {
            "source": 1111755,
            "name": "qs",
            "dependency": "qs",
            "title": "qs's arrayLimit bypass in its bracket notation allows DoS via memory exhaustion",
            "url": "https://github.com/advisories/GHSA-6rw7-vpxm-498p",
            "severity": "high",
            "cwe": [
              "CWE-20"
            ],
            "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.14.1"
          }
        ],
        "effects": [],
        "range": "<6.14.1",
        "nodes": [
          ""
        ],
        "fixAvailable": true
      }
    },
    "metadata": {
      "vulnerabilities": {
        "info": 0,
        "low": 0,
        "moderate": 2,
        "high": 1,
        "critical": 0,
        "total": 3
      },
      "dependencies": {
        "prod": 1,
        "dev": 486,
        "optional": 4,
        "peer": 5,
        "peerOptional": 0,
        "total": 486
      }
    }
  }
}

--- end ---
{"added": 486, "removed": 0, "changed": 0, "audited": 487, "funding": 126, "audit": {"auditReportVersion": 2, "vulnerabilities": {"js-yaml": {"name": "js-yaml", "severity": "moderate", "isDirect": false, "via": [{"source": 1109801, "name": "js-yaml", "dependency": "js-yaml", "title": "js-yaml has prototype pollution in merge (<<)", "url": "https://github.com/advisories/GHSA-mh29-5h37-fv8m", "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": "<3.14.2"}, {"source": 1109802, "name": "js-yaml", "dependency": "js-yaml", "title": "js-yaml has prototype pollution in merge (<<)", "url": "https://github.com/advisories/GHSA-mh29-5h37-fv8m", "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": ">=4.0.0 <4.1.1"}], "effects": [], "range": "<3.14.2 || >=4.0.0 <4.1.1", "nodes": ["", "", "", "", ""], "fixAvailable": true}, "lodash": {"name": "lodash", "severity": "moderate", "isDirect": false, "via": [{"source": 1112455, "name": "lodash", "dependency": "lodash", "title": "Lodash has Prototype Pollution Vulnerability in `_.unset` and `_.omit` functions", "url": "https://github.com/advisories/GHSA-xxjr-mmjv-4gpg", "severity": "moderate", "cwe": ["CWE-1321"], "cvss": {"score": 6.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L"}, "range": ">=4.0.0 <=4.17.22"}], "effects": [], "range": "4.0.0 - 4.17.21", "nodes": [""], "fixAvailable": true}, "qs": {"name": "qs", "severity": "high", "isDirect": false, "via": [{"source": 1111755, "name": "qs", "dependency": "qs", "title": "qs's arrayLimit bypass in its bracket notation allows DoS via memory exhaustion", "url": "https://github.com/advisories/GHSA-6rw7-vpxm-498p", "severity": "high", "cwe": ["CWE-20"], "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.14.1"}], "effects": [], "range": "<6.14.1", "nodes": [""], "fixAvailable": true}}, "metadata": {"vulnerabilities": {"info": 0, "low": 0, "moderate": 2, "high": 1, "critical": 0, "total": 3}, "dependencies": {"prod": 1, "dev": 486, "optional": 4, "peer": 5, "peerOptional": 0, "total": 486}}}}
$ /usr/bin/npm audit fix --only=dev
--- stderr ---
npm WARN invalid config only="dev" set in command line options
npm WARN invalid config Must be one of: null, prod, production
--- stdout ---

added 486 packages, and audited 487 packages in 6s

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

found 0 vulnerabilities

--- end ---
Verifying that tests still pass
$ /usr/bin/npm ci
--- stdout ---

added 486 packages, and audited 487 packages in 6s

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

found 0 vulnerabilities

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

> test
> grunt test

Running "eslint:all" (eslint) task

/src/repo/resources/controller/uw.controller.Deed.js
  44:4  warning  'deedController' is never reassigned. Use 'const' instead  prefer-const
  52:3  warning  'valid' is never reassigned. Use 'const' instead           prefer-const
  57:4  warning  Mixed spaces and tabs                                      no-mixed-spaces-and-tabs
  57:6  warning  Expected no linebreak before this expression               implicit-arrow-linebreak
  58:3  warning  Mixed spaces and tabs                                      no-mixed-spaces-and-tabs

/src/repo/resources/controller/uw.controller.Details.js
   65:4  warning  'serialized' is never reassigned. Use 'const' instead     prefer-const
   96:4  warning  'invalidStates' is never reassigned. Use 'const' instead  prefer-const
   97:4  warning  'invalids' is never reassigned. Use 'const' instead       prefer-const
   98:4  warning  'valids' is never reassigned. Use 'const' instead         prefer-const
  153:3  warning  Prefer .then to .done                                     no-jquery/no-done-fail
  238:4  warning  '$message' is never reassigned. Use 'const' instead       prefer-const
  239:4  warning  '$ul' is never reassigned. Use 'const' instead            prefer-const

/src/repo/resources/controller/uw.controller.Step.js
  223:7  warning  'okCount' is never reassigned. Use 'const' instead   prefer-const
  233:3  warning  '$buttons' is never reassigned. Use 'const' instead  prefer-const
  324:4  warning  'copy' is never reassigned. Use 'const' instead      prefer-const

/src/repo/resources/controller/uw.controller.Tutorial.js
  63:3  warning  Prefer .then to .done  no-jquery/no-done-fail
  63:3  warning  Prefer .then to .fail  no-jquery/no-done-fail

/src/repo/resources/controller/uw.controller.Upload.js
   69:4  warning  'max' is never reassigned. Use 'const' instead            prefer-const
   71:3  warning  'haveUploads' is never reassigned. Use 'const' instead    prefer-const
   72:3  warning  'fewerThanMax' is never reassigned. Use 'const' instead   prefer-const
  223:3  warning  'upload' is never reassigned. Use 'const' instead         prefer-const
  251:4  warning  'uploadObjs' is never reassigned. Use 'const' instead     prefer-const
  252:4  warning  'controller' is never reassigned. Use 'const' instead     prefer-const
  307:4  warning  'actualMaxSize' is never reassigned. Use 'const' instead  prefer-const
  311:4  warning  'filename' is never reassigned. Use 'const' instead       prefer-const
  312:4  warning  'basename' is never reassigned. Use 'const' instead       prefer-const
  335:3  warning  'extension' is never reassigned. Use 'const' instead      prefer-const

/src/repo/resources/deed/uw.deed.External.js
  66:10  warning  ES2015 'Object.assign' method is forbidden  es-x/no-object-assign

/src/repo/resources/deed/uw.deed.OwnWork.js
   29:7   warning  'deed' is never reassigned. Use 'const' instead                 prefer-const
   88:3   warning  'deed' is never reassigned. Use 'const' instead                 prefer-const
   89:3   warning  'languageCode' is never reassigned. Use 'const' instead         prefer-const
   91:3   warning  'defaultLicense' is never reassigned. Use 'const' instead       prefer-const
   92:3   warning  'defaultLicConfig' is never reassigned. Use 'const' instead     prefer-const
   99:3   warning  '$defaultLicenseLink' is never reassigned. Use 'const' instead  prefer-const
  125:3   warning  '$crossfader' is never reassigned. Use 'const' instead          prefer-const
  128:3   warning  '$customDiv' is never reassigned. Use 'const' instead           prefer-const
  136:3   warning  'crossfaderWidget' is never reassigned. Use 'const' instead     prefer-const
  148:3   warning  '$formFields' is never reassigned. Use 'const' instead          prefer-const
  152:3   warning  '$toggler' is never reassigned. Use 'const' instead             prefer-const
  192:7   warning  'author' is never reassigned. Use 'const' instead               prefer-const
  200:3   warning  'userPageTitle' is never reassigned. Use 'const' instead        prefer-const
  215:10  warning  ES2015 'Object.assign' method is forbidden                      es-x/no-object-assign
  255:16  warning  'ownWork' is never reassigned. Use 'const' instead              prefer-const
  277:3   warning  Prefer .then to .done                                           no-jquery/no-done-fail
  297:3   warning  Prefer .then to .done                                           no-jquery/no-done-fail

/src/repo/resources/deed/uw.deed.ThirdParty.js
  178:10  warning  ES2015 'Object.assign' method is forbidden  es-x/no-object-assign

/src/repo/resources/details/uw.CategoriesDetailsWidget.js
   87:3  warning  Mixed spaces and tabs                                  no-mixed-spaces-and-tabs
   87:5  warning  Expected no linebreak before this expression           implicit-arrow-linebreak
   88:2  warning  Mixed spaces and tabs                                  no-mixed-spaces-and-tabs
   98:3  warning  'categories' is never reassigned. Use 'const' instead  prefer-const
  128:3  warning  Mixed spaces and tabs                                  no-mixed-spaces-and-tabs
  128:5  warning  Expected no linebreak before this expression           implicit-arrow-linebreak
  129:2  warning  Mixed spaces and tabs                                  no-mixed-spaces-and-tabs

/src/repo/resources/details/uw.DropdownWidget.js
  13:12  warning  ES2015 'Object.assign' method is forbidden  es-x/no-object-assign

/src/repo/resources/details/uw.LocationDetailsWidget.js
   12:17  warning  ES2015 'Object.assign' method is forbidden             es-x/no-object-assign
   71:3   warning  Prefer .then to .done                                  no-jquery/no-done-fail
   84:3   warning  Prefer .then to .done                                  no-jquery/no-done-fail
  115:7   warning  'errors' is never reassigned. Use 'const' instead      prefer-const
  116:4   warning  'serialized' is never reassigned. Use 'const' instead  prefer-const
  117:4   warning  'parsed' is never reassigned. Use 'const' instead      prefer-const
  165:4   warning  'serialized' is never reassigned. Use 'const' instead  prefer-const
  194:4   warning  'result' is never reassigned. Use 'const' instead      prefer-const
  210:4   warning  'result' is never reassigned. Use 'const' instead      prefer-const
  211:4   warning  'serialized' is never reassigned. Use 'const' instead  prefer-const
  258:7   warning  'sign' is never reassigned. Use 'const' instead        prefer-const
  268:3   warning  'parts' is never reassigned. Use 'const' instead       prefer-const

/src/repo/resources/details/uw.MultipleLanguageInputWidget.js
   16:17  warning  ES2015 'Object.assign' method is forbidden                  es-x/no-object-assign
   50:26  warning  ES2015 'Object.assign' method is forbidden                  es-x/no-object-assign
   60:7   warning  'allLanguages' is never reassigned. Use 'const' instead     prefer-const
   61:4   warning  'unusedLanguages' is never reassigned. Use 'const' instead  prefer-const
   73:16  warning  ES2015 'Object.assign' method is forbidden                  es-x/no-object-assign
   78:12  warning  ES2015 'Object.assign' method is forbidden                  es-x/no-object-assign
   82:3   warning  'item' is never reassigned. Use 'const' instead             prefer-const
  100:7   warning  'allLanguages' is never reassigned. Use 'const' instead     prefer-const
  101:4   warning  'unusedLanguages' is never reassigned. Use 'const' instead  prefer-const
  102:4   warning  'items' is never reassigned. Use 'const' instead            prefer-const
  114:16  warning  ES2015 'Object.assign' method is forbidden                  es-x/no-object-assign
  192:4   warning  'errors' is never reassigned. Use 'const' instead           prefer-const
  215:7   warning  'values' is never reassigned. Use 'const' instead           prefer-const
  216:4   warning  'widgets' is never reassigned. Use 'const' instead          prefer-const
  272:13  warning  ES2015 'Object.assign' method is forbidden                  es-x/no-object-assign

/src/repo/resources/details/uw.SingleLanguageInputWidget.js
   17:17  warning  ES2015 'Object.assign' method is forbidden       es-x/no-object-assign
  226:4   warning  'text' is never reassigned. Use 'const' instead  prefer-const

/src/repo/resources/details/uw.TextWidget.js
  13:17  warning  ES2015 'Object.assign' method is forbidden  es-x/no-object-assign

/src/repo/resources/details/uw.TitleDetailsWidget.js
   49:4  warning  'illegalFileChars' is never reassigned. Use 'const' instead  prefer-const
   82:3  warning  'value' is never reassigned. Use 'const' instead             prefer-const
   94:3  warning  'title' is never reassigned. Use 'const' instead             prefer-const
  156:7  warning  Mixed spaces and tabs                                        no-mixed-spaces-and-tabs
  156:9  warning  Expected no linebreak before this expression                 implicit-arrow-linebreak
  157:6  warning  Mixed spaces and tabs                                        no-mixed-spaces-and-tabs
  181:3  warning  'errors' is never reassigned. Use 'const' instead            prefer-const

/src/repo/resources/handlers/mw.ApiUploadHandler.js
  224:7   warning  'allDuplicates' is never reassigned. Use 'const' instead  prefer-const
  224:23  warning  ES2015 'Object.assign' method is forbidden                es-x/no-object-assign
  225:4   warning  '$extra' is never reassigned. Use 'const' instead         prefer-const
  226:4   warning  '$ul' is never reassigned. Use 'const' instead            prefer-const

/src/repo/resources/jquery.arrowSteps/jquery.arrowSteps.js
  39:4  warning  '$el' is never reassigned. Use 'const' instead     prefer-const
  42:3  warning  '$steps' is never reassigned. Use 'const' instead  prefer-const
  44:3  warning  'width' is never reassigned. Use 'const' instead   prefer-const
  71:4  warning  '$steps' is never reassigned. Use 'const' instead  prefer-const

/src/repo/resources/mw.DestinationChecker.js
   77:4  warning  Mixed spaces and tabs                                no-mixed-spaces-and-tabs
   77:6  warning  Expected no linebreak before this expression         implicit-arrow-linebreak
   78:3  warning  Mixed spaces and tabs                                no-mixed-spaces-and-tabs
   94:8  warning  'checker' is never reassigned. Use 'const' instead   prefer-const
   95:5  warning  'NS_FILE' is never reassigned. Use 'const' instead   prefer-const
   98:4  warning  'titleObj' is never reassigned. Use 'const' instead  prefer-const
   99:4  warning  'ext' is never reassigned. Use 'const' instead       prefer-const
  101:4  warning  'prefix' is never reassigned. Use 'const' instead    prefer-const

/src/repo/resources/mw.Escaper.js
  31:4   warning  'extractedTemplates' is never reassigned. Use 'const' instead  prefer-const
  32:4   warning  'extractedLinks' is never reassigned. Use 'const' instead      prefer-const
  34:43  warning  ES2015 'Object.assign' method is forbidden                     es-x/no-object-assign
  52:8   warning  'extracts' is never reassigned. Use 'const' instead            prefer-const
  61:5   warning  'regex' is never reassigned. Use 'const' instead               prefer-const
  62:5   warning  'callback' is never reassigned. Use 'const' instead            prefer-const

/src/repo/resources/mw.GroupProgressBar.js
   59:8  warning  'bar' is never reassigned. Use 'const' instead            prefer-const
  146:5  warning  'remainingTime' is never reassigned. Use 'const' instead  prefer-const

/src/repo/resources/mw.UploadWizard.js
    4:1  warning  Missing JSDoc @param "uw" type                           jsdoc/require-param-type
   22:3  warning  'maxSimPref' is never reassigned. Use 'const' instead    prefer-const
   64:8  warning  'self' is never reassigned. Use 'const' instead          prefer-const
   65:5  warning  'steps' is never reassigned. Use 'const' instead         prefer-const
   74:4  warning  'uploadStep' is never reassigned. Use 'const' instead    prefer-const
  127:5  warning  ES2015 'Object.assign' method is forbidden               es-x/no-object-assign
  134:5  warning  'original' is never reassigned. Use 'const' instead      prefer-const
  138:5  warning  'override' is never reassigned. Use 'const' instead      prefer-const
  187:4  warning  'deeds' is never reassigned. Use 'const' instead         prefer-const
  188:4  warning  'doOwnWork' is never reassigned. Use 'const' instead     prefer-const
  189:4  warning  'doThirdParty' is never reassigned. Use 'const' instead  prefer-const
  197:3  warning  'api' is never reassigned. Use 'const' instead           prefer-const

/src/repo/resources/mw.UploadWizardDetails.js
   45:8   warning  '$moreDetailsWrapperDiv' is never reassigned. Use 'const' instead                  prefer-const
   47:5   warning  'details' is never reassigned. Use 'const' instead                                 prefer-const
   48:5   warning  'config' is never reassigned. Use 'const' instead                                  prefer-const
   56:13  warning  ES2015 'Object.assign' method is forbidden                                         es-x/no-object-assign
   73:48  warning  ES2015 'Object.assign' method is forbidden                                         es-x/no-object-assign
   83:40  warning  ES2015 'Object.assign' method is forbidden                                         es-x/no-object-assign
   90:55  warning  ES2015 'Object.assign' method is forbidden                                         es-x/no-object-assign
   98:57  warning  ES2015 'Object.assign' method is forbidden                                         es-x/no-object-assign
  105:44  warning  ES2015 'Object.assign' method is forbidden                                         es-x/no-object-assign
  113:47  warning  ES2015 'Object.assign' method is forbidden                                         es-x/no-object-assign
  118:51  warning  ES2015 'Object.assign' method is forbidden                                         es-x/no-object-assign
  123:53  warning  ES2015 'Object.assign' method is forbidden                                         es-x/no-object-assign
  151:4   warning  '$moreDetailsDiv' is never reassigned. Use 'const' instead                         prefer-const
  215:5   warning  Prefer .then to .done                                                              no-jquery/no-done-fail
  255:4   warning  Prefer .then to .done                                                              no-jquery/no-done-fail
  383:4   warning  Mixed spaces and tabs                                                              no-mixed-spaces-and-tabs
  383:6   warning  Expected no linebreak before this expression                                       implicit-arrow-linebreak
  384:3   warning  Mixed spaces and tabs                                                              no-mixed-spaces-and-tabs
  448:5   warning  'yyyyMmDdRegex' is never reassigned. Use 'const' instead                           prefer-const
  449:5   warning  'timeRegex' is never reassigned. Use 'const' instead                               prefer-const
  470:7   warning  'dateInfo' is never reassigned. Use 'const' instead                                prefer-const
  508:4   warning  'saneTime' is never reassigned. Use 'const' instead                                prefer-const
  601:5   warning  'm' is never reassigned. Use 'const' instead                                       prefer-const
  603:5   warning  'values' is never reassigned. Use 'const' instead                                  prefer-const
  653:4   warning  'languages' is never reassigned. Use 'const' instead                               prefer-const
  662:3   warning  JSDoc @return declaration present but return expression not available in function  jsdoc/require-returns-check
  672:21  warning  'serialized' is never reassigned. Use 'const' instead                              prefer-const
  734:5   warning  'substitutions' is never reassigned. Use 'const' instead                           prefer-const
  734:25  warning  'substList' is never reassigned. Use 'const' instead                               prefer-const
  735:5   warning  'deed' is never reassigned. Use 'const' instead                                    prefer-const
  793:10  warning  ES2015 RegExp 'u' flag is forbidden                                                es-x/no-regexp-u-flag
  813:8   warning  'details' is never reassigned. Use 'const' instead                                 prefer-const
  823:4   warning  'wikitext' is never reassigned. Use 'const' instead                                prefer-const
  824:4   warning  'promise' is never reassigned. Use 'const' instead                                 prefer-const
  843:5   warning  'tags' is never reassigned. Use 'const' instead                                    prefer-const
  844:5   warning  'deed' is never reassigned. Use 'const' instead                                    prefer-const
  846:5   warning  'config' is never reassigned. Use 'const' instead                                  prefer-const
  869:4   warning  'params' is never reassigned. Use 'const' instead                                  prefer-const
  936:5   warning  'details' is never reassigned. Use 'const' instead                                 prefer-const
  939:5   warning  'deferred' is never reassigned. Use 'const' instead                                prefer-const

/src/repo/resources/mw.UploadWizardLicenseInput.js
   17:7   warning  'self' is never reassigned. Use 'const' instead            prefer-const
   18:4   warning  'groups' is never reassigned. Use 'const' instead          prefer-const
   77:2   warning  ES2015 'Object.assign' method is forbidden                 es-x/no-object-assign
  183:9   warning  'templates' is never reassigned. Use 'const' instead       prefer-const
  209:5   warning  'addError' is never reassigned. Use 'const' instead        prefer-const
  216:5   warning  'selectedInputs' is never reassigned. Use 'const' instead  prefer-const
  226:7   warning  'data' is never reassigned. Use 'const' instead            prefer-const
  232:6   warning  'wikitext' is never reassigned. Use 'const' instead        prefer-const
  268:28  warning  ES2015 'Object.assign' method is forbidden                 es-x/no-object-assign

/src/repo/resources/mw.UploadWizardPage.js
  31:4  warning  'config' is never reassigned. Use 'const' instead        prefer-const
  53:3  warning  'uploadWizard' is never reassigned. Use 'const' instead  prefer-const

/src/repo/resources/mw.UploadWizardUpload.js
    8:1   warning  Missing JSDoc @param "uw" type                                 jsdoc/require-param-type
   11:14  warning  'uw' is defined but never used                                 no-unused-vars
  204:4   warning  'deferred' is never reassigned. Use 'const' instead            prefer-const
  205:4   warning  'upload' is never reassigned. Use 'const' instead              prefer-const
  222:16  warning  'Uint8Array' is already defined as a built-in global variable  no-redeclare
  223:16  warning  ES2015 'Uint8Array' is forbidden                               es-x/no-typed-arrays
  314:4   warning  'upload' is never reassigned. Use 'const' instead              prefer-const
  382:3   warning  Prefer .then to .done                                          no-jquery/no-done-fail
  382:3   warning  Prefer .then to .fail                                          no-jquery/no-done-fail
  396:7   warning  'requestedTitle' is never reassigned. Use 'const' instead      prefer-const
  430:3   warning  'params' is never reassigned. Use 'const' instead              prefer-const
  448:3   warning  Prefer .then to .done                                          no-jquery/no-done-fail
  448:3   warning  Prefer .then to .fail                                          no-jquery/no-done-fail
  488:21  warning  'image' is never reassigned. Use 'const' instead               prefer-const
  585:5   warning  'constraint' is never reassigned. Use 'const' instead          prefer-const
  629:3   warning  'scaling' is never reassigned. Use 'const' instead             prefer-const
  631:3   warning  'width' is never reassigned. Use 'const' instead               prefer-const
  632:3   warning  'height' is never reassigned. Use 'const' instead              prefer-const
  640:3   warning  'dx' is never reassigned. Use 'const' instead                  prefer-const
  641:3   warning  'dy' is never reassigned. Use 'const' instead                  prefer-const
  666:3   warning  '$canvas' is never reassigned. Use 'const' instead             prefer-const
  667:3   warning  'ctx' is never reassigned. Use 'const' instead                 prefer-const
  715:7   warning  'constraints' is never reassigned. Use 'const' instead         prefer-const
  767:3   warning  Prefer .then to .done                                          no-jquery/no-done-fail
  767:3   warning  Prefer .then to .fail                                          no-jquery/no-done-fail
  775:6   warning  Prefer .then to .done                                          no-jquery/no-done-fail
  778:7   warning  Prefer .then to .done                                          no-jquery/no-done-fail
  802:4   warning  'deferred' is never reassigned. Use 'const' instead            prefer-const
  803:4   warning  'upload' is never reassigned. Use 'const' instead              prefer-const
  828:9   warning  'canvas' is never reassigned. Use 'const' instead              prefer-const
  831:8   warning  'context' is never reassigned. Use 'const' instead             prefer-const

/src/repo/resources/mw.UploadWizardUploadInterface.js
  206:3  warning  Prefer .then to .done  no-jquery/no-done-fail

/src/repo/resources/transports/mw.FormDataTransport.js
   97:3  warning  ES2015 'Object.assign' method is forbidden                 es-x/no-object-assign
  156:4  warning  'deferred' is never reassigned. Use 'const' instead        prefer-const
  157:4  warning  'fileSize' is never reassigned. Use 'const' instead        prefer-const
  158:4  warning  'chunkSize' is never reassigned. Use 'const' instead       prefer-const
  159:4  warning  'transport' is never reassigned. Use 'const' instead       prefer-const
  169:5  warning  Prefer .then to .done                                      no-jquery/no-done-fail
  170:6  warning  Prefer .then to .done                                      no-jquery/no-done-fail
  170:6  warning  Prefer .then to .fail                                      no-jquery/no-done-fail
  194:7  warning  'params' is never reassigned. Use 'const' instead          prefer-const
  195:4  warning  'transport' is never reassigned. Use 'const' instead       prefer-const
  196:4  warning  'bytesAvailable' is never reassigned. Use 'const' instead  prefer-const

/src/repo/resources/ui/steps/uw.ui.Deed.js
  55:3  warning  Prefer .then to .done  no-jquery/no-done-fail

/src/repo/resources/ui/steps/uw.ui.Details.js
  90:3  warning  Prefer .then to .done  no-jquery/no-done-fail

/src/repo/resources/ui/steps/uw.ui.Thanks.js
   30:4  warning  'thanks' is never reassigned. Use 'const' instead             prefer-const
   48:3  warning  '$header' is never reassigned. Use 'const' instead            prefer-const
   69:3  warning  'beginButtonTarget' is never reassigned. Use 'const' instead  prefer-const
   98:3  warning  'thumbWikiText' is never reassigned. Use 'const' instead      prefer-const
  104:3  warning  '$thanksDiv' is never reassigned. Use 'const' instead         prefer-const
  106:3  warning  '$thumbnailWrapDiv' is never reassigned. Use 'const' instead  prefer-const
  109:3  warning  '$thumbnailDiv' is never reassigned. Use 'const' instead      prefer-const
  112:3  warning  '$thumbnailCaption' is never reassigned. Use 'const' instead  prefer-const
  115:3  warning  '$thumbnailLink' is never reassigned. Use 'const' instead     prefer-const
  128:3  warning  Prefer .then to .done                                         no-jquery/no-done-fail

/src/repo/resources/ui/steps/uw.ui.Tutorial.js
  125:3  warning  Prefer .then to .done  no-jquery/no-done-fail

/src/repo/resources/ui/steps/uw.ui.Upload.js
  210:6  warning  Prefer .then to .done  no-jquery/no-done-fail
  222:3  warning  Prefer .then to .done  no-jquery/no-done-fail

/src/repo/resources/ui/uw.ui.DeedPreview.js
  30:3  warning  Prefer .then to .done  no-jquery/no-done-fail

/src/repo/resources/ui/uw.ui.Step.js
  101:3  warning  Prefer .then to .done  no-jquery/no-done-fail
  119:3  warning  Prefer .then to .done  no-jquery/no-done-fail

/src/repo/resources/uw.ConcurrentQueue.js
  117:3  warning  'index' is never reassigned. Use 'const' instead    prefer-const
  139:3  warning  'item' is never reassigned. Use 'const' instead     prefer-const
  145:3  warning  'promise' is never reassigned. Use 'const' instead  prefer-const

/src/repo/resources/uw.CopyMetadataWidget.js
   14:4  warning  'checkboxes' is never reassigned. Use 'const' instead               prefer-const
   15:4  warning  '$copyMetadataWrapperDiv' is never reassigned. Use 'const' instead  prefer-const
   16:4  warning  '$copyMetadataDiv' is never reassigned. Use 'const' instead         prefer-const
  157:4  warning  'uploads' is never reassigned. Use 'const' instead                  prefer-const
  158:4  warning  'sourceUpload' is never reassigned. Use 'const' instead             prefer-const
  159:4  warning  'serialized' is never reassigned. Use 'const' instead               prefer-const
  161:4  warning  'sourceValue' is never reassigned. Use 'const' instead              prefer-const
  214:4  warning  'uploads' is never reassigned. Use 'const' instead                  prefer-const

/src/repo/resources/uw.FieldLayout.js
  20:12  warning  ES2015 'Object.assign' method is forbidden  es-x/no-object-assign

/src/repo/resources/uw.LicenseGroup.js
   37:17  warning  ES2015 'Object.assign' method is forbidden               es-x/no-object-assign
  132:4   warning  'option' is never reassigned. Use 'const' instead        prefer-const
  167:4   warning  'option' is never reassigned. Use 'const' instead        prefer-const
  191:4   warning  'self' is never reassigned. Use 'const' instead          prefer-const
  192:4   warning  'values' is never reassigned. Use 'const' instead        prefer-const
  194:3   warning  'wikiTexts' is never reassigned. Use 'const' instead     prefer-const
  196:5   warning  'value' is never reassigned. Use 'const' instead         prefer-const
  222:7   warning  'self' is never reassigned. Use 'const' instead          prefer-const
  223:4   warning  'result' is never reassigned. Use 'const' instead        prefer-const
  248:7   warning  'self' is never reassigned. Use 'const' instead          prefer-const
  249:4   warning  'selectArray' is never reassigned. Use 'const' instead   prefer-const
  303:7   warning  'licenseInfo' is never reassigned. Use 'const' instead   prefer-const
  306:3   warning  'licenseText' is never reassigned. Use 'const' instead   prefer-const
  319:7   warning  'licenseInfo' is never reassigned. Use 'const' instead   prefer-const
  320:4   warning  'messageKey' is never reassigned. Use 'const' instead    prefer-const
  323:4   warning  'languageCode' is never reassigned. Use 'const' instead  prefer-const
  328:4   warning  '$icons' is never reassigned. Use 'const' instead        prefer-const
  334:3   warning  '$licenseLink' is never reassigned. Use 'const' instead  prefer-const
  343:3   warning  '$label' is never reassigned. Use 'const' instead        prefer-const
  361:7   warning  'self' is never reassigned. Use 'const' instead          prefer-const
  372:3   warning  'button' is never reassigned. Use 'const' instead        prefer-const
  397:3   warning  'input' is never reassigned. Use 'const' instead         prefer-const
  413:3   warning  Prefer .then to .done                                    no-jquery/no-done-fail
  413:3   warning  Prefer .then to .fail                                    no-jquery/no-done-fail

/src/repo/resources/uw.ValidationMessageElement.js
  39:2  warning  JSDoc @return declaration present but return expression not available in function  jsdoc/require-returns-check
  91:3  warning  '$listItem' is never reassigned. Use 'const' instead                               prefer-const

/src/repo/tests/qunit/controller/uw.controller.Details.test.js
   57:7  warning  'step' is never reassigned. Use 'const' instead        prefer-const
   61:4  warning  'stepUiStub' is never reassigned. Use 'const' instead  prefer-const
  110:4  warning  'done' is never reassigned. Use 'const' instead        prefer-const
  111:4  warning  'donestub' is never reassigned. Use 'const' instead    prefer-const
  112:4  warning  'ds' is never reassigned. Use 'const' instead          prefer-const
  113:4  warning  'ps' is never reassigned. Use 'const' instead          prefer-const
  117:3  warning  'tostub' is never reassigned. Use 'const' instead      prefer-const
  124:3  warning  'step' is never reassigned. Use 'const' instead        prefer-const
  135:3  warning  Prefer .then to .done                                  no-jquery/no-done-fail

/src/repo/tests/qunit/controller/uw.controller.Tutorial.test.js
  33:4  warning  'acwStub' is never reassigned. Use 'const' instead  prefer-const
  54:3  warning  'mnStub' is never reassigned. Use 'const' instead   prefer-const

/src/repo/tests/qunit/mw.UploadWizardLicenseInput.test.js
  17:6  warning  'config' is never reassigned. Use 'const' instead          prefer-const
  18:3  warning  '$fixture' is never reassigned. Use 'const' instead        prefer-const
  21:2  warning  'uwLicenseInput' is never reassigned. Use 'const' instead  prefer-const
  27:6  warning  'config' is never reassigned. Use 'const' instead          prefer-const
  28:3  warning  '$fixture' is never reassigned. Use 'const' instead        prefer-const
  33:2  warning  'uwLicenseInput' is never reassigned. Use 'const' instead  prefer-const
  37:2  warning  '$input' is never reassigned. Use 'const' instead          prefer-const
  41:2  warning  '$label' is never reassigned. Use 'const' instead          prefer-const
  46:6  warning  'config' is never reassigned. Use 'const' instead          prefer-const
  56:3  warning  '$fixture' is never reassigned. Use 'const' instead        prefer-const
  59:2  warning  'uwLicenseInput' is never reassigned. Use 'const' instead  prefer-const

/src/repo/tests/qunit/mw.UploadWizardUpload.test.js
  23:4  warning  'oldconf' is never reassigned. Use 'const' instead  prefer-const
  27:3  warning  'upload' is never reassigned. Use 'const' instead   prefer-const

/src/repo/tests/qunit/mw.fileApi.test.js
  46:15  warning  'testFile' is never reassigned. Use 'const' instead   prefer-const
  47:4   warning  'fakeVideo' is never reassigned. Use 'const' instead  prefer-const

/src/repo/tests/qunit/transports/mw.FormDataTransport.test.js
   27:3   warning  'config' is never reassigned. Use 'const' instead     prefer-const
   86:4   warning  'transport' is never reassigned. Use 'const' instead  prefer-const
   87:4   warning  'fakeFile' is never reassigned. Use 'const' instead   prefer-const
   97:3   warning  'request' is never reassigned. Use 'const' instead    prefer-const
  107:4   warning  'transport' is never reassigned. Use 'const' instead  prefer-const
  108:4   warning  'fakeFile' is never reassigned. Use 'const' instead   prefer-const
  125:3   warning  'request' is never reassigned. Use 'const' instead    prefer-const
  146:3   warning  Prefer .then to .fail                                 no-jquery/no-done-fail
  179:10  warning  Prefer .then to .done                                 no-jquery/no-done-fail
  198:10  warning  Prefer .then to .done                                 no-jquery/no-done-fail
  218:3   warning  Prefer .then to .fail                                 no-jquery/no-done-fail

/src/repo/tests/qunit/uw.ConcurrentQueue.test.js
   38:3  warning  'calls' is never reassigned. Use 'const' instead            prefer-const
   65:3  warning  'done' is never reassigned. Use 'const' instead             prefer-const
   66:3  warning  'action' is never reassigned. Use 'const' instead           prefer-const
   67:3  warning  'queue' is never reassigned. Use 'const' instead            prefer-const
   98:3  warning  'done' is never reassigned. Use 'const' instead             prefer-const
   99:3  warning  'changeHandler' is never reassigned. Use 'const' instead    prefer-const
  100:3  warning  'progressHandler' is never reassigned. Use 'const' instead  prefer-const
  101:3  warning  'completeHandler' is never reassigned. Use 'const' instead  prefer-const
  102:3  warning  'queue' is never reassigned. Use 'const' instead            prefer-const
  139:3  warning  'done' is never reassigned. Use 'const' instead             prefer-const
  140:3  warning  'queue' is never reassigned. Use 'const' instead            prefer-const
  167:3  warning  'done' is never reassigned. Use 'const' instead             prefer-const
  168:3  warning  'queue' is never reassigned. Use 'const' instead            prefer-const
  184:3  warning  'done' is never reassigned. Use 'const' instead             prefer-const
  185:3  warning  'changeHandler' is never reassigned. Use 'const' instead    prefer-const
  186:3  warning  'progressHandler' is never reassigned. Use 'const' instead  prefer-const
  187:3  warning  'completeHandler' is never reassigned. Use 'const' instead  prefer-const
  188:3  warning  'queue' is never reassigned. Use 'const' instead            prefer-const
  240:3  warning  'done' is never reassigned. Use 'const' instead             prefer-const
  241:3  warning  'changeHandler' is never reassigned. Use 'const' instead    prefer-const
  242:3  warning  'progressHandler' is never reassigned. Use 'const' instead  prefer-const
  243:3  warning  'completeHandler' is never reassigned. Use 'const' instead  prefer-const
  244:3  warning  'queue' is never reassigned. Use 'const' instead            prefer-const
  297:3  warning  'done' is never reassigned. Use 'const' instead             prefer-const
  298:3  warning  'action' is never reassigned. Use 'const' instead           prefer-const
  299:3  warning  'changeHandler' is never reassigned. Use 'const' instead    prefer-const
  300:3  warning  'progressHandler' is never reassigned. Use 'const' instead  prefer-const
  301:3  warning  'completeHandler' is never reassigned. Use 'const' instead  prefer-const
  302:3  warning  'queue' is never reassigned. Use 'const' instead            prefer-const
  353:3  warning  'done' is never reassigned. Use 'const' instead             prefer-const
  355:3  warning  'action' is never reassigned. Use 'const' instead           prefer-const
  356:3  warning  'changeHandler' is never reassigned. Use 'const' instead    prefer-const
  357:3  warning  'progressHandler' is never reassigned. Use 'const' instead  prefer-const
  358:3  warning  'completeHandler' is never reassigned. Use 'const' instead  prefer-const
  359:3  warning  'queue' is never reassigned. Use 'const' instead            prefer-const
  402:3  warning  'onProgress' is never reassigned. Use 'const' instead       prefer-const

/src/repo/tests/qunit/uw.TitleDetailsWidget.test.js
  5:2  warning  'fileNs' is never reassigned. Use 'const' instead                  prefer-const
  6:2  warning  'makeTitleInFileNSCases' is never reassigned. Use 'const' instead  prefer-const

✖ 352 problems (0 errors, 352 warnings)


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

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

Done.

--- end ---
{"1109801": {"source": 1109801, "name": "js-yaml", "dependency": "js-yaml", "title": "js-yaml has prototype pollution in merge (<<)", "url": "https://github.com/advisories/GHSA-mh29-5h37-fv8m", "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": "<3.14.2"}, "1109802": {"source": 1109802, "name": "js-yaml", "dependency": "js-yaml", "title": "js-yaml has prototype pollution in merge (<<)", "url": "https://github.com/advisories/GHSA-mh29-5h37-fv8m", "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": ">=4.0.0 <4.1.1"}}
Upgrading n:js-yaml from 3.14.1, 4.1.0 -> 3.14.2, 4.1.1
{"1112455": {"source": 1112455, "name": "lodash", "dependency": "lodash", "title": "Lodash has Prototype Pollution Vulnerability in `_.unset` and `_.omit` functions", "url": "https://github.com/advisories/GHSA-xxjr-mmjv-4gpg", "severity": "moderate", "cwe": ["CWE-1321"], "cvss": {"score": 6.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L"}, "range": ">=4.0.0 <=4.17.22"}}
Upgrading n:lodash from 4.17.21 -> 4.17.23
{"1111755": {"source": 1111755, "name": "qs", "dependency": "qs", "title": "qs's arrayLimit bypass in its bracket notation allows DoS via memory exhaustion", "url": "https://github.com/advisories/GHSA-6rw7-vpxm-498p", "severity": "high", "cwe": ["CWE-20"], "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.14.1"}}
Upgrading n:qs from 6.11.1 -> 6.14.1
$ package-lock-lint /src/repo/package-lock.json
--- stdout ---
Checking /src/repo/package-lock.json

--- end ---
build: Updating npm dependencies

* js-yaml: 3.14.1, 4.1.0 → 3.14.2, 4.1.1
  * https://github.com/advisories/GHSA-mh29-5h37-fv8m
* lodash: 4.17.21 → 4.17.23
  * https://github.com/advisories/GHSA-xxjr-mmjv-4gpg
* qs: 6.11.1 → 6.14.1
  * https://github.com/advisories/GHSA-6rw7-vpxm-498p

$ git add .
--- stdout ---

--- end ---
$ git commit -F /tmp/tmpn2p44v12
--- stdout ---
[REL1_45 2a04554] build: Updating npm dependencies
 1 file changed, 363 insertions(+), 111 deletions(-)

--- end ---
$ git format-patch HEAD~1 --stdout
--- stdout ---
From 2a04554939ddacd23c48d6c984d025262a6bfa3d Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Thu, 22 Jan 2026 15:16:55 +0000
Subject: [PATCH] build: Updating npm dependencies
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* js-yaml: 3.14.1, 4.1.0 → 3.14.2, 4.1.1
  * https://github.com/advisories/GHSA-mh29-5h37-fv8m
* lodash: 4.17.21 → 4.17.23
  * https://github.com/advisories/GHSA-xxjr-mmjv-4gpg
* qs: 6.11.1 → 6.14.1
  * https://github.com/advisories/GHSA-6rw7-vpxm-498p

Change-Id: I797f00ec20590bdd8bcf3218a227f2f53be2c6cc
---
 package-lock.json | 474 +++++++++++++++++++++++++++++++++++-----------
 1 file changed, 363 insertions(+), 111 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 7afe441..55cce53 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -271,9 +271,9 @@
 			"dev": true
 		},
 		"node_modules/@eslint/eslintrc/node_modules/js-yaml": {
-			"version": "4.1.0",
-			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
-			"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+			"version": "4.1.1",
+			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
+			"integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
 			"dev": true,
 			"dependencies": {
 				"argparse": "^2.0.1"
@@ -1258,14 +1258,30 @@
 			"integrity": "sha1-NWnt6Lo0MV+rmcPpLLBMciDeH6g=",
 			"dev": true
 		},
-		"node_modules/call-bind": {
+		"node_modules/call-bind-apply-helpers": {
 			"version": "1.0.2",
-			"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
-			"integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
+			"resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
+			"integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
+			"dev": true,
+			"dependencies": {
+				"es-errors": "^1.3.0",
+				"function-bind": "^1.1.2"
+			},
+			"engines": {
+				"node": ">= 0.4"
+			}
+		},
+		"node_modules/call-bound": {
+			"version": "1.0.4",
+			"resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz",
+			"integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==",
 			"dev": true,
 			"dependencies": {
-				"function-bind": "^1.1.1",
-				"get-intrinsic": "^1.0.2"
+				"call-bind-apply-helpers": "^1.0.2",
+				"get-intrinsic": "^1.3.0"
+			},
+			"engines": {
+				"node": ">= 0.4"
 			},
 			"funding": {
 				"url": "https://github.com/sponsors/ljharb"
@@ -1472,9 +1488,9 @@
 			"dev": true
 		},
 		"node_modules/cosmiconfig/node_modules/js-yaml": {
-			"version": "4.1.0",
-			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
-			"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+			"version": "4.1.1",
+			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
+			"integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
 			"dev": true,
 			"dependencies": {
 				"argparse": "^2.0.1"
@@ -1698,6 +1714,20 @@
 				"url": "https://github.com/fb55/domutils?sponsor=1"
 			}
 		},
+		"node_modules/dunder-proto": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
+			"integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
+			"dev": true,
+			"dependencies": {
+				"call-bind-apply-helpers": "^1.0.1",
+				"es-errors": "^1.3.0",
+				"gopd": "^1.2.0"
+			},
+			"engines": {
+				"node": ">= 0.4"
+			}
+		},
 		"node_modules/duplexify": {
 			"version": "4.1.3",
 			"resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.3.tgz",
@@ -1807,6 +1837,36 @@
 				"is-arrayish": "^0.2.1"
 			}
 		},
+		"node_modules/es-define-property": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
+			"integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
+			"dev": true,
+			"engines": {
+				"node": ">= 0.4"
+			}
+		},
+		"node_modules/es-errors": {
+			"version": "1.3.0",
+			"resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
+			"integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
+			"dev": true,
+			"engines": {
+				"node": ">= 0.4"
+			}
+		},
+		"node_modules/es-object-atoms": {
+			"version": "1.1.1",
+			"resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
+			"integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
+			"dev": true,
+			"dependencies": {
+				"es-errors": "^1.3.0"
+			},
+			"engines": {
+				"node": ">= 0.4"
+			}
+		},
 		"node_modules/escalade": {
 			"version": "3.2.0",
 			"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
@@ -2526,9 +2586,9 @@
 			}
 		},
 		"node_modules/eslint-plugin-unicorn/node_modules/js-yaml": {
-			"version": "4.1.0",
-			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
-			"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+			"version": "4.1.1",
+			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
+			"integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
 			"dev": true,
 			"dependencies": {
 				"argparse": "^2.0.1"
@@ -2676,9 +2736,9 @@
 			}
 		},
 		"node_modules/eslint/node_modules/js-yaml": {
-			"version": "4.1.0",
-			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
-			"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+			"version": "4.1.1",
+			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
+			"integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
 			"dev": true,
 			"dependencies": {
 				"argparse": "^2.0.1"
@@ -3042,19 +3102,42 @@
 			}
 		},
 		"node_modules/get-intrinsic": {
-			"version": "1.2.0",
-			"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz",
-			"integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==",
+			"version": "1.3.0",
+			"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
+			"integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
 			"dev": true,
 			"dependencies": {
-				"function-bind": "^1.1.1",
-				"has": "^1.0.3",
-				"has-symbols": "^1.0.3"
+				"call-bind-apply-helpers": "^1.0.2",
+				"es-define-property": "^1.0.1",
+				"es-errors": "^1.3.0",
+				"es-object-atoms": "^1.1.1",
+				"function-bind": "^1.1.2",
+				"get-proto": "^1.0.1",
+				"gopd": "^1.2.0",
+				"has-symbols": "^1.1.0",
+				"hasown": "^2.0.2",
+				"math-intrinsics": "^1.1.0"
+			},
+			"engines": {
+				"node": ">= 0.4"
 			},
 			"funding": {
 				"url": "https://github.com/sponsors/ljharb"
 			}
 		},
+		"node_modules/get-proto": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz",
+			"integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
+			"dev": true,
+			"dependencies": {
+				"dunder-proto": "^1.0.1",
+				"es-object-atoms": "^1.0.0"
+			},
+			"engines": {
+				"node": ">= 0.4"
+			}
+		},
 		"node_modules/get-tsconfig": {
 			"version": "4.7.6",
 			"resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.6.tgz",
@@ -3189,6 +3272,18 @@
 				"node": ">= 0.10"
 			}
 		},
+		"node_modules/gopd": {
+			"version": "1.2.0",
+			"resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
+			"integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
+			"dev": true,
+			"engines": {
+				"node": ">= 0.4"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/ljharb"
+			}
+		},
 		"node_modules/graceful-fs": {
 			"version": "4.2.11",
 			"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
@@ -3403,18 +3498,6 @@
 				"stylelint": "16.x"
 			}
 		},
-		"node_modules/has": {
-			"version": "1.0.3",
-			"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
-			"integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
-			"dev": true,
-			"dependencies": {
-				"function-bind": "^1.1.1"
-			},
-			"engines": {
-				"node": ">= 0.4.0"
-			}
-		},
 		"node_modules/has-flag": {
 			"version": "4.0.0",
 			"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
@@ -3425,9 +3508,9 @@
 			}
 		},
 		"node_modules/has-symbols": {
-			"version": "1.0.3",
-			"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
-			"integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
+			"integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
 			"dev": true,
 			"engines": {
 				"node": ">= 0.4"
@@ -3762,9 +3845,9 @@
 			"dev": true
 		},
 		"node_modules/js-yaml": {
-			"version": "3.14.1",
-			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
-			"integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
+			"version": "3.14.2",
+			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz",
+			"integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==",
 			"dev": true,
 			"dependencies": {
 				"argparse": "^1.0.7",
@@ -3918,9 +4001,9 @@
 			}
 		},
 		"node_modules/lodash": {
-			"version": "4.17.21",
-			"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
-			"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
+			"version": "4.17.23",
+			"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz",
+			"integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==",
 			"dev": true
 		},
 		"node_modules/lodash.memoize": {
@@ -3962,6 +4045,15 @@
 				"node": ">=0.10.0"
 			}
 		},
+		"node_modules/math-intrinsics": {
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
+			"integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
+			"dev": true,
+			"engines": {
+				"node": ">= 0.4"
+			}
+		},
 		"node_modules/mathml-tag-names": {
 			"version": "2.1.3",
 			"resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz",
@@ -4152,10 +4244,13 @@
 			}
 		},
 		"node_modules/object-inspect": {
-			"version": "1.12.3",
-			"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz",
-			"integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==",
+			"version": "1.13.4",
+			"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz",
+			"integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==",
 			"dev": true,
+			"engines": {
+				"node": ">= 0.4"
+			},
 			"funding": {
 				"url": "https://github.com/sponsors/ljharb"
 			}
@@ -4557,12 +4652,12 @@
 			}
 		},
 		"node_modules/qs": {
-			"version": "6.11.1",
-			"resolved": "https://registry.npmjs.org/qs/-/qs-6.11.1.tgz",
-			"integrity": "sha512-0wsrzgTz/kAVIeuxSjnpGC56rzYtr6JT/2BwEvMaPhFIoYa1aGO8LbzuU1R0uUYQkLpWBTOj0l/CLAJB64J6nQ==",
+			"version": "6.14.1",
+			"resolved": "https://registry.npmjs.org/qs/-/qs-6.14.1.tgz",
+			"integrity": "sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==",
 			"dev": true,
 			"dependencies": {
-				"side-channel": "^1.0.4"
+				"side-channel": "^1.1.0"
 			},
 			"engines": {
 				"node": ">=0.6"
@@ -4994,14 +5089,72 @@
 			}
 		},
 		"node_modules/side-channel": {
-			"version": "1.0.4",
-			"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
-			"integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz",
+			"integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==",
 			"dev": true,
 			"dependencies": {
-				"call-bind": "^1.0.0",
-				"get-intrinsic": "^1.0.2",
-				"object-inspect": "^1.9.0"
+				"es-errors": "^1.3.0",
+				"object-inspect": "^1.13.3",
+				"side-channel-list": "^1.0.0",
+				"side-channel-map": "^1.0.1",
+				"side-channel-weakmap": "^1.0.2"
+			},
+			"engines": {
+				"node": ">= 0.4"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/ljharb"
+			}
+		},
+		"node_modules/side-channel-list": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz",
+			"integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==",
+			"dev": true,
+			"dependencies": {
+				"es-errors": "^1.3.0",
+				"object-inspect": "^1.13.3"
+			},
+			"engines": {
+				"node": ">= 0.4"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/ljharb"
+			}
+		},
+		"node_modules/side-channel-map": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz",
+			"integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==",
+			"dev": true,
+			"dependencies": {
+				"call-bound": "^1.0.2",
+				"es-errors": "^1.3.0",
+				"get-intrinsic": "^1.2.5",
+				"object-inspect": "^1.13.3"
+			},
+			"engines": {
+				"node": ">= 0.4"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/ljharb"
+			}
+		},
+		"node_modules/side-channel-weakmap": {
+			"version": "1.0.2",
+			"resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz",
+			"integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==",
+			"dev": true,
+			"dependencies": {
+				"call-bound": "^1.0.2",
+				"es-errors": "^1.3.0",
+				"get-intrinsic": "^1.2.5",
+				"object-inspect": "^1.13.3",
+				"side-channel-map": "^1.0.1"
+			},
+			"engines": {
+				"node": ">= 0.4"
 			},
 			"funding": {
 				"url": "https://github.com/sponsors/ljharb"
@@ -6104,9 +6257,9 @@
 					"dev": true
 				},
 				"js-yaml": {
-					"version": "4.1.0",
-					"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
-					"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+					"version": "4.1.1",
+					"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
+					"integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
 					"dev": true,
 					"requires": {
 						"argparse": "^2.0.1"
@@ -6759,14 +6912,24 @@
 			"integrity": "sha1-NWnt6Lo0MV+rmcPpLLBMciDeH6g=",
 			"dev": true
 		},
-		"call-bind": {
+		"call-bind-apply-helpers": {
 			"version": "1.0.2",
-			"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
-			"integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
+			"resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
+			"integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
 			"dev": true,
 			"requires": {
-				"function-bind": "^1.1.1",
-				"get-intrinsic": "^1.0.2"
+				"es-errors": "^1.3.0",
+				"function-bind": "^1.1.2"
+			}
+		},
+		"call-bound": {
+			"version": "1.0.4",
+			"resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz",
+			"integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==",
+			"dev": true,
+			"requires": {
+				"call-bind-apply-helpers": "^1.0.2",
+				"get-intrinsic": "^1.3.0"
 			}
 		},
 		"callsites": {
@@ -6904,9 +7067,9 @@
 					"dev": true
 				},
 				"js-yaml": {
-					"version": "4.1.0",
-					"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
-					"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+					"version": "4.1.1",
+					"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
+					"integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
 					"dev": true,
 					"requires": {
 						"argparse": "^2.0.1"
@@ -7066,6 +7229,17 @@
 				"domhandler": "^5.0.3"
 			}
 		},
+		"dunder-proto": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
+			"integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
+			"dev": true,
+			"requires": {
+				"call-bind-apply-helpers": "^1.0.1",
+				"es-errors": "^1.3.0",
+				"gopd": "^1.2.0"
+			}
+		},
 		"duplexify": {
 			"version": "4.1.3",
 			"resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.3.tgz",
@@ -7162,6 +7336,27 @@
 				"is-arrayish": "^0.2.1"
 			}
 		},
+		"es-define-property": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
+			"integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
+			"dev": true
+		},
+		"es-errors": {
+			"version": "1.3.0",
+			"resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
+			"integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
+			"dev": true
+		},
+		"es-object-atoms": {
+			"version": "1.1.1",
+			"resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
+			"integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
+			"dev": true,
+			"requires": {
+				"es-errors": "^1.3.0"
+			}
+		},
 		"escalade": {
 			"version": "3.2.0",
 			"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
@@ -7236,9 +7431,9 @@
 					}
 				},
 				"js-yaml": {
-					"version": "4.1.0",
-					"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
-					"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+					"version": "4.1.1",
+					"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
+					"integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
 					"dev": true,
 					"requires": {
 						"argparse": "^2.0.1"
@@ -7671,9 +7866,9 @@
 					"dev": true
 				},
 				"js-yaml": {
-					"version": "4.1.0",
-					"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
-					"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+					"version": "4.1.1",
+					"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
+					"integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
 					"dev": true,
 					"requires": {
 						"argparse": "^2.0.1"
@@ -8012,14 +8207,31 @@
 			"dev": true
 		},
 		"get-intrinsic": {
-			"version": "1.2.0",
-			"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz",
-			"integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==",
+			"version": "1.3.0",
+			"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
+			"integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
 			"dev": true,
 			"requires": {
-				"function-bind": "^1.1.1",
-				"has": "^1.0.3",
-				"has-symbols": "^1.0.3"
+				"call-bind-apply-helpers": "^1.0.2",
+				"es-define-property": "^1.0.1",
+				"es-errors": "^1.3.0",
+				"es-object-atoms": "^1.1.1",
+				"function-bind": "^1.1.2",
+				"get-proto": "^1.0.1",
+				"gopd": "^1.2.0",
+				"has-symbols": "^1.1.0",
+				"hasown": "^2.0.2",
+				"math-intrinsics": "^1.1.0"
+			}
+		},
+		"get-proto": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz",
+			"integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
+			"dev": true,
+			"requires": {
+				"dunder-proto": "^1.0.1",
+				"es-object-atoms": "^1.0.0"
 			}
 		},
 		"get-tsconfig": {
@@ -8120,6 +8332,12 @@
 				"minimatch": "~3.0.2"
 			}
 		},
+		"gopd": {
+			"version": "1.2.0",
+			"resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
+			"integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
+			"dev": true
+		},
 		"graceful-fs": {
 			"version": "4.2.11",
 			"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
@@ -8283,15 +8501,6 @@
 				"chalk": "^4.1.2"
 			}
 		},
-		"has": {
-			"version": "1.0.3",
-			"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
-			"integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
-			"dev": true,
-			"requires": {
-				"function-bind": "^1.1.1"
-			}
-		},
 		"has-flag": {
 			"version": "4.0.0",
 			"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
@@ -8299,9 +8508,9 @@
 			"dev": true
 		},
 		"has-symbols": {
-			"version": "1.0.3",
-			"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
-			"integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
+			"integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
 			"dev": true
 		},
 		"hasown": {
@@ -8548,9 +8757,9 @@
 			"dev": true
 		},
 		"js-yaml": {
-			"version": "3.14.1",
-			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
-			"integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
+			"version": "3.14.2",
+			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz",
+			"integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==",
 			"dev": true,
 			"requires": {
 				"argparse": "^1.0.7",
@@ -8676,9 +8885,9 @@
 			}
 		},
 		"lodash": {
-			"version": "4.17.21",
-			"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
-			"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
+			"version": "4.17.23",
+			"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz",
+			"integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==",
 			"dev": true
 		},
 		"lodash.memoize": {
@@ -8714,6 +8923,12 @@
 			"integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==",
 			"dev": true
 		},
+		"math-intrinsics": {
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
+			"integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
+			"dev": true
+		},
 		"mathml-tag-names": {
 			"version": "2.1.3",
 			"resolved": "https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz",
@@ -8851,9 +9066,9 @@
 			"dev": true
 		},
 		"object-inspect": {
-			"version": "1.12.3",
-			"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz",
-			"integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==",
+			"version": "1.13.4",
+			"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz",
+			"integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==",
 			"dev": true
 		},
 		"object.defaults": {
@@ -9137,12 +9352,12 @@
 			"dev": true
 		},
 		"qs": {
-			"version": "6.11.1",
-			"resolved": "https://registry.npmjs.org/qs/-/qs-6.11.1.tgz",
-			"integrity": "sha512-0wsrzgTz/kAVIeuxSjnpGC56rzYtr6JT/2BwEvMaPhFIoYa1aGO8LbzuU1R0uUYQkLpWBTOj0l/CLAJB64J6nQ==",
+			"version": "6.14.1",
+			"resolved": "https://registry.npmjs.org/qs/-/qs-6.14.1.tgz",
+			"integrity": "sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==",
 			"dev": true,
 			"requires": {
-				"side-channel": "^1.0.4"
+				"side-channel": "^1.1.0"
 			}
 		},
 		"queue-microtask": {
@@ -9437,14 +9652,51 @@
 			"dev": true
 		},
 		"side-channel": {
-			"version": "1.0.4",
-			"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
-			"integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
+			"version": "1.1.0",
+			"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz",
+			"integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==",
+			"dev": true,
+			"requires": {
+				"es-errors": "^1.3.0",
+				"object-inspect": "^1.13.3",
+				"side-channel-list": "^1.0.0",
+				"side-channel-map": "^1.0.1",
+				"side-channel-weakmap": "^1.0.2"
+			}
+		},
+		"side-channel-list": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz",
+			"integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==",
+			"dev": true,
+			"requires": {
+				"es-errors": "^1.3.0",
+				"object-inspect": "^1.13.3"
+			}
+		},
+		"side-channel-map": {
+			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz",
+			"integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==",
+			"dev": true,
+			"requires": {
+				"call-bound": "^1.0.2",
+				"es-errors": "^1.3.0",
+				"get-intrinsic": "^1.2.5",
+				"object-inspect": "^1.13.3"
+			}
+		},
+		"side-channel-weakmap": {
+			"version": "1.0.2",
+			"resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz",
+			"integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==",
 			"dev": true,
 			"requires": {
-				"call-bind": "^1.0.0",
-				"get-intrinsic": "^1.0.2",
-				"object-inspect": "^1.9.0"
+				"call-bound": "^1.0.2",
+				"es-errors": "^1.3.0",
+				"get-intrinsic": "^1.2.5",
+				"object-inspect": "^1.13.3",
+				"side-channel-map": "^1.0.1"
 			}
 		},
 		"signal-exit": {
-- 
2.47.3


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