mediawiki/extensions/VisualEditor (REL1_36)

sourcepatches
From 3455ff6a01bb1393510ebd30d6f5550dc988c88e Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Mon, 23 May 2022 19:46:31 +0000
Subject: [PATCH] build: Updating npm dependencies
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* grunt: 1.4.0 → 1.5.3
* meow: 3.7.0 → 3.7.0
  * https://github.com/advisories/GHSA-7p7h-4mm5-852v
* trim-newlines: 1.0.0 → 1.0.0
  * https://github.com/advisories/GHSA-7p7h-4mm5-852v

Change-Id: I2be28ddfc6da107a12da035487bdee70d4eadebd
---
 package-lock.json | 422 +++++++++++-----------------------------------
 package.json      |   2 +-
 2 files changed, 102 insertions(+), 322 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index bf07789..7c3ff32 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -9,7 +9,7 @@
 			"version": "0.0.0",
 			"devDependencies": {
 				"eslint-config-wikimedia": "0.20.0",
-				"grunt": "1.4.0",
+				"grunt": "1.5.3",
 				"grunt-banana-checker": "0.9.0",
 				"grunt-contrib-copy": "1.0.0",
 				"grunt-contrib-watch": "1.1.0",
@@ -918,7 +918,7 @@
 		"node_modules/array-each": {
 			"version": "1.0.1",
 			"resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz",
-			"integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=",
+			"integrity": "sha512-zHjL5SZa68hkKHBFBK6DJCTtr9sfTCPCaph/L7tMSLcTFgy+zX7E+6q5UArbtOtMBCtxdICpfTCspRse+ywyXA==",
 			"dev": true,
 			"engines": {
 				"node": ">=0.10.0"
@@ -3398,64 +3398,6 @@
 				"node": ">=8"
 			}
 		},
-		"node_modules/fast-glob/node_modules/braces": {
-			"version": "3.0.2",
-			"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
-			"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
-			"dev": true,
-			"dependencies": {
-				"fill-range": "^7.0.1"
-			},
-			"engines": {
-				"node": ">=8"
-			}
-		},
-		"node_modules/fast-glob/node_modules/fill-range": {
-			"version": "7.0.1",
-			"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
-			"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
-			"dev": true,
-			"dependencies": {
-				"to-regex-range": "^5.0.1"
-			},
-			"engines": {
-				"node": ">=8"
-			}
-		},
-		"node_modules/fast-glob/node_modules/is-number": {
-			"version": "7.0.0",
-			"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
-			"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
-			"dev": true,
-			"engines": {
-				"node": ">=0.12.0"
-			}
-		},
-		"node_modules/fast-glob/node_modules/micromatch": {
-			"version": "4.0.2",
-			"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
-			"integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
-			"dev": true,
-			"dependencies": {
-				"braces": "^3.0.1",
-				"picomatch": "^2.0.5"
-			},
-			"engines": {
-				"node": ">=8"
-			}
-		},
-		"node_modules/fast-glob/node_modules/to-regex-range": {
-			"version": "5.0.1",
-			"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
-			"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
-			"dev": true,
-			"dependencies": {
-				"is-number": "^7.0.0"
-			},
-			"engines": {
-				"node": ">=8.0"
-			}
-		},
 		"node_modules/fast-json-stable-stringify": {
 			"version": "2.1.0",
 			"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
@@ -4159,9 +4101,9 @@
 			}
 		},
 		"node_modules/grunt": {
-			"version": "1.4.0",
-			"resolved": "https://registry.npmjs.org/grunt/-/grunt-1.4.0.tgz",
-			"integrity": "sha512-yRFc0GVCDu9yxqOFzpuXQ2pEdgtLDnFv5Qz54jfIcNnpJ8Z7B7P7kPkT4VMuRvm+N+QOsI8C4v/Q0DSaoj3LgQ==",
+			"version": "1.5.3",
+			"resolved": "https://registry.npmjs.org/grunt/-/grunt-1.5.3.tgz",
+			"integrity": "sha512-mKwmo4X2d8/4c/BmcOETHek675uOqw0RuA/zy12jaspWqvTp4+ZeQF1W+OTpcbncnaBsfbQJ6l0l4j+Sn/GmaQ==",
 			"dev": true,
 			"dependencies": {
 				"dateformat": "~3.0.3",
@@ -4169,8 +4111,8 @@
 				"exit": "~0.1.2",
 				"findup-sync": "~0.3.0",
 				"glob": "~7.1.6",
-				"grunt-cli": "~1.4.2",
-				"grunt-known-options": "~1.1.1",
+				"grunt-cli": "~1.4.3",
+				"grunt-known-options": "~2.0.0",
 				"grunt-legacy-log": "~3.0.0",
 				"grunt-legacy-util": "~2.0.1",
 				"iconv-lite": "~0.4.13",
@@ -4199,6 +4141,38 @@
 				"node": ">=8"
 			}
 		},
+		"node_modules/grunt-cli": {
+			"version": "1.4.3",
+			"resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.4.3.tgz",
+			"integrity": "sha512-9Dtx/AhVeB4LYzsViCjUQkd0Kw0McN2gYpdmGYKtE2a5Yt7v1Q+HYZVWhqXc/kGnxlMtqKDxSwotiGeFmkrCoQ==",
+			"dev": true,
+			"dependencies": {
+				"grunt-known-options": "~2.0.0",
+				"interpret": "~1.1.0",
+				"liftup": "~3.0.1",
+				"nopt": "~4.0.1",
+				"v8flags": "~3.2.0"
+			},
+			"bin": {
+				"grunt": "bin/grunt"
+			},
+			"engines": {
+				"node": ">=10"
+			}
+		},
+		"node_modules/grunt-cli/node_modules/nopt": {
+			"version": "4.0.3",
+			"resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz",
+			"integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==",
+			"dev": true,
+			"dependencies": {
+				"abbrev": "1",
+				"osenv": "^0.1.4"
+			},
+			"bin": {
+				"nopt": "bin/nopt.js"
+			}
+		},
 		"node_modules/grunt-contrib-copy": {
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/grunt-contrib-copy/-/grunt-contrib-copy-1.0.0.tgz",
@@ -4367,9 +4341,9 @@
 			}
 		},
 		"node_modules/grunt-known-options": {
-			"version": "1.1.1",
-			"resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-1.1.1.tgz",
-			"integrity": "sha512-cHwsLqoighpu7TuYj5RonnEuxGVFnztcUqTqp5rXFGYL4OuPFofwC4Ycg7n9fYwvK6F5WbYgeVOwph9Crs2fsQ==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-2.0.0.tgz",
+			"integrity": "sha512-GD7cTz0I4SAede1/+pAbmJRG44zFLPipVtdL9o3vqx9IEyb7b4/Y3s7r6ofI3CchR5GvYJ+8buCSioDv5dQLiA==",
 			"dev": true,
 			"engines": {
 				"node": ">=0.10.0"
@@ -4464,38 +4438,6 @@
 			"integrity": "sha1-y0zdT/X1LxOz1DddCv1i1OM4+g4=",
 			"dev": true
 		},
-		"node_modules/grunt/node_modules/grunt-cli": {
-			"version": "1.4.2",
-			"resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.4.2.tgz",
-			"integrity": "sha512-wsu6BZh7KCnfeaSkDrKIAvOlqGKxNRTZjc8xfZlvxCByQIqUfZ31kh5uHpPnhQ4NdVgvaWaVxa1LUbVU80nACw==",
-			"dev": true,
-			"dependencies": {
-				"grunt-known-options": "~1.1.1",
-				"interpret": "~1.1.0",
-				"liftup": "~3.0.1",
-				"nopt": "~4.0.1",
-				"v8flags": "~3.2.0"
-			},
-			"bin": {
-				"grunt": "bin/grunt"
-			},
-			"engines": {
-				"node": ">=10"
-			}
-		},
-		"node_modules/grunt/node_modules/grunt-cli/node_modules/nopt": {
-			"version": "4.0.3",
-			"resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz",
-			"integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==",
-			"dev": true,
-			"dependencies": {
-				"abbrev": "1",
-				"osenv": "^0.1.4"
-			},
-			"bin": {
-				"nopt": "bin/nopt.js"
-			}
-		},
 		"node_modules/guetzli": {
 			"version": "2.0.0",
 			"resolved": "https://registry.npmjs.org/guetzli/-/guetzli-2.0.0.tgz",
@@ -5809,27 +5751,18 @@
 			}
 		},
 		"node_modules/micromatch": {
-			"version": "4.0.4",
-			"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz",
-			"integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==",
+			"version": "4.0.5",
+			"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
+			"integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
 			"dev": true,
 			"dependencies": {
-				"braces": "^3.0.1",
-				"picomatch": "^2.2.3"
+				"braces": "^3.0.2",
+				"picomatch": "^2.3.1"
 			},
 			"engines": {
 				"node": ">=8.6"
 			}
 		},
-		"node_modules/micromatch/node_modules/picomatch": {
-			"version": "2.2.3",
-			"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.3.tgz",
-			"integrity": "sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg==",
-			"dev": true,
-			"engines": {
-				"node": ">=8.6"
-			}
-		},
 		"node_modules/mime": {
 			"version": "1.6.0",
 			"resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
@@ -6733,12 +6666,15 @@
 			"dev": true
 		},
 		"node_modules/picomatch": {
-			"version": "2.2.2",
-			"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
-			"integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
+			"version": "2.3.1",
+			"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+			"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
 			"dev": true,
 			"engines": {
 				"node": ">=8.6"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/jonschlinkert"
 			}
 		},
 		"node_modules/pify": {
@@ -7268,9 +7204,9 @@
 			}
 		},
 		"node_modules/rechoir": {
-			"version": "0.7.0",
-			"resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.0.tgz",
-			"integrity": "sha512-ADsDEH2bvbjltXEP+hTIAmeFekTFK0V2BTxMkok6qILyAJEXV0AFfoWcAq4yfll5VdIMd/RVXq0lR+wQi5ZU3Q==",
+			"version": "0.7.1",
+			"resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz",
+			"integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==",
 			"dev": true,
 			"dependencies": {
 				"resolve": "^1.9.0"
@@ -8142,18 +8078,6 @@
 				"node": ">=0.10.0"
 			}
 		},
-		"node_modules/stylelint/node_modules/braces": {
-			"version": "3.0.2",
-			"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
-			"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
-			"dev": true,
-			"dependencies": {
-				"fill-range": "^7.0.1"
-			},
-			"engines": {
-				"node": ">=8"
-			}
-		},
 		"node_modules/stylelint/node_modules/camelcase": {
 			"version": "5.3.1",
 			"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
@@ -8177,18 +8101,6 @@
 				"node": ">=8"
 			}
 		},
-		"node_modules/stylelint/node_modules/fill-range": {
-			"version": "7.0.1",
-			"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
-			"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
-			"dev": true,
-			"dependencies": {
-				"to-regex-range": "^5.0.1"
-			},
-			"engines": {
-				"node": ">=8"
-			}
-		},
 		"node_modules/stylelint/node_modules/get-stdin": {
 			"version": "8.0.0",
 			"resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz",
@@ -8263,15 +8175,6 @@
 				"node": ">=8"
 			}
 		},
-		"node_modules/stylelint/node_modules/is-number": {
-			"version": "7.0.0",
-			"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
-			"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
-			"dev": true,
-			"engines": {
-				"node": ">=0.12.0"
-			}
-		},
 		"node_modules/stylelint/node_modules/map-obj": {
 			"version": "4.1.0",
 			"resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.1.0.tgz",
@@ -8303,19 +8206,6 @@
 				"node": ">=10"
 			}
 		},
-		"node_modules/stylelint/node_modules/micromatch": {
-			"version": "4.0.2",
-			"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
-			"integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
-			"dev": true,
-			"dependencies": {
-				"braces": "^3.0.1",
-				"picomatch": "^2.0.5"
-			},
-			"engines": {
-				"node": ">=8"
-			}
-		},
 		"node_modules/stylelint/node_modules/normalize-package-data": {
 			"version": "3.0.0",
 			"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.0.tgz",
@@ -8454,18 +8344,6 @@
 				"node": ">=8"
 			}
 		},
