mediawiki/extensions/MultiMaps: main (log #2360214)

sourcepatches

This run took 50 seconds.

From 883179d728cac9e1b2a6de177c09557d33fd2ee7 Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Tue, 24 Feb 2026 21:08:27 +0000
Subject: [PATCH] build: Updating mediawiki/mediawiki-codesniffer to 50.0.0

Change-Id: I4c7bb4b40b9ecbccafdd5d569a731d703993d61b
---
 composer.json     |  2 +-
 package-lock.json | 74 +++++++++++++++++++++++++++++------------------
 2 files changed, 47 insertions(+), 29 deletions(-)

diff --git a/composer.json b/composer.json
index e0cd801..c454bc7 100644
--- a/composer.json
+++ b/composer.json
@@ -1,6 +1,6 @@
 {
 	"require-dev": {
-		"mediawiki/mediawiki-codesniffer": "49.0.0",
+		"mediawiki/mediawiki-codesniffer": "50.0.0",
 		"mediawiki/minus-x": "2.0.1",
 		"php-parallel-lint/php-console-highlighter": "1.0.0",
 		"php-parallel-lint/php-parallel-lint": "1.4.0"
diff --git a/package-lock.json b/package-lock.json
index 42ba286..1f99162 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -138,9 +138,9 @@
 			}
 		},
 		"node_modules/@eslint/eslintrc/node_modules/minimatch": {
-			"version": "3.1.2",
-			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
-			"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+			"version": "3.1.3",
+			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.3.tgz",
+			"integrity": "sha512-M2GCs7Vk83NxkUyQV1bkABc4yxgz9kILhHImZiBPAZ9ybuvCb0/H7lEl5XvIg3g+9d4eNotkZA5IWwYl0tibaA==",
 			"dev": true,
 			"dependencies": {
 				"brace-expansion": "^1.1.7"
@@ -505,22 +505,34 @@
 				"typescript": ">=4.8.4 <6.0.0"
 			}
 		},
+		"node_modules/@typescript-eslint/typescript-estree/node_modules/balanced-match": {
+			"version": "4.0.4",
+			"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz",
+			"integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==",
+			"dev": true,
+			"engines": {
+				"node": "18 || 20 || >=22"
+			}
+		},
 		"node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": {
-			"version": "2.0.2",
-			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
-			"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
+			"version": "5.0.3",
+			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.3.tgz",
+			"integrity": "sha512-fy6KJm2RawA5RcHkLa1z/ScpBeA762UF9KmZQxwIbDtRJrgLzM10depAiEQ+CXYcoiqW1/m96OAAoke2nE9EeA==",
 			"dev": true,
 			"dependencies": {
-				"balanced-match": "^1.0.0"
+				"balanced-match": "^4.0.2"
+			},
+			"engines": {
+				"node": "18 || 20 || >=22"
 			}
 		},
 		"node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": {
-			"version": "9.0.5",
-			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
-			"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+			"version": "9.0.6",
+			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.6.tgz",
+			"integrity": "sha512-kQAVowdR33euIqeA0+VZTDqU+qo1IeVY+hrKYtZMio3Pg0P0vuh/kwRylLUddJhB6pf3q/botcOvRtx4IN1wqQ==",
 			"dev": true,
 			"dependencies": {
-				"brace-expansion": "^2.0.1"
+				"brace-expansion": "^5.0.2"
 			},
 			"engines": {
 				"node": ">=16 || 14 >=14.17"
@@ -1645,9 +1657,9 @@
 			}
 		},
 		"node_modules/eslint/node_modules/minimatch": {
-			"version": "3.1.2",
-			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
-			"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+			"version": "3.1.3",
+			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.3.tgz",
+			"integrity": "sha512-M2GCs7Vk83NxkUyQV1bkABc4yxgz9kILhHImZiBPAZ9ybuvCb0/H7lEl5XvIg3g+9d4eNotkZA5IWwYl0tibaA==",
 			"dev": true,
 			"dependencies": {
 				"brace-expansion": "^1.1.7"
@@ -4001,9 +4013,9 @@
 					}
 				},
 				"minimatch": {
-					"version": "3.1.2",
-					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
-					"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+					"version": "3.1.3",
+					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.3.tgz",
+					"integrity": "sha512-M2GCs7Vk83NxkUyQV1bkABc4yxgz9kILhHImZiBPAZ9ybuvCb0/H7lEl5XvIg3g+9d4eNotkZA5IWwYl0tibaA==",
 					"dev": true,
 					"requires": {
 						"brace-expansion": "^1.1.7"
@@ -4237,22 +4249,28 @@
 				"ts-api-utils": "^2.1.0"
 			},
 			"dependencies": {
+				"balanced-match": {
+					"version": "4.0.4",
+					"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz",
+					"integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==",
+					"dev": true
+				},
 				"brace-expansion": {
-					"version": "2.0.2",
-					"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
-					"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
+					"version": "5.0.3",
+					"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.3.tgz",
+					"integrity": "sha512-fy6KJm2RawA5RcHkLa1z/ScpBeA762UF9KmZQxwIbDtRJrgLzM10depAiEQ+CXYcoiqW1/m96OAAoke2nE9EeA==",
 					"dev": true,
 					"requires": {
-						"balanced-match": "^1.0.0"
+						"balanced-match": "^4.0.2"
 					}
 				},
 				"minimatch": {
-					"version": "9.0.5",
-					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
-					"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+					"version": "9.0.6",
+					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.6.tgz",
+					"integrity": "sha512-kQAVowdR33euIqeA0+VZTDqU+qo1IeVY+hrKYtZMio3Pg0P0vuh/kwRylLUddJhB6pf3q/botcOvRtx4IN1wqQ==",
 					"dev": true,
 					"requires": {
-						"brace-expansion": "^2.0.1"
+						"brace-expansion": "^5.0.2"
 					}
 				}
 			}
@@ -4697,9 +4715,9 @@
 					}
 				},
 				"minimatch": {
-					"version": "3.1.2",
-					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
-					"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+					"version": "3.1.3",
+					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.3.tgz",
+					"integrity": "sha512-M2GCs7Vk83NxkUyQV1bkABc4yxgz9kILhHImZiBPAZ9ybuvCb0/H7lEl5XvIg3g+9d4eNotkZA5IWwYl0tibaA==",
 					"dev": true,
 					"requires": {
 						"brace-expansion": "^1.1.7"
-- 
2.47.3

$ date
--- stdout ---
Tue Feb 24 21:07:47 UTC 2026

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

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

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

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

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

--- end ---
$ git show-ref refs/heads/master
--- stdout ---
179765f4a23d45a4d80a475b11533c71a6009a3e refs/heads/master

--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {
    "@eslint/eslintrc": {
      "name": "@eslint/eslintrc",
      "severity": "high",
      "isDirect": false,
      "via": [
        "minimatch"
      ],
      "effects": [
        "eslint"
      ],
      "range": "0.0.1 || >=0.1.1",
      "nodes": [
        "node_modules/@eslint/eslintrc"
      ],
      "fixAvailable": {
        "name": "grunt-eslint",
        "version": "20.2.0",
        "isSemVerMajor": true
      }
    },
    "@humanwhocodes/config-array": {
      "name": "@humanwhocodes/config-array",
      "severity": "high",
      "isDirect": false,
      "via": [
        "minimatch"
      ],
      "effects": [
        "eslint"
      ],
      "range": "*",
      "nodes": [
        "node_modules/@humanwhocodes/config-array"
      ],
      "fixAvailable": {
        "name": "grunt-eslint",
        "version": "20.2.0",
        "isSemVerMajor": true
      }
    },
    "@typescript-eslint/eslint-plugin": {
      "name": "@typescript-eslint/eslint-plugin",
      "severity": "high",
      "isDirect": false,
      "via": [
        "@typescript-eslint/type-utils",
        "@typescript-eslint/utils",
        "eslint"
      ],
      "effects": [],
      "range": "<=8.55.1-alpha.3",
      "nodes": [
        "node_modules/@typescript-eslint/eslint-plugin"
      ],
      "fixAvailable": true
    },
    "@typescript-eslint/parser": {
      "name": "@typescript-eslint/parser",
      "severity": "high",
      "isDirect": false,
      "via": [
        "@typescript-eslint/typescript-estree",
        "eslint"
      ],
      "effects": [
        "eslint-config-wikimedia"
      ],
      "range": "1.1.1-alpha.0 - 8.56.0",
      "nodes": [
        "node_modules/@typescript-eslint/parser"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.8.1",
        "isSemVerMajor": true
      }
    },
    "@typescript-eslint/type-utils": {
      "name": "@typescript-eslint/type-utils",
      "severity": "high",
      "isDirect": false,
      "via": [
        "@typescript-eslint/typescript-estree",
        "@typescript-eslint/utils",
        "eslint"
      ],
      "effects": [
        "@typescript-eslint/eslint-plugin"
      ],
      "range": "5.9.2-alpha.0 - 8.56.0 || >=8.56.2-alpha.0",
      "nodes": [
        "node_modules/@typescript-eslint/type-utils"
      ],
      "fixAvailable": true
    },
    "@typescript-eslint/typescript-estree": {
      "name": "@typescript-eslint/typescript-estree",
      "severity": "high",
      "isDirect": false,
      "via": [
        "minimatch"
      ],
      "effects": [
        "@typescript-eslint/parser",
        "@typescript-eslint/type-utils",
        "@typescript-eslint/utils"
      ],
      "range": "6.16.0 - 8.56.1-alpha.2",
      "nodes": [
        "node_modules/@typescript-eslint/typescript-estree"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.8.1",
        "isSemVerMajor": true
      }
    },
    "@typescript-eslint/utils": {
      "name": "@typescript-eslint/utils",
      "severity": "high",
      "isDirect": false,
      "via": [
        "@typescript-eslint/typescript-estree",
        "eslint"
      ],
      "effects": [
        "@typescript-eslint/eslint-plugin",
        "@typescript-eslint/type-utils"
      ],
      "range": "<=8.56.1-alpha.2",
      "nodes": [
        "node_modules/@typescript-eslint/utils"
      ],
      "fixAvailable": true
    },
    "eslint": {
      "name": "eslint",
      "severity": "high",
      "isDirect": false,
      "via": [
        "@eslint/eslintrc",
        "@humanwhocodes/config-array",
        "file-entry-cache",
        "minimatch"
      ],
      "effects": [
        "@typescript-eslint/eslint-plugin",
        "@typescript-eslint/parser",
        "@typescript-eslint/type-utils",
        "@typescript-eslint/utils",
        "eslint-config-wikimedia",
        "eslint-plugin-jsdoc",
        "eslint-plugin-vue",
        "grunt-eslint"
      ],
      "range": "0.7.1 - 2.0.0-rc.1 || 4.1.0 - 10.0.0-rc.2",
      "nodes": [
        "node_modules/eslint"
      ],
      "fixAvailable": {
        "name": "grunt-eslint",
        "version": "20.2.0",
        "isSemVerMajor": true
      }
    },
    "eslint-config-wikimedia": {
      "name": "eslint-config-wikimedia",
      "severity": "high",
      "isDirect": true,
      "via": [
        "@typescript-eslint/eslint-plugin",
        "@typescript-eslint/parser",
        "eslint",
        "eslint-plugin-jsdoc",
        "eslint-plugin-vue"
      ],
      "effects": [],
      "range": ">=0.9.0",
      "nodes": [
        "node_modules/eslint-config-wikimedia"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.8.1",
        "isSemVerMajor": true
      }
    },
    "eslint-plugin-jsdoc": {
      "name": "eslint-plugin-jsdoc",
      "severity": "high",
      "isDirect": false,
      "via": [
        "eslint"
      ],
      "effects": [
        "eslint-config-wikimedia"
      ],
      "range": "8.4.4 - 62.6.1",
      "nodes": [
        "node_modules/eslint-plugin-jsdoc"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.8.1",
        "isSemVerMajor": true
      }
    },
    "eslint-plugin-vue": {
      "name": "eslint-plugin-vue",
      "severity": "high",
      "isDirect": false,
      "via": [
        "eslint"
      ],
      "effects": [
        "eslint-config-wikimedia"
      ],
      "range": "5.0.0-beta.0 - 10.7.0",
      "nodes": [
        "node_modules/eslint-plugin-vue"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.8.1",
        "isSemVerMajor": true
      }
    },
    "file-entry-cache": {
      "name": "file-entry-cache",
      "severity": "high",
      "isDirect": false,
      "via": [
        "flat-cache"
      ],
      "effects": [
        "eslint"
      ],
      "range": "4.0.0 - 7.0.2",
      "nodes": [
        "node_modules/file-entry-cache"
      ],
      "fixAvailable": {
        "name": "grunt-eslint",
        "version": "20.2.0",
        "isSemVerMajor": true
      }
    },
    "flat-cache": {
      "name": "flat-cache",
      "severity": "high",
      "isDirect": false,
      "via": [
        "rimraf"
      ],
      "effects": [
        "file-entry-cache"
      ],
      "range": "1.3.4 - 4.0.0",
      "nodes": [
        "node_modules/flat-cache"
      ],
      "fixAvailable": {
        "name": "grunt-eslint",
        "version": "20.2.0",
        "isSemVerMajor": true
      }
    },
    "glob": {
      "name": "glob",
      "severity": "high",
      "isDirect": false,
      "via": [
        "minimatch"
      ],
      "effects": [
        "rimraf"
      ],
      "range": "3.0.0 - 10.5.0",
      "nodes": [
        "node_modules/glob"
      ],
      "fixAvailable": {
        "name": "grunt-eslint",
        "version": "20.2.0",
        "isSemVerMajor": true
      }
    },
    "grunt": {
      "name": "grunt",
      "severity": "high",
      "isDirect": true,
      "via": [
        "glob",
        "minimatch"
      ],
      "effects": [
        "grunt-eslint"
      ],
      "range": ">=0.4.0-a",
      "nodes": [
        "node_modules/grunt"
      ],
      "fixAvailable": {
        "name": "grunt",
        "version": "0.3.17",
        "isSemVerMajor": true
      }
    },
    "grunt-eslint": {
      "name": "grunt-eslint",
      "severity": "high",
      "isDirect": true,
      "via": [
        "eslint",
        "grunt"
      ],
      "effects": [],
      "range": "<=17.3.2 || >=18.1.0",
      "nodes": [
        "node_modules/grunt-eslint"
      ],
      "fixAvailable": {
        "name": "grunt-eslint",
        "version": "20.2.0",
        "isSemVerMajor": true
      }
    },
    "minimatch": {
      "name": "minimatch",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1113371,
          "name": "minimatch",
          "dependency": "minimatch",
          "title": "minimatch has a ReDoS via repeated wildcards with non-matching literal in pattern",
          "url": "https://github.com/advisories/GHSA-3ppc-4f35-3m26",
          "severity": "high",
          "cwe": [
            "CWE-1333"
          ],
          "cvss": {
            "score": 0,
            "vectorString": null
          },
          "range": "<10.2.1"
        }
      ],
      "effects": [
        "@eslint/eslintrc",
        "@humanwhocodes/config-array",
        "@typescript-eslint/typescript-estree",
        "eslint",
        "glob",
        "grunt"
      ],
      "range": "<10.2.1",
      "nodes": [
        "node_modules/@eslint/eslintrc/node_modules/minimatch",
        "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch",
        "node_modules/eslint/node_modules/minimatch",
        "node_modules/minimatch"
      ],
      "fixAvailable": {
        "name": "grunt",
        "version": "0.3.17",
        "isSemVerMajor": true
      }
    },
    "rimraf": {
      "name": "rimraf",
      "severity": "high",
      "isDirect": false,
      "via": [
        "glob"
      ],
      "effects": [
        "flat-cache"
      ],
      "range": "2.3.0 - 3.0.2 || 4.2.0 - 5.0.10",
      "nodes": [
        "node_modules/rimraf"
      ],
      "fixAvailable": {
        "name": "grunt-eslint",
        "version": "20.2.0",
        "isSemVerMajor": true
      }
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 0,
      "moderate": 0,
      "high": 18,
      "critical": 0,
      "total": 18
    },
    "dependencies": {
      "prod": 1,
      "dev": 323,
      "optional": 0,
      "peer": 1,
      "peerOptional": 0,
      "total": 323
    }
  }
}