-		"node_modules/stylelint/node_modules/to-regex-range": {
-			"version": "5.0.1",
-			"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
-			"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
-			"dev": true,
-			"dependencies": {
-				"is-number": "^7.0.0"
-			},
-			"engines": {
-				"node": ">=8.0"
-			}
-		},
 		"node_modules/stylelint/node_modules/trim-newlines": {
 			"version": "3.0.1",
 			"resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz",
@@ -10227,7 +10105,7 @@
 		"array-each": {
 			"version": "1.0.1",
 			"resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz",
-			"integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=",
+			"integrity": "sha512-zHjL5SZa68hkKHBFBK6DJCTtr9sfTCPCaph/L7tMSLcTFgy+zX7E+6q5UArbtOtMBCtxdICpfTCspRse+ywyXA==",
 			"dev": true
 		},
 		"array-find-index": {
@@ -12315,51 +12193,6 @@
 				"merge2": "^1.3.0",
 				"micromatch": "^4.0.2",
 				"picomatch": "^2.2.1"
-			},
-			"dependencies": {
-				"braces": {
-					"version": "3.0.2",
-					"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
-					"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
-					"dev": true,
-					"requires": {
-						"fill-range": "^7.0.1"
-					}
-				},
-				"fill-range": {
-					"version": "7.0.1",
-					"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
-					"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
-					"dev": true,
-					"requires": {
-						"to-regex-range": "^5.0.1"
-					}
-				},
-				"is-number": {
-					"version": "7.0.0",
-					"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
-					"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
-					"dev": true
-				},
-				"micromatch": {
-					"version": "4.0.2",
-					"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
-					"integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
-					"dev": true,
-					"requires": {
-						"braces": "^3.0.1",
-						"picomatch": "^2.0.5"
-					}
-				},
-				"to-regex-range": {
-					"version": "5.0.1",
-					"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
-					"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
-					"dev": true,
-					"requires": {
-						"is-number": "^7.0.0"
-					}
-				}
 			}
 		},
 		"fast-json-stable-stringify": {
@@ -12928,9 +12761,9 @@
 			"dev": true
 		},
 		"grunt": {
-			"version": "1.4.0",
-			"resolved": "https://registry.npmjs.org/grunt/-/grunt-1.4.0.tgz",
-			"integrity": "sha512-yRFc0GVCDu9yxqOFzpuXQ2pEdgtLDnFv5Qz54jfIcNnpJ8Z7B7P7kPkT4VMuRvm+N+QOsI8C4v/Q0DSaoj3LgQ==",
+			"version": "1.5.3",
+			"resolved": "https://registry.npmjs.org/grunt/-/grunt-1.5.3.tgz",
+			"integrity": "sha512-mKwmo4X2d8/4c/BmcOETHek675uOqw0RuA/zy12jaspWqvTp4+ZeQF1W+OTpcbncnaBsfbQJ6l0l4j+Sn/GmaQ==",
 			"dev": true,
 			"requires": {
 				"dateformat": "~3.0.3",
@@ -12938,8 +12771,8 @@
 				"exit": "~0.1.2",
 				"findup-sync": "~0.3.0",
 				"glob": "~7.1.6",
-				"grunt-cli": "~1.4.2",
-				"grunt-known-options": "~1.1.1",
+				"grunt-cli": "~1.4.3",
+				"grunt-known-options": "~2.0.0",
 				"grunt-legacy-log": "~3.0.0",
 				"grunt-legacy-util": "~2.0.1",
 				"iconv-lite": "~0.4.13",
@@ -12948,33 +12781,6 @@
 				"mkdirp": "~1.0.4",
 				"nopt": "~3.0.6",
 				"rimraf": "~3.0.2"
-			},
-			"dependencies": {
-				"grunt-cli": {
-					"version": "1.4.2",
-					"resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.4.2.tgz",
-					"integrity": "sha512-wsu6BZh7KCnfeaSkDrKIAvOlqGKxNRTZjc8xfZlvxCByQIqUfZ31kh5uHpPnhQ4NdVgvaWaVxa1LUbVU80nACw==",
-					"dev": true,
-					"requires": {
-						"grunt-known-options": "~1.1.1",
-						"interpret": "~1.1.0",
-						"liftup": "~3.0.1",
-						"nopt": "~4.0.1",
-						"v8flags": "~3.2.0"
-					},
-					"dependencies": {
-						"nopt": {
-							"version": "4.0.3",
-							"resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz",
-							"integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==",
-							"dev": true,
-							"requires": {
-								"abbrev": "1",
-								"osenv": "^0.1.4"
-							}
-						}
-					}
-				}
 			}
 		},
 		"grunt-banana-checker": {
@@ -12983,6 +12789,31 @@
 			"integrity": "sha512-SqPiB6OazWqR8USL0NymtuT5Br3mD9WBBsM1rHC/3wIi2SrZNM6/+j9CIeuEM5oCn+AtO2Y0+rzzFyOdC9afAg==",
 			"dev": true
 		},
+		"grunt-cli": {
+			"version": "1.4.3",
+			"resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.4.3.tgz",
+			"integrity": "sha512-9Dtx/AhVeB4LYzsViCjUQkd0Kw0McN2gYpdmGYKtE2a5Yt7v1Q+HYZVWhqXc/kGnxlMtqKDxSwotiGeFmkrCoQ==",
+			"dev": true,
+			"requires": {
+				"grunt-known-options": "~2.0.0",
+				"interpret": "~1.1.0",
+				"liftup": "~3.0.1",
+				"nopt": "~4.0.1",
+				"v8flags": "~3.2.0"
+			},
+			"dependencies": {
+				"nopt": {
+					"version": "4.0.3",
+					"resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz",
+					"integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==",
+					"dev": true,
+					"requires": {
+						"abbrev": "1",
+						"osenv": "^0.1.4"
+					}
+				}
+			}
+		},
 		"grunt-contrib-copy": {
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/grunt-contrib-copy/-/grunt-contrib-copy-1.0.0.tgz",
@@ -13124,9 +12955,9 @@
 			}
 		},
 		"grunt-known-options": {
-			"version": "1.1.1",
-			"resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-1.1.1.tgz",
-			"integrity": "sha512-cHwsLqoighpu7TuYj5RonnEuxGVFnztcUqTqp5rXFGYL4OuPFofwC4Ycg7n9fYwvK6F5WbYgeVOwph9Crs2fsQ==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-2.0.0.tgz",
+			"integrity": "sha512-GD7cTz0I4SAede1/+pAbmJRG44zFLPipVtdL9o3vqx9IEyb7b4/Y3s7r6ofI3CchR5GvYJ+8buCSioDv5dQLiA==",
 			"dev": true
 		},
 		"grunt-legacy-log": {
@@ -14274,21 +14105,13 @@
 			}
 		},
 		"micromatch": {
-			"version": "4.0.4",
-			"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz",
-			"integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==",
+			"version": "4.0.5",
+			"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
+			"integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
 			"dev": true,
 			"requires": {
-				"braces": "^3.0.1",
-				"picomatch": "^2.2.3"
-			},
-			"dependencies": {
-				"picomatch": {
-					"version": "2.2.3",
-					"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.3.tgz",
-					"integrity": "sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg==",
-					"dev": true
-				}
+				"braces": "^3.0.2",
+				"picomatch": "^2.3.1"
 			}
 		},
 		"mime": {
@@ -15007,9 +14830,9 @@
 			"dev": true
 		},
 		"picomatch": {
-			"version": "2.2.2",
-			"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
-			"integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
+			"version": "2.3.1",
+			"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+			"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
 			"dev": true
 		},
 		"pify": {
@@ -15436,9 +15259,9 @@
 			}
 		},
 		"rechoir": {
-			"version": "0.7.0",
-			"resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.0.tgz",
-			"integrity": "sha512-ADsDEH2bvbjltXEP+hTIAmeFekTFK0V2BTxMkok6qILyAJEXV0AFfoWcAq4yfll5VdIMd/RVXq0lR+wQi5ZU3Q==",
+			"version": "0.7.1",
+			"resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz",
+			"integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==",
 			"dev": true,
 			"requires": {
 				"resolve": "^1.9.0"
@@ -16115,15 +15938,6 @@
 				"write-file-atomic": "^3.0.3"
 			},
 			"dependencies": {
-				"braces": {
-					"version": "3.0.2",
-					"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
-					"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
-					"dev": true,
-					"requires": {
-						"fill-range": "^7.0.1"
-					}
-				},
 				"camelcase": {
 					"version": "5.3.1",
 					"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
@@ -16141,15 +15955,6 @@
 						"quick-lru": "^4.0.1"
 					}
 				},
-				"fill-range": {
-					"version": "7.0.1",
-					"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
-					"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
-					"dev": true,
-					"requires": {
-						"to-regex-range": "^5.0.1"
-					}
-				},
 				"get-stdin": {
 					"version": "8.0.0",
 					"resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz",
@@ -16203,12 +16008,6 @@
 					"integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
 					"dev": true
 				},
-				"is-number": {
-					"version": "7.0.0",
-					"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
-					"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
-					"dev": true
-				},
 				"map-obj": {
 					"version": "4.1.0",
 					"resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.1.0.tgz",
@@ -16234,16 +16033,6 @@
 						"yargs-parser": "^20.2.3"
 					}
 				},
-				"micromatch": {
-					"version": "4.0.2",
-					"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
-					"integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
-					"dev": true,
-					"requires": {
-						"braces": "^3.0.1",
-						"picomatch": "^2.0.5"
-					}
-				},
 				"normalize-package-data": {
 					"version": "3.0.0",
 					"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.0.tgz",
@@ -16356,15 +16145,6 @@
 						"min-indent": "^1.0.0"
 					}
 				},
-				"to-regex-range": {
-					"version": "5.0.1",
-					"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
-					"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
-					"dev": true,
-					"requires": {
-						"is-number": "^7.0.0"
-					}
-				},
 				"trim-newlines": {
 					"version": "3.0.1",
 					"resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz",
diff --git a/package.json b/package.json
index baa2329..fa34770 100644
--- a/package.json
+++ b/package.json
@@ -11,7 +11,7 @@
 	},
 	"devDependencies": {
 		"eslint-config-wikimedia": "0.20.0",
-		"grunt": "1.4.0",
+		"grunt": "1.5.3",
 		"grunt-banana-checker": "0.9.0",
 		"grunt-contrib-copy": "1.0.0",
 		"grunt-contrib-watch": "1.1.0",
-- 
2.30.2

$ date
--- stdout ---
Mon May 23 19:43:54 UTC 2022

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

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

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

--- end ---
$ git submodule update --init
--- stderr ---
Submodule 'lib/ve' (https://gerrit.wikimedia.org/r/VisualEditor/VisualEditor.git) registered for path 'lib/ve'
Cloning into '/src/repo/lib/ve'...
--- stdout ---
Submodule path 'lib/ve': checked out '2debc4175bf95d5c92c0ad702da3abadea4fda2c'

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

--- end ---
$ git show-ref refs/heads/REL1_36
--- stdout ---
263c5854361148a27ae89323522199b6dabb70ea refs/heads/REL1_36

--- end ---
$ /usr/bin/npm audit --json --legacy-peer-deps
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {
    "bin-version": {
      "name": "bin-version",
      "severity": "moderate",
      "via": [
        "find-versions"
      ],
      "effects": [
        "bin-version-check"
      ],
      "range": "<=4.0.0",
      "nodes": [
        "node_modules/bin-version"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "4.0.0",
        "isSemVerMajor": true
      }
    },
    "bin-version-check": {
      "name": "bin-version-check",
      "severity": "moderate",
      "via": [
        "bin-version"
      ],
      "effects": [
        "bin-wrapper"
      ],
      "range": "<=4.0.0",
      "nodes": [
        "node_modules/bin-version-check"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "4.0.0",
        "isSemVerMajor": true
      }
    },
    "bin-wrapper": {
      "name": "bin-wrapper",
      "severity": "moderate",
      "via": [
        "bin-version-check"
      ],
      "effects": [
        "gifsicle",
        "guetzli",
        "jpeg-recompress-bin",
        "mozjpeg",
        "optipng-bin",
        "pngquant-bin",
        "zopflipng-bin"
      ],
      "range": ">=0.4.0",
      "nodes": [
        "node_modules/bin-wrapper"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "4.0.0",
        "isSemVerMajor": true
      }
    },
    "css-select": {
      "name": "css-select",
      "severity": "moderate",
      "via": [
        "nth-check"
      ],
      "effects": [
        "svgo"
      ],
      "range": "<=3.1.0",
      "nodes": [
        "node_modules/css-select"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "4.0.0",
        "isSemVerMajor": true
      }
    },
    "find-versions": {
      "name": "find-versions",
      "severity": "moderate",
      "via": [
        "semver-regex"
      ],
      "effects": [
        "bin-version"
      ],
      "range": "<=3.2.0",
      "nodes": [
        "node_modules/find-versions"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "4.0.0",
        "isSemVerMajor": true
      }
    },
    "gifsicle": {
      "name": "gifsicle",
      "severity": "moderate",
      "via": [
        "bin-wrapper"
      ],
      "effects": [],
      "range": ">=1.0.0",
      "nodes": [
        "node_modules/gifsicle"
      ],
      "fixAvailable": true
    },
    "grunt": {
      "name": "grunt",
      "severity": "moderate",
      "via": [
        {
          "source": 1070249,
          "name": "grunt",
          "dependency": "grunt",
          "title": "Path Traversal in Grunt",
          "url": "https://github.com/advisories/GHSA-j383-35pm-c5h4",
          "severity": "moderate",
          "range": "<1.5.2"
        }
      ],
      "effects": [],
      "range": "<1.5.2",
      "nodes": [
        "node_modules/grunt"
      ],
      "fixAvailable": {
        "name": "grunt",
        "version": "1.5.3",
        "isSemVerMajor": false
      }
    },
    "grunt-image": {
      "name": "grunt-image",
      "severity": "moderate",
      "via": [
        "guetzli",
        "jpeg-recompress-bin",
        "mozjpeg",
        "optipng-bin",
        "pngquant-bin",
        "svgo"
      ],
      "effects": [],
      "range": "0.1.0 || >=0.8.1",
      "nodes": [
        "node_modules/grunt-image"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "4.0.0",
        "isSemVerMajor": true
      }
    },
    "guetzli": {
      "name": "guetzli",
      "severity": "moderate",
      "via": [
        "bin-wrapper"
      ],
      "effects": [
        "grunt-image"
      ],
      "range": "*",
      "nodes": [
        "node_modules/guetzli"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "4.0.0",
        "isSemVerMajor": true
      }
    },
    "jpeg-recompress-bin": {
      "name": "jpeg-recompress-bin",
      "severity": "moderate",
      "via": [
        "bin-wrapper"
      ],
      "effects": [
        "grunt-image"
      ],
      "range": ">=0.1.7",
      "nodes": [
        "node_modules/jpeg-recompress-bin"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "4.0.0",
        "isSemVerMajor": true
      }
    },
    "meow": {
      "name": "meow",
      "severity": "high",
      "via": [
        "trim-newlines"
      ],
      "effects": [],
      "range": "3.4.0 - 5.0.0",
      "nodes": [
        "node_modules/meow"
      ],
      "fixAvailable": true
    },
    "minimist": {
      "name": "minimist",
      "severity": "critical",
      "via": [
        {
          "source": 1067342,
          "name": "minimist",
          "dependency": "minimist",
          "title": "Prototype Pollution in minimist",
          "url": "https://github.com/advisories/GHSA-xvch-5gv4-984h",
          "severity": "critical",
          "range": "<1.2.6"
        },
        {
          "source": 1070255,
          "name": "minimist",
          "dependency": "minimist",
          "title": "Prototype Pollution in minimist",
          "url": "https://github.com/advisories/GHSA-vh95-rmgr-6w4m",
          "severity": "moderate",
          "range": "<0.2.1"
        }
      ],
      "effects": [
        "mkdirp"
      ],
      "range": "<=1.2.5",
      "nodes": [
        "node_modules/mocha/node_modules/minimist"
      ],
      "fixAvailable": {
        "name": "mocha",
        "version": "10.0.0",
        "isSemVerMajor": true
      }
    },
    "mkdirp": {
      "name": "mkdirp",
      "severity": "moderate",
      "via": [
        "minimist"
      ],
      "effects": [
        "mocha"
      ],
      "range": "0.4.1 - 0.5.1",
      "nodes": [
        "node_modules/mocha/node_modules/mkdirp"
      ],
      "fixAvailable": {
        "name": "mocha",
        "version": "10.0.0",
        "isSemVerMajor": true
      }
    },
    "mocha": {
      "name": "mocha",
      "severity": "moderate",
      "via": [
        "mkdirp"
      ],
      "effects": [],
      "range": "1.21.5 - 6.2.2 || 7.0.0-esm1 - 7.1.0",
      "nodes": [
        "node_modules/mocha"
      ],
      "fixAvailable": {
        "name": "mocha",
        "version": "10.0.0",
        "isSemVerMajor": true
      }
    },
    "mozjpeg": {
      "name": "mozjpeg",
      "severity": "moderate",
      "via": [
        "bin-wrapper"
      ],
      "effects": [
        "grunt-image"
      ],
      "range": ">=0.1.10",
      "nodes": [
        "node_modules/mozjpeg"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "4.0.0",
        "isSemVerMajor": true
      }
    },
    "nth-check": {
      "name": "nth-check",
      "severity": "moderate",
      "via": [
        {
          "source": 1067654,
          "name": "nth-check",
          "dependency": "nth-check",
          "title": "Inefficient Regular Expression Complexity in nth-check",
          "url": "https://github.com/advisories/GHSA-rp65-9cf3-cjxr",
          "severity": "moderate",
          "range": "<2.0.1"
        }
      ],
      "effects": [
        "css-select"
      ],
      "range": "<2.0.1",
      "nodes": [
        "node_modules/nth-check"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "4.0.0",
        "isSemVerMajor": true
      }
    },
    "optipng-bin": {
      "name": "optipng-bin",
      "severity": "moderate",
      "via": [
        "bin-wrapper"
      ],
      "effects": [
        "grunt-image"
      ],
      "range": ">=1.0.0",
      "nodes": [
        "node_modules/optipng-bin"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "4.0.0",
        "isSemVerMajor": true
      }
    },
    "pngquant-bin": {
      "name": "pngquant-bin",
      "severity": "moderate",
      "via": [
        "bin-wrapper"
      ],
      "effects": [
        "grunt-image"
      ],
      "range": ">=1.0.0",
      "nodes": [
        "node_modules/pngquant-bin"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "4.0.0",
        "isSemVerMajor": true
      }
    },
    "semver-regex": {
      "name": "semver-regex",
      "severity": "moderate",
      "via": [
        {
          "source": 1067696,
          "name": "semver-regex",
          "dependency": "semver-regex",
          "title": "Regular Expression Denial of Service (ReDOS)",
          "url": "https://github.com/advisories/GHSA-44c6-4v22-4mhx",
          "severity": "moderate",
          "range": "<3.1.3"
        }
      ],
      "effects": [
        "find-versions"
      ],
      "range": "<3.1.3",
      "nodes": [
        "node_modules/semver-regex"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "4.0.0",
        "isSemVerMajor": true
      }
    },
    "svgo": {
      "name": "svgo",
      "severity": "moderate",
      "via": [
        "css-select"
      ],
      "effects": [
        "grunt-image"
      ],
      "range": "1.0.0 - 1.3.2",
      "nodes": [
        "node_modules/svgo"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "4.0.0",
        "isSemVerMajor": true
      }
    },
    "trim-newlines": {
      "name": "trim-newlines",
      "severity": "high",
      "via": [
        {
          "source": 1070308,
          "name": "trim-newlines",
          "dependency": "trim-newlines",
          "title": "Regular Expression Denial of Service in trim-newlines",
          "url": "https://github.com/advisories/GHSA-7p7h-4mm5-852v",
          "severity": "high",
          "range": "<3.0.1"
        }
      ],
      "effects": [
        "meow"
      ],
      "range": "<3.0.1",
      "nodes": [
        "node_modules/trim-newlines"
      ],
      "fixAvailable": true
    },
    "zopflipng-bin": {
      "name": "zopflipng-bin",
      "severity": "moderate",
      "via": [
        "bin-wrapper"
      ],
      "effects": [],
      "range": ">=0.1.12",
      "nodes": [
        "node_modules/zopflipng-bin"
      ],
      "fixAvailable": true
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 0,
      "moderate": 19,
      "high": 2,
      "critical": 1,
      "total": 22
    },
    "dependencies": {
      "prod": 1,
      "dev": 880,
      "optional": 0,
      "peer": 0,
      "peerOptional": 0,
      "total": 880
    }
  }
}

--- end ---
$ /usr/bin/composer install
--- stderr ---
No lock file found. Updating dependencies instead of installing from lock file. Use composer update over composer install if you do not have a lock file.
Loading composer repositories with package information
Info from https://repo.packagist.org: #StandWithUkraine
Updating dependencies
Lock file operations: 32 installs, 0 updates, 0 removals
  - Locking composer/semver (3.3.2)
  - Locking composer/spdx-licenses (1.5.7)
  - Locking composer/xdebug-handler (1.4.6)
  - Locking felixfbecker/advanced-json-rpc (v3.2.1)
  - Locking mediawiki/mediawiki-codesniffer (v38.0.0)
  - Locking mediawiki/mediawiki-phan-config (0.10.6)
  - Locking mediawiki/minus-x (1.1.1)
  - Locking mediawiki/phan-taint-check-plugin (3.2.1)
  - Locking microsoft/tolerant-php-parser (v0.0.23)
  - Locking netresearch/jsonmapper (v3.1.1)
  - Locking phan/phan (3.2.6)
  - Locking php-parallel-lint/php-console-color (v0.3)
  - Locking php-parallel-lint/php-console-highlighter (v0.5)
  - Locking php-parallel-lint/php-parallel-lint (v1.2.0)
  - Locking phpdocumentor/reflection-common (2.2.0)
  - Locking phpdocumentor/reflection-docblock (5.3.0)
  - Locking phpdocumentor/type-resolver (1.6.1)
  - Locking psr/container (1.1.2)
  - Locking psr/log (1.1.4)
  - Locking sabre/event (5.1.4)
  - Locking squizlabs/php_codesniffer (3.6.1)
  - Locking symfony/console (v5.4.8)
  - Locking symfony/deprecation-contracts (v2.5.1)
  - Locking symfony/polyfill-ctype (v1.25.0)
  - Locking symfony/polyfill-intl-grapheme (v1.25.0)
  - Locking symfony/polyfill-intl-normalizer (v1.25.0)
  - Locking symfony/polyfill-mbstring (v1.25.0)
  - Locking symfony/polyfill-php73 (v1.25.0)
  - Locking symfony/polyfill-php80 (v1.25.0)
  - Locking symfony/service-contracts (v2.5.1)
  - Locking symfony/string (v5.4.8)
  - Locking webmozart/assert (1.10.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 32 installs, 0 updates, 0 removals
    0 [>---------------------------]    0 [->--------------------------]    0 [--->------------------------]  - Installing squizlabs/php_codesniffer (3.6.1): Extracting archive
  - Installing symfony/polyfill-mbstring (v1.25.0): Extracting archive
  - Installing composer/spdx-licenses (1.5.7): Extracting archive
  - Installing composer/semver (3.3.2): Extracting archive
  - Installing mediawiki/mediawiki-codesniffer (v38.0.0): Extracting archive
  - Installing symfony/polyfill-php80 (v1.25.0): Extracting archive
  - Installing symfony/polyfill-intl-normalizer (v1.25.0): Extracting archive
  - Installing symfony/polyfill-intl-grapheme (v1.25.0): Extracting archive
  - Installing symfony/polyfill-ctype (v1.25.0): Extracting archive
  - Installing symfony/string (v5.4.8): Extracting archive
  - Installing symfony/deprecation-contracts (v2.5.1): Extracting archive
  - Installing psr/container (1.1.2): Extracting archive
  - Installing symfony/service-contracts (v2.5.1): Extracting archive
  - Installing symfony/polyfill-php73 (v1.25.0): Extracting archive
  - Installing symfony/console (v5.4.8): Extracting archive
  - Installing sabre/event (5.1.4): Extracting archive
  - Installing netresearch/jsonmapper (v3.1.1): Extracting archive
  - Installing microsoft/tolerant-php-parser (v0.0.23): Extracting archive
  - Installing webmozart/assert (1.10.0): Extracting archive
  - Installing phpdocumentor/reflection-common (2.2.0): Extracting archive
  - Installing phpdocumentor/type-resolver (1.6.1): Extracting archive
  - Installing phpdocumentor/reflection-docblock (5.3.0): Extracting archive
  - Installing felixfbecker/advanced-json-rpc (v3.2.1): Extracting archive
  - Installing psr/log (1.1.4): Extracting archive
  - Installing composer/xdebug-handler (1.4.6): Extracting archive
  - Installing phan/phan (3.2.6): Extracting archive
  - Installing mediawiki/phan-taint-check-plugin (3.2.1): Extracting archive
  - Installing mediawiki/mediawiki-phan-config (0.10.6): Extracting archive
  - Installing mediawiki/minus-x (1.1.1): Extracting archive
  - Installing php-parallel-lint/php-console-color (v0.3): Extracting archive
  - Installing php-parallel-lint/php-console-highlighter (v0.5): Extracting archive
  - Installing php-parallel-lint/php-parallel-lint (v1.2.0): Extracting archive
  0/23 [>---------------------------]   0%
 10/23 [============>---------------]  43%
 19/23 [=======================>----]  82%
 23/23 [============================] 100%5 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating autoload files
13 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
--- stdout ---

--- end ---
$ /usr/bin/npm audit --json --legacy-peer-deps
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {
    "bin-version": {
      "name": "bin-version",
      "severity": "moderate",
      "via": [
        "find-versions"
      ],
      "effects": [
        "bin-version-check"
      ],
      "range": "<=4.0.0",
      "nodes": [
        "node_modules/bin-version"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "4.0.0",
        "isSemVerMajor": true
      }
    },
    "bin-version-check": {
      "name": "bin-version-check",
      "severity": "moderate",
      "via": [
        "bin-version"
      ],
      "effects": [
        "bin-wrapper"
      ],
      "range": "<=4.0.0",
      "nodes": [
        "node_modules/bin-version-check"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "4.0.0",
        "isSemVerMajor": true
      }
    },
    "bin-wrapper": {
      "name": "bin-wrapper",
      "severity": "moderate",
      "via": [
        "bin-version-check"
      ],
      "effects": [
        "gifsicle",
        "guetzli",
        "jpeg-recompress-bin",
        "mozjpeg",
        "optipng-bin",
        "pngquant-bin",
        "zopflipng-bin"
      ],
      "range": ">=0.4.0",
      "nodes": [
        "node_modules/bin-wrapper"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "4.0.0",
        "isSemVerMajor": true
      }
    },
    "css-select": {
      "name": "css-select",
      "severity": "moderate",
      "via": [
        "nth-check"
      ],
      "effects": [
        "svgo"
      ],
      "range": "<=3.1.0",
      "nodes": [
        "node_modules/css-select"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "4.0.0",
        "isSemVerMajor": true
      }
    },
    "find-versions": {
      "name": "find-versions",
      "severity": "moderate",
      "via": [
        "semver-regex"
      ],
      "effects": [
        "bin-version"
      ],
      "range": "<=3.2.0",
      "nodes": [
        "node_modules/find-versions"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "4.0.0",
        "isSemVerMajor": true
      }
    },
    "gifsicle": {
      "name": "gifsicle",
      "severity": "moderate",
      "via": [
        "bin-wrapper"
      ],
      "effects": [
        "grunt-image"
      ],
      "range": ">=1.0.0",
      "nodes": [
        "node_modules/gifsicle"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "4.0.0",
        "isSemVerMajor": true
      }
    },
    "grunt": {
      "name": "grunt",
      "severity": "moderate",
      "via": [
        {
          "source": 1070249,
          "name": "grunt",
          "dependency": "grunt",
          "title": "Path Traversal in Grunt",
          "url": "https://github.com/advisories/GHSA-j383-35pm-c5h4",
          "severity": "moderate",
          "range": "<1.5.2"
        }
      ],
      "effects": [],
      "range": "<1.5.2",
      "nodes": [
        "node_modules/grunt"
      ],
      "fixAvailable": {
        "name": "grunt",
        "version": "1.5.3",
        "isSemVerMajor": false
      }
    },
    "grunt-image": {
      "name": "grunt-image",
      "severity": "moderate",
      "via": [
        "gifsicle",
        "guetzli",
        "jpeg-recompress-bin",
        "mozjpeg",
        "pngquant-bin",
        "svgo"
      ],
      "effects": [],
      "range": "0.1.0 || >=0.8.1",
      "nodes": [
        "node_modules/grunt-image"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "4.0.0",
        "isSemVerMajor": true
      }
    },
    "guetzli": {
      "name": "guetzli",
      "severity": "moderate",
      "via": [
        "bin-wrapper"
      ],
      "effects": [
        "grunt-image"
      ],
      "range": "*",
      "nodes": [
        "node_modules/guetzli"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "4.0.0",
        "isSemVerMajor": true
      }
    },
    "jpeg-recompress-bin": {
      "name": "jpeg-recompress-bin",
      "severity": "moderate",
      "via": [
        "bin-wrapper"
      ],
      "effects": [
        "grunt-image"
      ],
      "range": ">=0.1.7",
      "nodes": [
        "node_modules/jpeg-recompress-bin"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "4.0.0",
        "isSemVerMajor": true
      }
    },
    "meow": {
      "name": "meow",
      "severity": "high",
      "via": [
        "trim-newlines"
      ],
      "effects": [],
      "range": "3.4.0 - 5.0.0",
      "nodes": [
        "node_modules/meow"
      ],
      "fixAvailable": true
    },
    "minimist": {
      "name": "minimist",
      "severity": "critical",
      "via": [
        {
          "source": 1067342,
          "name": "minimist",
          "dependency": "minimist",
          "title": "Prototype Pollution in minimist",
          "url": "https://github.com/advisories/GHSA-xvch-5gv4-984h",
          "severity": "critical",
          "range": "<1.2.6"
        },
        {
          "source": 1070255,
          "name": "minimist",
          "dependency": "minimist",
          "title": "Prototype Pollution in minimist",
          "url": "https://github.com/advisories/GHSA-vh95-rmgr-6w4m",
          "severity": "moderate",
          "range": "<0.2.1"
        }
      ],
      "effects": [
        "mkdirp"
      ],
      "range": "<=1.2.5",
      "nodes": [
        "node_modules/mocha/node_modules/minimist"
      ],
      "fixAvailable": {
        "name": "mocha",
        "version": "10.0.0",
        "isSemVerMajor": true
      }
    },
    "mkdirp": {
      "name": "mkdirp",
      "severity": "moderate",
      "via": [
        "minimist"
      ],
      "effects": [
        "mocha"
      ],
      "range": "0.4.1 - 0.5.1",
      "nodes": [
        "node_modules/mocha/node_modules/mkdirp"
      ],
      "fixAvailable": {
        "name": "mocha",
        "version": "10.0.0",
        "isSemVerMajor": true
      }
    },
    "mocha": {
      "name": "mocha",
      "severity": "moderate",
      "via": [
        "mkdirp"
      ],
      "effects": [],
      "range": "1.21.5 - 6.2.2 || 7.0.0-esm1 - 7.1.0",
      "nodes": [
        "node_modules/mocha"
      ],
      "fixAvailable": {
        "name": "mocha",
        "version": "10.0.0",
        "isSemVerMajor": true
      }
    },
    "mozjpeg": {
      "name": "mozjpeg",
      "severity": "moderate",
      "via": [
        "bin-wrapper"
      ],
      "effects": [
        "grunt-image"
      ],
      "range": ">=0.1.10",
      "nodes": [
        "node_modules/mozjpeg"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "4.0.0",
        "isSemVerMajor": true
      }
    },
    "nth-check": {
      "name": "nth-check",
      "severity": "moderate",
      "via": [
        {
          "source": 1067654,
          "name": "nth-check",
          "dependency": "nth-check",
          "title": "Inefficient Regular Expression Complexity in nth-check",
          "url": "https://github.com/advisories/GHSA-rp65-9cf3-cjxr",
          "severity": "moderate",
          "range": "<2.0.1"
        }
      ],
      "effects": [
        "css-select"
      ],
      "range": "<2.0.1",
      "nodes": [
        "node_modules/nth-check"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "4.0.0",
        "isSemVerMajor": true
      }
    },
    "optipng-bin": {
      "name": "optipng-bin",
      "severity": "moderate",
      "via": [
        "bin-wrapper"
      ],
      "effects": [],
      "range": ">=1.0.0",
      "nodes": [
        "node_modules/optipng-bin"
      ],
      "fixAvailable": true
    },
    "pngquant-bin": {
      "name": "pngquant-bin",
      "severity": "moderate",
      "via": [
        "bin-wrapper"
      ],
      "effects": [
        "grunt-image"
      ],
      "range": ">=1.0.0",
      "nodes": [
        "node_modules/pngquant-bin"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "4.0.0",
        "isSemVerMajor": true
      }
    },
    "semver-regex": {
      "name": "semver-regex",
      "severity": "moderate",
      "via": [
        {
          "source": 1067696,
          "name": "semver-regex",
          "dependency": "semver-regex",
          "title": "Regular Expression Denial of Service (ReDOS)",
          "url": "https://github.com/advisories/GHSA-44c6-4v22-4mhx",
          "severity": "moderate",
          "range": "<3.1.3"
        }
      ],
      "effects": [
        "find-versions"
      ],
      "range": "<3.1.3",
      "nodes": [
        "node_modules/semver-regex"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "4.0.0",
        "isSemVerMajor": true
      }
    },
    "svgo": {
      "name": "svgo",
      "severity": "moderate",
      "via": [
        "css-select"
      ],
      "effects": [
        "grunt-image"
      ],
      "range": "1.0.0 - 1.3.2",
      "nodes": [
        "node_modules/svgo"
      ],
      "fixAvailable": {
        "name": "grunt-image",
        "version": "4.0.0",
        "isSemVerMajor": true
      }
    },
    "trim-newlines": {
      "name": "trim-newlines",
      "severity": "high",
      "via": [
        {
          "source": 1070308,
          "name": "trim-newlines",
          "dependency": "trim-newlines",
          "title": "Regular Expression Denial of Service in trim-newlines",
          "url": "https://github.com/advisories/GHSA-7p7h-4mm5-852v",
          "severity": "high",
          "range": "<3.0.1"
        }
      ],
      "effects": [
        "meow"
      ],
      "range": "<3.0.1",
      "nodes": [
        "node_modules/trim-newlines"
      ],
      "fixAvailable": true
    },
    "zopflipng-bin": {
      "name": "zopflipng-bin",
      "severity": "moderate",
      "via": [
        "bin-wrapper"
      ],
      "effects": [],
      "range": ">=0.1.12",
      "nodes": [
        "node_modules/zopflipng-bin"
      ],
      "fixAvailable": true
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 0,
      "moderate": 19,
      "high": 2,
      "critical": 1,
      "total": 22
    },
    "dependencies": {
      "prod": 1,
      "dev": 880,
      "optional": 0,
      "peer": 0,
      "peerOptional": 0,
      "total": 880
    }
  }
}

--- end ---
Attempting to npm audit fix
$ /usr/bin/npm audit fix --dry-run --only=dev --json --legacy-peer-deps
--- stdout ---
{
  "added": 880,
  "removed": 0,
  "changed": 0,
  "audited": 881,
  "funding": 0,
  "audit": {
    "auditReportVersion": 2,
    "vulnerabilities": {
      "bin-version": {
        "name": "bin-version",
        "severity": "moderate",
        "via": [
          "find-versions"
        ],
        "effects": [
          "bin-version-check"
        ],
        "range": "<=4.0.0",
        "nodes": [
          "node_modules/bin-version"
        ],
        "fixAvailable": {
          "name": "grunt-image",
          "version": "4.0.0",
          "isSemVerMajor": true
        }
      },
      "bin-version-check": {
        "name": "bin-version-check",
        "severity": "moderate",
        "via": [
          "bin-version"
        ],
        "effects": [
          "bin-wrapper"
        ],
        "range": "<=4.0.0",
        "nodes": [
          "node_modules/bin-version-check"
        ],
        "fixAvailable": {
          "name": "grunt-image",
          "version": "4.0.0",
          "isSemVerMajor": true
        }
      },
      "bin-wrapper": {
        "name": "bin-wrapper",
        "severity": "moderate",
        "via": [
          "bin-version-check"
        ],
        "effects": [
          "gifsicle",
          "guetzli",
          "jpeg-recompress-bin",
          "mozjpeg",
          "optipng-bin",
          "pngquant-bin",
          "zopflipng-bin"
        ],
        "range": ">=0.4.0",
        "nodes": [
          "node_modules/bin-wrapper"
        ],
        "fixAvailable": {
          "name": "grunt-image",
          "version": "4.0.0",
          "isSemVerMajor": true
        }
      },
      "css-select": {
        "name": "css-select",
        "severity": "moderate",
        "via": [
          "nth-check"
        ],
        "effects": [
          "svgo"
        ],
        "range": "<=3.1.0",
        "nodes": [
          "node_modules/css-select"
        ],
        "fixAvailable": {
          "name": "grunt-image",
          "version": "4.0.0",
          "isSemVerMajor": true
        }
      },
      "find-versions": {
        "name": "find-versions",
        "severity": "moderate",
        "via": [
          "semver-regex"
        ],
        "effects": [
          "bin-version"
        ],
        "range": "<=3.2.0",
        "nodes": [
          "node_modules/find-versions"
        ],
        "fixAvailable": {
          "name": "grunt-image",
          "version": "4.0.0",
          "isSemVerMajor": true
        }
      },
      "gifsicle": {
        "name": "gifsicle",
        "severity": "moderate",
        "via": [
          "bin-wrapper"
        ],
        "effects": [
          "grunt-image"
        ],
        "range": ">=1.0.0",
        "nodes": [
          "node_modules/gifsicle"
        ],
        "fixAvailable": {
          "name": "grunt-image",
          "version": "4.0.0",
          "isSemVerMajor": true
        }
      },
      "grunt": {
        "name": "grunt",
        "severity": "moderate",
        "via": [
          {
            "source": 1070249,
            "name": "grunt",
            "dependency": "grunt",
            "title": "Path Traversal in Grunt",
            "url": "https://github.com/advisories/GHSA-j383-35pm-c5h4",
            "severity": "moderate",
            "range": "<1.5.2"
          }
        ],
        "effects": [],
        "range": "<1.5.2",
        "nodes": [
          "node_modules/grunt"
        ],
        "fixAvailable": {
          "name": "grunt",
          "version": "1.5.3",
          "isSemVerMajor": false
        }
      },
      "grunt-image": {
        "name": "grunt-image",
        "severity": "moderate",
        "via": [
          "gifsicle",
          "guetzli",
          "jpeg-recompress-bin",
          "mozjpeg",
          "pngquant-bin",
          "svgo"
        ],
        "effects": [],
        "range": "0.1.0 || >=0.8.1",
        "nodes": [
          "node_modules/grunt-image"
        ],
        "fixAvailable": {
          "name": "grunt-image",
          "version": "4.0.0",
          "isSemVerMajor": true
        }
      },
      "guetzli": {
        "name": "guetzli",
        "severity": "moderate",
        "via": [
          "bin-wrapper"
        ],
        "effects": [
          "grunt-image"
        ],
        "range": "*",
        "nodes": [
          "node_modules/guetzli"
        ],
        "fixAvailable": {
          "name": "grunt-image",
          "version": "4.0.0",
          "isSemVerMajor": true
        }
      },
      "jpeg-recompress-bin": {
        "name": "jpeg-recompress-bin",
        "severity": "moderate",
        "via": [
          "bin-wrapper"
        ],
        "effects": [
          "grunt-image"
        ],
        "range": ">=0.1.7",
        "nodes": [
          "node_modules/jpeg-recompress-bin"
        ],
        "fixAvailable": {
          "name": "grunt-image",
          "version": "4.0.0",
          "isSemVerMajor": true
        }
      },
      "meow": {
        "name": "meow",
        "severity": "high",
        "via": [
          "trim-newlines"
        ],
        "effects": [],
        "range": "3.4.0 - 5.0.0",
        "nodes": [
          "node_modules/meow"
        ],
        "fixAvailable": true
      },
      "minimist": {
        "name": "minimist",
        "severity": "critical",
        "via": [
          {
            "source": 1067342,
            "name": "minimist",
            "dependency": "minimist",
            "title": "Prototype Pollution in minimist",
            "url": "https://github.com/advisories/GHSA-xvch-5gv4-984h",
            "severity": "critical",
            "range": "<1.2.6"
          },
          {
            "source": 1070255,
            "name": "minimist",
            "dependency": "minimist",
            "title": "Prototype Pollution in minimist",
            "url": "https://github.com/advisories/GHSA-vh95-rmgr-6w4m",
            "severity": "moderate",
            "range": "<0.2.1"
          }
        ],
        "effects": [
          "mkdirp"
        ],
        "range": "<=1.2.5",
        "nodes": [
          "node_modules/mocha/node_modules/minimist"
        ],
        "fixAvailable": {
          "name": "mocha",
          "version": "10.0.0",
          "isSemVerMajor": true
        }
      },
      "mkdirp": {
        "name": "mkdirp",
        "severity": "moderate",
        "via": [
          "minimist"
        ],
        "effects": [
          "mocha"
        ],
        "range": "0.4.1 - 0.5.1",
        "nodes": [
          "node_modules/mocha/node_modules/mkdirp"
        ],
        "fixAvailable": {
          "name": "mocha",
          "version": "10.0.0",
          "isSemVerMajor": true
        }
      },
      "mocha": {
        "name": "mocha",
        "severity": "moderate",
        "via": [
          "mkdirp"
        ],
        "effects": [],
        "range": "1.21.5 - 6.2.2 || 7.0.0-esm1 - 7.1.0",
        "nodes": [
          "node_modules/mocha"
        ],
        "fixAvailable": {
          "name": "mocha",
          "version": "10.0.0",
          "isSemVerMajor": true
        }
      },
      "mozjpeg": {
        "name": "mozjpeg",
        "severity": "moderate",
        "via": [
          "bin-wrapper"
        ],
        "effects": [
          "grunt-image"
        ],
        "range": ">=0.1.10",
        "nodes": [
          "node_modules/mozjpeg"
        ],
        "fixAvailable": {
          "name": "grunt-image",
          "version": "4.0.0",
          "isSemVerMajor": true
        }
      },
      "nth-check": {
        "name": "nth-check",
        "severity": "moderate",
        "via": [
          {
            "source": 1067654,
            "name": "nth-check",
            "dependency": "nth-check",
            "title": "Inefficient Regular Expression Complexity in nth-check",
            "url": "https://github.com/advisories/GHSA-rp65-9cf3-cjxr",
            "severity": "moderate",
            "range": "<2.0.1"
          }
        ],
        "effects": [
          "css-select"
        ],
        "range": "<2.0.1",
        "nodes": [
          "node_modules/nth-check"
        ],
        "fixAvailable": {
          "name": "grunt-image",
          "version": "4.0.0",
          "isSemVerMajor": true
        }
      },
      "optipng-bin": {
        "name": "optipng-bin",
        "severity": "moderate",
        "via": [
          "bin-wrapper"
        ],
        "effects": [],
        "range": ">=1.0.0",
        "nodes": [
          "node_modules/optipng-bin"
        ],
        "fixAvailable": true
      },
      "pngquant-bin": {
        "name": "pngquant-bin",
        "severity": "moderate",
        "via": [
          "bin-wrapper"
        ],
        "effects": [
          "grunt-image"
        ],
        "range": ">=1.0.0",
        "nodes": [
          "node_modules/pngquant-bin"
        ],
        "fixAvailable": {
          "name": "grunt-image",
          "version": "4.0.0",
          "isSemVerMajor": true
        }
      },
      "semver-regex": {
        "name": "semver-regex",
        "severity": "moderate",
        "via": [
          {
            "source": 1067696,
            "name": "semver-regex",
            "dependency": "semver-regex",
            "title": "Regular Expression Denial of Service (ReDOS)",
            "url": "https://github.com/advisories/GHSA-44c6-4v22-4mhx",
            "severity": "moderate",
            "range": "<3.1.3"
          }
        ],
        "effects": [
          "find-versions"
        ],
        "range": "<3.1.3",
        "nodes": [
          "node_modules/semver-regex"
        ],
        "fixAvailable": {
          "name": "grunt-image",
          "version": "4.0.0",
          "isSemVerMajor": true
        }
      },
      "svgo": {
        "name": "svgo",
        "severity": "moderate",
        "via": [
          "css-select"
        ],
        "effects": [
          "grunt-image"
        ],
        "range": "1.0.0 - 1.3.2",
        "nodes": [
          "node_modules/svgo"
        ],
        "fixAvailable": {
          "name": "grunt-image",
          "version": "4.0.0",
          "isSemVerMajor": true
        }
      },
      "trim-newlines": {
        "name": "trim-newlines",
        "severity": "high",
        "via": [
          {
            "source": 1070308,
            "name": "trim-newlines",
            "dependency": "trim-newlines",
            "title": "Regular Expression Denial of Service in trim-newlines",
            "url": "https://github.com/advisories/GHSA-7p7h-4mm5-852v",
            "severity": "high",
            "range": "<3.0.1"
          }
        ],
        "effects": [
          "meow"
        ],
        "range": "<3.0.1",
        "nodes": [
          "node_modules/trim-newlines"
        ],
        "fixAvailable": true
      },
      "zopflipng-bin": {
        "name": "zopflipng-bin",
        "severity": "moderate",
        "via": [
          "bin-wrapper"
        ],
        "effects": [],
        "range": ">=0.1.12",
        "nodes": [
          "node_modules/zopflipng-bin"
        ],
        "fixAvailable": true
      }
    },
    "metadata": {
      "vulnerabilities": {
        "info": 0,
        "low": 0,
        "moderate": 19,
        "high": 2,
        "critical": 1,
        "total": 22
      },
      "dependencies": {
        "prod": 1,
        "dev": 880,
        "optional": 0,
        "peer": 0,
        "peerOptional": 0,
        "total": 880
      }
    }
  }
}

--- end ---
{"added": 880, "removed": 0, "changed": 0, "audited": 881, "funding": 0, "audit": {"auditReportVersion": 2, "vulnerabilities": {"bin-version": {"name": "bin-version", "severity": "moderate", "via": ["find-versions"], "effects": ["bin-version-check"], "range": "<=4.0.0", "nodes": ["node_modules/bin-version"], "fixAvailable": {"name": "grunt-image", "version": "4.0.0", "isSemVerMajor": true}}, "bin-version-check": {"name": "bin-version-check", "severity": "moderate", "via": ["bin-version"], "effects": ["bin-wrapper"], "range": "<=4.0.0", "nodes": ["node_modules/bin-version-check"], "fixAvailable": {"name": "grunt-image", "version": "4.0.0", "isSemVerMajor": true}}, "bin-wrapper": {"name": "bin-wrapper", "severity": "moderate", "via": ["bin-version-check"], "effects": ["gifsicle", "guetzli", "jpeg-recompress-bin", "mozjpeg", "optipng-bin", "pngquant-bin", "zopflipng-bin"], "range": ">=0.4.0", "nodes": ["node_modules/bin-wrapper"], "fixAvailable": {"name": "grunt-image", "version": "4.0.0", "isSemVerMajor": true}}, "css-select": {"name": "css-select", "severity": "moderate", "via": ["nth-check"], "effects": ["svgo"], "range": "<=3.1.0", "nodes": ["node_modules/css-select"], "fixAvailable": {"name": "grunt-image", "version": "4.0.0", "isSemVerMajor": true}}, "find-versions": {"name": "find-versions", "severity": "moderate", "via": ["semver-regex"], "effects": ["bin-version"], "range": "<=3.2.0", "nodes": ["node_modules/find-versions"], "fixAvailable": {"name": "grunt-image", "version": "4.0.0", "isSemVerMajor": true}}, "gifsicle": {"name": "gifsicle", "severity": "moderate", "via": ["bin-wrapper"], "effects": ["grunt-image"], "range": ">=1.0.0", "nodes": ["node_modules/gifsicle"], "fixAvailable": {"name": "grunt-image", "version": "4.0.0", "isSemVerMajor": true}}, "grunt": {"name": "grunt", "severity": "moderate", "via": [{"source": 1070249, "name": "grunt", "dependency": "grunt", "title": "Path Traversal in Grunt", "url": "https://github.com/advisories/GHSA-j383-35pm-c5h4", "severity": "moderate", "range": "<1.5.2"}], "effects": [], "range": "<1.5.2", "nodes": ["node_modules/grunt"], "fixAvailable": {"name": "grunt", "version": "1.5.3", "isSemVerMajor": false}}, "grunt-image": {"name": "grunt-image", "severity": "moderate", "via": ["gifsicle", "guetzli", "jpeg-recompress-bin", "mozjpeg", "pngquant-bin", "svgo"], "effects": [], "range": "0.1.0 || >=0.8.1", "nodes": ["node_modules/grunt-image"], "fixAvailable": {"name": "grunt-image", "version": "4.0.0", "isSemVerMajor": true}}, "guetzli": {"name": "guetzli", "severity": "moderate", "via": ["bin-wrapper"], "effects": ["grunt-image"], "range": "*", "nodes": ["node_modules/guetzli"], "fixAvailable": {"name": "grunt-image", "version": "4.0.0", "isSemVerMajor": true}}, "jpeg-recompress-bin": {"name": "jpeg-recompress-bin", "severity": "moderate", "via": ["bin-wrapper"], "effects": ["grunt-image"], "range": ">=0.1.7", "nodes": ["node_modules/jpeg-recompress-bin"], "fixAvailable": {"name": "grunt-image", "version": "4.0.0", "isSemVerMajor": true}}, "meow": {"name": "meow", "severity": "high", "via": ["trim-newlines"], "effects": [], "range": "3.4.0 - 5.0.0", "nodes": ["node_modules/meow"], "fixAvailable": true}, "minimist": {"name": "minimist", "severity": "critical", "via": [{"source": 1067342, "name": "minimist", "dependency": "minimist", "title": "Prototype Pollution in minimist", "url": "https://github.com/advisories/GHSA-xvch-5gv4-984h", "severity": "critical", "range": "<1.2.6"}, {"source": 1070255, "name": "minimist", "dependency": "minimist", "title": "Prototype Pollution in minimist", "url": "https://github.com/advisories/GHSA-vh95-rmgr-6w4m", "severity": "moderate", "range": "<0.2.1"}], "effects": ["mkdirp"], "range": "<=1.2.5", "nodes": ["node_modules/mocha/node_modules/minimist"], "fixAvailable": {"name": "mocha", "version": "10.0.0", "isSemVerMajor": true}}, "mkdirp": {"name": "mkdirp", "severity": "moderate", "via": ["minimist"], "effects": ["mocha"], "range": "0.4.1 - 0.5.1", "nodes": ["node_modules/mocha/node_modules/mkdirp"], "fixAvailable": {"name": "mocha", "version": "10.0.0", "isSemVerMajor": true}}, "mocha": {"name": "mocha", "severity": "moderate", "via": ["mkdirp"], "effects": [], "range": "1.21.5 - 6.2.2 || 7.0.0-esm1 - 7.1.0", "nodes": ["node_modules/mocha"], "fixAvailable": {"name": "mocha", "version": "10.0.0", "isSemVerMajor": true}}, "mozjpeg": {"name": "mozjpeg", "severity": "moderate", "via": ["bin-wrapper"], "effects": ["grunt-image"], "range": ">=0.1.10", "nodes": ["node_modules/mozjpeg"], "fixAvailable": {"name": "grunt-image", "version": "4.0.0", "isSemVerMajor": true}}, "nth-check": {"name": "nth-check", "severity": "moderate", "via": [{"source": 1067654, "name": "nth-check", "dependency": "nth-check", "title": "Inefficient Regular Expression Complexity in nth-check", "url": "https://github.com/advisories/GHSA-rp65-9cf3-cjxr", "severity": "moderate", "range": "<2.0.1"}], "effects": ["css-select"], "range": "<2.0.1", "nodes": ["node_modules/nth-check"], "fixAvailable": {"name": "grunt-image", "version": "4.0.0", "isSemVerMajor": true}}, "optipng-bin": {"name": "optipng-bin", "severity": "moderate", "via": ["bin-wrapper"], "effects": [], "range": ">=1.0.0", "nodes": ["node_modules/optipng-bin"], "fixAvailable": true}, "pngquant-bin": {"name": "pngquant-bin", "severity": "moderate", "via": ["bin-wrapper"], "effects": ["grunt-image"], "range": ">=1.0.0", "nodes": ["node_modules/pngquant-bin"], "fixAvailable": {"name": "grunt-image", "version": "4.0.0", "isSemVerMajor": true}}, "semver-regex": {"name": "semver-regex", "severity": "moderate", "via": [{"source": 1067696, "name": "semver-regex", "dependency": "semver-regex", "title": "Regular Expression Denial of Service (ReDOS)", "url": "https://github.com/advisories/GHSA-44c6-4v22-4mhx", "severity": "moderate", "range": "<3.1.3"}], "effects": ["find-versions"], "range": "<3.1.3", "nodes": ["node_modules/semver-regex"], "fixAvailable": {"name": "grunt-image", "version": "4.0.0", "isSemVerMajor": true}}, "svgo": {"name": "svgo", "severity": "moderate", "via": ["css-select"], "effects": ["grunt-image"], "range": "1.0.0 - 1.3.2", "nodes": ["node_modules/svgo"], "fixAvailable": {"name": "grunt-image", "version": "4.0.0", "isSemVerMajor": true}}, "trim-newlines": {"name": "trim-newlines", "severity": "high", "via": [{"source": 1070308, "name": "trim-newlines", "dependency": "trim-newlines", "title": "Regular Expression Denial of Service in trim-newlines", "url": "https://github.com/advisories/GHSA-7p7h-4mm5-852v", "severity": "high", "range": "<3.0.1"}], "effects": ["meow"], "range": "<3.0.1", "nodes": ["node_modules/trim-newlines"], "fixAvailable": true}, "zopflipng-bin": {"name": "zopflipng-bin", "severity": "moderate", "via": ["bin-wrapper"], "effects": [], "range": ">=0.1.12", "nodes": ["node_modules/zopflipng-bin"], "fixAvailable": true}}, "metadata": {"vulnerabilities": {"info": 0, "low": 0, "moderate": 19, "high": 2, "critical": 1, "total": 22}, "dependencies": {"prod": 1, "dev": 880, "optional": 0, "peer": 0, "peerOptional": 0, "total": 880}}}}
{}
Upgrading n:grunt from 1.4.0 -> 1.5.3
$ /usr/bin/npm audit fix --only=dev --legacy-peer-deps
--- stdout ---

added 869 packages, and audited 870 packages in 41s

1 package is looking for funding
  run `npm fund` for details

# npm audit report

minimist  <=1.2.5
Severity: critical
Prototype Pollution in minimist - https://github.com/advisories/GHSA-xvch-5gv4-984h
Prototype Pollution in minimist - https://github.com/advisories/GHSA-vh95-rmgr-6w4m
fix available via `npm audit fix --force`
Will install mocha@10.0.0, which is a breaking change
node_modules/mocha/node_modules/minimist
  mkdirp  0.4.1 - 0.5.1
  Depends on vulnerable versions of minimist
  node_modules/mocha/node_modules/mkdirp
    mocha  1.21.5 - 6.2.2 || 7.0.0-esm1 - 7.1.0
    Depends on vulnerable versions of mkdirp
    node_modules/mocha

nth-check  <2.0.1
Severity: moderate
Inefficient Regular Expression Complexity in nth-check - https://github.com/advisories/GHSA-rp65-9cf3-cjxr
fix available via `npm audit fix --force`
Will install grunt-image@4.0.0, which is a breaking change
node_modules/nth-check
  css-select  <=3.1.0
  Depends on vulnerable versions of nth-check
  node_modules/css-select
    svgo  1.0.0 - 1.3.2
    Depends on vulnerable versions of css-select
    node_modules/svgo
      grunt-image  0.1.0 || >=0.8.1
      Depends on vulnerable versions of gifsicle
      Depends on vulnerable versions of guetzli
      Depends on vulnerable versions of jpeg-recompress-bin
      Depends on vulnerable versions of mozjpeg
      Depends on vulnerable versions of pngquant-bin
      Depends on vulnerable versions of svgo
      node_modules/grunt-image

semver-regex  <3.1.3
Severity: moderate
Regular Expression Denial of Service (ReDOS) - https://github.com/advisories/GHSA-44c6-4v22-4mhx
fix available via `npm audit fix --force`
Will install grunt-image@4.0.0, which is a breaking change
node_modules/semver-regex
  find-versions  <=3.2.0
  Depends on vulnerable versions of semver-regex
  node_modules/find-versions
    bin-version  <=4.0.0
    Depends on vulnerable versions of find-versions
    node_modules/bin-version
      bin-version-check  <=4.0.0
      Depends on vulnerable versions of bin-version
      node_modules/bin-version-check
        bin-wrapper  >=0.4.0
        Depends on vulnerable versions of bin-version-check
        node_modules/bin-wrapper
          gifsicle  >=1.0.0
          Depends on vulnerable versions of bin-wrapper
          node_modules/gifsicle
            grunt-image  0.1.0 || >=0.8.1
            Depends on vulnerable versions of gifsicle
            Depends on vulnerable versions of guetzli
            Depends on vulnerable versions of jpeg-recompress-bin
            Depends on vulnerable versions of mozjpeg
            Depends on vulnerable versions of pngquant-bin
            Depends on vulnerable versions of svgo
            node_modules/grunt-image
          guetzli  *
          Depends on vulnerable versions of bin-wrapper
          node_modules/guetzli
          jpeg-recompress-bin  >=0.1.7
          Depends on vulnerable versions of bin-wrapper
          node_modules/jpeg-recompress-bin
          mozjpeg  >=0.1.10
          Depends on vulnerable versions of bin-wrapper
          node_modules/mozjpeg
          optipng-bin  >=1.0.0
          Depends on vulnerable versions of bin-wrapper
          node_modules/optipng-bin
          pngquant-bin  >=1.0.0
          Depends on vulnerable versions of bin-wrapper
          node_modules/pngquant-bin
          zopflipng-bin  >=0.1.12
          Depends on vulnerable versions of bin-wrapper
          node_modules/zopflipng-bin

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

21 vulnerabilities (18 moderate, 2 high, 1 critical)

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

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

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

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

added 869 packages, and audited 870 packages in 37s

1 package is looking for funding
  run `npm fund` for details

21 vulnerabilities (18 moderate, 2 high, 1 critical)

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

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

Run `npm audit` for details.

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

> visualeditor@0.0.0 test
> grunt test

Running "jsduckcatconfig:main" (jsduckcatconfig) task
>> File ".jsduck/categories.json" written.

Running "buildloader:egiframe" (buildloader) task
>> File ".jsduck/eg-iframe.html" written.

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

Running "eslint:all" (eslint) task

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

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

Done.

--- end ---
{"1070308": {"source": 1070308, "name": "trim-newlines", "dependency": "trim-newlines", "title": "Regular Expression Denial of Service in trim-newlines", "url": "https://github.com/advisories/GHSA-7p7h-4mm5-852v", "severity": "high", "range": "<3.0.1"}}
Upgrading n:meow from 3.7.0 -> 3.7.0
{}
{"1070308": {"source": 1070308, "name": "trim-newlines", "dependency": "trim-newlines", "title": "Regular Expression Denial of Service in trim-newlines", "url": "https://github.com/advisories/GHSA-7p7h-4mm5-852v", "severity": "high", "range": "<3.0.1"}}
Upgrading n:trim-newlines from 1.0.0 -> 1.0.0
{}
$ package-lock-lint package-lock.json
--- stdout ---
Checking package-lock.json

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

* grunt: 1.4.0 → 1.5.3
* meow: 3.7.0 → 3.7.0
  * https://github.com/advisories/GHSA-7p7h-4mm5-852v
* trim-newlines: 1.0.0 → 1.0.0
  * https://github.com/advisories/GHSA-7p7h-4mm5-852v

$ git add .
--- stdout ---

--- end ---
$ git commit -F /tmp/tmp2uv_0f2k
--- stdout ---
[REL1_36 3455ff6] build: Updating npm dependencies
 2 files changed, 102 insertions(+), 322 deletions(-)

--- end ---
$ git format-patch HEAD~1 --stdout
--- stdout ---
From 3455ff6a01bb1393510ebd30d6f5550dc988c88e Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Mon, 23 May 2022 19:46:31 +0000
Subject: [PATCH] build: Updating npm dependencies
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* grunt: 1.4.0 → 1.5.3
* meow: 3.7.0 → 3.7.0
  * https://github.com/advisories/GHSA-7p7h-4mm5-852v
* trim-newlines: 1.0.0 → 1.0.0
  * https://github.com/advisories/GHSA-7p7h-4mm5-852v

Change-Id: I2be28ddfc6da107a12da035487bdee70d4eadebd
---
 package-lock.json | 422 +++++++++++-----------------------------------
 package.json      |   2 +-
 2 files changed, 102 insertions(+), 322 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index bf07789..7c3ff32 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -9,7 +9,7 @@
 			"version": "0.0.0",
 			"devDependencies": {
 				"eslint-config-wikimedia": "0.20.0",
-				"grunt": "1.4.0",
+				"grunt": "1.5.3",
 				"grunt-banana-checker": "0.9.0",
 				"grunt-contrib-copy": "1.0.0",
 				"grunt-contrib-watch": "1.1.0",
@@ -918,7 +918,7 @@
 		"node_modules/array-each": {
 			"version": "1.0.1",
 			"resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz",
-			"integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=",
+			"integrity": "sha512-zHjL5SZa68hkKHBFBK6DJCTtr9sfTCPCaph/L7tMSLcTFgy+zX7E+6q5UArbtOtMBCtxdICpfTCspRse+ywyXA==",
 			"dev": true,
 			"engines": {
 				"node": ">=0.10.0"
@@ -3398,64 +3398,6 @@
 				"node": ">=8"
 			}
 		},
-		"node_modules/fast-glob/node_modules/braces": {
-			"version": "3.0.2",
-			"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
-			"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
-			"dev": true,
-			"dependencies": {
-				"fill-range": "^7.0.1"
-			},
-			"engines": {
-				"node": ">=8"
-			}
-		},
-		"node_modules/fast-glob/node_modules/fill-range": {
-			"version": "7.0.1",
-			"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
-			"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
-			"dev": true,
-			"dependencies": {
-				"to-regex-range": "^5.0.1"
-			},
-			"engines": {
-				"node": ">=8"
-			}
-		},
-		"node_modules/fast-glob/node_modules/is-number": {
-			"version": "7.0.0",
-			"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
-			"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
-			"dev": true,
-			"engines": {
-				"node": ">=0.12.0"
-			}
-		},
-		"node_modules/fast-glob/node_modules/micromatch": {
-			"version": "4.0.2",
-			"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
-			"integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
-			"dev": true,
-			"dependencies": {
-				"braces": "^3.0.1",
-				"picomatch": "^2.0.5"
-			},
-			"engines": {
-				"node": ">=8"
-			}
-		},
-		"node_modules/fast-glob/node_modules/to-regex-range": {
-			"version": "5.0.1",
-			"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
-			"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
-			"dev": true,
-			"dependencies": {
-				"is-number": "^7.0.0"
-			},
-			"engines": {
-				"node": ">=8.0"
-			}
-		},
 		"node_modules/fast-json-stable-stringify": {
 			"version": "2.1.0",
 			"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
@@ -4159,9 +4101,9 @@
 			}
 		},
 		"node_modules/grunt": {
-			"version": "1.4.0",
-			"resolved": "https://registry.npmjs.org/grunt/-/grunt-1.4.0.tgz",
-			"integrity": "sha512-yRFc0GVCDu9yxqOFzpuXQ2pEdgtLDnFv5Qz54jfIcNnpJ8Z7B7P7kPkT4VMuRvm+N+QOsI8C4v/Q0DSaoj3LgQ==",
+			"version": "1.5.3",
+			"resolved": "https://registry.npmjs.org/grunt/-/grunt-1.5.3.tgz",
+			"integrity": "sha512-mKwmo4X2d8/4c/BmcOETHek675uOqw0RuA/zy12jaspWqvTp4+ZeQF1W+OTpcbncnaBsfbQJ6l0l4j+Sn/GmaQ==",
 			"dev": true,
 			"dependencies": {
 				"dateformat": "~3.0.3",
@@ -4169,8 +4111,8 @@
 				"exit": "~0.1.2",
 				"findup-sync": "~0.3.0",
 				"glob": "~7.1.6",
-				"grunt-cli": "~1.4.2",
-				"grunt-known-options": "~1.1.1",
+				"grunt-cli": "~1.4.3",
+				"grunt-known-options": "~2.0.0",
 				"grunt-legacy-log": "~3.0.0",
 				"grunt-legacy-util": "~2.0.1",
 				"iconv-lite": "~0.4.13",
@@ -4199,6 +4141,38 @@
 				"node": ">=8"
 			}
 		},
+		"node_modules/grunt-cli": {
+			"version": "1.4.3",
+			"resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.4.3.tgz",
+			"integrity": "sha512-9Dtx/AhVeB4LYzsViCjUQkd0Kw0McN2gYpdmGYKtE2a5Yt7v1Q+HYZVWhqXc/kGnxlMtqKDxSwotiGeFmkrCoQ==",
+			"dev": true,
+			"dependencies": {
+				"grunt-known-options": "~2.0.0",
+				"interpret": "~1.1.0",
+				"liftup": "~3.0.1",
+				"nopt": "~4.0.1",
+				"v8flags": "~3.2.0"
+			},
+			"bin": {
+				"grunt": "bin/grunt"
+			},
+			"engines": {
+				"node": ">=10"
+			}
+		},
+		"node_modules/grunt-cli/node_modules/nopt": {
+			"version": "4.0.3",
+			"resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz",
+			"integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==",
+			"dev": true,
+			"dependencies": {
+				"abbrev": "1",
+				"osenv": "^0.1.4"
+			},
+			"bin": {
+				"nopt": "bin/nopt.js"
+			}
+		},
 		"node_modules/grunt-contrib-copy": {
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/grunt-contrib-copy/-/grunt-contrib-copy-1.0.0.tgz",
@@ -4367,9 +4341,9 @@
 			}
 		},
 		"node_modules/grunt-known-options": {
-			"version": "1.1.1",
-			"resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-1.1.1.tgz",
-			"integrity": "sha512-cHwsLqoighpu7TuYj5RonnEuxGVFnztcUqTqp5rXFGYL4OuPFofwC4Ycg7n9fYwvK6F5WbYgeVOwph9Crs2fsQ==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-2.0.0.tgz",
+			"integrity": "sha512-GD7cTz0I4SAede1/+pAbmJRG44zFLPipVtdL9o3vqx9IEyb7b4/Y3s7r6ofI3CchR5GvYJ+8buCSioDv5dQLiA==",
 			"dev": true,
 			"engines": {
 				"node": ">=0.10.0"
@@ -4464,38 +4438,6 @@
 			"integrity": "sha1-y0zdT/X1LxOz1DddCv1i1OM4+g4=",
 			"dev": true
 		},
-		"node_modules/grunt/node_modules/grunt-cli": {
-			"version": "1.4.2",
-			"resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.4.2.tgz",
-			"integrity": "sha512-wsu6BZh7KCnfeaSkDrKIAvOlqGKxNRTZjc8xfZlvxCByQIqUfZ31kh5uHpPnhQ4NdVgvaWaVxa1LUbVU80nACw==",
-			"dev": true,
-			"dependencies": {
-				"grunt-known-options": "~1.1.1",
-				"interpret": "~1.1.0",
-				"liftup": "~3.0.1",
-				"nopt": "~4.0.1",
-				"v8flags": "~3.2.0"
-			},
-			"bin": {
-				"grunt": "bin/grunt"
-			},
-			"engines": {
-				"node": ">=10"
-			}
-		},
-		"node_modules/grunt/node_modules/grunt-cli/node_modules/nopt": {
-			"version": "4.0.3",
-			"resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz",
-			"integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==",
-			"dev": true,
-			"dependencies": {
-				"abbrev": "1",
-				"osenv": "^0.1.4"
-			},
-			"bin": {
-				"nopt": "bin/nopt.js"
-			}
-		},
 		"node_modules/guetzli": {
 			"version": "2.0.0",
 			"resolved": "https://registry.npmjs.org/guetzli/-/guetzli-2.0.0.tgz",
@@ -5809,27 +5751,18 @@
 			}
 		},
 		"node_modules/micromatch": {
-			"version": "4.0.4",
-			"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz",
-			"integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==",
+			"version": "4.0.5",
+			"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
+			"integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
 			"dev": true,
 			"dependencies": {
-				"braces": "^3.0.1",
-				"picomatch": "^2.2.3"
+				"braces": "^3.0.2",
+				"picomatch": "^2.3.1"
 			},
 			"engines": {
 				"node": ">=8.6"
 			}
 		},