--- end ---
$ /usr/bin/composer install
--- stderr ---
No composer.lock file present. Updating dependencies to latest instead of installing from lock file. See https://getcomposer.org/install for more information.
Loading composer repositories with package information
Updating dependencies
Lock file operations: 20 installs, 0 updates, 0 removals
  - Locking composer/semver (3.4.4)
  - Locking composer/spdx-licenses (1.5.9)
  - Locking dealerdirect/phpcodesniffer-composer-installer (v1.2.0)
  - Locking mediawiki/mediawiki-codesniffer (v49.0.0)
  - Locking mediawiki/minus-x (2.0.1)
  - Locking php-parallel-lint/php-console-color (v1.0.1)
  - Locking php-parallel-lint/php-console-highlighter (v1.0.0)
  - Locking php-parallel-lint/php-parallel-lint (v1.4.0)
  - Locking phpcsstandards/phpcsextra (1.4.0)
  - Locking phpcsstandards/phpcsutils (1.2.2)
  - Locking psr/container (2.0.2)
  - Locking squizlabs/php_codesniffer (3.13.5)
  - Locking symfony/console (v8.0.4)
  - Locking symfony/deprecation-contracts (v3.6.0)
  - Locking symfony/polyfill-ctype (v1.33.0)
  - Locking symfony/polyfill-intl-grapheme (v1.33.0)
  - Locking symfony/polyfill-intl-normalizer (v1.33.0)
  - Locking symfony/polyfill-mbstring (v1.33.0)
  - Locking symfony/service-contracts (v3.6.1)
  - Locking symfony/string (v8.0.4)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 20 installs, 0 updates, 0 removals
    0 [>---------------------------]    0 [->--------------------------]
  - Installing squizlabs/php_codesniffer (3.13.5): Extracting archive
  - Installing dealerdirect/phpcodesniffer-composer-installer (v1.2.0): Extracting archive
  - Installing phpcsstandards/phpcsutils (1.2.2): Extracting archive
  - Installing phpcsstandards/phpcsextra (1.4.0): Extracting archive
  - Installing symfony/polyfill-mbstring (v1.33.0): Extracting archive
  - Installing composer/spdx-licenses (1.5.9): Extracting archive
  - Installing composer/semver (3.4.4): Extracting archive
  - Installing mediawiki/mediawiki-codesniffer (v49.0.0): Extracting archive
  - Installing symfony/polyfill-intl-normalizer (v1.33.0): Extracting archive
  - Installing symfony/polyfill-intl-grapheme (v1.33.0): Extracting archive
  - Installing symfony/polyfill-ctype (v1.33.0): Extracting archive
  - Installing symfony/string (v8.0.4): Extracting archive
  - Installing symfony/deprecation-contracts (v3.6.0): Extracting archive
  - Installing psr/container (2.0.2): Extracting archive
  - Installing symfony/service-contracts (v3.6.1): Extracting archive
  - Installing symfony/console (v8.0.4): Extracting archive
  - Installing mediawiki/minus-x (2.0.1): Extracting archive
  - Installing php-parallel-lint/php-console-color (v1.0.1): Extracting archive
  - Installing php-parallel-lint/php-console-highlighter (v1.0.0): Extracting archive
  - Installing php-parallel-lint/php-parallel-lint (v1.4.0): Extracting archive
  0/18 [>---------------------------]   0%
 18/18 [============================] 100%
Generating autoload files
14 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
--- stdout ---
PHP CodeSniffer Config installed_paths set to ../../mediawiki/mediawiki-codesniffer,../../phpcsstandards/phpcsextra,../../phpcsstandards/phpcsutils

--- end ---
Upgrading c:mediawiki/mediawiki-codesniffer from 49.0.0 -> 50.0.0
$ /usr/bin/composer update
--- stderr ---
Loading composer repositories with package information
Updating dependencies
Lock file operations: 0 installs, 1 update, 0 removals
  - Upgrading mediawiki/mediawiki-codesniffer (v49.0.0 => v50.0.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 0 installs, 1 update, 0 removals
  - Upgrading mediawiki/mediawiki-codesniffer (v49.0.0 => v50.0.0): Extracting archive
Generating autoload files
14 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
No security vulnerability advisories found.
--- stdout ---

--- end ---
Previously failing phpcs rules: {'MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation', 'MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate', 'MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic', 'MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment', 'MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation', 'Generic.NamingConventions.UpperCaseConstantName.ConstantNotUpperCase', 'MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName', 'MediaWiki.Commenting.CommentBeforeClass.FileSpacingAfter', 'MediaWiki.Commenting.FunctionComment.MissingReturn', 'MediaWiki.Files.ClassMatchesFilename.NotMatch', 'MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix', 'PSR12.Properties.ConstantVisibility.NotFound', 'MediaWiki.Commenting.PropertyDocumentation.MissingDocumentationPrivate', 'Squiz.Scope.MethodScope.Missing', 'Generic.Files.LineLength.TooLong', 'Generic.CodeAnalysis.AssignmentInCondition.FoundInWhileCondition'}
$ vendor/bin/phpcs --report=json
--- stdout ---
{"totals":{"errors":127,"warnings":96,"fixable":0},"files":{"\/src\/repo\/services\/Google\/Google.php":{"errors":4,"warnings":1,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":14,"column":4},{"message":"There must be at least a blank line between a file-level comment and a class. Make sure you are not mixing file-level comments (like license headers) and class documentation","source":"MediaWiki.Commenting.CommentBeforeClass.FileSpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":19,"column":2},{"message":"Visibility must be declared on method \"__construct\"","source":"Squiz.Scope.MethodScope.Missing","severity":5,"fixable":false,"type":"ERROR","line":22,"column":5},{"message":"Global variable \"$egMultiMapsGoogleApiKey\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMapsGoogleApiKey\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":28,"column":9},{"message":"Line exceeds 120 characters; contains 128 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":32,"column":128}]},"\/src\/repo\/services\/Yandex\/Yandex.php":{"errors":3,"warnings":1,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":14,"column":4},{"message":"There must be at least a blank line between a file-level comment and a class. Make sure you are not mixing file-level comments (like license headers) and class documentation","source":"MediaWiki.Commenting.CommentBeforeClass.FileSpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":19,"column":2},{"message":"Visibility must be declared on method \"__construct\"","source":"Squiz.Scope.MethodScope.Missing","severity":5,"fixable":false,"type":"ERROR","line":22,"column":5},{"message":"Line exceeds 120 characters; contains 127 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":30,"column":127}]},"\/src\/repo\/Settings.php":{"errors":0,"warnings":1,"messages":[{"message":"Line exceeds 120 characters; contains 206 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":32,"column":206}]},"\/src\/repo\/services\/Leaflet\/Leaflet.php":{"errors":5,"warnings":2,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":14,"column":4},{"message":"There must be at least a blank line between a file-level comment and a class. Make sure you are not mixing file-level comments (like license headers) and class documentation","source":"MediaWiki.Commenting.CommentBeforeClass.FileSpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":19,"column":2},{"message":"Visibility must be declared on method \"__construct\"","source":"Squiz.Scope.MethodScope.Missing","severity":5,"fixable":false,"type":"ERROR","line":25,"column":5},{"message":"Global variable \"$egMultiMapsScriptPath\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMapsScriptPath\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":26,"column":9},{"message":"Global variable \"$egMultiMaps_MapServices\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_MapServices\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":45,"column":9},{"message":"Line exceeds 120 characters; contains 129 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":54,"column":129},{"message":"Line exceeds 120 characters; contains 128 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":60,"column":128}]},"\/src\/repo\/MultiMaps.body.php":{"errors":4,"warnings":0,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":9,"column":4},{"message":"Class name 'MultiMaps' does not match filename 'MultiMaps.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":15,"column":1},{"message":"Method name \"renderParserFunction_showmap\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":23,"column":19},{"message":"Method name \"recursive_array_search\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":52,"column":19}]},"\/src\/repo\/tests\/phpunit\/services\/Yandex\/YandexTest.php":{"errors":1,"warnings":4,"messages":[{"message":"Global variable \"$egMultiMaps_AllowGeocoderTests\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_AllowGeocoderTests\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":20,"column":9},{"message":"Line exceeds 120 characters; contains 155 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":33,"column":155},{"message":"Line exceeds 120 characters; contains 194 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":43,"column":194},{"message":"Line exceeds 120 characters; contains 304 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":53,"column":304},{"message":"Line exceeds 120 characters; contains 181 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":63,"column":181}]},"\/src\/repo\/MultiMaps.php":{"errors":1,"warnings":1,"messages":[{"message":"Constants must be uppercase; expected 'MULTIMAPS_VERSION' but found 'MultiMaps_VERSION'","source":"Generic.NamingConventions.UpperCaseConstantName.ConstantNotUpperCase","severity":5,"fixable":false,"type":"ERROR","line":18,"column":9},{"message":"Line exceeds 120 characters; contains 134 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":33,"column":134}]},"\/src\/repo\/includes\/mapelements\/Rectangle.php":{"errors":12,"warnings":2,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":7,"column":4},{"message":"There must be at least a blank line between a file-level comment and a class. Make sure you are not mixing file-level comments (like license headers) and class documentation","source":"MediaWiki.Commenting.CommentBeforeClass.FileSpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":11,"column":2},{"message":"Missing return type or @return tag in function comment","source":"MediaWiki.Commenting.FunctionComment.MissingReturn","severity":5,"fixable":false,"type":"ERROR","line":17,"column":6},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":19,"column":29},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":25,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":26,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":27,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":28,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":29,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":30,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":31,"column":8},{"message":"@global is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":33,"column":8},{"message":"Global variable \"$egMultiMaps_CoordinatesSeparator\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_CoordinatesSeparator\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":39,"column":9},{"message":"Line exceeds 120 characters; contains 126 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":66,"column":126}]},"\/src\/repo\/includes\/mapelements\/Polygon.php":{"errors":4,"warnings":2,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":7,"column":4},{"message":"There must be at least a blank line between a file-level comment and a class. Make sure you are not mixing file-level comments (like license headers) and class documentation","source":"MediaWiki.Commenting.CommentBeforeClass.FileSpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":14,"column":2},{"message":"Visibility must be declared on method \"__construct\"","source":"Squiz.Scope.MethodScope.Missing","severity":5,"fixable":false,"type":"ERROR","line":30,"column":5},{"message":"Missing return type or @return tag in function comment","source":"MediaWiki.Commenting.FunctionComment.MissingReturn","severity":5,"fixable":false,"type":"ERROR","line":42,"column":6},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":44,"column":27},{"message":"Line exceeds 120 characters; contains 189 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":68,"column":189}]},"\/src\/repo\/tests\/phpunit\/services\/Google\/GoogleTest.php":{"errors":1,"warnings":4,"messages":[{"message":"Global variable \"$egMultiMaps_AllowGeocoderTests\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_AllowGeocoderTests\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":20,"column":9},{"message":"Line exceeds 120 characters; contains 155 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":33,"column":155},{"message":"Line exceeds 120 characters; contains 194 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":43,"column":194},{"message":"Line exceeds 120 characters; contains 271 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":53,"column":271},{"message":"Line exceeds 120 characters; contains 181 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":63,"column":181}]},"\/src\/repo\/includes\/mapelements\/Circle.php":{"errors":6,"warnings":2,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":7,"column":4},{"message":"There must be at least a blank line between a file-level comment and a class. Make sure you are not mixing file-level comments (like license headers) and class documentation","source":"MediaWiki.Commenting.CommentBeforeClass.FileSpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":12,"column":2},{"message":"Missing return type or @return tag in function comment","source":"MediaWiki.Commenting.FunctionComment.MissingReturn","severity":5,"fixable":false,"type":"ERROR","line":24,"column":6},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":26,"column":26},{"message":"@global is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":31,"column":8},{"message":"Global variable \"$egMultiMaps_CoordinatesSeparator\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_CoordinatesSeparator\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":37,"column":9},{"message":"Line exceeds 120 characters; contains 122 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":71,"column":122},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":96,"column":12}]},"\/src\/repo\/tests\/phpunit\/includes\/MapServicesTest.php":{"errors":3,"warnings":0,"messages":[{"message":"Global variable \"$egMultiMaps_MapServices\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_MapServices\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":13,"column":9},{"message":"Global variable \"$egMultiMaps_MapServices\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_MapServices\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":31,"column":9},{"message":"Global variable \"$egMultiMaps_MapServices\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_MapServices\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":45,"column":9}]},"\/src\/repo\/includes\/mapelements\/Line.php":{"errors":6,"warnings":1,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":7,"column":4},{"message":"There must be at least a blank line between a file-level comment and a class. Make sure you are not mixing file-level comments (like license headers) and class documentation","source":"MediaWiki.Commenting.CommentBeforeClass.FileSpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":14,"column":2},{"message":"Visibility must be declared on method \"__construct\"","source":"Squiz.Scope.MethodScope.Missing","severity":5,"fixable":false,"type":"ERROR","line":20,"column":5},{"message":"Missing return type or @return tag in function comment","source":"MediaWiki.Commenting.FunctionComment.MissingReturn","severity":5,"fixable":false,"type":"ERROR","line":32,"column":6},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":34,"column":24},{"message":"@global is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":39,"column":8},{"message":"Global variable \"$egMultiMaps_CoordinatesSeparator\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_CoordinatesSeparator\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":45,"column":9}]},"\/src\/repo\/includes\/Point.php":{"errors":2,"warnings":0,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":7,"column":4},{"message":"There must be at least a blank line between a file-level comment and a class. Make sure you are not mixing file-level comments (like license headers) and class documentation","source":"MediaWiki.Commenting.CommentBeforeClass.FileSpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":15,"column":2}]},"\/src\/repo\/tests\/phpunit\/includes\/mapelements\/RectangleTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Bounds.php":{"errors":4,"warnings":1,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":7,"column":4},{"message":"There must be at least a blank line between a file-level comment and a class. Make sure you are not mixing file-level comments (like license headers) and class documentation","source":"MediaWiki.Commenting.CommentBeforeClass.FileSpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":15,"column":2},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":30,"column":5},{"message":"Visibility must be declared on method \"__construct\"","source":"Squiz.Scope.MethodScope.Missing","severity":5,"fixable":false,"type":"ERROR","line":30,"column":5},{"message":"Line exceeds 120 characters; contains 152 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":130,"column":152}]},"\/src\/repo\/includes\/GeoCoordinate.php":{"errors":26,"warnings":4,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":7,"column":4},{"message":"There must be at least a blank line between a file-level comment and a class. Make sure you are not mixing file-level comments (like license headers) and class documentation","source":"MediaWiki.Commenting.CommentBeforeClass.FileSpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":11,"column":2},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":18,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":24,"column":5},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":29,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":30,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":31,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":32,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":33,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":34,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":35,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":36,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":37,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":38,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":39,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":40,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":41,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":42,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":43,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":44,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":45,"column":8},{"message":"@global is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":47,"column":8},{"message":"Global variable \"$egMultiMaps_OptionsSeparator\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_OptionsSeparator\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":52,"column":9},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":136,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":137,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":138,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":139,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":140,"column":8},{"message":"Line exceeds 120 characters; contains 141 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":152,"column":141},{"message":"Line exceeds 120 characters; contains 200 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":153,"column":200}]},"\/src\/repo\/tests\/phpunit\/includes\/PointTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/MultiMaps.i18n.magic.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/includes\/GeocodersTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/mapelements\/Marker.php":{"errors":9,"warnings":2,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":9,"column":4},{"message":"There must be at least a blank line between a file-level comment and a class. Make sure you are not mixing file-level comments (like license headers) and class documentation","source":"MediaWiki.Commenting.CommentBeforeClass.FileSpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":19,"column":2},{"message":"Visibility must be declared on method \"__construct\"","source":"Squiz.Scope.MethodScope.Missing","severity":5,"fixable":false,"type":"ERROR","line":22,"column":5},{"message":"Missing return type or @return tag in function comment","source":"MediaWiki.Commenting.FunctionComment.MissingReturn","severity":5,"fixable":false,"type":"ERROR","line":34,"column":6},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":36,"column":26},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":39,"column":12},{"message":"Global variable \"$egMultiMaps_CoordinatesSeparator\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_CoordinatesSeparator\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":40,"column":9},{"message":"Global variable \"$egMultiMaps_OptionsSeparator\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_OptionsSeparator\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":40,"column":9},{"message":"Global variable \"$egMultiMaps_IconPath\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_IconPath\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":40,"column":9},{"message":"Global variable \"$egMultiMaps_IconAllowFromDirectory\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_IconAllowFromDirectory\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":40,"column":9},{"message":"Line exceeds 120 characters; contains 121 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":143,"column":121}]},"\/src\/repo\/tests\/phpunit\/includes\/mapelements\/PolygonTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Line exceeds 120 characters; contains 182 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":55,"column":182}]},"\/src\/repo\/includes\/Geocoders.php":{"errors":6,"warnings":0,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":7,"column":4},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":15,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":27,"column":20},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":31,"column":20},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":66,"column":20},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":104,"column":19}]},"\/src\/repo\/includes\/mapelements\/BaseMapElement.php":{"errors":7,"warnings":6,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":10,"column":4},{"message":"There must be at least a blank line between a file-level comment and a class. Make sure you are not mixing file-level comments (like license headers) and class documentation","source":"MediaWiki.Commenting.CommentBeforeClass.FileSpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":17,"column":2},{"message":"Visibility must be declared on method \"__construct\"","source":"Squiz.Scope.MethodScope.Missing","severity":5,"fixable":false,"type":"ERROR","line":56,"column":5},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":109,"column":58},{"message":"@global is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":137,"column":8},{"message":"Line exceeds 120 characters; contains 137 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":140,"column":16},{"message":"Global variable \"$egMultiMaps_DelimiterParam\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_DelimiterParam\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":143,"column":9},{"message":"Line exceeds 120 characters; contains 121 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":151,"column":121},{"message":"@global is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":162,"column":8},{"message":"Global variable \"$egMultiMaps_CoordinatesSeparator\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_CoordinatesSeparator\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":168,"column":9},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":209,"column":68},{"message":"Variable assignment found within a condition. Did you mean to do a comparison ?","source":"Generic.CodeAnalysis.AssignmentInCondition.FoundInWhileCondition","severity":5,"fixable":false,"type":"WARNING","line":223,"column":24},{"message":"Line exceeds 120 characters; contains 149 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":226,"column":149}]},"\/src\/repo\/includes\/MapServices.php":{"errors":6,"warnings":0,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":9,"column":4},{"message":"Missing class property doc comment","source":"MediaWiki.Commenting.PropertyDocumentation.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":17,"column":20},{"message":"@global is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":23,"column":8},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":106,"column":20},{"message":"Global variable \"$egMultiMaps_MapServices\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_MapServices\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":107,"column":9},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":127,"column":20}]},"\/src\/repo\/tests\/phpunit\/includes\/GeoCoordinateTest.php":{"errors":0,"warnings":11,"messages":[{"message":"Line exceeds 120 characters; contains 128 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":22,"column":128},{"message":"Line exceeds 120 characters; contains 130 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":33,"column":130},{"message":"Line exceeds 120 characters; contains 136 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":44,"column":136},{"message":"Line exceeds 120 characters; contains 139 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":55,"column":139},{"message":"Line exceeds 120 characters; contains 140 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":66,"column":140},{"message":"Line exceeds 120 characters; contains 141 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":77,"column":141},{"message":"Line exceeds 120 characters; contains 138 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":88,"column":138},{"message":"Line exceeds 120 characters; contains 138 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":99,"column":138},{"message":"Line exceeds 120 characters; contains 128 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":132,"column":128},{"message":"Line exceeds 120 characters; contains 128 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":143,"column":128},{"message":"Line exceeds 120 characters; contains 121 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":154,"column":121}]},"\/src\/repo\/tests\/phpunit\/includes\/BoundsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/BaseMapService.php":{"errors":12,"warnings":1,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":11,"column":4},{"message":"There must be at least a blank line between a file-level comment and a class. Make sure you are not mixing file-level comments (like license headers) and class documentation","source":"MediaWiki.Commenting.CommentBeforeClass.FileSpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":24,"column":2},{"message":"Line exceeds 120 characters; contains 172 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":171,"column":172},{"message":"Global variable \"$egMultiMaps_DefaultZoom\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_DefaultZoom\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":204,"column":9},{"message":"Global variable \"$egMultiMaps_SeparatorItems\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_SeparatorItems\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":327,"column":9},{"message":"Global variable \"$egMultiMaps_SeparatorItems\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_SeparatorItems\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":355,"column":9},{"message":"Global variable \"$egMultiMaps_SeparatorItems\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_SeparatorItems\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":383,"column":9},{"message":"Global variable \"$egMultiMaps_SeparatorItems\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_SeparatorItems\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":411,"column":9},{"message":"Global variable \"$egMultiMaps_SeparatorItems\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_SeparatorItems\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":439,"column":9},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":472,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":535,"column":12},{"message":"Global variable \"$egMultiMaps_Width\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_Width\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":565,"column":9},{"message":"Global variable \"$egMultiMaps_Height\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_Height\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":565,"column":9}]},"\/src\/repo\/tests\/phpunit\/services\/Leaflet\/LeafletTest.php":{"errors":5,"warnings":49,"messages":[{"message":"Line exceeds 120 characters; contains 125 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":57,"column":125},{"message":"Line exceeds 120 characters; contains 330 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":67,"column":330},{"message":"Line exceeds 120 characters; contains 186 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":68,"column":186},{"message":"Line exceeds 120 characters; contains 122 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":184,"column":122},{"message":"Line exceeds 120 characters; contains 193 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":193,"column":193},{"message":"Line exceeds 120 characters; contains 145 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":194,"column":145},{"message":"Line exceeds 120 characters; contains 463 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":203,"column":463},{"message":"Line exceeds 120 characters; contains 297 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":204,"column":297},{"message":"Line exceeds 120 characters; contains 226 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":213,"column":226},{"message":"Line exceeds 120 characters; contains 170 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":214,"column":170},{"message":"Line exceeds 120 characters; contains 969 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":223,"column":969},{"message":"Line exceeds 120 characters; contains 589 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":224,"column":589},{"message":"Line exceeds 120 characters; contains 196 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":233,"column":196},{"message":"Line exceeds 120 characters; contains 161 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":234,"column":161},{"message":"Line exceeds 120 characters; contains 196 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":244,"column":196},{"message":"Line exceeds 120 characters; contains 190 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":245,"column":190},{"message":"Line exceeds 120 characters; contains 196 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":256,"column":196},{"message":"Line exceeds 120 characters; contains 191 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":257,"column":191},{"message":"Line exceeds 120 characters; contains 196 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":270,"column":196},{"message":"Line exceeds 120 characters; contains 191 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":271,"column":191},{"message":"Line exceeds 120 characters; contains 196 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":282,"column":196},{"message":"Line exceeds 120 characters; contains 195 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":283,"column":195},{"message":"Line exceeds 120 characters; contains 209 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":299,"column":209},{"message":"Line exceeds 120 characters; contains 131 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":300,"column":131},{"message":"Line exceeds 120 characters; contains 254 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":309,"column":254},{"message":"Line exceeds 120 characters; contains 152 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":310,"column":152},{"message":"Line exceeds 120 characters; contains 206 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":323,"column":206},{"message":"Line exceeds 120 characters; contains 156 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":324,"column":156},{"message":"Line exceeds 120 characters; contains 206 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":337,"column":206},{"message":"Line exceeds 120 characters; contains 160 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":338,"column":160},{"message":"Line exceeds 120 characters; contains 206 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":349,"column":206},{"message":"Line exceeds 120 characters; contains 145 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":350,"column":145},{"message":"Line exceeds 120 characters; contains 206 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":361,"column":206},{"message":"Line exceeds 120 characters; contains 156 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":362,"column":156},{"message":"Line exceeds 120 characters; contains 1721 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":378,"column":1721},{"message":"Line exceeds 120 characters; contains 125 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":514,"column":125},{"message":"Line exceeds 120 characters; contains 132 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":515,"column":132},{"message":"Line exceeds 120 characters; contains 135 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":542,"column":135},{"message":"Line exceeds 120 characters; contains 136 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":548,"column":136},{"message":"Line exceeds 120 characters; contains 125 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":561,"column":125},{"message":"Line exceeds 120 characters; contains 123 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":562,"column":123},{"message":"Global variable \"$egMultiMaps_AllowGeocoderTests\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_AllowGeocoderTests\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":575,"column":9},{"message":"Line exceeds 120 characters; contains 158 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":581,"column":13},{"message":"Global variable \"$egMultiMaps_AllowGeocoderTests\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_AllowGeocoderTests\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":589,"column":9},{"message":"Line exceeds 120 characters; contains 194 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":594,"column":194},{"message":"Global variable \"$egMultiMaps_AllowGeocoderTests\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_AllowGeocoderTests\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":603,"column":9},{"message":"Line exceeds 120 characters; contains 271 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":608,"column":271},{"message":"Global variable \"$egMultiMaps_AllowGeocoderTests\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_AllowGeocoderTests\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":617,"column":9},{"message":"Line exceeds 120 characters; contains 181 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":622,"column":181},{"message":"Global variable \"$egMultiMaps_AllowGeocoderTests\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_AllowGeocoderTests\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":631,"column":9},{"message":"Line exceeds 120 characters; contains 169 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":636,"column":169},{"message":"Line exceeds 120 characters; contains 129 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":653,"column":129},{"message":"Line exceeds 120 characters; contains 136 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":654,"column":136},{"message":"Line exceeds 120 characters; contains 159 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":660,"column":159}]}}}

--- end ---
PHPCS run failed
$ vendor/bin/phpcs --report=json
--- stdout ---
{"totals":{"errors":127,"warnings":96,"fixable":0},"files":{"\/src\/repo\/services\/Yandex\/Yandex.php":{"errors":3,"warnings":1,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":14,"column":4},{"message":"There must be at least a blank line between a file-level comment and a class. Make sure you are not mixing file-level comments (like license headers) and class documentation","source":"MediaWiki.Commenting.CommentBeforeClass.FileSpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":19,"column":2},{"message":"Visibility must be declared on method \"__construct\"","source":"Squiz.Scope.MethodScope.Missing","severity":5,"fixable":false,"type":"ERROR","line":22,"column":5},{"message":"Line exceeds 120 characters; contains 127 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":30,"column":127}]},"\/src\/repo\/Settings.php":{"errors":0,"warnings":1,"messages":[{"message":"Line exceeds 120 characters; contains 206 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":32,"column":206}]},"\/src\/repo\/services\/Google\/Google.php":{"errors":4,"warnings":1,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":14,"column":4},{"message":"There must be at least a blank line between a file-level comment and a class. Make sure you are not mixing file-level comments (like license headers) and class documentation","source":"MediaWiki.Commenting.CommentBeforeClass.FileSpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":19,"column":2},{"message":"Visibility must be declared on method \"__construct\"","source":"Squiz.Scope.MethodScope.Missing","severity":5,"fixable":false,"type":"ERROR","line":22,"column":5},{"message":"Global variable \"$egMultiMapsGoogleApiKey\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMapsGoogleApiKey\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":28,"column":9},{"message":"Line exceeds 120 characters; contains 128 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":32,"column":128}]},"\/src\/repo\/services\/Leaflet\/Leaflet.php":{"errors":5,"warnings":2,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":14,"column":4},{"message":"There must be at least a blank line between a file-level comment and a class. Make sure you are not mixing file-level comments (like license headers) and class documentation","source":"MediaWiki.Commenting.CommentBeforeClass.FileSpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":19,"column":2},{"message":"Visibility must be declared on method \"__construct\"","source":"Squiz.Scope.MethodScope.Missing","severity":5,"fixable":false,"type":"ERROR","line":25,"column":5},{"message":"Global variable \"$egMultiMapsScriptPath\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMapsScriptPath\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":26,"column":9},{"message":"Global variable \"$egMultiMaps_MapServices\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_MapServices\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":45,"column":9},{"message":"Line exceeds 120 characters; contains 129 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":54,"column":129},{"message":"Line exceeds 120 characters; contains 128 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":60,"column":128}]},"\/src\/repo\/MultiMaps.body.php":{"errors":4,"warnings":0,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":9,"column":4},{"message":"Class name 'MultiMaps' does not match filename 'MultiMaps.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":15,"column":1},{"message":"Method name \"renderParserFunction_showmap\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":23,"column":19},{"message":"Method name \"recursive_array_search\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":52,"column":19}]},"\/src\/repo\/tests\/phpunit\/services\/Yandex\/YandexTest.php":{"errors":1,"warnings":4,"messages":[{"message":"Global variable \"$egMultiMaps_AllowGeocoderTests\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_AllowGeocoderTests\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":20,"column":9},{"message":"Line exceeds 120 characters; contains 155 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":33,"column":155},{"message":"Line exceeds 120 characters; contains 194 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":43,"column":194},{"message":"Line exceeds 120 characters; contains 304 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":53,"column":304},{"message":"Line exceeds 120 characters; contains 181 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":63,"column":181}]},"\/src\/repo\/includes\/mapelements\/Line.php":{"errors":6,"warnings":1,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":7,"column":4},{"message":"There must be at least a blank line between a file-level comment and a class. Make sure you are not mixing file-level comments (like license headers) and class documentation","source":"MediaWiki.Commenting.CommentBeforeClass.FileSpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":14,"column":2},{"message":"Visibility must be declared on method \"__construct\"","source":"Squiz.Scope.MethodScope.Missing","severity":5,"fixable":false,"type":"ERROR","line":20,"column":5},{"message":"Missing return type or @return tag in function comment","source":"MediaWiki.Commenting.FunctionComment.MissingReturn","severity":5,"fixable":false,"type":"ERROR","line":32,"column":6},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":34,"column":24},{"message":"@global is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":39,"column":8},{"message":"Global variable \"$egMultiMaps_CoordinatesSeparator\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_CoordinatesSeparator\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":45,"column":9}]},"\/src\/repo\/MultiMaps.php":{"errors":1,"warnings":1,"messages":[{"message":"Constants must be uppercase; expected 'MULTIMAPS_VERSION' but found 'MultiMaps_VERSION'","source":"Generic.NamingConventions.UpperCaseConstantName.ConstantNotUpperCase","severity":5,"fixable":false,"type":"ERROR","line":18,"column":9},{"message":"Line exceeds 120 characters; contains 134 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":33,"column":134}]},"\/src\/repo\/includes\/mapelements\/Polygon.php":{"errors":4,"warnings":2,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":7,"column":4},{"message":"There must be at least a blank line between a file-level comment and a class. Make sure you are not mixing file-level comments (like license headers) and class documentation","source":"MediaWiki.Commenting.CommentBeforeClass.FileSpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":14,"column":2},{"message":"Visibility must be declared on method \"__construct\"","source":"Squiz.Scope.MethodScope.Missing","severity":5,"fixable":false,"type":"ERROR","line":30,"column":5},{"message":"Missing return type or @return tag in function comment","source":"MediaWiki.Commenting.FunctionComment.MissingReturn","severity":5,"fixable":false,"type":"ERROR","line":42,"column":6},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":44,"column":27},{"message":"Line exceeds 120 characters; contains 189 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":68,"column":189}]},"\/src\/repo\/tests\/phpunit\/services\/Google\/GoogleTest.php":{"errors":1,"warnings":4,"messages":[{"message":"Global variable \"$egMultiMaps_AllowGeocoderTests\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_AllowGeocoderTests\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":20,"column":9},{"message":"Line exceeds 120 characters; contains 155 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":33,"column":155},{"message":"Line exceeds 120 characters; contains 194 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":43,"column":194},{"message":"Line exceeds 120 characters; contains 271 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":53,"column":271},{"message":"Line exceeds 120 characters; contains 181 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":63,"column":181}]},"\/src\/repo\/tests\/phpunit\/includes\/MapServicesTest.php":{"errors":3,"warnings":0,"messages":[{"message":"Global variable \"$egMultiMaps_MapServices\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_MapServices\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":13,"column":9},{"message":"Global variable \"$egMultiMaps_MapServices\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_MapServices\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":31,"column":9},{"message":"Global variable \"$egMultiMaps_MapServices\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_MapServices\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":45,"column":9}]},"\/src\/repo\/tests\/phpunit\/includes\/GeocodersTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Point.php":{"errors":2,"warnings":0,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":7,"column":4},{"message":"There must be at least a blank line between a file-level comment and a class. Make sure you are not mixing file-level comments (like license headers) and class documentation","source":"MediaWiki.Commenting.CommentBeforeClass.FileSpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":15,"column":2}]},"\/src\/repo\/includes\/mapelements\/Rectangle.php":{"errors":12,"warnings":2,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":7,"column":4},{"message":"There must be at least a blank line between a file-level comment and a class. Make sure you are not mixing file-level comments (like license headers) and class documentation","source":"MediaWiki.Commenting.CommentBeforeClass.FileSpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":11,"column":2},{"message":"Missing return type or @return tag in function comment","source":"MediaWiki.Commenting.FunctionComment.MissingReturn","severity":5,"fixable":false,"type":"ERROR","line":17,"column":6},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":19,"column":29},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":25,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":26,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":27,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":28,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":29,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":30,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":31,"column":8},{"message":"@global is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":33,"column":8},{"message":"Global variable \"$egMultiMaps_CoordinatesSeparator\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_CoordinatesSeparator\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":39,"column":9},{"message":"Line exceeds 120 characters; contains 126 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":66,"column":126}]},"\/src\/repo\/includes\/mapelements\/Circle.php":{"errors":6,"warnings":2,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":7,"column":4},{"message":"There must be at least a blank line between a file-level comment and a class. Make sure you are not mixing file-level comments (like license headers) and class documentation","source":"MediaWiki.Commenting.CommentBeforeClass.FileSpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":12,"column":2},{"message":"Missing return type or @return tag in function comment","source":"MediaWiki.Commenting.FunctionComment.MissingReturn","severity":5,"fixable":false,"type":"ERROR","line":24,"column":6},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":26,"column":26},{"message":"@global is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":31,"column":8},{"message":"Global variable \"$egMultiMaps_CoordinatesSeparator\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_CoordinatesSeparator\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":37,"column":9},{"message":"Line exceeds 120 characters; contains 122 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":71,"column":122},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":96,"column":12}]},"\/src\/repo\/includes\/MapServices.php":{"errors":6,"warnings":0,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":9,"column":4},{"message":"Missing class property doc comment","source":"MediaWiki.Commenting.PropertyDocumentation.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":17,"column":20},{"message":"@global is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":23,"column":8},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":106,"column":20},{"message":"Global variable \"$egMultiMaps_MapServices\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_MapServices\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":107,"column":9},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":127,"column":20}]},"\/src\/repo\/tests\/phpunit\/includes\/PointTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/MultiMaps.i18n.magic.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/includes\/mapelements\/RectangleTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Bounds.php":{"errors":4,"warnings":1,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":7,"column":4},{"message":"There must be at least a blank line between a file-level comment and a class. Make sure you are not mixing file-level comments (like license headers) and class documentation","source":"MediaWiki.Commenting.CommentBeforeClass.FileSpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":15,"column":2},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":30,"column":5},{"message":"Visibility must be declared on method \"__construct\"","source":"Squiz.Scope.MethodScope.Missing","severity":5,"fixable":false,"type":"ERROR","line":30,"column":5},{"message":"Line exceeds 120 characters; contains 152 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":130,"column":152}]},"\/src\/repo\/tests\/phpunit\/includes\/mapelements\/PolygonTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Line exceeds 120 characters; contains 182 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":55,"column":182}]},"\/src\/repo\/includes\/mapelements\/Marker.php":{"errors":9,"warnings":2,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":9,"column":4},{"message":"There must be at least a blank line between a file-level comment and a class. Make sure you are not mixing file-level comments (like license headers) and class documentation","source":"MediaWiki.Commenting.CommentBeforeClass.FileSpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":19,"column":2},{"message":"Visibility must be declared on method \"__construct\"","source":"Squiz.Scope.MethodScope.Missing","severity":5,"fixable":false,"type":"ERROR","line":22,"column":5},{"message":"Missing return type or @return tag in function comment","source":"MediaWiki.Commenting.FunctionComment.MissingReturn","severity":5,"fixable":false,"type":"ERROR","line":34,"column":6},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":36,"column":26},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":39,"column":12},{"message":"Global variable \"$egMultiMaps_CoordinatesSeparator\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_CoordinatesSeparator\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":40,"column":9},{"message":"Global variable \"$egMultiMaps_OptionsSeparator\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_OptionsSeparator\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":40,"column":9},{"message":"Global variable \"$egMultiMaps_IconPath\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_IconPath\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":40,"column":9},{"message":"Global variable \"$egMultiMaps_IconAllowFromDirectory\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_IconAllowFromDirectory\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":40,"column":9},{"message":"Line exceeds 120 characters; contains 121 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":143,"column":121}]},"\/src\/repo\/includes\/GeoCoordinate.php":{"errors":26,"warnings":4,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":7,"column":4},{"message":"There must be at least a blank line between a file-level comment and a class. Make sure you are not mixing file-level comments (like license headers) and class documentation","source":"MediaWiki.Commenting.CommentBeforeClass.FileSpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":11,"column":2},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":18,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":24,"column":5},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":29,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":30,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":31,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":32,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":33,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":34,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":35,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":36,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":37,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":38,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":39,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":40,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":41,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":42,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":43,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":44,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":45,"column":8},{"message":"@global is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":47,"column":8},{"message":"Global variable \"$egMultiMaps_OptionsSeparator\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_OptionsSeparator\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":52,"column":9},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":136,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":137,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":138,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":139,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":140,"column":8},{"message":"Line exceeds 120 characters; contains 141 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":152,"column":141},{"message":"Line exceeds 120 characters; contains 200 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":153,"column":200}]},"\/src\/repo\/includes\/Geocoders.php":{"errors":6,"warnings":0,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":7,"column":4},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":15,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":27,"column":20},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":31,"column":20},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":66,"column":20},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":104,"column":19}]},"\/src\/repo\/tests\/phpunit\/includes\/BoundsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/includes\/GeoCoordinateTest.php":{"errors":0,"warnings":11,"messages":[{"message":"Line exceeds 120 characters; contains 128 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":22,"column":128},{"message":"Line exceeds 120 characters; contains 130 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":33,"column":130},{"message":"Line exceeds 120 characters; contains 136 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":44,"column":136},{"message":"Line exceeds 120 characters; contains 139 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":55,"column":139},{"message":"Line exceeds 120 characters; contains 140 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":66,"column":140},{"message":"Line exceeds 120 characters; contains 141 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":77,"column":141},{"message":"Line exceeds 120 characters; contains 138 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":88,"column":138},{"message":"Line exceeds 120 characters; contains 138 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":99,"column":138},{"message":"Line exceeds 120 characters; contains 128 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":132,"column":128},{"message":"Line exceeds 120 characters; contains 128 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":143,"column":128},{"message":"Line exceeds 120 characters; contains 121 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":154,"column":121}]},"\/src\/repo\/includes\/mapelements\/BaseMapElement.php":{"errors":7,"warnings":6,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":10,"column":4},{"message":"There must be at least a blank line between a file-level comment and a class. Make sure you are not mixing file-level comments (like license headers) and class documentation","source":"MediaWiki.Commenting.CommentBeforeClass.FileSpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":17,"column":2},{"message":"Visibility must be declared on method \"__construct\"","source":"Squiz.Scope.MethodScope.Missing","severity":5,"fixable":false,"type":"ERROR","line":56,"column":5},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":109,"column":58},{"message":"@global is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":137,"column":8},{"message":"Line exceeds 120 characters; contains 137 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":140,"column":16},{"message":"Global variable \"$egMultiMaps_DelimiterParam\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_DelimiterParam\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":143,"column":9},{"message":"Line exceeds 120 characters; contains 121 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":151,"column":121},{"message":"@global is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":162,"column":8},{"message":"Global variable \"$egMultiMaps_CoordinatesSeparator\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_CoordinatesSeparator\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":168,"column":9},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":209,"column":68},{"message":"Variable assignment found within a condition. Did you mean to do a comparison ?","source":"Generic.CodeAnalysis.AssignmentInCondition.FoundInWhileCondition","severity":5,"fixable":false,"type":"WARNING","line":223,"column":24},{"message":"Line exceeds 120 characters; contains 149 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":226,"column":149}]},"\/src\/repo\/includes\/BaseMapService.php":{"errors":12,"warnings":1,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":11,"column":4},{"message":"There must be at least a blank line between a file-level comment and a class. Make sure you are not mixing file-level comments (like license headers) and class documentation","source":"MediaWiki.Commenting.CommentBeforeClass.FileSpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":24,"column":2},{"message":"Line exceeds 120 characters; contains 172 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":171,"column":172},{"message":"Global variable \"$egMultiMaps_DefaultZoom\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_DefaultZoom\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":204,"column":9},{"message":"Global variable \"$egMultiMaps_SeparatorItems\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_SeparatorItems\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":327,"column":9},{"message":"Global variable \"$egMultiMaps_SeparatorItems\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_SeparatorItems\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":355,"column":9},{"message":"Global variable \"$egMultiMaps_SeparatorItems\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_SeparatorItems\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":383,"column":9},{"message":"Global variable \"$egMultiMaps_SeparatorItems\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_SeparatorItems\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":411,"column":9},{"message":"Global variable \"$egMultiMaps_SeparatorItems\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_SeparatorItems\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":439,"column":9},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":472,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":535,"column":12},{"message":"Global variable \"$egMultiMaps_Width\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_Width\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":565,"column":9},{"message":"Global variable \"$egMultiMaps_Height\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_Height\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":565,"column":9}]},"\/src\/repo\/tests\/phpunit\/services\/Leaflet\/LeafletTest.php":{"errors":5,"warnings":49,"messages":[{"message":"Line exceeds 120 characters; contains 125 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":57,"column":125},{"message":"Line exceeds 120 characters; contains 330 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":67,"column":330},{"message":"Line exceeds 120 characters; contains 186 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":68,"column":186},{"message":"Line exceeds 120 characters; contains 122 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":184,"column":122},{"message":"Line exceeds 120 characters; contains 193 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":193,"column":193},{"message":"Line exceeds 120 characters; contains 145 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":194,"column":145},{"message":"Line exceeds 120 characters; contains 463 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":203,"column":463},{"message":"Line exceeds 120 characters; contains 297 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":204,"column":297},{"message":"Line exceeds 120 characters; contains 226 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":213,"column":226},{"message":"Line exceeds 120 characters; contains 170 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":214,"column":170},{"message":"Line exceeds 120 characters; contains 969 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":223,"column":969},{"message":"Line exceeds 120 characters; contains 589 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":224,"column":589},{"message":"Line exceeds 120 characters; contains 196 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":233,"column":196},{"message":"Line exceeds 120 characters; contains 161 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":234,"column":161},{"message":"Line exceeds 120 characters; contains 196 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":244,"column":196},{"message":"Line exceeds 120 characters; contains 190 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":245,"column":190},{"message":"Line exceeds 120 characters; contains 196 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":256,"column":196},{"message":"Line exceeds 120 characters; contains 191 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":257,"column":191},{"message":"Line exceeds 120 characters; contains 196 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":270,"column":196},{"message":"Line exceeds 120 characters; contains 191 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":271,"column":191},{"message":"Line exceeds 120 characters; contains 196 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":282,"column":196},{"message":"Line exceeds 120 characters; contains 195 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":283,"column":195},{"message":"Line exceeds 120 characters; contains 209 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":299,"column":209},{"message":"Line exceeds 120 characters; contains 131 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":300,"column":131},{"message":"Line exceeds 120 characters; contains 254 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":309,"column":254},{"message":"Line exceeds 120 characters; contains 152 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":310,"column":152},{"message":"Line exceeds 120 characters; contains 206 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":323,"column":206},{"message":"Line exceeds 120 characters; contains 156 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":324,"column":156},{"message":"Line exceeds 120 characters; contains 206 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":337,"column":206},{"message":"Line exceeds 120 characters; contains 160 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":338,"column":160},{"message":"Line exceeds 120 characters; contains 206 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":349,"column":206},{"message":"Line exceeds 120 characters; contains 145 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":350,"column":145},{"message":"Line exceeds 120 characters; contains 206 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":361,"column":206},{"message":"Line exceeds 120 characters; contains 156 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":362,"column":156},{"message":"Line exceeds 120 characters; contains 1721 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":378,"column":1721},{"message":"Line exceeds 120 characters; contains 125 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":514,"column":125},{"message":"Line exceeds 120 characters; contains 132 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":515,"column":132},{"message":"Line exceeds 120 characters; contains 135 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":542,"column":135},{"message":"Line exceeds 120 characters; contains 136 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":548,"column":136},{"message":"Line exceeds 120 characters; contains 125 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":561,"column":125},{"message":"Line exceeds 120 characters; contains 123 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":562,"column":123},{"message":"Global variable \"$egMultiMaps_AllowGeocoderTests\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_AllowGeocoderTests\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":575,"column":9},{"message":"Line exceeds 120 characters; contains 158 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":581,"column":13},{"message":"Global variable \"$egMultiMaps_AllowGeocoderTests\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_AllowGeocoderTests\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":589,"column":9},{"message":"Line exceeds 120 characters; contains 194 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":594,"column":194},{"message":"Global variable \"$egMultiMaps_AllowGeocoderTests\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_AllowGeocoderTests\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":603,"column":9},{"message":"Line exceeds 120 characters; contains 271 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":608,"column":271},{"message":"Global variable \"$egMultiMaps_AllowGeocoderTests\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_AllowGeocoderTests\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":617,"column":9},{"message":"Line exceeds 120 characters; contains 181 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":622,"column":181},{"message":"Global variable \"$egMultiMaps_AllowGeocoderTests\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_AllowGeocoderTests\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":631,"column":9},{"message":"Line exceeds 120 characters; contains 169 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":636,"column":169},{"message":"Line exceeds 120 characters; contains 129 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":653,"column":129},{"message":"Line exceeds 120 characters; contains 136 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":654,"column":136},{"message":"Line exceeds 120 characters; contains 159 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":660,"column":159}]}}}

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

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

--- end ---
$ /usr/bin/composer test
--- stderr ---
> parallel-lint . --exclude vendor --exclude node_modules
> minus-x check .
> phpcs -sp
--- stdout ---
PHP 8.4.18 | 10 parallel jobs
.............................                                29/29 (100%)


Checked 29 files in 0.1 seconds
No syntax error found
MinusX
======
Processing /src/repo...
.............................................................
..................................
All good!
............................. 29 / 29 (100%)


Time: 559ms; Memory: 8MB


--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {
    "@eslint/eslintrc": {
      "name": "@eslint/eslintrc",
      "severity": "high",
      "isDirect": false,
      "via": [
        "minimatch"
      ],
      "effects": [
        "eslint"
      ],
      "range": "0.0.1 || >=0.1.1",
      "nodes": [
        "node_modules/@eslint/eslintrc"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.8.1",
        "isSemVerMajor": true
      }
    },
    "@humanwhocodes/config-array": {
      "name": "@humanwhocodes/config-array",
      "severity": "high",
      "isDirect": false,
      "via": [
        "minimatch"
      ],
      "effects": [
        "eslint"
      ],
      "range": "*",
      "nodes": [
        "node_modules/@humanwhocodes/config-array"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.8.1",
        "isSemVerMajor": true
      }
    },
    "@typescript-eslint/eslint-plugin": {
      "name": "@typescript-eslint/eslint-plugin",
      "severity": "high",
      "isDirect": false,
      "via": [
        "@typescript-eslint/type-utils",
        "@typescript-eslint/utils",
        "eslint"
      ],
      "effects": [],
      "range": "<=8.55.1-alpha.3",
      "nodes": [
        "node_modules/@typescript-eslint/eslint-plugin"
      ],
      "fixAvailable": true
    },
    "@typescript-eslint/parser": {
      "name": "@typescript-eslint/parser",
      "severity": "high",
      "isDirect": false,
      "via": [
        "@typescript-eslint/typescript-estree",
        "eslint"
      ],
      "effects": [
        "eslint-config-wikimedia"
      ],
      "range": "1.1.1-alpha.0 - 8.56.0",
      "nodes": [
        "node_modules/@typescript-eslint/parser"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.8.1",
        "isSemVerMajor": true
      }
    },
    "@typescript-eslint/type-utils": {
      "name": "@typescript-eslint/type-utils",
      "severity": "high",
      "isDirect": false,
      "via": [
        "@typescript-eslint/typescript-estree",
        "@typescript-eslint/utils",
        "eslint"
      ],
      "effects": [
        "@typescript-eslint/eslint-plugin"
      ],
      "range": "5.9.2-alpha.0 - 8.56.0 || >=8.56.2-alpha.0",
      "nodes": [
        "node_modules/@typescript-eslint/type-utils"
      ],
      "fixAvailable": true
    },
    "@typescript-eslint/typescript-estree": {
      "name": "@typescript-eslint/typescript-estree",
      "severity": "high",
      "isDirect": false,
      "via": [
        "minimatch"
      ],
      "effects": [
        "@typescript-eslint/parser",
        "@typescript-eslint/type-utils",
        "@typescript-eslint/utils"
      ],
      "range": "6.16.0 - 8.56.1-alpha.2",
      "nodes": [
        "node_modules/@typescript-eslint/typescript-estree"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.8.1",
        "isSemVerMajor": true
      }
    },
    "@typescript-eslint/utils": {
      "name": "@typescript-eslint/utils",
      "severity": "high",
      "isDirect": false,
      "via": [
        "@typescript-eslint/typescript-estree",
        "eslint"
      ],
      "effects": [
        "@typescript-eslint/eslint-plugin",
        "@typescript-eslint/type-utils"
      ],
      "range": "<=8.56.1-alpha.2",
      "nodes": [
        "node_modules/@typescript-eslint/utils"
      ],
      "fixAvailable": true
    },
    "eslint": {
      "name": "eslint",
      "severity": "high",
      "isDirect": false,
      "via": [
        "@eslint/eslintrc",
        "@humanwhocodes/config-array",
        "file-entry-cache",
        "minimatch"
      ],
      "effects": [
        "@typescript-eslint/eslint-plugin",
        "@typescript-eslint/parser",
        "@typescript-eslint/type-utils",
        "@typescript-eslint/utils",
        "eslint-config-wikimedia",
        "eslint-plugin-jsdoc",
        "eslint-plugin-vue",
        "grunt-eslint"
      ],
      "range": "0.7.1 - 2.0.0-rc.1 || 4.1.0 - 10.0.0-rc.2",
      "nodes": [
        "node_modules/eslint"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.8.1",
        "isSemVerMajor": true
      }
    },
    "eslint-config-wikimedia": {
      "name": "eslint-config-wikimedia",
      "severity": "high",
      "isDirect": true,
      "via": [
        "@typescript-eslint/eslint-plugin",
        "@typescript-eslint/parser",
        "eslint",
        "eslint-plugin-jsdoc",
        "eslint-plugin-vue"
      ],
      "effects": [],
      "range": ">=0.9.0",
      "nodes": [
        "node_modules/eslint-config-wikimedia"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.8.1",
        "isSemVerMajor": true
      }
    },
    "eslint-plugin-jsdoc": {
      "name": "eslint-plugin-jsdoc",
      "severity": "high",
      "isDirect": false,
      "via": [
        "eslint"
      ],
      "effects": [
        "eslint-config-wikimedia"
      ],
      "range": "8.4.4 - 62.6.1",
      "nodes": [
        "node_modules/eslint-plugin-jsdoc"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.8.1",
        "isSemVerMajor": true
      }
    },
    "eslint-plugin-vue": {
      "name": "eslint-plugin-vue",
      "severity": "high",
      "isDirect": false,
      "via": [
        "eslint"
      ],
      "effects": [
        "eslint-config-wikimedia"
      ],
      "range": "5.0.0-beta.0 - 10.7.0",
      "nodes": [
        "node_modules/eslint-plugin-vue"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.8.1",
        "isSemVerMajor": true
      }
    },
    "file-entry-cache": {
      "name": "file-entry-cache",
      "severity": "high",
      "isDirect": false,
      "via": [
        "flat-cache"
      ],
      "effects": [
        "eslint"
      ],
      "range": "4.0.0 - 7.0.2",
      "nodes": [
        "node_modules/file-entry-cache"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.8.1",
        "isSemVerMajor": true
      }
    },
    "flat-cache": {
      "name": "flat-cache",
      "severity": "high",
      "isDirect": false,
      "via": [
        "rimraf"
      ],
      "effects": [
        "file-entry-cache"
      ],
      "range": "1.3.4 - 4.0.0",
      "nodes": [
        "node_modules/flat-cache"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.8.1",
        "isSemVerMajor": true
      }
    },
    "glob": {
      "name": "glob",
      "severity": "high",
      "isDirect": false,
      "via": [
        "minimatch"
      ],
      "effects": [
        "rimraf"
      ],
      "range": "3.0.0 - 10.5.0",
      "nodes": [
        "node_modules/glob"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.8.1",
        "isSemVerMajor": true
      }
    },
    "grunt": {
      "name": "grunt",
      "severity": "high",
      "isDirect": true,
      "via": [
        "glob",
        "minimatch"
      ],
      "effects": [
        "grunt-eslint"
      ],
      "range": ">=0.4.0-a",
      "nodes": [
        "node_modules/grunt"
      ],
      "fixAvailable": {
        "name": "grunt",
        "version": "0.3.17",
        "isSemVerMajor": true
      }
    },
    "grunt-eslint": {
      "name": "grunt-eslint",
      "severity": "high",
      "isDirect": true,
      "via": [
        "eslint",
        "grunt"
      ],
      "effects": [],
      "range": "<=17.3.2 || >=18.1.0",
      "nodes": [
        "node_modules/grunt-eslint"
      ],
      "fixAvailable": {
        "name": "grunt-eslint",
        "version": "20.2.0",
        "isSemVerMajor": true
      }
    },
    "minimatch": {
      "name": "minimatch",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1113371,
          "name": "minimatch",
          "dependency": "minimatch",
          "title": "minimatch has a ReDoS via repeated wildcards with non-matching literal in pattern",
          "url": "https://github.com/advisories/GHSA-3ppc-4f35-3m26",
          "severity": "high",
          "cwe": [
            "CWE-1333"
          ],
          "cvss": {
            "score": 0,
            "vectorString": null
          },
          "range": "<10.2.1"
        }
      ],
      "effects": [
        "@eslint/eslintrc",
        "@humanwhocodes/config-array",
        "@typescript-eslint/typescript-estree",
        "eslint",
        "glob",
        "grunt"
      ],
      "range": "<10.2.1",
      "nodes": [
        "node_modules/@eslint/eslintrc/node_modules/minimatch",
        "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch",
        "node_modules/eslint/node_modules/minimatch",
        "node_modules/minimatch"
      ],
      "fixAvailable": {
        "name": "grunt",
        "version": "0.3.17",
        "isSemVerMajor": true
      }
    },
    "rimraf": {
      "name": "rimraf",
      "severity": "high",
      "isDirect": false,
      "via": [
        "glob"
      ],
      "effects": [
        "flat-cache"
      ],
      "range": "2.3.0 - 3.0.2 || 4.2.0 - 5.0.10",
      "nodes": [
        "node_modules/rimraf"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.8.1",
        "isSemVerMajor": true
      }
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 0,
      "moderate": 0,
      "high": 18,
      "critical": 0,
      "total": 18
    },
    "dependencies": {
      "prod": 1,
      "dev": 323,
      "optional": 0,
      "peer": 1,
      "peerOptional": 0,
      "total": 323
    }
  }
}