-		"node_modules/micromatch/node_modules/picomatch": {
-			"version": "2.2.3",
-			"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.3.tgz",
-			"integrity": "sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg==",
-			"dev": true,
-			"engines": {
-				"node": ">=8.6"
-			}
-		},
 		"node_modules/mime": {
 			"version": "1.6.0",
 			"resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
@@ -6733,12 +6666,15 @@
 			"dev": true
 		},
 		"node_modules/picomatch": {
-			"version": "2.2.2",
-			"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
-			"integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
+			"version": "2.3.1",
+			"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+			"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
 			"dev": true,
 			"engines": {
 				"node": ">=8.6"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/jonschlinkert"
 			}
 		},
 		"node_modules/pify": {
@@ -7268,9 +7204,9 @@
 			}
 		},
 		"node_modules/rechoir": {
-			"version": "0.7.0",
-			"resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.0.tgz",
-			"integrity": "sha512-ADsDEH2bvbjltXEP+hTIAmeFekTFK0V2BTxMkok6qILyAJEXV0AFfoWcAq4yfll5VdIMd/RVXq0lR+wQi5ZU3Q==",
+			"version": "0.7.1",
+			"resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz",
+			"integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==",
 			"dev": true,
 			"dependencies": {
 				"resolve": "^1.9.0"
@@ -8142,18 +8078,6 @@
 				"node": ">=0.10.0"
 			}
 		},