--- end ---
Attempting to npm audit fix
$ /usr/bin/npm audit fix --dry-run --only=dev --json
--- stderr ---
npm WARN invalid config only="dev" set in command line options
npm WARN invalid config Must be one of: null, prod, production
--- stdout ---
{
  "added": 324,
  "removed": 0,
  "changed": 0,
  "audited": 325,
  "funding": 71,
  "audit": {
    "auditReportVersion": 2,
    "vulnerabilities": {
      "@eslint/eslintrc": {
        "name": "@eslint/eslintrc",
        "severity": "high",
        "isDirect": false,
        "via": [
          "minimatch"
        ],
        "effects": [
          "eslint"
        ],
        "range": "0.0.1 || >=0.1.1",
        "nodes": [
          "node_modules/@eslint/eslintrc"
        ],
        "fixAvailable": {
          "name": "eslint-config-wikimedia",
          "version": "0.8.1",
          "isSemVerMajor": true
        }
      },
      "@humanwhocodes/config-array": {
        "name": "@humanwhocodes/config-array",
        "severity": "high",
        "isDirect": false,
        "via": [
          "minimatch"
        ],
        "effects": [
          "eslint"
        ],
        "range": "*",
        "nodes": [
          "node_modules/@humanwhocodes/config-array"
        ],
        "fixAvailable": {
          "name": "eslint-config-wikimedia",
          "version": "0.8.1",
          "isSemVerMajor": true
        }
      },
      "@typescript-eslint/eslint-plugin": {
        "name": "@typescript-eslint/eslint-plugin",
        "severity": "high",
        "isDirect": false,
        "via": [
          "@typescript-eslint/type-utils",
          "@typescript-eslint/utils",
          "eslint"
        ],
        "effects": [],
        "range": "<=8.55.1-alpha.3",
        "nodes": [
          "node_modules/@typescript-eslint/eslint-plugin"
        ],
        "fixAvailable": true
      },
      "@typescript-eslint/parser": {
        "name": "@typescript-eslint/parser",
        "severity": "high",
        "isDirect": false,
        "via": [
          "@typescript-eslint/typescript-estree",
          "eslint"
        ],
        "effects": [
          "eslint-config-wikimedia"
        ],
        "range": "1.1.1-alpha.0 - 8.56.0",
        "nodes": [
          "node_modules/@typescript-eslint/parser"
        ],
        "fixAvailable": {
          "name": "eslint-config-wikimedia",
          "version": "0.8.1",
          "isSemVerMajor": true
        }
      },
      "@typescript-eslint/type-utils": {
        "name": "@typescript-eslint/type-utils",
        "severity": "high",
        "isDirect": false,
        "via": [
          "@typescript-eslint/typescript-estree",
          "@typescript-eslint/utils",
          "eslint"
        ],
        "effects": [
          "@typescript-eslint/eslint-plugin"
        ],
        "range": "5.9.2-alpha.0 - 8.56.0 || >=8.56.2-alpha.0",
        "nodes": [
          "node_modules/@typescript-eslint/type-utils"
        ],
        "fixAvailable": true
      },
      "@typescript-eslint/typescript-estree": {
        "name": "@typescript-eslint/typescript-estree",
        "severity": "high",
        "isDirect": false,
        "via": [
          "minimatch"
        ],
        "effects": [
          "@typescript-eslint/parser",
          "@typescript-eslint/type-utils",
          "@typescript-eslint/utils"
        ],
        "range": "6.16.0 - 8.56.1-alpha.2",
        "nodes": [
          "node_modules/@typescript-eslint/typescript-estree"
        ],
        "fixAvailable": {
          "name": "eslint-config-wikimedia",
          "version": "0.8.1",
          "isSemVerMajor": true
        }
      },
      "@typescript-eslint/utils": {
        "name": "@typescript-eslint/utils",
        "severity": "high",
        "isDirect": false,
        "via": [
          "@typescript-eslint/typescript-estree",
          "eslint"
        ],
        "effects": [
          "@typescript-eslint/eslint-plugin",
          "@typescript-eslint/type-utils"
        ],
        "range": "<=8.56.1-alpha.2",
        "nodes": [
          "node_modules/@typescript-eslint/utils"
        ],
        "fixAvailable": true
      },
      "eslint": {
        "name": "eslint",
        "severity": "high",
        "isDirect": false,
        "via": [
          "@eslint/eslintrc",
          "@humanwhocodes/config-array",
          "file-entry-cache",
          "minimatch"
        ],
        "effects": [
          "@typescript-eslint/eslint-plugin",
          "@typescript-eslint/parser",
          "@typescript-eslint/type-utils",
          "@typescript-eslint/utils",
          "eslint-config-wikimedia",
          "eslint-plugin-jsdoc",
          "eslint-plugin-vue",
          "grunt-eslint"
        ],
        "range": "0.7.1 - 2.0.0-rc.1 || 4.1.0 - 10.0.0-rc.2",
        "nodes": [
          "node_modules/eslint"
        ],
        "fixAvailable": {
          "name": "eslint-config-wikimedia",
          "version": "0.8.1",
          "isSemVerMajor": true
        }
      },
      "eslint-config-wikimedia": {
        "name": "eslint-config-wikimedia",
        "severity": "high",
        "isDirect": true,
        "via": [
          "@typescript-eslint/eslint-plugin",
          "@typescript-eslint/parser",
          "eslint",
          "eslint-plugin-jsdoc",
          "eslint-plugin-vue"
        ],
        "effects": [],
        "range": ">=0.9.0",
        "nodes": [
          "node_modules/eslint-config-wikimedia"
        ],
        "fixAvailable": {
          "name": "eslint-config-wikimedia",
          "version": "0.8.1",
          "isSemVerMajor": true
        }
      },
      "eslint-plugin-jsdoc": {
        "name": "eslint-plugin-jsdoc",
        "severity": "high",
        "isDirect": false,
        "via": [
          "eslint"
        ],
        "effects": [
          "eslint-config-wikimedia"
        ],
        "range": "8.4.4 - 62.6.1",
        "nodes": [
          "node_modules/eslint-plugin-jsdoc"
        ],
        "fixAvailable": {
          "name": "eslint-config-wikimedia",
          "version": "0.8.1",
          "isSemVerMajor": true
        }
      },
      "eslint-plugin-vue": {
        "name": "eslint-plugin-vue",
        "severity": "high",
        "isDirect": false,
        "via": [
          "eslint"
        ],
        "effects": [
          "eslint-config-wikimedia"
        ],
        "range": "5.0.0-beta.0 - 10.7.0",
        "nodes": [
          "node_modules/eslint-plugin-vue"
        ],
        "fixAvailable": {
          "name": "eslint-config-wikimedia",
          "version": "0.8.1",
          "isSemVerMajor": true
        }
      },
      "file-entry-cache": {
        "name": "file-entry-cache",
        "severity": "high",
        "isDirect": false,
        "via": [
          "flat-cache"
        ],
        "effects": [
          "eslint"
        ],
        "range": "4.0.0 - 7.0.2",
        "nodes": [
          "node_modules/file-entry-cache"
        ],
        "fixAvailable": {
          "name": "eslint-config-wikimedia",
          "version": "0.8.1",
          "isSemVerMajor": true
        }
      },
      "flat-cache": {
        "name": "flat-cache",
        "severity": "high",
        "isDirect": false,
        "via": [
          "rimraf"
        ],
        "effects": [
          "file-entry-cache"
        ],
        "range": "1.3.4 - 4.0.0",
        "nodes": [
          "node_modules/flat-cache"
        ],
        "fixAvailable": {
          "name": "eslint-config-wikimedia",
          "version": "0.8.1",
          "isSemVerMajor": true
        }
      },
      "glob": {
        "name": "glob",
        "severity": "high",
        "isDirect": false,
        "via": [
          "minimatch"
        ],
        "effects": [
          "rimraf"
        ],
        "range": "3.0.0 - 10.5.0",
        "nodes": [
          "node_modules/glob"
        ],
        "fixAvailable": {
          "name": "eslint-config-wikimedia",
          "version": "0.8.1",
          "isSemVerMajor": true
        }
      },
      "grunt": {
        "name": "grunt",
        "severity": "high",
        "isDirect": true,
        "via": [
          "glob",
          "minimatch"
        ],
        "effects": [
          "grunt-eslint"
        ],
        "range": ">=0.4.0-a",
        "nodes": [
          "node_modules/grunt"
        ],
        "fixAvailable": {
          "name": "grunt",
          "version": "0.3.17",
          "isSemVerMajor": true
        }
      },
      "grunt-eslint": {
        "name": "grunt-eslint",
        "severity": "high",
        "isDirect": true,
        "via": [
          "eslint",
          "grunt"
        ],
        "effects": [],
        "range": "<=17.3.2 || >=18.1.0",
        "nodes": [
          "node_modules/grunt-eslint"
        ],
        "fixAvailable": {
          "name": "grunt-eslint",
          "version": "20.2.0",
          "isSemVerMajor": true
        }
      },
      "minimatch": {
        "name": "minimatch",
        "severity": "high",
        "isDirect": false,
        "via": [
          {
            "source": 1113371,
            "name": "minimatch",
            "dependency": "minimatch",
            "title": "minimatch has a ReDoS via repeated wildcards with non-matching literal in pattern",
            "url": "https://github.com/advisories/GHSA-3ppc-4f35-3m26",
            "severity": "high",
            "cwe": [
              "CWE-1333"
            ],
            "cvss": {
              "score": 0,
              "vectorString": null
            },
            "range": "<10.2.1"
          }
        ],
        "effects": [
          "@eslint/eslintrc",
          "@humanwhocodes/config-array",
          "@typescript-eslint/typescript-estree",
          "eslint",
          "glob",
          "grunt"
        ],
        "range": "<10.2.1",
        "nodes": [
          "",
          "",
          "",
          "node_modules/minimatch"
        ],
        "fixAvailable": {
          "name": "grunt",
          "version": "0.3.17",
          "isSemVerMajor": true
        }
      },
      "rimraf": {
        "name": "rimraf",
        "severity": "high",
        "isDirect": false,
        "via": [
          "glob"
        ],
        "effects": [
          "flat-cache"
        ],
        "range": "2.3.0 - 3.0.2 || 4.2.0 - 5.0.10",
        "nodes": [
          "node_modules/rimraf"
        ],
        "fixAvailable": {
          "name": "eslint-config-wikimedia",
          "version": "0.8.1",
          "isSemVerMajor": true
        }
      }
    },
    "metadata": {
      "vulnerabilities": {
        "info": 0,
        "low": 0,
        "moderate": 0,
        "high": 18,
        "critical": 0,
        "total": 18
      },
      "dependencies": {
        "prod": 1,
        "dev": 324,
        "optional": 0,
        "peer": 1,
        "peerOptional": 0,
        "total": 324
      }
    }
  }
}