-		"node_modules/stylelint/node_modules/braces": {
-			"version": "3.0.2",
-			"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
-			"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
-			"dev": true,
-			"dependencies": {
-				"fill-range": "^7.0.1"
-			},
-			"engines": {
-				"node": ">=8"
-			}
-		},
 		"node_modules/stylelint/node_modules/camelcase": {
 			"version": "5.3.1",
 			"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
@@ -8177,18 +8101,6 @@
 				"node": ">=8"
 			}
 		},
-		"node_modules/stylelint/node_modules/fill-range": {
-			"version": "7.0.1",
-			"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
-			"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
-			"dev": true,
-			"dependencies": {
-				"to-regex-range": "^5.0.1"
-			},
-			"engines": {
-				"node": ">=8"
-			}
-		},
 		"node_modules/stylelint/node_modules/get-stdin": {
 			"version": "8.0.0",
 			"resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz",
@@ -8263,15 +8175,6 @@
 				"node": ">=8"
 			}
 		},
-		"node_modules/stylelint/node_modules/is-number": {
-			"version": "7.0.0",
-			"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
-			"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
-			"dev": true,
-			"engines": {
-				"node": ">=0.12.0"
-			}
-		},
 		"node_modules/stylelint/node_modules/map-obj": {
 			"version": "4.1.0",
 			"resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.1.0.tgz",
@@ -8303,19 +8206,6 @@
 				"node": ">=10"
 			}
 		},
-		"node_modules/stylelint/node_modules/micromatch": {
-			"version": "4.0.2",
-			"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
-			"integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
-			"dev": true,
-			"dependencies": {
-				"braces": "^3.0.1",
-				"picomatch": "^2.0.5"
-			},
-			"engines": {
-				"node": ">=8"
-			}
-		},
 		"node_modules/stylelint/node_modules/normalize-package-data": {
 			"version": "3.0.0",
 			"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.0.tgz",
@@ -8454,18 +8344,6 @@
 				"node": ">=8"
 			}
 		},
-		"node_modules/stylelint/node_modules/to-regex-range": {
-			"version": "5.0.1",
-			"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
-			"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
-			"dev": true,
-			"dependencies": {
-				"is-number": "^7.0.0"
-			},
-			"engines": {
-				"node": ">=8.0"
-			}
-		},
 		"node_modules/stylelint/node_modules/trim-newlines": {
 			"version": "3.0.1",
 			"resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz",
@@ -10227,7 +10105,7 @@
 		"array-each": {
 			"version": "1.0.1",
 			"resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz",
-			"integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=",
+			"integrity": "sha512-zHjL5SZa68hkKHBFBK6DJCTtr9sfTCPCaph/L7tMSLcTFgy+zX7E+6q5UArbtOtMBCtxdICpfTCspRse+ywyXA==",
 			"dev": true
 		},
 		"array-find-index": {
@@ -12315,51 +12193,6 @@
 				"merge2": "^1.3.0",
 				"micromatch": "^4.0.2",
 				"picomatch": "^2.2.1"
-			},
-			"dependencies": {
-				"braces": {
-					"version": "3.0.2",
-					"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
-					"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
-					"dev": true,
-					"requires": {
-						"fill-range": "^7.0.1"
-					}
-				},
-				"fill-range": {
-					"version": "7.0.1",
-					"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
-					"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
-					"dev": true,
-					"requires": {
-						"to-regex-range": "^5.0.1"
-					}
-				},
-				"is-number": {
-					"version": "7.0.0",
-					"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
-					"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
-					"dev": true
-				},
-				"micromatch": {
-					"version": "4.0.2",
-					"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
-					"integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
-					"dev": true,
-					"requires": {
-						"braces": "^3.0.1",
-						"picomatch": "^2.0.5"
-					}
-				},
-				"to-regex-range": {
-					"version": "5.0.1",
-					"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
-					"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
-					"dev": true,
-					"requires": {
-						"is-number": "^7.0.0"
-					}
-				}
 			}
 		},
 		"fast-json-stable-stringify": {
@@ -12928,9 +12761,9 @@
 			"dev": true
 		},
 		"grunt": {
-			"version": "1.4.0",
-			"resolved": "https://registry.npmjs.org/grunt/-/grunt-1.4.0.tgz",
-			"integrity": "sha512-yRFc0GVCDu9yxqOFzpuXQ2pEdgtLDnFv5Qz54jfIcNnpJ8Z7B7P7kPkT4VMuRvm+N+QOsI8C4v/Q0DSaoj3LgQ==",
+			"version": "1.5.3",
+			"resolved": "https://registry.npmjs.org/grunt/-/grunt-1.5.3.tgz",
+			"integrity": "sha512-mKwmo4X2d8/4c/BmcOETHek675uOqw0RuA/zy12jaspWqvTp4+ZeQF1W+OTpcbncnaBsfbQJ6l0l4j+Sn/GmaQ==",
 			"dev": true,
 			"requires": {
 				"dateformat": "~3.0.3",
@@ -12938,8 +12771,8 @@
 				"exit": "~0.1.2",
 				"findup-sync": "~0.3.0",
 				"glob": "~7.1.6",
-				"grunt-cli": "~1.4.2",
-				"grunt-known-options": "~1.1.1",
+				"grunt-cli": "~1.4.3",
+				"grunt-known-options": "~2.0.0",
 				"grunt-legacy-log": "~3.0.0",
 				"grunt-legacy-util": "~2.0.1",
 				"iconv-lite": "~0.4.13",
@@ -12948,33 +12781,6 @@
 				"mkdirp": "~1.0.4",
 				"nopt": "~3.0.6",
 				"rimraf": "~3.0.2"
-			},
-			"dependencies": {
-				"grunt-cli": {
-					"version": "1.4.2",
-					"resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.4.2.tgz",
-					"integrity": "sha512-wsu6BZh7KCnfeaSkDrKIAvOlqGKxNRTZjc8xfZlvxCByQIqUfZ31kh5uHpPnhQ4NdVgvaWaVxa1LUbVU80nACw==",
-					"dev": true,
-					"requires": {
-						"grunt-known-options": "~1.1.1",
-						"interpret": "~1.1.0",
-						"liftup": "~3.0.1",
-						"nopt": "~4.0.1",
-						"v8flags": "~3.2.0"
-					},
-					"dependencies": {
-						"nopt": {
-							"version": "4.0.3",
-							"resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz",
-							"integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==",
-							"dev": true,
-							"requires": {
-								"abbrev": "1",
-								"osenv": "^0.1.4"
-							}
-						}
-					}
-				}
 			}
 		},
 		"grunt-banana-checker": {
@@ -12983,6 +12789,31 @@
 			"integrity": "sha512-SqPiB6OazWqR8USL0NymtuT5Br3mD9WBBsM1rHC/3wIi2SrZNM6/+j9CIeuEM5oCn+AtO2Y0+rzzFyOdC9afAg==",
 			"dev": true
 		},