--- end ---
{"added": 324, "removed": 0, "changed": 0, "audited": 325, "funding": 71, "audit": {"auditReportVersion": 2, "vulnerabilities": {"@eslint/eslintrc": {"name": "@eslint/eslintrc", "severity": "high", "isDirect": false, "via": ["minimatch"], "effects": ["eslint"], "range": "0.0.1 || >=0.1.1", "nodes": ["node_modules/@eslint/eslintrc"], "fixAvailable": {"name": "eslint-config-wikimedia", "version": "0.8.1", "isSemVerMajor": true}}, "@humanwhocodes/config-array": {"name": "@humanwhocodes/config-array", "severity": "high", "isDirect": false, "via": ["minimatch"], "effects": ["eslint"], "range": "*", "nodes": ["node_modules/@humanwhocodes/config-array"], "fixAvailable": {"name": "eslint-config-wikimedia", "version": "0.8.1", "isSemVerMajor": true}}, "@typescript-eslint/eslint-plugin": {"name": "@typescript-eslint/eslint-plugin", "severity": "high", "isDirect": false, "via": ["@typescript-eslint/type-utils", "@typescript-eslint/utils", "eslint"], "effects": [], "range": "<=8.55.1-alpha.3", "nodes": ["node_modules/@typescript-eslint/eslint-plugin"], "fixAvailable": true}, "@typescript-eslint/parser": {"name": "@typescript-eslint/parser", "severity": "high", "isDirect": false, "via": ["@typescript-eslint/typescript-estree", "eslint"], "effects": ["eslint-config-wikimedia"], "range": "1.1.1-alpha.0 - 8.56.0", "nodes": ["node_modules/@typescript-eslint/parser"], "fixAvailable": {"name": "eslint-config-wikimedia", "version": "0.8.1", "isSemVerMajor": true}}, "@typescript-eslint/type-utils": {"name": "@typescript-eslint/type-utils", "severity": "high", "isDirect": false, "via": ["@typescript-eslint/typescript-estree", "@typescript-eslint/utils", "eslint"], "effects": ["@typescript-eslint/eslint-plugin"], "range": "5.9.2-alpha.0 - 8.56.0 || >=8.56.2-alpha.0", "nodes": ["node_modules/@typescript-eslint/type-utils"], "fixAvailable": true}, "@typescript-eslint/typescript-estree": {"name": "@typescript-eslint/typescript-estree", "severity": "high", "isDirect": false, "via": ["minimatch"], "effects": ["@typescript-eslint/parser", "@typescript-eslint/type-utils", "@typescript-eslint/utils"], "range": "6.16.0 - 8.56.1-alpha.2", "nodes": ["node_modules/@typescript-eslint/typescript-estree"], "fixAvailable": {"name": "eslint-config-wikimedia", "version": "0.8.1", "isSemVerMajor": true}}, "@typescript-eslint/utils": {"name": "@typescript-eslint/utils", "severity": "high", "isDirect": false, "via": ["@typescript-eslint/typescript-estree", "eslint"], "effects": ["@typescript-eslint/eslint-plugin", "@typescript-eslint/type-utils"], "range": "<=8.56.1-alpha.2", "nodes": ["node_modules/@typescript-eslint/utils"], "fixAvailable": true}, "eslint": {"name": "eslint", "severity": "high", "isDirect": false, "via": ["@eslint/eslintrc", "@humanwhocodes/config-array", "file-entry-cache", "minimatch"], "effects": ["@typescript-eslint/eslint-plugin", "@typescript-eslint/parser", "@typescript-eslint/type-utils", "@typescript-eslint/utils", "eslint-config-wikimedia", "eslint-plugin-jsdoc", "eslint-plugin-vue", "grunt-eslint"], "range": "0.7.1 - 2.0.0-rc.1 || 4.1.0 - 10.0.0-rc.2", "nodes": ["node_modules/eslint"], "fixAvailable": {"name": "eslint-config-wikimedia", "version": "0.8.1", "isSemVerMajor": true}}, "eslint-config-wikimedia": {"name": "eslint-config-wikimedia", "severity": "high", "isDirect": true, "via": ["@typescript-eslint/eslint-plugin", "@typescript-eslint/parser", "eslint", "eslint-plugin-jsdoc", "eslint-plugin-vue"], "effects": [], "range": ">=0.9.0", "nodes": ["node_modules/eslint-config-wikimedia"], "fixAvailable": {"name": "eslint-config-wikimedia", "version": "0.8.1", "isSemVerMajor": true}}, "eslint-plugin-jsdoc": {"name": "eslint-plugin-jsdoc", "severity": "high", "isDirect": false, "via": ["eslint"], "effects": ["eslint-config-wikimedia"], "range": "8.4.4 - 62.6.1", "nodes": ["node_modules/eslint-plugin-jsdoc"], "fixAvailable": {"name": "eslint-config-wikimedia", "version": "0.8.1", "isSemVerMajor": true}}, "eslint-plugin-vue": {"name": "eslint-plugin-vue", "severity": "high", "isDirect": false, "via": ["eslint"], "effects": ["eslint-config-wikimedia"], "range": "5.0.0-beta.0 - 10.7.0", "nodes": ["node_modules/eslint-plugin-vue"], "fixAvailable": {"name": "eslint-config-wikimedia", "version": "0.8.1", "isSemVerMajor": true}}, "file-entry-cache": {"name": "file-entry-cache", "severity": "high", "isDirect": false, "via": ["flat-cache"], "effects": ["eslint"], "range": "4.0.0 - 7.0.2", "nodes": ["node_modules/file-entry-cache"], "fixAvailable": {"name": "eslint-config-wikimedia", "version": "0.8.1", "isSemVerMajor": true}}, "flat-cache": {"name": "flat-cache", "severity": "high", "isDirect": false, "via": ["rimraf"], "effects": ["file-entry-cache"], "range": "1.3.4 - 4.0.0", "nodes": ["node_modules/flat-cache"], "fixAvailable": {"name": "eslint-config-wikimedia", "version": "0.8.1", "isSemVerMajor": true}}, "glob": {"name": "glob", "severity": "high", "isDirect": false, "via": ["minimatch"], "effects": ["rimraf"], "range": "3.0.0 - 10.5.0", "nodes": ["node_modules/glob"], "fixAvailable": {"name": "eslint-config-wikimedia", "version": "0.8.1", "isSemVerMajor": true}}, "grunt": {"name": "grunt", "severity": "high", "isDirect": true, "via": ["glob", "minimatch"], "effects": ["grunt-eslint"], "range": ">=0.4.0-a", "nodes": ["node_modules/grunt"], "fixAvailable": {"name": "grunt", "version": "0.3.17", "isSemVerMajor": true}}, "grunt-eslint": {"name": "grunt-eslint", "severity": "high", "isDirect": true, "via": ["eslint", "grunt"], "effects": [], "range": "<=17.3.2 || >=18.1.0", "nodes": ["node_modules/grunt-eslint"], "fixAvailable": {"name": "grunt-eslint", "version": "20.2.0", "isSemVerMajor": true}}, "minimatch": {"name": "minimatch", "severity": "high", "isDirect": false, "via": [{"source": 1113371, "name": "minimatch", "dependency": "minimatch", "title": "minimatch has a ReDoS via repeated wildcards with non-matching literal in pattern", "url": "https://github.com/advisories/GHSA-3ppc-4f35-3m26", "severity": "high", "cwe": ["CWE-1333"], "cvss": {"score": 0, "vectorString": null}, "range": "<10.2.1"}], "effects": ["@eslint/eslintrc", "@humanwhocodes/config-array", "@typescript-eslint/typescript-estree", "eslint", "glob", "grunt"], "range": "<10.2.1", "nodes": ["", "", "", "node_modules/minimatch"], "fixAvailable": {"name": "grunt", "version": "0.3.17", "isSemVerMajor": true}}, "rimraf": {"name": "rimraf", "severity": "high", "isDirect": false, "via": ["glob"], "effects": ["flat-cache"], "range": "2.3.0 - 3.0.2 || 4.2.0 - 5.0.10", "nodes": ["node_modules/rimraf"], "fixAvailable": {"name": "eslint-config-wikimedia", "version": "0.8.1", "isSemVerMajor": true}}}, "metadata": {"vulnerabilities": {"info": 0, "low": 0, "moderate": 0, "high": 18, "critical": 0, "total": 18}, "dependencies": {"prod": 1, "dev": 324, "optional": 0, "peer": 1, "peerOptional": 0, "total": 324}}}}
$ /usr/bin/npm audit fix --only=dev
--- stderr ---
npm WARN invalid config only="dev" set in command line options
npm WARN invalid config Must be one of: null, prod, production
npm WARN deprecated @humanwhocodes/config-array@0.13.0: Use @eslint/config-array instead
npm WARN deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
npm WARN deprecated glob@7.1.7: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
npm WARN deprecated eslint@8.57.1: This version is no longer supported. Please see https://eslint.org/version-support for other options.
--- stdout ---

added 324 packages, and audited 325 packages in 8s

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

# npm audit report

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

18 high severity vulnerabilities

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

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

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

added 324 packages, and audited 325 packages in 6s

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

18 high severity vulnerabilities

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
--- stderr ---
[baseline-browser-mapping] The data in this module is over two months old.  To ensure accurate Baseline data, please update: `npm i baseline-browser-mapping@latest -D`
--- stdout ---

> test
> grunt test

Running "eslint:all" (eslint) task

/src/repo/resources/multimaps.js
  48:10  warning  ES2015 'Array.prototype.fill' method is forbidden  es-x/no-array-prototype-fill
  48:33  warning  ES2015 'Array.prototype.fill' method is forbidden  es-x/no-array-prototype-fill
  49:6   warning  ES2015 'Array.prototype.fill' method is forbidden  es-x/no-array-prototype-fill
  49:28  warning  ES2015 'Array.prototype.fill' method is forbidden  es-x/no-array-prototype-fill

/src/repo/services/Google/ext.google.js
   18:7   warning  'options' is never reassigned. Use 'const' instead                                  prefer-const
   23:1   warning  This line has a length of 108. Maximum allowed is 100                               max-len
   26:1   warning  This line has a length of 109. Maximum allowed is 100                               max-len
   32:1   warning  This line has a length of 118. Maximum allowed is 100                               max-len
   35:1   warning  This line has a length of 119. Maximum allowed is 100                               max-len
   49:8   warning  ES2015 'Array.prototype.fill' method is forbidden                                   es-x/no-array-prototype-fill
   50:19  warning  ES2015 'Array.prototype.fill' method is forbidden                                   es-x/no-array-prototype-fill
   80:27  warning  'value' is never reassigned. Use 'const' instead                                    prefer-const
   82:1   warning  This line has a length of 108. Maximum allowed is 100                               max-len
   85:3   warning  'marker' is never reassigned. Use 'const' instead                                   prefer-const
   96:1   warning  This line has a length of 105. Maximum allowed is 100                               max-len
   96:32  warning  'latlngs' is never reassigned. Use 'const' instead                                  prefer-const
   96:46  warning  'value' is never reassigned. Use 'const' instead                                    prefer-const
   99:1   warning  This line has a length of 103. Maximum allowed is 100                               max-len
  104:3   warning  'polyline' is never reassigned. Use 'const' instead                                 prefer-const
  114:40  warning  'value' is never reassigned. Use 'const' instead                                    prefer-const
  116:3   warning  'latlngs' is never reassigned. Use 'const' instead                                  prefer-const
  118:1   warning  This line has a length of 103. Maximum allowed is 100                               max-len
  123:3   warning  'polygon' is never reassigned. Use 'const' instead                                  prefer-const
  133:27  warning  'value' is never reassigned. Use 'const' instead                                    prefer-const
  135:1   warning  This line has a length of 106. Maximum allowed is 100                               max-len
  138:3   warning  'circle' is never reassigned. Use 'const' instead                                   prefer-const
  148:38  warning  'value' is never reassigned. Use 'const' instead                                    prefer-const
  150:3   warning  'bounds' is never reassigned. Use 'const' instead                                   prefer-const
  156:3   warning  'rectangle' is never reassigned. Use 'const' instead                                prefer-const
  166:15  warning  'mapOptions' is never reassigned. Use 'const' instead                               prefer-const
  178:3   warning  'map' is never reassigned. Use 'const' instead                                      prefer-const
  236:4   warning  Avoid queries which search the entire DOM. Keep DOM nodes in memory where possible  no-jquery/no-global-selector