+		"grunt-cli": {
+			"version": "1.4.3",
+			"resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.4.3.tgz",
+			"integrity": "sha512-9Dtx/AhVeB4LYzsViCjUQkd0Kw0McN2gYpdmGYKtE2a5Yt7v1Q+HYZVWhqXc/kGnxlMtqKDxSwotiGeFmkrCoQ==",
+			"dev": true,
+			"requires": {
+				"grunt-known-options": "~2.0.0",
+				"interpret": "~1.1.0",
+				"liftup": "~3.0.1",
+				"nopt": "~4.0.1",
+				"v8flags": "~3.2.0"
+			},
+			"dependencies": {
+				"nopt": {
+					"version": "4.0.3",
+					"resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz",
+					"integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==",
+					"dev": true,
+					"requires": {
+						"abbrev": "1",
+						"osenv": "^0.1.4"
+					}
+				}
+			}
+		},
 		"grunt-contrib-copy": {
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/grunt-contrib-copy/-/grunt-contrib-copy-1.0.0.tgz",
@@ -13124,9 +12955,9 @@
 			}
 		},
 		"grunt-known-options": {
-			"version": "1.1.1",
-			"resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-1.1.1.tgz",
-			"integrity": "sha512-cHwsLqoighpu7TuYj5RonnEuxGVFnztcUqTqp5rXFGYL4OuPFofwC4Ycg7n9fYwvK6F5WbYgeVOwph9Crs2fsQ==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-2.0.0.tgz",
+			"integrity": "sha512-GD7cTz0I4SAede1/+pAbmJRG44zFLPipVtdL9o3vqx9IEyb7b4/Y3s7r6ofI3CchR5GvYJ+8buCSioDv5dQLiA==",
 			"dev": true
 		},
 		"grunt-legacy-log": {
@@ -14274,21 +14105,13 @@
 			}
 		},
 		"micromatch": {
-			"version": "4.0.4",
-			"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz",
-			"integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==",
+			"version": "4.0.5",
+			"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
+			"integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
 			"dev": true,
 			"requires": {
-				"braces": "^3.0.1",
-				"picomatch": "^2.2.3"
-			},
-			"dependencies": {
-				"picomatch": {
-					"version": "2.2.3",
-					"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.3.tgz",
-					"integrity": "sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg==",
-					"dev": true
-				}
+				"braces": "^3.0.2",
+				"picomatch": "^2.3.1"
 			}
 		},
 		"mime": {
@@ -15007,9 +14830,9 @@
 			"dev": true
 		},
 		"picomatch": {
-			"version": "2.2.2",
-			"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
-			"integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
+			"version": "2.3.1",
+			"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+			"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
 			"dev": true
 		},
 		"pify": {
@@ -15436,9 +15259,9 @@
 			}
 		},
 		"rechoir": {
-			"version": "0.7.0",
-			"resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.0.tgz",
-			"integrity": "sha512-ADsDEH2bvbjltXEP+hTIAmeFekTFK0V2BTxMkok6qILyAJEXV0AFfoWcAq4yfll5VdIMd/RVXq0lR+wQi5ZU3Q==",
+			"version": "0.7.1",
+			"resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz",
+			"integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==",
 			"dev": true,
 			"requires": {
 				"resolve": "^1.9.0"
@@ -16115,15 +15938,6 @@
 				"write-file-atomic": "^3.0.3"
 			},
 			"dependencies": {
-				"braces": {
-					"version": "3.0.2",
-					"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
-					"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
-					"dev": true,
-					"requires": {
-						"fill-range": "^7.0.1"
-					}
-				},
 				"camelcase": {
 					"version": "5.3.1",
 					"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
@@ -16141,15 +15955,6 @@
 						"quick-lru": "^4.0.1"
 					}
 				},
-				"fill-range": {
-					"version": "7.0.1",
-					"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
-					"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
-					"dev": true,
-					"requires": {
-						"to-regex-range": "^5.0.1"
-					}
-				},
 				"get-stdin": {
 					"version": "8.0.0",
 					"resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz",
@@ -16203,12 +16008,6 @@
 					"integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
 					"dev": true
 				},
-				"is-number": {
-					"version": "7.0.0",
-					"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
-					"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
-					"dev": true
-				},
 				"map-obj": {
 					"version": "4.1.0",
 					"resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.1.0.tgz",
@@ -16234,16 +16033,6 @@
 						"yargs-parser": "^20.2.3"
 					}
 				},