/src/repo/services/Leaflet/ext.leaflet.js
   14:1   warning  This line has a length of 108. Maximum allowed is 100                               max-len
   18:7   warning  'options' is never reassigned. Use 'const' instead                                  prefer-const
   50:8   warning  ES2015 'Array.prototype.fill' method is forbidden                                   es-x/no-array-prototype-fill
   51:19  warning  ES2015 'Array.prototype.fill' method is forbidden                                   es-x/no-array-prototype-fill
   81:1   warning  This line has a length of 108. Maximum allowed is 100                               max-len
   84:15  warning  'value' is never reassigned. Use 'const' instead                                    prefer-const
   86:3   warning  'marker' is never reassigned. Use 'const' instead                                   prefer-const
   94:20  warning  'latlngs' is never reassigned. Use 'const' instead                                  prefer-const
   95:4   warning  'value' is never reassigned. Use 'const' instead                                    prefer-const
  101:3   warning  'polyline' is never reassigned. Use 'const' instead                                 prefer-const
  109:19  warning  'latlngs' is never reassigned. Use 'const' instead                                  prefer-const
  110:4   warning  'value' is never reassigned. Use 'const' instead                                    prefer-const
  116:3   warning  'polygon' is never reassigned. Use 'const' instead                                  prefer-const
  124:15  warning  'value' is never reassigned. Use 'const' instead                                    prefer-const
  126:1   warning  This line has a length of 120. Maximum allowed is 100                               max-len
  126:3   warning  'circle' is never reassigned. Use 'const' instead                                   prefer-const
  134:26  warning  'value' is never reassigned. Use 'const' instead                                    prefer-const
  136:3   warning  'bounds' is never reassigned. Use 'const' instead                                   prefer-const
  141:3   warning  'rectangle' is never reassigned. Use 'const' instead                                prefer-const
  149:15  warning  'mapOptions' is never reassigned. Use 'const' instead                               prefer-const
  158:3   warning  'map' is never reassigned. Use 'const' instead                                      prefer-const
  222:4   warning  Avoid queries which search the entire DOM. Keep DOM nodes in memory where possible  no-jquery/no-global-selector