-				"micromatch": {
-					"version": "4.0.2",
-					"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
-					"integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
-					"dev": true,
-					"requires": {
-						"braces": "^3.0.1",
-						"picomatch": "^2.0.5"
-					}
-				},
 				"normalize-package-data": {
 					"version": "3.0.0",
 					"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.0.tgz",
@@ -16356,15 +16145,6 @@
 						"min-indent": "^1.0.0"
 					}
 				},
-				"to-regex-range": {
-					"version": "5.0.1",
-					"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
-					"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
-					"dev": true,
-					"requires": {
-						"is-number": "^7.0.0"
-					}
-				},
 				"trim-newlines": {
 					"version": "3.0.1",
 					"resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz",
diff --git a/package.json b/package.json
index baa2329..fa34770 100644
--- a/package.json
+++ b/package.json
@@ -11,7 +11,7 @@
 	},
 	"devDependencies": {
 		"eslint-config-wikimedia": "0.20.0",
-		"grunt": "1.4.0",
+		"grunt": "1.5.3",
 		"grunt-banana-checker": "0.9.0",
 		"grunt-contrib-copy": "1.0.0",
 		"grunt-contrib-watch": "1.1.0",
-- 
2.30.2


--- end ---

composer dependencies

Development dependencies

npm dependencies

Development dependencies

Logs

Source code is licensed under the AGPL.