/src/repo/services/Yandex/ext.yandex.js
   36:1   warning  This line has a length of 105. Maximum allowed is 100                               max-len
   48:8   warning  ES2015 'Array.prototype.fill' method is forbidden                                   es-x/no-array-prototype-fill
   49:19  warning  ES2015 'Array.prototype.fill' method is forbidden                                   es-x/no-array-prototype-fill
   79:15  warning  'value' is never reassigned. Use 'const' instead                                    prefer-const
   81:1   warning  This line has a length of 126. Maximum allowed is 100                               max-len
   81:3   warning  'marker' is never reassigned. Use 'const' instead                                   prefer-const
   86:20  warning  'latlngs' is never reassigned. Use 'const' instead                                  prefer-const
   86:34  warning  'value' is never reassigned. Use 'const' instead                                    prefer-const
   92:3   warning  'polyline' is never reassigned. Use 'const' instead                                 prefer-const
   97:19  warning  'latlngs' is never reassigned. Use 'const' instead                                  prefer-const
   97:33  warning  'value' is never reassigned. Use 'const' instead                                    prefer-const
  104:3   warning  'polygon' is never reassigned. Use 'const' instead                                  prefer-const
  109:15  warning  'value' is never reassigned. Use 'const' instead                                    prefer-const
  111:1   warning  This line has a length of 151. Maximum allowed is 100                               max-len
  111:3   warning  'circle' is never reassigned. Use 'const' instead                                   prefer-const
  116:26  warning  'value' is never reassigned. Use 'const' instead                                    prefer-const
  118:1   warning  This line has a length of 128. Maximum allowed is 100                               max-len
  118:3   warning  'bounds' is never reassigned. Use 'const' instead                                   prefer-const
  120:3   warning  'rectangle' is never reassigned. Use 'const' instead                                prefer-const
  125:25  warning  'mapOptions' is never reassigned. Use 'const' instead                               prefer-const
  132:3   warning  'mapState' is never reassigned. Use 'const' instead                                 prefer-const
  137:3   warning  'map' is never reassigned. Use 'const' instead                                      prefer-const
  197:4   warning  Avoid queries which search the entire DOM. Keep DOM nodes in memory where possible  no-jquery/no-global-selector

✖ 77 problems (0 errors, 77 warnings)


Running "banana:all" (banana) task
>> 1 message directory checked.

Done.

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

--- end ---
build: Updating mediawiki/mediawiki-codesniffer to 50.0.0

$ git add .
--- stdout ---

--- end ---
$ git commit -F /tmp/tmpkawtkul9
--- stdout ---
[master 883179d] build: Updating mediawiki/mediawiki-codesniffer to 50.0.0
 2 files changed, 47 insertions(+), 29 deletions(-)

--- end ---
$ git format-patch HEAD~1 --stdout
--- stdout ---
From 883179d728cac9e1b2a6de177c09557d33fd2ee7 Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Tue, 24 Feb 2026 21:08:27 +0000
Subject: [PATCH] build: Updating mediawiki/mediawiki-codesniffer to 50.0.0

Change-Id: I4c7bb4b40b9ecbccafdd5d569a731d703993d61b
---
 composer.json     |  2 +-
 package-lock.json | 74 +++++++++++++++++++++++++++++------------------
 2 files changed, 47 insertions(+), 29 deletions(-)

diff --git a/composer.json b/composer.json
index e0cd801..c454bc7 100644
--- a/composer.json
+++ b/composer.json
@@ -1,6 +1,6 @@
 {
 	"require-dev": {
-		"mediawiki/mediawiki-codesniffer": "49.0.0",
+		"mediawiki/mediawiki-codesniffer": "50.0.0",
 		"mediawiki/minus-x": "2.0.1",
 		"php-parallel-lint/php-console-highlighter": "1.0.0",
 		"php-parallel-lint/php-parallel-lint": "1.4.0"
diff --git a/package-lock.json b/package-lock.json
index 42ba286..1f99162 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -138,9 +138,9 @@
 			}
 		},
 		"node_modules/@eslint/eslintrc/node_modules/minimatch": {
-			"version": "3.1.2",
-			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
-			"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+			"version": "3.1.3",
+			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.3.tgz",
+			"integrity": "sha512-M2GCs7Vk83NxkUyQV1bkABc4yxgz9kILhHImZiBPAZ9ybuvCb0/H7lEl5XvIg3g+9d4eNotkZA5IWwYl0tibaA==",
 			"dev": true,
 			"dependencies": {
 				"brace-expansion": "^1.1.7"
@@ -505,22 +505,34 @@
 				"typescript": ">=4.8.4 <6.0.0"
 			}
 		},
+		"node_modules/@typescript-eslint/typescript-estree/node_modules/balanced-match": {
+			"version": "4.0.4",
+			"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz",
+			"integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==",
+			"dev": true,
+			"engines": {
+				"node": "18 || 20 || >=22"
+			}
+		},
 		"node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": {
-			"version": "2.0.2",
-			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
-			"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
+			"version": "5.0.3",
+			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.3.tgz",
+			"integrity": "sha512-fy6KJm2RawA5RcHkLa1z/ScpBeA762UF9KmZQxwIbDtRJrgLzM10depAiEQ+CXYcoiqW1/m96OAAoke2nE9EeA==",
 			"dev": true,
 			"dependencies": {
-				"balanced-match": "^1.0.0"
+				"balanced-match": "^4.0.2"
+			},
+			"engines": {
+				"node": "18 || 20 || >=22"
 			}
 		},
 		"node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": {
-			"version": "9.0.5",
-			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
-			"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+			"version": "9.0.6",
+			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.6.tgz",
+			"integrity": "sha512-kQAVowdR33euIqeA0+VZTDqU+qo1IeVY+hrKYtZMio3Pg0P0vuh/kwRylLUddJhB6pf3q/botcOvRtx4IN1wqQ==",
 			"dev": true,
 			"dependencies": {
-				"brace-expansion": "^2.0.1"
+				"brace-expansion": "^5.0.2"
 			},
 			"engines": {
 				"node": ">=16 || 14 >=14.17"
@@ -1645,9 +1657,9 @@
 			}
 		},
 		"node_modules/eslint/node_modules/minimatch": {
-			"version": "3.1.2",
-			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
-			"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+			"version": "3.1.3",
+			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.3.tgz",
+			"integrity": "sha512-M2GCs7Vk83NxkUyQV1bkABc4yxgz9kILhHImZiBPAZ9ybuvCb0/H7lEl5XvIg3g+9d4eNotkZA5IWwYl0tibaA==",
 			"dev": true,
 			"dependencies": {
 				"brace-expansion": "^1.1.7"
@@ -4001,9 +4013,9 @@
 					}
 				},
 				"minimatch": {
-					"version": "3.1.2",
-					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
-					"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+					"version": "3.1.3",
+					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.3.tgz",
+					"integrity": "sha512-M2GCs7Vk83NxkUyQV1bkABc4yxgz9kILhHImZiBPAZ9ybuvCb0/H7lEl5XvIg3g+9d4eNotkZA5IWwYl0tibaA==",
 					"dev": true,
 					"requires": {
 						"brace-expansion": "^1.1.7"
@@ -4237,22 +4249,28 @@
 				"ts-api-utils": "^2.1.0"
 			},
 			"dependencies": {
+				"balanced-match": {
+					"version": "4.0.4",
+					"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz",
+					"integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==",
+					"dev": true
+				},
 				"brace-expansion": {
-					"version": "2.0.2",
-					"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
-					"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
+					"version": "5.0.3",
+					"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.3.tgz",
+					"integrity": "sha512-fy6KJm2RawA5RcHkLa1z/ScpBeA762UF9KmZQxwIbDtRJrgLzM10depAiEQ+CXYcoiqW1/m96OAAoke2nE9EeA==",
 					"dev": true,
 					"requires": {
-						"balanced-match": "^1.0.0"
+						"balanced-match": "^4.0.2"
 					}
 				},
 				"minimatch": {
-					"version": "9.0.5",
-					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
-					"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+					"version": "9.0.6",
+					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.6.tgz",
+					"integrity": "sha512-kQAVowdR33euIqeA0+VZTDqU+qo1IeVY+hrKYtZMio3Pg0P0vuh/kwRylLUddJhB6pf3q/botcOvRtx4IN1wqQ==",
 					"dev": true,
 					"requires": {
-						"brace-expansion": "^2.0.1"
+						"brace-expansion": "^5.0.2"
 					}
 				}
 			}
@@ -4697,9 +4715,9 @@
 					}
 				},
 				"minimatch": {
-					"version": "3.1.2",
-					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
-					"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+					"version": "3.1.3",
+					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.3.tgz",
+					"integrity": "sha512-M2GCs7Vk83NxkUyQV1bkABc4yxgz9kILhHImZiBPAZ9ybuvCb0/H7lEl5XvIg3g+9d4eNotkZA5IWwYl0tibaA==",
 					"dev": true,
 					"requires": {
 						"brace-expansion": "^1.1.7"
-- 
2.47.3


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