mediawiki/extensions/CirrusSearch: REL1_43 (log #1596639)

sourcepatches

This run took 118 seconds.

From 594e0b654f320743e6fff65d25e490cbe2095338 Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Sun, 10 Nov 2024 02:32:01 +0000
Subject: [PATCH] build: Updating mediawiki/mediawiki-codesniffer to 45.0.0

The following sniffs are failing and were disabled:
* MediaWiki.Usage.NullableType.ExplicitNullableTypes

Change-Id: I9cb22b13393db7df4469a423830e5e6380826c5f
---
 .phpcs.xml        |  1 +
 composer.json     |  2 +-
 package-lock.json | 12 ++++++------
 3 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/.phpcs.xml b/.phpcs.xml
index b2e2381..1dea352 100644
--- a/.phpcs.xml
+++ b/.phpcs.xml
@@ -4,6 +4,7 @@
 		<exclude name="MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate" />
 		<exclude name="MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic" />
 		<exclude name="MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName" />
+		<exclude name="MediaWiki.Usage.NullableType.ExplicitNullableTypes" />
 		<exclude name="MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment" />
 		<exclude name="PSR2.Methods.MethodDeclaration.Underscore" />
 	</rule>
diff --git a/composer.json b/composer.json
index 26787fa..751d764 100644
--- a/composer.json
+++ b/composer.json
@@ -10,7 +10,7 @@
 	},
 	"require-dev": {
 		"justinrainbow/json-schema": "~5.2",
-		"mediawiki/mediawiki-codesniffer": "44.0.0",
+		"mediawiki/mediawiki-codesniffer": "45.0.0",
 		"mediawiki/mediawiki-phan-config": "0.14.0",
 		"mediawiki/minus-x": "1.1.3",
 		"php-parallel-lint/php-console-highlighter": "1.0.0",
diff --git a/package-lock.json b/package-lock.json
index 550e84f..73c36f8 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -10579,9 +10579,9 @@
 			}
 		},
 		"node_modules/micromatch": {
-			"version": "4.0.7",
-			"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz",
-			"integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==",
+			"version": "4.0.8",
+			"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
+			"integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
 			"dev": true,
 			"dependencies": {
 				"braces": "^3.0.3",
@@ -23635,9 +23635,9 @@
 			"dev": true
 		},
 		"micromatch": {
-			"version": "4.0.7",
-			"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz",
-			"integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==",
+			"version": "4.0.8",
+			"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
+			"integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
 			"dev": true,
 			"requires": {
 				"braces": "^3.0.3",
-- 
2.39.2

$ date
--- stdout ---
Sun Nov 10 02:30:16 UTC 2024

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

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

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

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

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

--- end ---
$ git show-ref refs/heads/REL1_43
--- stdout ---
dd2e6afccb7be4895b1a17278f1f040733cfe3bc refs/heads/REL1_43

--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {
    "@cucumber/cucumber": {
      "name": "@cucumber/cucumber",
      "severity": "high",
      "isDirect": false,
      "via": [
        "semver"
      ],
      "effects": [
        "@wdio/cucumber-framework"
      ],
      "range": "8.0.0-rc.1 - 9.2.0",
      "nodes": [
        "node_modules/@cucumber/cucumber"
      ],
      "fixAvailable": {
        "name": "@wdio/cucumber-framework",
        "version": "9.2.8",
        "isSemVerMajor": true
      }
    },
    "@wdio/cli": {
      "name": "@wdio/cli",
      "severity": "high",
      "isDirect": true,
      "via": [
        "webdriverio"
      ],
      "effects": [],
      "range": "7.16.5 - 8.40.6",
      "nodes": [
        "node_modules/@wdio/cli"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.2.11",
        "isSemVerMajor": true
      }
    },
    "@wdio/codemod": {
      "name": "@wdio/codemod",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "jscodeshift"
      ],
      "effects": [],
      "range": "*",
      "nodes": [
        "node_modules/@wdio/codemod"
      ],
      "fixAvailable": false
    },
    "@wdio/cucumber-framework": {
      "name": "@wdio/cucumber-framework",
      "severity": "critical",
      "isDirect": true,
      "via": [
        "@cucumber/cucumber",
        "mockery"
      ],
      "effects": [],
      "range": "<=8.15.10",
      "nodes": [
        "node_modules/@wdio/cucumber-framework"
      ],
      "fixAvailable": {
        "name": "@wdio/cucumber-framework",
        "version": "9.2.8",
        "isSemVerMajor": true
      }
    },
    "@wdio/local-runner": {
      "name": "@wdio/local-runner",
      "severity": "high",
      "isDirect": true,
      "via": [
        "@wdio/runner"
      ],
      "effects": [],
      "range": "7.16.5 - 8.40.6",
      "nodes": [
        "node_modules/@wdio/local-runner"
      ],
      "fixAvailable": {
        "name": "@wdio/local-runner",
        "version": "9.2.11",
        "isSemVerMajor": true
      }
    },
    "@wdio/runner": {
      "name": "@wdio/runner",
      "severity": "high",
      "isDirect": false,
      "via": [
        "webdriverio"
      ],
      "effects": [
        "@wdio/local-runner"
      ],
      "range": "7.16.5 - 8.40.6",
      "nodes": [
        "node_modules/@wdio/runner"
      ],
      "fixAvailable": {
        "name": "@wdio/local-runner",
        "version": "9.2.11",
        "isSemVerMajor": true
      }
    },
    "braces": {
      "name": "braces",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1098094,
          "name": "braces",
          "dependency": "braces",
          "title": "Uncontrolled resource consumption in braces",
          "url": "https://github.com/advisories/GHSA-grv7-fg5c-xmjg",
          "severity": "high",
          "cwe": [
            "CWE-400",
            "CWE-1050"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": "<3.0.3"
        }
      ],
      "effects": [
        "micromatch"
      ],
      "range": "<3.0.3",
      "nodes": [
        "node_modules/jscodeshift/node_modules/braces"
      ],
      "fixAvailable": false
    },
    "devtools": {
      "name": "devtools",
      "severity": "high",
      "isDirect": false,
      "via": [
        "puppeteer-core"
      ],
      "effects": [],
      "range": ">=7.16.5",
      "nodes": [
        "node_modules/devtools"
      ],
      "fixAvailable": true
    },
    "jscodeshift": {
      "name": "jscodeshift",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "micromatch"
      ],
      "effects": [
        "@wdio/codemod"
      ],
      "range": "0.3.20 - 0.13.1",
      "nodes": [
        "node_modules/jscodeshift"
      ],
      "fixAvailable": false
    },
    "micromatch": {
      "name": "micromatch",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1098681,
          "name": "micromatch",
          "dependency": "micromatch",
          "title": "Regular Expression Denial of Service (ReDoS) in micromatch",
          "url": "https://github.com/advisories/GHSA-952p-6rrq-rcjv",
          "severity": "moderate",
          "cwe": [
            "CWE-1333"
          ],
          "cvss": {
            "score": 5.3,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"
          },
          "range": "<4.0.8"
        },
        "braces"
      ],
      "effects": [
        "jscodeshift"
      ],
      "range": "<=4.0.7",
      "nodes": [
        "node_modules/jscodeshift/node_modules/micromatch",
        "node_modules/micromatch"
      ],
      "fixAvailable": false
    },
    "mockery": {
      "name": "mockery",
      "severity": "critical",
      "isDirect": false,
      "via": [
        {
          "source": 1092753,
          "name": "mockery",
          "dependency": "mockery",
          "title": "mockery is vulnerable to prototype pollution",
          "url": "https://github.com/advisories/GHSA-gmwp-3pwc-3j3g",
          "severity": "critical",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 9.8,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
          },
          "range": "<=2.1.0"
        }
      ],
      "effects": [
        "@wdio/cucumber-framework"
      ],
      "range": "*",
      "nodes": [
        "node_modules/mockery"
      ],
      "fixAvailable": {
        "name": "@wdio/cucumber-framework",
        "version": "9.2.8",
        "isSemVerMajor": true
      }
    },
    "mwbot": {
      "name": "mwbot",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "request"
      ],
      "effects": [
        "wdio-mediawiki"
      ],
      "range": ">=0.1.6",
      "nodes": [
        "node_modules/mwbot",
        "node_modules/wdio-mediawiki/node_modules/mwbot"
      ],
      "fixAvailable": false
    },
    "puppeteer-core": {
      "name": "puppeteer-core",
      "severity": "high",
      "isDirect": false,
      "via": [
        "ws"
      ],
      "effects": [
        "devtools",
        "webdriverio"
      ],
      "range": "11.0.0 - 22.11.1",
      "nodes": [
        "node_modules/devtools/node_modules/puppeteer-core",
        "node_modules/puppeteer-core"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.2.11",
        "isSemVerMajor": true
      }
    },
    "request": {
      "name": "request",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        {
          "source": 1096727,
          "name": "request",
          "dependency": "request",
          "title": "Server-Side Request Forgery in Request",
          "url": "https://github.com/advisories/GHSA-p8p7-x288-28g6",
          "severity": "moderate",
          "cwe": [
            "CWE-918"
          ],
          "cvss": {
            "score": 6.1,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"
          },
          "range": "<=2.88.2"
        },
        "tough-cookie"
      ],
      "effects": [
        "mwbot",
        "request-promise-core",
        "request-promise-native"
      ],
      "range": "*",
      "nodes": [
        "node_modules/request"
      ],
      "fixAvailable": {
        "name": "request-promise-native",
        "version": "0.0.0",
        "isSemVerMajor": true
      }
    },
    "request-promise-core": {
      "name": "request-promise-core",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "request"
      ],
      "effects": [
        "request-promise-native"
      ],
      "range": "*",
      "nodes": [
        "node_modules/request-promise-core"
      ],
      "fixAvailable": {
        "name": "request-promise-native",
        "version": "0.0.0",
        "isSemVerMajor": true
      }
    },
    "request-promise-native": {
      "name": "request-promise-native",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "request",
        "request-promise-core"
      ],
      "effects": [],
      "range": ">=1.0.0",
      "nodes": [
        "node_modules/request-promise-native"
      ],
      "fixAvailable": {
        "name": "request-promise-native",
        "version": "0.0.0",
        "isSemVerMajor": true
      }
    },
    "restify": {
      "name": "restify",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "send"
      ],
      "effects": [],
      "range": ">=8.1.0",
      "nodes": [
        "node_modules/restify"
      ],
      "fixAvailable": {
        "name": "restify",
        "version": "8.0.0",
        "isSemVerMajor": true
      }
    },
    "semver": {
      "name": "semver",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1098562,
          "name": "semver",
          "dependency": "semver",
          "title": "semver vulnerable to Regular Expression Denial of Service",
          "url": "https://github.com/advisories/GHSA-c2qf-rxjj-qqgw",
          "severity": "high",
          "cwe": [
            "CWE-1333"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": ">=7.0.0 <7.5.2"
        }
      ],
      "effects": [
        "@cucumber/cucumber"
      ],
      "range": "7.0.0 - 7.5.1",
      "nodes": [
        "node_modules/@cucumber/cucumber/node_modules/semver"
      ],
      "fixAvailable": {
        "name": "@wdio/cucumber-framework",
        "version": "9.2.8",
        "isSemVerMajor": true
      }
    },
    "send": {
      "name": "send",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1099525,
          "name": "send",
          "dependency": "send",
          "title": "send vulnerable to template injection that can lead to XSS",
          "url": "https://github.com/advisories/GHSA-m6fv-jmcg-4jfg",
          "severity": "moderate",
          "cwe": [
            "CWE-79"
          ],
          "cvss": {
            "score": 5,
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:L"
          },
          "range": "<0.19.0"
        }
      ],
      "effects": [
        "restify"
      ],
      "range": "<0.19.0",
      "nodes": [
        "node_modules/send"
      ],
      "fixAvailable": {
        "name": "restify",
        "version": "8.0.0",
        "isSemVerMajor": true
      }
    },
    "tough-cookie": {
      "name": "tough-cookie",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1097682,
          "name": "tough-cookie",
          "dependency": "tough-cookie",
          "title": "tough-cookie Prototype Pollution vulnerability",
          "url": "https://github.com/advisories/GHSA-72xf-g2v4-qvf3",
          "severity": "moderate",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 6.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N"
          },
          "range": "<4.1.3"
        }
      ],
      "effects": [
        "request"
      ],
      "range": "<4.1.3",
      "nodes": [
        "node_modules/tough-cookie"
      ],
      "fixAvailable": {
        "name": "request-promise-native",
        "version": "0.0.0",
        "isSemVerMajor": true
      }
    },
    "wdio-mediawiki": {
      "name": "wdio-mediawiki",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "mwbot"
      ],
      "effects": [],
      "range": "*",
      "nodes": [
        "node_modules/wdio-mediawiki"
      ],
      "fixAvailable": false
    },
    "webdriverio": {
      "name": "webdriverio",
      "severity": "high",
      "isDirect": false,
      "via": [
        "devtools",
        "puppeteer-core"
      ],
      "effects": [
        "@wdio/cli",
        "@wdio/runner"
      ],
      "range": "7.16.5 - 8.40.6",
      "nodes": [
        "node_modules/webdriverio"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.2.11",
        "isSemVerMajor": true
      }
    },
    "ws": {
      "name": "ws",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1098392,
          "name": "ws",
          "dependency": "ws",
          "title": "ws affected by a DoS when handling a request with many HTTP headers",
          "url": "https://github.com/advisories/GHSA-3h5v-q93c-6h6q",
          "severity": "high",
          "cwe": [
            "CWE-476"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": ">=8.0.0 <8.17.1"
        }
      ],
      "effects": [
        "puppeteer-core"
      ],
      "range": "8.0.0 - 8.17.0",
      "nodes": [
        "node_modules/devtools/node_modules/ws",
        "node_modules/ws"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.2.11",
        "isSemVerMajor": true
      }
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 0,
      "moderate": 10,
      "high": 11,
      "critical": 2,
      "total": 23
    },
    "dependencies": {
      "prod": 1,
      "dev": 1301,
      "optional": 12,
      "peer": 87,
      "peerOptional": 0,
      "total": 1301
    }
  }
}

--- 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: 41 installs, 0 updates, 0 removals
  - Locking composer/pcre (dev-main 63aaeac)
  - Locking composer/semver (3.4.2)
  - Locking composer/spdx-licenses (1.5.8)
  - Locking composer/xdebug-handler (3.0.5)
  - Locking dealerdirect/phpcodesniffer-composer-installer (v1.0.0)
  - Locking doctrine/deprecations (1.1.x-dev dfbaa3c)
  - Locking felixfbecker/advanced-json-rpc (v3.2.1)
  - Locking justinrainbow/json-schema (5.x-dev feb2ca6)
  - Locking mediawiki/mediawiki-codesniffer (v44.0.0)
  - Locking mediawiki/mediawiki-phan-config (0.14.0)
  - Locking mediawiki/minus-x (1.1.3)
  - Locking mediawiki/phan-taint-check-plugin (6.0.0)
  - Locking microsoft/tolerant-php-parser (v0.1.2)
  - Locking netresearch/jsonmapper (v4.5.0)
  - Locking phan/phan (5.4.3)
  - Locking php-parallel-lint/php-console-color (v1.0.1)
  - Locking php-parallel-lint/php-console-highlighter (v1.0.0)
  - Locking php-parallel-lint/php-parallel-lint (v1.4.0)
  - Locking phpcsstandards/phpcsextra (1.2.1)
  - Locking phpcsstandards/phpcsutils (1.0.11)
  - Locking phpdocumentor/reflection-common (dev-master a0eeab5)
  - Locking phpdocumentor/reflection-docblock (5.x-dev 0c70d2c)
  - Locking phpdocumentor/type-resolver (1.x-dev 679e3ce)
  - Locking phpstan/phpdoc-parser (1.33.0)
  - Locking psr/container (dev-master 7079847)
  - Locking psr/log (dev-master f16e1d5)
  - Locking sabre/event (5.1.x-dev 1538b1b)
  - Locking squizlabs/php_codesniffer (3.9.0)
  - Locking symfony/console (7.2.x-dev 23c8aae)
  - Locking symfony/deprecation-contracts (dev-main 63afe74)
  - Locking symfony/polyfill-ctype (1.x-dev a3cc8b0)
  - Locking symfony/polyfill-intl-grapheme (1.x-dev b912392)
  - Locking symfony/polyfill-intl-normalizer (1.x-dev 3833d72)
  - Locking symfony/polyfill-mbstring (1.x-dev 2369cb9)
  - Locking symfony/polyfill-php80 (1.x-dev 60328e3)
  - Locking symfony/service-contracts (dev-main 5ad3869)
  - Locking symfony/string (7.2.x-dev 2055806)
  - Locking tysonandre/var_representation_polyfill (dev-main e9116c2)
  - Locking webmozart/assert (1.11.0)
  - Locking wikimedia/lucene-explain-parser (2.0.0)
  - Locking wikimedia/textcat (2.0.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 41 installs, 0 updates, 0 removals
    0 [>---------------------------]    0 [->--------------------------]
  - Installing squizlabs/php_codesniffer (3.9.0): Extracting archive
  - Installing dealerdirect/phpcodesniffer-composer-installer (v1.0.0): Extracting archive
  - Installing composer/pcre (dev-main 63aaeac): Extracting archive
  - Installing justinrainbow/json-schema (5.x-dev feb2ca6): Extracting archive
  - Installing symfony/polyfill-php80 (1.x-dev 60328e3): Extracting archive
  - Installing phpcsstandards/phpcsutils (1.0.11): Extracting archive
  - Installing phpcsstandards/phpcsextra (1.2.1): Extracting archive
  - Installing symfony/polyfill-mbstring (1.x-dev 2369cb9): Extracting archive
  - Installing composer/spdx-licenses (1.5.8): Extracting archive
  - Installing composer/semver (3.4.2): Extracting archive
  - Installing mediawiki/mediawiki-codesniffer (v44.0.0): Extracting archive
  - Installing tysonandre/var_representation_polyfill (dev-main e9116c2): Extracting archive
  - Installing symfony/polyfill-intl-normalizer (1.x-dev 3833d72): Extracting archive
  - Installing symfony/polyfill-intl-grapheme (1.x-dev b912392): Extracting archive
  - Installing symfony/polyfill-ctype (1.x-dev a3cc8b0): Extracting archive
  - Installing symfony/string (7.2.x-dev 2055806): Extracting archive
  - Installing symfony/deprecation-contracts (dev-main 63afe74): Extracting archive
  - Installing psr/container (dev-master 7079847): Extracting archive
  - Installing symfony/service-contracts (dev-main 5ad3869): Extracting archive
  - Installing symfony/console (7.2.x-dev 23c8aae): Extracting archive
  - Installing sabre/event (5.1.x-dev 1538b1b): Extracting archive
  - Installing netresearch/jsonmapper (v4.5.0): Extracting archive
  - Installing microsoft/tolerant-php-parser (v0.1.2): Extracting archive
  - Installing webmozart/assert (1.11.0): Extracting archive
  - Installing phpstan/phpdoc-parser (1.33.0): Extracting archive
  - Installing phpdocumentor/reflection-common (dev-master a0eeab5): Extracting archive
  - Installing doctrine/deprecations (1.1.x-dev dfbaa3c): Extracting archive
  - Installing phpdocumentor/type-resolver (1.x-dev 679e3ce): Extracting archive
  - Installing phpdocumentor/reflection-docblock (5.x-dev 0c70d2c): Extracting archive
  - Installing felixfbecker/advanced-json-rpc (v3.2.1): Extracting archive
  - Installing psr/log (dev-master f16e1d5): Extracting archive
  - Installing composer/xdebug-handler (3.0.5): Extracting archive
  - Installing phan/phan (5.4.3): Extracting archive
  - Installing mediawiki/phan-taint-check-plugin (6.0.0): Extracting archive
  - Installing mediawiki/mediawiki-phan-config (0.14.0): Extracting archive
  - Installing mediawiki/minus-x (1.1.3): Extracting archive
  - Installing php-parallel-lint/php-console-color (v1.0.1): Extracting archive
  - Installing php-parallel-lint/php-console-highlighter (v1.0.0): Extracting archive
  - Installing php-parallel-lint/php-parallel-lint (v1.4.0): Extracting archive
  - Installing wikimedia/lucene-explain-parser (2.0.0): Extracting archive
  - Installing wikimedia/textcat (2.0.0): Extracting archive
  0/39 [>---------------------------]   0%
 20/39 [==============>-------------]  51%
 33/39 [=======================>----]  84%
 38/39 [===========================>]  97%
 39/39 [============================] 100%
Generating autoload files
16 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
--- stdout ---
PHP CodeSniffer Config installed_paths set to ../../mediawiki/mediawiki-codesniffer,../../phpcsstandards/phpcsextra,../../phpcsstandards/phpcsutils

--- end ---
Upgrading c:mediawiki/mediawiki-codesniffer from 44.0.0 -> 45.0.0
$ /usr/bin/composer update
--- stderr ---
Loading composer repositories with package information
Updating dependencies
Lock file operations: 0 installs, 4 updates, 0 removals
  - Upgrading composer/semver (3.4.2 => 3.4.3)
  - Upgrading mediawiki/mediawiki-codesniffer (v44.0.0 => v45.0.0)
  - Upgrading phpcsstandards/phpcsutils (1.0.11 => dev-develop be5942a)
  - Upgrading squizlabs/php_codesniffer (3.9.0 => 3.10.3)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 0 installs, 4 updates, 0 removals
    0 [>---------------------------]    0 [->--------------------------]
  - Upgrading squizlabs/php_codesniffer (3.9.0 => 3.10.3): Extracting archive
  - Upgrading phpcsstandards/phpcsutils (1.0.11 => dev-develop be5942a): Extracting archive
  - Upgrading composer/semver (3.4.2 => 3.4.3): Extracting archive
  - Upgrading mediawiki/mediawiki-codesniffer (v44.0.0 => v45.0.0): Extracting archive
 0/4 [>---------------------------]   0%
 3/4 [=====================>------]  75%
 4/4 [============================] 100%
Generating autoload files
16 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
No security vulnerability advisories found
--- stdout ---
PHP CodeSniffer Config installed_paths set to ../../mediawiki/mediawiki-codesniffer,../../phpcsstandards/phpcsextra,../../phpcsstandards/phpcsutils

--- end ---
Previously failing phpcs rules: {'MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic', 'MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment', 'PSR2.Methods.MethodDeclaration.Underscore', 'MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName', 'MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate'}
$ vendor/bin/phpcs --report=json
--- stdout ---
{"totals":{"errors":331,"warnings":329,"fixable":187},"files":{"\/src\/repo\/includes\/Parser\/NamespacePrefixParser.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/Builder\/QueryBuildingContext.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Profile\/SearchProfileRepository.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/Builder\/FilterBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Assignment\/ConstantAssignment.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":16,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":28,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":44,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":48,"column":12}]},"\/src\/repo\/includes\/Job\/CirrusGenericJob.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/CountContentWordsBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Assignment\/ClusterAssignment.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/UpdateSearchIndexConfig.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Hooks\/CirrusSearchRegisterFullTextQueryClassifiersHook.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Hooks\/CirrusSearchAnalysisConfigHook.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/ClusterSettings.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parser\/QueryStringRegex\/PhraseQueryParser.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parser\/AST\/ParseWarning.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parser\/AST\/PhraseQueryNode.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parser\/AST\/EmptyQueryNode.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/InterwikiResolverFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/KeywordFeature.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/HasRecommendationFeature.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Fallbacks\/FallbackStatus.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/Rescore\/BoostFunctionBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/EmptySearchResultSet.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/Rescore\/IncomingLinksFunctionScoreBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Maintenance\/AnalysisLanguageData\/mirandeseStopwords.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/QueryBuilderTraits.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/CirrusConfigInterwikiResolver.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Profile\/ArrayProfileRepository.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":126,"column":13}]},"\/src\/repo\/includes\/Profile\/ConfigProfileRepository.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parser\/FTQueryClassifiersRepository.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/QueryCirrusDoc.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":41,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":88,"column":12}]},"\/src\/repo\/includes\/Maintenance\/AnalysisLanguageData\/polishStopwords.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/SuggestIndex.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parser\/AST\/NegatedNode.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/Metastore.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/WarningCollector.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Fallbacks\/FallbackRunnerContext.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Maintenance\/AnalysisLanguageData\/romanianStopwords.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/TitleResultsType.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?TitleHelper $titleHelper = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":17,"column":34}]},"\/src\/repo\/includes\/Sanity\/PrintingRemediator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Sanity\/CheckerException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/RandomCrossProjectBlockScorer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/MetaStore\/MetaNamespaceStore.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":23,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":95,"column":13}]},"\/src\/repo\/includes\/MetaStore\/MetaStore.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/ArticleTopicFeature.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Maintenance\/Validators\/SpecificAliasValidator.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Printer $out = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":52,"column":9}]},"\/src\/repo\/includes\/Parser\/AST\/NamespaceHeaderNode.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/DatetimeIndexField.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":16,"column":12}]},"\/src\/repo\/includes\/BuildDocument\/Completion\/IncomingLinksScoringMethod.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Profile\/ContextualProfileOverride.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/Rescore\/LogScaleBoostFunctionScoreBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/RequestLog.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/jenkins\/Jenkins.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/ArchiveChangeListener.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/FullTextResultsType.php":{"errors":1,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":72,"column":39},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":117,"column":20}]},"\/src\/repo\/maintenance\/CirrusNeedsToBeBuilt.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/FullTextSimpleMatchQueryBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Maintenance\/AnalysisLanguageData\/arabicStopwords.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parser\/AST\/ParsedBooleanNode.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/BaseRequestLog.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/LocalFeature.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/InSourceFeature.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Job\/LinksUpdate.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/LegacyKeywordFeature.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Sanity\/Remediator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Assignment\/MultiClusterAssignment.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parser\/AST\/WordsQueryNode.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/Rescore\/PreferRecentFunctionScoreBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/InterwikiSearcher.php":{"errors":7,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $namespaces = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":54,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?User $user = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":55,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?CirrusDebugOptions $debugOptions = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":56,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?NamespacePrefixParser $namespacePrefixParser = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":57,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?InterwikiResolver $interwikiResolver = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":58,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?TitleHelper $titleHelper = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":59,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?CirrusSearchHookRunner $cirrusSearchHookRunner = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":60,"column":9}]},"\/src\/repo\/includes\/Hooks\/CustomPageFields.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Sanity\/CountingRemediator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/jenkins\/deleteBrowserTestPages.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Extra\/Query\/SourceRegex.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Profile\/UserPrefSearchProfileOverride.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/TitleHelper.php":{"errors":2,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?InterwikiResolver $interwikiResolver = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":38,"column":54},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?callable $linkSanitizer = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":38,"column":99}]},"\/src\/repo\/includes\/Query\/LanguageFeature.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/UserTestingEngine.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Elastica\/ReindexRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/BaseInterwikiResolver.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Hooks\/CirrusSearchProfileServiceHook.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Profile\/ExtensionRegistryProfileRepositoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ProfilesDump.php":{"errors":2,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SearchProfileService $service = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":41,"column":88},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":81,"column":12}]},"\/src\/repo\/includes\/Search\/Rescore\/ScriptScoreFunctionScoreBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/mocks\/NoopPrinter.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":8,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":11,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":14,"column":12}]},"\/src\/repo\/includes\/Fallbacks\/FallbackRunnerContextImpl.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parser\/AST\/PhrasePrefixNode.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/BoostFunctionFeature.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Maintenance\/Validators\/IndexAliasValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Hooks\/CirrusSearchMappingConfigHook.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Elastica\/Health.php":{"errors":2,"warnings":1,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?string $index = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":19,"column":50},{"message":"Method name \"_retrieveHealthData\" should not be prefixed with an underscore to indicate visibility","source":"PSR2.Methods.MethodDeclaration.Underscore","severity":5,"fixable":false,"type":"WARNING","line":25,"column":15},{"message":"Method name \"_retrieveHealthData\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":25,"column":15}]},"\/src\/repo\/includes\/PageChangeTracker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/SearchContextTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parser\/QueryStringRegex\/KeywordParser.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":156,"column":55}]},"\/src\/repo\/includes\/Job\/ElasticaDocumentsJsonSerde.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":28,"column":12}]},"\/src\/repo\/includes\/Extra\/Query\/TermFreq.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/InterwikiResolver.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/ArrayCirrusSearchResult.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/CompletionResultsCollector.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/Rescore\/FunctionScoreChain.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":94,"column":13}]},"\/src\/repo\/includes\/Hooks\/CirrusSearchScoreBuilderHook.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Query\/Builder\/NearMatchFieldQueryBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/CirrusSearchServicesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Query\/PageIdFeatureTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parser\/QueryParser.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Query\/PrefixSearchQueryBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Maintenance\/ReindexerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/ServiceWiringTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/SingleAggResultsType.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":26,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":30,"column":12}]},"\/src\/repo\/includes\/Hooks\/CirrusSearchApiQuerySiteInfoGeneralInfoHook.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":16,"column":12}]},"\/src\/repo\/includes\/Sanity\/AllClustersQueueingRemediator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/CompletionResultsCollectorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/Rescore\/CustomFieldFunctionScoreBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/SearchMetricsProvider.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":6,"column":12}]},"\/src\/repo\/tests\/phpunit\/unit\/Extra\/SourceRegexTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/jenkins\/FullyFeaturedConfig.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/SiteMatrixInterwikiResolver.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?ExtensionRegistry $extensionRegistry = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":37,"column":59}]},"\/src\/repo\/tests\/phpunit\/unit\/Profile\/ArrayProfileRepositoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Maintenance\/AnalysisConfigBuilderIntegrationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Hooks\/CirrusSearchSimilarityConfigHook.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Elastica\/LtrQuery.php":{"errors":1,"warnings":1,"messages":[{"message":"Method name \"_getBaseName\" should not be prefixed with an underscore to indicate visibility","source":"PSR2.Methods.MethodDeclaration.Underscore","severity":5,"fixable":false,"type":"WARNING","line":41,"column":15},{"message":"Method name \"_getBaseName\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":41,"column":15}]},"\/src\/repo\/tests\/phpunit\/unit\/HashSearchConfigTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/profiles\/SuggestProfiles.config.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Sanity\/NoopRemediator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/mocks\/DummySearchResultSet.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Query\/LocalFeatureTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Hooks\/CirrusSearchAddQueryFeaturesHook.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/PageIdFeature.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Sanity\/BufferedRemediator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/EventBusWeightedTagSerializer.php":{"errors":5,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?string $dt = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":49,"column":95},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?bool $revBased = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":71,"column":65},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?string $dt = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":71,"column":88},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?bool $revBased = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":82,"column":69},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?string $dt = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":82,"column":92}]},"\/src\/repo\/includes\/Query\/HasTemplateFeature.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/CirrusDebugOptions.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/UpdateGroup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/profiles\/CrossProjectBlockScorerProfiles.config.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/NearMatchPicker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/Rescore\/BoostedQueriesFunction.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Elastica\/DeprecationLoggedHttp.php":{"errors":2,"warnings":1,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Connection $connection = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":15,"column":34},{"message":"Method name \"_setupCurl\" should not be prefixed with an underscore to indicate visibility","source":"PSR2.Methods.MethodDeclaration.Underscore","severity":5,"fixable":false,"type":"WARNING","line":24,"column":15},{"message":"Method name \"_setupCurl\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":24,"column":15}]},"\/src\/repo\/includes\/Parser\/AST\/BooleanClause.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/BuildDocument\/DefaultPageProperties.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Maintenance\/RunSearchTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Extra\/Query\/TokenCountRouter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Search\/EscaperTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":116,"column":41}]},"\/src\/repo\/includes\/Job\/MassIndex.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Maintenance\/Validators\/IndexHasChangedValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/InterleavedResultSet.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":47,"column":12}]},"\/src\/repo\/includes\/Maintenance\/MappingConfigBuilder.php":{"errors":2,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SearchConfig $config = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":85,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?CirrusSearchHookRunner $cirrusSearchHookRunner = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":86,"column":9}]},"\/src\/repo\/tests\/phpunit\/unit\/Profile\/ContextualProfileOverrideTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/jenkins\/cleanSetup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Job\/ElasticaDocumentsJsonSerdeTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/mocks\/MockKeyword.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/FullTextQueryBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Extra\/MultiList\/MultiListItem.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/Rescore\/TermBoostScoreBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/EmptyInterwikiResolver.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Maintenance\/ArchiveMappingConfigBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/Rescore\/BoostTemplatesFunctionScoreBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Query\/MaxQueryLengthExceptionsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/mocks\/SearchConfigUsageDecorator.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":14,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":23,"column":19}]},"\/src\/repo\/includes\/Search\/Result.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?TitleHelper $titleHelper = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":70,"column":53}]},"\/src\/repo\/includes\/Search\/IntegerIndexField.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Parser\/AST\/Visitor\/QueryFixerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Fallbacks\/LangDetectFallbackMethod.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":171,"column":12}]},"\/src\/repo\/includes\/Parser\/AST\/WildcardNode.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Maintenance\/Validators\/AnalyzersValidator.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Printer $out = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":26,"column":71}]},"\/src\/repo\/includes\/Search\/NestedIndexField.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":21,"column":12}]},"\/src\/repo\/tests\/phpunit\/unit\/Query\/FullTextQueryStringQueryBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Sanity\/QueueingRemediator.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?JobQueueGroup $jobQueueGroup = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":47,"column":44}]},"\/src\/repo\/tests\/phpunit\/integration\/Maintenance\/ScriptsRunnableTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Profile\/ArrayPathSetter.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $profile = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":84,"column":32}]},"\/src\/repo\/includes\/Fallbacks\/ElasticSearchRequestFallbackMethod.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/BulkUpdateRequestLog.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":47,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":51,"column":12}]},"\/src\/repo\/includes\/Search\/RecallCrossProjectBlockScorer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/CirrusSearchHookRunner.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parser\/FullTextKeywordRegistry.php":{"errors":3,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?CirrusSearchHookRunner $cirrusSearchHookRunner = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":49,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?NamespacePrefixParser $namespacePrefixParser = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":50,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SparqlClient $client = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":51,"column":9}]},"\/src\/repo\/includes\/Search\/BaseResultsType.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/InCategoryFeature.php":{"errors":1,"warnings":5,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?PageStore $pageStore = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":48,"column":50},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":113,"column":46},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":137,"column":38},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":141,"column":61},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":161,"column":40},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":181,"column":23}]},"\/src\/repo\/tests\/phpunit\/unit\/mocks\/MockSimpleKeywordFeature.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":23,"column":12}]},"\/src\/repo\/includes\/Dispatch\/SearchQueryRoute.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parser\/QueryStringRegex\/SearchQueryParseException.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":18,"column":12}]},"\/src\/repo\/tests\/phpunit\/unit\/Query\/SubPageOfFeatureTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/BuildDocument\/BuildDocumentTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Maintenance\/Set.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parser\/AST\/ParsedQuery.php":{"errors":2,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $namespaces = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":214,"column":42},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $additionalRequiredNamespaces = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":214,"column":68}]},"\/src\/repo\/includes\/ServiceWiring.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/profiles\/RescoreFunctionChains.config.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Profile\/ConfigProfileRepositoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Fallbacks\/FallbackMethod.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Fallbacks\/SearcherFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/Rescore\/FunctionScoreDecorator.php":{"errors":2,"warnings":1,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":20,"column":12},{"message":"Method name \"_getBaseName\" should not be prefixed with an underscore to indicate visibility","source":"PSR2.Methods.MethodDeclaration.Underscore","severity":5,"fixable":false,"type":"WARNING","line":53,"column":15},{"message":"Method name \"_getBaseName\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":53,"column":15}]},"\/src\/repo\/includes\/Maintenance\/Printer.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":6,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":8,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":10,"column":12}]},"\/src\/repo\/includes\/Parser\/AST\/ParsedNode.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/Filters.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Query\/RegexFeatureTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Profile\/UserPrefSearchProfileOverrideTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/ArchiveChangeListenerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Maintenance\/SpecificAliasValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/UpdateWeightedTags.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Profile\/ExtensionRegistryProfileRepository.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":34,"column":12}]},"\/src\/repo\/includes\/Parser\/QueryParserFactory.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SparqlClient $client = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":30,"column":9}]},"\/src\/repo\/tests\/phpunit\/integration\/Api\/ProfilesDumpTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Fallbacks\/ElasticSearchSuggestFallbackMethod.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parser\/AST\/PrefixNode.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Maintenance\/ConfigUtils.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Event\/EventBusWeightedTagsUpdaterTest.php":{"errors":3,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $tagWeights = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":87,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?string $trigger = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":88,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?string $trigger = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":136,"column":64}]},"\/src\/repo\/includes\/Api\/ConfigDump.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":248,"column":12}]},"\/src\/repo\/tests\/phpunit\/integration\/Search\/Rescore\/FunctionScoreChainTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Elastica\/SearchAfter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Dispatch\/DefaultSearchQueryDispatchService.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/MoreLikeThisFeature.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/profiles\/DocumentSizeLimiterProfiles.config.php":{"errors":0,"warnings":2,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":9,"column":31},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":14,"column":23}]},"\/src\/repo\/includes\/Parser\/ParsedQueryClassifiersRepository.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parser\/ParsedQueryClassifierException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Maintenance\/NullPrinter.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":6,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":9,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":12,"column":12}]},"\/src\/repo\/includes\/Dispatch\/SearchQueryDispatchService.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Query\/TextFieldFilterFeatureTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parser\/AST\/Visitor\/Visitable.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Elastica\/ReindexStatus.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/FullTextQueryStringQueryBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parser\/ParsedQueryClassifier.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Elastica\/ReindexResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parser\/KeywordRegistry.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Profile\/UriParamSearchProfileOverride.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Elastica\/DeprecationLoggedHttps.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/MoreLikeFeature.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parser\/QueryStringRegex\/OffsetTracker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Maintenance\/AnalysisFilter.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":107,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":151,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":161,"column":13}]},"\/src\/repo\/includes\/Query\/ContentModelFeature.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Profile\/UriParamSearchProfileOverrideTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Query\/HasTemplateFeatureTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Maintenance\/Validators\/MappingValidator.php":{"errors":2,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Printer $out = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":56,"column":9},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":70,"column":13}]},"\/src\/repo\/tests\/phpunit\/unit\/Profile\/PhraseSuggesterProfileRepoWrapperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Api\/ConfigDumpTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/Rescore\/SatuFunctionScoreBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/ResultSet.php":{"errors":2,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?\\Elastica\\ResultSet $elasticResultSet = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":99,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?TitleHelper $titleHelper = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":100,"column":9}]},"\/src\/repo\/includes\/Search\/Rescore\/NamespacesFunctionScoreBuilder.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?NamespaceInfo $namespaceInfo = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":39,"column":78}]},"\/src\/repo\/includes\/Extra\/MultiList\/MultiListBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Parser\/AST\/Visitor\/KeywordNodeVisitorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/SaneitizeJobs.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":396,"column":13}]},"\/src\/repo\/tests\/phpunit\/unit\/ClusterSettingsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Search\/TeamDraftInterleaverTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Maintenance\/IndexCreator.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $similarityConfig = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":53,"column":9}]},"\/src\/repo\/includes\/Query\/LinksToFeature.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/SettingsDump.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":53,"column":12}]},"\/src\/repo\/includes\/Dispatch\/BasicSearchQueryRoute.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/QueryCompSuggestBuildDoc.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":15,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":47,"column":13}]},"\/src\/repo\/includes\/Maintenance\/SuggesterMappingConfigBuilder.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SearchConfig $config = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":41,"column":34}]},"\/src\/repo\/maintenance\/CopySearchIndex.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/MappingDump.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":46,"column":12}]},"\/src\/repo\/includes\/Maintenance\/Validators\/MaxShardsPerNodeValidator.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Printer $out = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":25,"column":67}]},"\/src\/repo\/includes\/MultiSearchRequestLog.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/HookRunnerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Extra\/MultiList\/MultiListWeightedTag.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?int $weight = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":21,"column":64}]},"\/src\/repo\/tests\/phpunit\/integration\/Query\/QueryHelperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Profile\/ConfigSearchProfileOverrideTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parser\/AST\/KeywordFeatureNode.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $parsedValue = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":71,"column":9}]},"\/src\/repo\/includes\/Maintenance\/Validators\/ReplicaRangeValidator.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Printer $out = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":25,"column":63}]},"\/src\/repo\/includes\/Parser\/AST\/Visitor\/LeafVisitor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/BuildDocument\/Completion\/QualityScore.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/InTitleFeature.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":85,"column":12}]},"\/src\/repo\/profiles\/SaneitizeProfiles.config.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":121,"column":35}]},"\/src\/repo\/tests\/phpunit\/unit\/Parser\/QueryStringRegex\/KeywordParserTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Util.php":{"errors":2,"warnings":3,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":181,"column":56},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":182,"column":56},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":183,"column":56},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SearchConfig $config = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":229,"column":54},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Language $language = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":423,"column":78}]},"\/src\/repo\/includes\/Dispatch\/CirrusDefaultSearchQueryRoute.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/SearchRequestBuilder.php":{"errors":1,"warnings":1,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":41,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":104,"column":25}]},"\/src\/repo\/includes\/Search\/NumberIndexField.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/CirrusSearchServices.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/Rescore\/LangWeightFunctionScoreBuilder.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":65,"column":13}]},"\/src\/repo\/includes\/Search\/MSearchRequests.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/DeepcatFeature.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SparqlClient $client = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":62,"column":50}]},"\/src\/repo\/includes\/Parser\/AST\/FuzzyNode.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/CheckSanity.php":{"errors":1,"warnings":3,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":82,"column":20},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":83,"column":20},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":84,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":199,"column":12}]},"\/src\/repo\/includes\/SearchRequestLog.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $namespaces = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":52,"column":105}]},"\/src\/repo\/includes\/Search\/FullTextCirrusSearchResultBuilder.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":128,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":153,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":168,"column":13}]},"\/src\/repo\/includes\/Search\/ResultsType.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/BuildDocument\/RedirectsAndIncomingLinks.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/BuildDocument\/Completion\/DefaultSortSuggestionsBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/SearchConfig.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SearchProfileServiceFactoryFactory $searchProfileServiceFactoryFactory = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":74,"column":34}]},"\/src\/repo\/tests\/phpunit\/unit\/BuildDocument\/DocumentSizeLimiterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Job\/CheckerJob.php":{"errors":0,"warnings":2,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":212,"column":24},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":213,"column":24}]},"\/src\/repo\/includes\/Maintenance\/Validators\/ShardAllocationValidator.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Printer $out = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":25,"column":72}]},"\/src\/repo\/tests\/phpunit\/integration\/Maintenance\/SaneitizeLoopTest.php":{"errors":0,"warnings":8,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":16,"column":20},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":48,"column":20},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":67,"column":20},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":99,"column":17},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":100,"column":17},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":101,"column":17},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":104,"column":25},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":105,"column":27}]},"\/src\/repo\/tests\/phpunit\/unit\/UtilTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/BaseCirrusSearchResultSet.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/BuildDocument\/Completion\/SuggestScoringMethod.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiTrait.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/Rescore\/LogMultFunctionScoreBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Job\/DeleteArchive.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/CompositeCrossProjectBlockScorer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Event\/EventBusWeightedTagSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/OpeningTextIndexField.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/NoActiveTestException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/ElasticaErrorHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/FileTypeFeature.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Maintenance\/SaneitizeLoop.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?\\JobQueueGroup $jobQueueGroup = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":62,"column":83}]},"\/src\/repo\/tests\/phpunit\/unit\/Profile\/SearchProfileServiceTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/BuildDocument\/Completion\/ExtraSuggestionsBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Profile\/StaticProfileOverrideTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/ElasticsearchIntermediary.php":{"errors":6,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UserIdentity $user = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":88,"column":61},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Connection $connection = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":178,"column":46},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?ExceptionInterface $exception = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":206,"column":30},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Connection $connection = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":206,"column":68},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Connection $connection = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":392,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?callable $resultsTransformer = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":393,"column":9}]},"\/src\/repo\/includes\/Search\/Rescore\/ByKeywordTemplateBoostFunction.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/HighlightingFeature.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Job\/OtherIndex.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/SearchQuery.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Profile\/SearchProfileRepositoryTransformerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/RequestLogger.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UserIdentity $user = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":113,"column":50}]},"\/src\/repo\/tests\/phpunit\/unit\/Elastica\/ReindexTaskTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Query\/InSourceTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/EventBusWeightedTagsUpdater.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/profiles\/RescoreProfiles.config.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/CirrusSearchResultSet.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parser\/BasicQueryClassifier.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Iterator\/IteratorDecorator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/CrossProjectBlockScorerFactory.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":22,"column":19}]},"\/src\/repo\/includes\/LanguageDetector\/LanguageDetectorFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Parser\/QueryStringRegex\/QueryStringRegexParserTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Maintenance\/MappingConfigBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Query\/InCategoryFeatureTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Fallbacks\/FallbackRunner.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Fetch\/HighlightedFieldBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/BaseRegexFeature.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":354,"column":21},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $parsedValue = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":360,"column":36}]},"\/src\/repo\/includes\/Iterator\/CallbackIterator.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":14,"column":12}]},"\/src\/repo\/includes\/LanguageDetector\/Detector.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/SubPageOfFeature.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Profile\/CompletionSearchProfileRepositoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Query\/QueryBuilderTraitsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/CirrusTestCaseTrait.php":{"errors":23,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":75,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":84,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":91,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":110,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":134,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":138,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":142,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":150,"column":19},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?callable $callback = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":162,"column":42},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Config $inherited = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":193,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SearchProfileServiceFactoryFactory $factoryFactory = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":194,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?CirrusSearchHookRunner $cirrusSearchHookRunner = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":206,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UserOptionsLookup $userOptionsLookup = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":207,"column":9},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":223,"column":20},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":244,"column":20},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":286,"column":12},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?InterwikiResolver $iwResolver = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":286,"column":57},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":294,"column":20},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?InterwikiResolver $interwikiResolver = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":295,"column":17},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?callable $linkSanitizer = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":295,"column":62},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":300,"column":20},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":361,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":365,"column":12}]},"\/src\/repo\/tests\/phpunit\/integration\/Api\/CheckSanityTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/TextIndexField.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":63,"column":12}]},"\/src\/repo\/includes\/Job\/CirrusTitleJob.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Profile\/SearchProfileServiceFactoryTest.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?CirrusSearchHookRunner $cirrusSearchHookRunner = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":206,"column":34}]},"\/src\/repo\/includes\/Maintenance\/Validators\/Validator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/BuildDocument\/DocumentSizeLimiter.php":{"errors":0,"warnings":2,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":72,"column":77},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":191,"column":57}]},"\/src\/repo\/profiles\/PhraseSuggesterProfiles.config.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Sanity\/Checker.php":{"errors":3,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?ArrayObject $pageCache = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":107,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?callable $isOldFn = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":108,"column":9},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":428,"column":13}]},"\/src\/repo\/tests\/phpunit\/unit\/mocks\/ArrayLogger.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":11,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":19,"column":12}]},"\/src\/repo\/tests\/phpunit\/unit\/Sanity\/QueueingRemediatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Parser\/AST\/ParsedQueryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/PrefixFeature.php":{"errors":5,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?NamespacePrefixParser $namespacePrefixParser = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":51,"column":34},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":57,"column":20},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?NamespacePrefixParser $namespacePrefixParser = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":207,"column":83},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?NamespacePrefixParser $namespacePrefixParser = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":242,"column":57},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":259,"column":20}]},"\/src\/repo\/includes\/Maintenance\/Maintenance.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":120,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":135,"column":12},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Connection $conn = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":135,"column":35},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":183,"column":12}]},"\/src\/repo\/includes\/Search\/StaticCrossProjectBlockScorer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Version.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/Rescore\/RescoreBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Maintenance\/SuggesterAnalysisConfigBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/QueryBuildDocument.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":38,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":158,"column":12}]},"\/src\/repo\/includes\/Query\/FilterQueryFeature.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/Fetch\/FetchPhaseConfigBuilder.php":{"errors":2,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?AbstractQuery $mainHLQuery = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":140,"column":36},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":215,"column":13}]},"\/src\/repo\/tests\/phpunit\/integration\/Job\/ElasticaWriteTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/OtherIndexesUpdaterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/TextFieldFilterFeature.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/profiles\/IndexLookupFallbackProfiles.config.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Elastica\/ReindexTask.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":137,"column":13}]},"\/src\/repo\/includes\/Search\/CirrusIndexField.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/PrefixSearchQueryBuilder.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":40,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":62,"column":13}]},"\/src\/repo\/includes\/Search\/TeamDraftInterleaver.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":49,"column":13}]},"\/src\/repo\/tests\/phpunit\/resources\/wmf\/SiteMatrix_SiteConf_IS.php":{"errors":0,"warnings":56,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":41,"column":28},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":57,"column":28},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":60,"column":24},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":77,"column":30},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":89,"column":25},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":120,"column":50},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":141,"column":52},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":194,"column":31},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":195,"column":31},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":197,"column":39},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":213,"column":39},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":215,"column":34},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":218,"column":35},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":220,"column":36},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":221,"column":31},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":222,"column":30},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":261,"column":29},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":266,"column":35},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":287,"column":31},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":306,"column":37},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":317,"column":35},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":321,"column":35},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":335,"column":36},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":348,"column":32},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":351,"column":36},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":353,"column":34},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":362,"column":36},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":368,"column":39},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":413,"column":37},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":439,"column":31},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":445,"column":32},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":451,"column":37},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":462,"column":35},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":468,"column":34},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":474,"column":36},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":482,"column":50},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":483,"column":30},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":487,"column":31},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":490,"column":38},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":491,"column":37},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":552,"column":36},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":553,"column":35},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":555,"column":37},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":564,"column":31},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":566,"column":37},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":567,"column":37},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":572,"column":34},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":583,"column":37},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":585,"column":31},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":587,"column":31},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":590,"column":38},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":591,"column":35},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":596,"column":30},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":607,"column":42},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":613,"column":26},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":620,"column":31}]},"\/src\/repo\/tests\/phpunit\/integration\/Job\/MassIndexTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Maintenance\/Validators\/IndexAllAliasValidator.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Printer $out = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":23,"column":101}]},"\/src\/repo\/tests\/phpunit\/unit\/Parser\/QueryStringRegex\/PhraseQueryParserTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Event\/EventBusBridgeTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Query\/HasRecommendationFeatureTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/LanguageDetector\/TextCat.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":36,"column":37}]},"\/src\/repo\/tests\/phpunit\/standalone\/unit\/SuggestScoringTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/CrossProjectBlockScorer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/mocks\/PassThruTransport.php":{"errors":11,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":18,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":26,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":30,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":37,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":41,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":59,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":65,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":71,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":77,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":81,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":85,"column":12}]},"\/src\/repo\/tests\/phpunit\/resources\/wmf\/SiteMatrixProjects.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/jenkins\/nukeAllIndexes.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Sanity\/LogOnlyRemediator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Maintenance\/Validators\/NumberOfShardsValidator.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Printer $out = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":26,"column":61}]},"\/src\/repo\/tests\/relforge\/RelForgeSettings.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/.phan\/config.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/mocks\/DummyConnection.php":{"errors":3,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SearchConfig $config = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":9,"column":34},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":15,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":19,"column":12}]},"\/src\/repo\/includes\/Query\/BoostTemplatesFeature.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Job\/DeletePages.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Maintenance\/IndexTemplateBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/mocks\/MockLanguageDetector.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Search\/FullTextCirrusSearchResultBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Sanity\/BufferedRemediatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Updater.php":{"errors":2,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?string $updateKind = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":187,"column":50},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?int $rootEventTime = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":187,"column":77}]},"\/src\/repo\/includes\/Job\/JobTraits.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parser\/AST\/Visitor\/QueryFixer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/SearchConfigTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Maintenance\/ScriptsRunnablePreload.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/Rescore\/GeoMeanFunctionScoreBuilder.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":111,"column":43}]},"\/src\/repo\/includes\/Sanity\/MultiClusterRemediatorHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Elastica\/ReindexRequestTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Profile\/SearchProfileService.php":{"errors":2,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?WebRequest $request = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":187,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UserIdentity $user = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":188,"column":9}]},"\/src\/repo\/scripts\/gen-autoload.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/ElasticaErrorHandler.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":18,"column":19},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?\\Elastica\\Exception\\ExceptionInterface $exception = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":126,"column":43},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?\\Elastica\\Exception\\ExceptionInterface $exception = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":228,"column":53}]},"\/src\/repo\/includes\/Query\/QueryHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Job\/IndexArchive.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Query\/LanguageFeatureTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/scripts\/phan.stubs.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/PreferRecentFeature.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Parser\/QueryStringRegex\/OffsetTrackerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/jenkins\/IntegrationTesting.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/Fetch\/ExperimentalHighlightedFieldBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/CirrusDebugOptionsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/NearMatchQueryBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Fallbacks\/IndexLookupFallbackMethod.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?InterwikiResolver $interwikiResolver = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":162,"column":70}]},"\/src\/repo\/includes\/Search\/Rescore\/FunctionScoreBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Job\/IncomingLinkCount.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Api\/QueryBuildDocumentTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Fallbacks\/PhraseSuggestFallbackMethodTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/ConnectionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/CirrusIntegrationTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/BuildDocument\/BuildDocument.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?RevisionRecord $revision = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":166,"column":74}]},"\/src\/repo\/tests\/phpunit\/integration\/CirrusIntegrationTestCaseTrait.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/BuildDocument\/BuildDocumentException.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?\\Throwable $cause = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":11,"column":51}]},"\/src\/repo\/tests\/phpunit\/integration\/Search\/SearchRequestBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parser\/AST\/Visitor\/Visitor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/FancyTitleResultsType.php":{"errors":2,"warnings":1,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?TitleHelper $titleHelper = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":24,"column":52},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":29,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":65,"column":43}]},"\/src\/repo\/includes\/CrossSearchStrategy.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/Escaper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Sanity\/MultiClusterRemediatorHelperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Search\/CirrusSearchResultBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/SuggestBuilderIntegrationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Maintenance\/GlobalCustomFilter.php":{"errors":1,"warnings":3,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":85,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":255,"column":66},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":256,"column":67},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":260,"column":50}]},"\/src\/repo\/includes\/Profile\/SearchProfileServiceFactoryFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Profile\/CompletionSearchProfileRepository.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Query\/KeywordFeatureAssertions.php":{"errors":13,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SearchConfig $config = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":46,"column":35},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?FetchPhaseConfigBuilder $fetchPhaseConfigBuilder = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":46,"column":64},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SearchConfig $config = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":115,"column":72},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $expectedWarnings = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":197,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SearchConfig $config = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":198,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $warnings = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":246,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SearchConfig $config = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":247,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SearchConfig $config = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":308,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $expectedWarnings = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":348,"column":78},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $highlightQuery = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":383,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SearchConfig $expandConfig = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":384,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?KeywordParser $parser = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":504,"column":72},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?HighlightFieldGenerator $fetchPhaseConfigBuilder = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":542,"column":71}]},"\/src\/repo\/includes\/Profile\/SearchProfileException.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?\\Exception $cause = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":17,"column":44}]},"\/src\/repo\/tests\/phpunit\/unit\/Query\/FileFeatureTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Fallbacks\/FallbackStatusTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Connection.php":{"errors":2,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $namespaces = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":273,"column":49},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $namespaces = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":282,"column":51}]},"\/src\/repo\/tests\/phpunit\/integration\/Profile\/SearchProfileServiceFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Profile\/ConfigSearchProfileOverride.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Sanity\/CountingRemediatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/CompletionSuggester.php":{"errors":4,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SearchConfig $config = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":147,"column":73},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $namespaces = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":147,"column":102},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?User $user = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":148,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?CirrusDebugOptions $debugOptions = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":149,"column":34}]},"\/src\/repo\/includes\/Query\/IndexedNumericFieldFeature.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parser\/AST\/Visitor\/KeywordNodeVisitor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Profile\/SearchProfileOverride.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/UpdateOneSearchIndexConfig.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":622,"column":13}]},"\/src\/repo\/includes\/Search\/CirrusSearchResult.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Search\/CrossProjectBlockScorerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/MetaStore\/MetaVersionStoreTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/BooleanIndexField.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/OtherIndexesUpdater.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":212,"column":40}]},"\/src\/repo\/includes\/Dump.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Maintenance\/Reindexer.php":{"errors":4,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Printer $out = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":93,"column":9},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":471,"column":20},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":528,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":534,"column":13}]},"\/src\/repo\/includes\/Search\/SearchQueryBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Search\/CirrusSearchIndexFieldFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Query\/SimpleKeywordFeatureTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Profile\/SearchProfileRepositoryTransformer.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $profile = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":83,"column":33}]},"\/src\/repo\/tests\/phpunit\/unit\/Parser\/QueryStringRegex\/NonPhraseParserTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Fallbacks\/FallbackMethodTestBase.php":{"errors":3,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SearchQuery $query = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":19,"column":45},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?CirrusSearchResultSet $resultSet = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":19,"column":72},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?TitleHelper $titleHelper = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":44,"column":9}]},"\/src\/repo\/includes\/Job\/ElasticaWrite.php":{"errors":4,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?string $updateKind = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":65,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?int $rootEventTime = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":66,"column":9},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":100,"column":20},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?StatsFactory $statsFactory = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":251,"column":55}]},"\/src\/repo\/maintenance\/ExpectedIndices.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/MetaStore\/MetaSaneitizeJobStoreTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Fallbacks\/FallbackMethodTrait.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Wikimedia\/WeightedTags.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Profile\/StaticProfileOverride.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/BuildDocument\/Completion\/SuggestBuilder.php":{"errors":3,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":95,"column":41},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $scoreExplanation = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":267,"column":91},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $scoreExplanation = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":296,"column":99},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $scoreExplanation = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":318,"column":104}]},"\/src\/repo\/includes\/Query\/SimpleKeywordFeature.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":168,"column":55}]},"\/src\/repo\/tests\/phpunit\/unit\/Search\/ResultSetTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Parser\/FullTextKeywordRegistryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Hooks\/CirrusSearchApiQuerySiteInfoGeneralInfoHookTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/CirrusSearchResultBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Sanity\/AllClustersQueueingRemediatorTest.php":{"errors":0,"warnings":8,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":67,"column":30},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":68,"column":30},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":69,"column":32},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":70,"column":30},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":71,"column":30},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":72,"column":32},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":73,"column":30},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":74,"column":28}]},"\/src\/repo\/includes\/BuildDocument\/PagePropertyBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Elastica\/SearchAfterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/CompSuggestQueryBuilder.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":94,"column":49}]},"\/src\/repo\/includes\/BuildDocument\/ParserOutputPageProperties.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/Builder\/NearMatchFieldQueryBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/SourceTextIndexField.php":{"errors":1,"warnings":1,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":17,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":38,"column":31}]},"\/src\/repo\/tests\/phpunit\/integration\/SuggestBuilderTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":157,"column":40}]},"\/src\/repo\/tests\/phpunit\/unit\/Parser\/QueryParserFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Search\/Rescore\/BoostedQueriesFunctionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/Builder\/ContextualFilter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/profiles\/FallbackProfiles.config.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Query\/ArticleTopicFeatureTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Assignment\/MultiClusterAssignmentTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Fetch\/FetchPhaseConfigBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/Fetch\/BaseHighlightedField.php":{"errors":1,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":323,"column":46},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":364,"column":19}]},"\/src\/repo\/tests\/phpunit\/unit\/Event\/PageRerenderSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/UtilIntegrationTest.php":{"errors":2,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":187,"column":33},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Config $inherited = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":244,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SearchProfileServiceFactoryFactory $factoryFactory = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":245,"column":9}]},"\/src\/repo\/maintenance\/Saneitize.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Wikimedia\/WeightedTagsHooks.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/ForceSearchIndex.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":307,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":330,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":522,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":535,"column":13}]},"\/src\/repo\/includes\/Query\/MoreLikeTrait.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Parser\/BasicQueryClassifierTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/BuildDocument\/Completion\/NaiveSubphrasesSuggestionsBuilder.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":54,"column":19}]},"\/src\/repo\/maintenance\/IndexNamespaces.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/BuildDocument\/Completion\/SuggestScoringMethodFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/SearchContext.php":{"errors":8,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $namespaces = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":231,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?CirrusDebugOptions $options = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":232,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?FallbackRunner $fallbackRunner = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":233,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?FetchPhaseConfigBuilder $fetchPhaseConfigBuilder = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":234,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?CirrusSearchHookRunner $cirrusSearchHookRunner = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":235,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?AbstractQuery $query = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":456,"column":40},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?FallbackRunner $fallbackRunner = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":846,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?CirrusSearchHookRunner $cirrusSearchHookRunner = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":847,"column":9}]},"\/src\/repo\/tests\/phpunit\/integration\/ChangeListenerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/Fetch\/HighlightedField.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/profiles\/FullTextQueryBuilderProfiles.config.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/CirrusSearch.php":{"errors":8,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SearchConfig $config = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":162,"column":34},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?CirrusDebugOptions $debugOptions = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":163,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?NamespacePrefixParser $namespacePrefixParser = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":164,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?InterwikiResolver $interwikiResolver = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":165,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?TitleHelper $titleHelper = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":165,"column":54},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":178,"column":20},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?User $user = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":522,"column":48},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SearchConfig $config = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":666,"column":36}]},"\/src\/repo\/tests\/phpunit\/integration\/ElasticsearchIntermediaryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Fallbacks\/IndexLookupFallbackMethodTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/DataSender.php":{"errors":4,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?StatsFactory $stats = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":77,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?DocumentSizeLimiter $docSizeLimiter = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":78,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $tagWeights = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":99,"column":9},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":677,"column":13}]},"\/src\/repo\/tests\/phpunit\/unit\/Search\/FiltersTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":129,"column":37}]},"\/src\/repo\/includes\/Search\/Fetch\/HighlightFieldGenerator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/VersionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Query\/IndexedNumericFieldFeatureTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Fallbacks\/FallbackRunnerContextImplTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/profiles\/SimilarityProfiles.config.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/ExternalIndexTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/CompletionRequestLog.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":44,"column":12}]},"\/src\/repo\/tests\/phpunit\/unit\/CirrusTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/BuildDocument\/Completion\/PQScore.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":47,"column":12}]},"\/src\/repo\/includes\/Parser\/QueryStringRegex\/QueryStringRegexParser.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":324,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":489,"column":13}]},"\/src\/repo\/tests\/phpunit\/unit\/Parser\/FTQueryClassifiersRepositoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Maintenance\/AnalysisConfigBuilderTest.php":{"errors":0,"warnings":7,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":567,"column":42},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":730,"column":49},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":731,"column":73},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":738,"column":37},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":739,"column":25},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":740,"column":56},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":741,"column":52}]},"\/src\/repo\/includes\/Fallbacks\/PhraseSuggestFallbackMethod.php":{"errors":2,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?InterwikiResolver $interwikiResolver = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":61,"column":70},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":129,"column":13}]},"\/src\/repo\/tests\/phpunit\/unit\/Query\/BoostTemplatesFeatureTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/WeightedTagsUpdater.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/ExternalIndex.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/Fetch\/HighlightingTrait.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/MSearchResponses.php":{"errors":2,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Status $status = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":35,"column":70},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?callable $reordering = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":58,"column":85}]},"\/src\/repo\/tests\/phpunit\/unit\/CirrusSearchTest.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $config = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":134,"column":39}]},"\/src\/repo\/includes\/Event\/EventBusBridge.php":{"errors":2,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?EventBusFactory $eventBusFactory = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":56,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?StreamNameMapper $streamNameMapper = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":57,"column":9}]},"\/src\/repo\/includes\/Event\/EventBridge.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Maintenance\/SetTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/CrossSearchStrategyTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Searcher.php":{"errors":7,"warnings":2,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":70,"column":46},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":72,"column":47},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $namespaces = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":164,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?User $user = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":165,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?CirrusDebugOptions $options = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":167,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?NamespacePrefixParser $namespacePrefixParser = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":168,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?InterwikiResolver $interwikiResolver = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":169,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?TitleHelper $titleHelper = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":170,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?CirrusSearchHookRunner $cirrusSearchHookRunner = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":171,"column":9}]},"\/src\/repo\/tests\/phpunit\/unit\/Query\/PreferRecentFeatureTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/CheckIndexes.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Dispatch\/DefaultSearchQueryDispatchServiceTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Profile\/SearchProfileServiceFactory.php":{"errors":2,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?WebRequest $request = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":148,"column":56},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UserIdentity $user = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":148,"column":84}]},"\/src\/repo\/includes\/Search\/CirrusSearchIndexFieldFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/CompletionSuggesterTest.php":{"errors":0,"warnings":14,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":102,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":105,"column":53},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":108,"column":43},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":121,"column":31},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":124,"column":53},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":127,"column":43},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":131,"column":53},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":134,"column":45},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":162,"column":45},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":169,"column":45},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":174,"column":53},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":177,"column":43},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":184,"column":43},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":191,"column":43}]},"\/src\/repo\/maintenance\/DumpIndex.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Fallbacks\/FallbackMethodTraitTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/ExplainPrinter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":76,"column":13}]},"\/src\/repo\/includes\/Search\/KeywordIndexField.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":25,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":38,"column":12}]},"\/src\/repo\/includes\/Event\/PageRerenderSerializer.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?string $dt = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":48,"column":92}]},"\/src\/repo\/includes\/Parser\/QueryStringRegex\/Token.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Search\/SearcherTest.php":{"errors":0,"warnings":4,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":154,"column":43},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":158,"column":43},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":159,"column":52},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":160,"column":44}]},"\/src\/repo\/includes\/Search\/ShortTextIndexField.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":14,"column":12}]},"\/src\/repo\/includes\/Search\/Rescore\/InvalidRescoreProfileException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/UpdateDYMIndexTemplates.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Maintenance\/AnalyzerBuilder.php":{"errors":10,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?string $name = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":184,"column":51},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?string $name = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":196,"column":58},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?string $name = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":205,"column":66},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?string $name = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":216,"column":58},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?string $name = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":240,"column":40},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?string $name = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":250,"column":38},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?bool $ignoreCase = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":264,"column":13},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?string $name = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":277,"column":53},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?string $name = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":290,"column":50},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?bool $ignoreCase = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":610,"column":60}]},"\/src\/repo\/tests\/phpunit\/integration\/HooksIntegrationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Dispatch\/BasicSearchQueryRouteTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parser\/QueryStringRegex\/NonPhraseParser.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Dispatch\/CirrusDefaultSearchQueryRouteTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Query\/InTitleFeatureTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Profile\/PhraseSuggesterProfileRepoWrapper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/UserTestingEngineTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Search\/MSearchRequestsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/MetaStore\/MetaStoreIndex.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":423,"column":13}]},"\/src\/repo\/tests\/phpunit\/unit\/BuildDocument\/DefaultPagePropertiesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Search\/ResultTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Search\/SearchConfigIntegrationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Fallbacks\/FallbackRunnerTest.php":{"errors":3,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?TitleHelper $titleHelper = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":46,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?callable $rewritteCallback = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":226,"column":54},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?callable $rewritteCallback = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":242,"column":17}]},"\/src\/repo\/tests\/phpunit\/integration\/IndexFieldsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/RunSearch.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Query\/PrefixFeatureTest.php":{"errors":0,"warnings":3,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":132,"column":23},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":138,"column":26},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":268,"column":23}]},"\/src\/repo\/includes\/MetaStore\/MetaSaneitizeJobStore.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":44,"column":69}]},"\/src\/repo\/includes\/Maintenance\/SuggesterAnalysisConfigBuilder.php":{"errors":0,"warnings":11,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":67,"column":38},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":68,"column":38},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":69,"column":38},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":70,"column":38},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":71,"column":38},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":72,"column":43},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":73,"column":43},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":113,"column":43},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":114,"column":43},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":115,"column":43},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":119,"column":43}]},"\/src\/repo\/tests\/phpunit\/integration\/InterwikiResolverTest.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?MultiHttpClient $client = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":395,"column":27}]},"\/src\/repo\/tests\/phpunit\/integration\/Search\/ResultsTypeTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Query\/SimpleKeywordFeatureTestTrait.php":{"errors":8,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":21,"column":12},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $expectedWarnings = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":62,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SearchConfig $config = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":63,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $warnings = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":92,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SearchConfig $config = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":93,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $higlightQuery = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":124,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $warnings = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":158,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SearchConfig $config = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":159,"column":9}]},"\/src\/repo\/tests\/phpunit\/unit\/Maintenance\/AnalysisFilterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/BuildDocument\/ParserOutputPagePropertiesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/MetaStore\/MetaVersionStore.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Maintenance\/ConfigUtilsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Fallbacks\/LangDetectFallbackMethodTest.php":{"errors":2,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SearchQuery $query = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":25,"column":45},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?CirrusSearchResultSet $resultSet = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":25,"column":72}]},"\/src\/repo\/tests\/phpunit\/integration\/BuildDocument\/DefaultPagePropertiesIntegrationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Query\/LinksToFeatureTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":27,"column":20}]},"\/src\/repo\/tests\/phpunit\/unit\/Maintenance\/IndexCreatorTest.php":{"errors":0,"warnings":5,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":48,"column":16},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":49,"column":20},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":50,"column":17},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":51,"column":17},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":52,"column":16}]},"\/src\/repo\/tests\/phpunit\/unit\/RescoreBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Search\/SearchQueryTest.php":{"errors":2,"warnings":1,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $namespaces = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":200,"column":43},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":383,"column":66},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?CirrusDebugOptions $options = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":470,"column":9}]},"\/src\/repo\/tests\/phpunit\/standalone\/unit\/LanguageDetectTest.php":{"errors":0,"warnings":5,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":110,"column":61},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":115,"column":49},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":116,"column":60},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":118,"column":43},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":119,"column":35}]},"\/src\/repo\/tests\/phpunit\/integration\/Query\/DeepcatFeatureTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/DataSenderTest.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?int $expectedRequestCount = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":388,"column":9}]},"\/src\/repo\/tests\/phpunit\/unit\/Wikimedia\/WeightedTagsHooksTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Wikimedia\/WeightedTagsFieldTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Assignment\/ConstantAssignmentTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Search\/SearchFieldsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/RequestLoggerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/UpdateSuggesterIndex.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":635,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":730,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":746,"column":13}]},"\/src\/repo\/includes\/Maintenance\/AnalysisConfigBuilder.php":{"errors":2,"warnings":162,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SearchConfig $config = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":105,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?CirrusSearchHookRunner $cirrusSearchHookRunner = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":106,"column":9},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":466,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":633,"column":37},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":647,"column":38},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":648,"column":43},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":649,"column":43},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":650,"column":38},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":652,"column":38},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":688,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":689,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":690,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":691,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":692,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":693,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":694,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":695,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":696,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":697,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":698,"column":38},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":699,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":700,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":701,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":702,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":703,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":704,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":705,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":706,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":713,"column":32},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":714,"column":32},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":716,"column":37},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":719,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":720,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":723,"column":32},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":724,"column":32},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":725,"column":32},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":730,"column":49},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":731,"column":49},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":732,"column":49},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":733,"column":55},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":734,"column":67},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":740,"column":79},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":745,"column":79},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":752,"column":79},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":785,"column":38},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":851,"column":32},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":852,"column":32},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":853,"column":32},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":854,"column":32},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":855,"column":32},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":856,"column":32},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":857,"column":32},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":858,"column":32},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":859,"column":32},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":860,"column":32},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":861,"column":32},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":869,"column":32},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":870,"column":32},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":939,"column":31},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":958,"column":29},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1035,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1085,"column":53},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1188,"column":53},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1205,"column":39},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1206,"column":39},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1207,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1208,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1249,"column":29},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1279,"column":40},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1282,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1289,"column":31},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1315,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1316,"column":45},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1317,"column":45},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1318,"column":39},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1348,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1354,"column":31},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1365,"column":34},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1366,"column":34},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1367,"column":34},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1368,"column":34},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1369,"column":34},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1370,"column":29},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1371,"column":29},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1372,"column":45},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1373,"column":57},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1374,"column":57},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1375,"column":51},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1376,"column":51},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1377,"column":45},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1378,"column":45},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1392,"column":47},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1412,"column":37},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1413,"column":38},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1414,"column":38},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1415,"column":38},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1416,"column":38},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1417,"column":38},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1418,"column":38},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1419,"column":38},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1446,"column":30},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1451,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1453,"column":29},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1568,"column":38},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1876,"column":48},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1877,"column":41},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1878,"column":71},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1879,"column":48},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1880,"column":39},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1902,"column":25},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1903,"column":40},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1904,"column":26},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1905,"column":45},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1906,"column":54},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1907,"column":30},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1908,"column":32},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1909,"column":36},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1910,"column":26},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1911,"column":36},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1912,"column":26},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1913,"column":30},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1914,"column":43},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1915,"column":26},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1916,"column":25},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1917,"column":32},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1918,"column":42},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1919,"column":27},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1924,"column":27},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1929,"column":25},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1930,"column":54},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1931,"column":42},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1932,"column":46},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1933,"column":39},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1934,"column":27},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1935,"column":27},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1936,"column":68},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1937,"column":25},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1939,"column":32},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1940,"column":32},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1941,"column":25},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1942,"column":42},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1943,"column":38},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1946,"column":27},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1947,"column":34},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1948,"column":28},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1949,"column":34},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1950,"column":36},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1951,"column":36},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1952,"column":36},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1953,"column":30},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1954,"column":25},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1955,"column":25},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1956,"column":37},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1957,"column":27},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1958,"column":38},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1959,"column":50},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1960,"column":36},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1961,"column":71},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1984,"column":24},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1985,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1986,"column":24},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1987,"column":27},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1994,"column":24},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1995,"column":31}]},"\/src\/repo\/tests\/phpunit\/integration\/Query\/MoreLikeFeatureTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Maintenance\/ChunkBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Maintenance\/Exception\/IndexDumperException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Parser\/QueryStringRegex\/QueryStringRegexParserIntegrationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Query\/ContentModelFeatureTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Maintenance\/IndexTemplateBuilder.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":105,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":112,"column":20},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":117,"column":20}]},"\/src\/repo\/includes\/ChangeListener.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/UserTestingStatus.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Hooks.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":421,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":646,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":650,"column":12}]},"\/src\/repo\/includes\/HashSearchConfig.php":{"errors":3,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Config $inherited = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":31,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SearchProfileServiceFactoryFactory $searchProfileServiceFactoryFactory = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":32,"column":9},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":66,"column":12}]},"\/src\/repo\/tests\/phpunit\/resources\/wmf\/interwiki.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/resources\/wmf\/suffixes.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/MultiListBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/PageChangeTrackerTest.php":{"errors":0,"warnings":0,"messages":[]}}}

--- end ---
PHPCS run failed
$ vendor/bin/phpcs --report=json
--- stdout ---
{"totals":{"errors":331,"warnings":329,"fixable":187},"files":{"\/src\/repo\/includes\/Parser\/NamespacePrefixParser.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Profile\/SearchProfileRepository.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Job\/CirrusGenericJob.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/Builder\/QueryBuildingContext.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/Builder\/FilterBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Assignment\/ConstantAssignment.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":16,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":28,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":44,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":48,"column":12}]},"\/src\/repo\/includes\/Assignment\/ClusterAssignment.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Hooks\/CirrusSearchRegisterFullTextQueryClassifiersHook.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/CountContentWordsBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/UpdateSearchIndexConfig.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Hooks\/CirrusSearchAnalysisConfigHook.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parser\/AST\/ParseWarning.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Profile\/ConfigProfileRepository.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parser\/AST\/EmptyQueryNode.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parser\/FTQueryClassifiersRepository.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/HasRecommendationFeature.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parser\/AST\/PhraseQueryNode.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/ClusterSettings.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/QueryBuilderTraits.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/CirrusConfigInterwikiResolver.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/EmptySearchResultSet.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/InterwikiResolverFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Profile\/ArrayProfileRepository.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":126,"column":13}]},"\/src\/repo\/includes\/Parser\/QueryStringRegex\/PhraseQueryParser.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/Rescore\/BoostFunctionBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/Rescore\/IncomingLinksFunctionScoreBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/KeywordFeature.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Maintenance\/AnalysisLanguageData\/mirandeseStopwords.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parser\/AST\/NamespaceHeaderNode.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parser\/AST\/NegatedNode.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/QueryCirrusDoc.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":41,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":88,"column":12}]},"\/src\/repo\/includes\/Fallbacks\/FallbackStatus.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Sanity\/PrintingRemediator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Sanity\/CheckerException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/SuggestIndex.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/WarningCollector.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/Metastore.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Maintenance\/AnalysisLanguageData\/polishStopwords.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Fallbacks\/FallbackRunnerContext.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Profile\/ContextualProfileOverride.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Job\/LinksUpdate.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Maintenance\/AnalysisLanguageData\/romanianStopwords.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/ArchiveChangeListener.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/TitleResultsType.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?TitleHelper $titleHelper = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":17,"column":34}]},"\/src\/repo\/includes\/Search\/RandomCrossProjectBlockScorer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/ArticleTopicFeature.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/MetaStore\/MetaNamespaceStore.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":23,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":95,"column":13}]},"\/src\/repo\/includes\/MetaStore\/MetaStore.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/BuildDocument\/Completion\/IncomingLinksScoringMethod.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parser\/AST\/ParsedBooleanNode.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/BaseRequestLog.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/jenkins\/Jenkins.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Maintenance\/Validators\/SpecificAliasValidator.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Printer $out = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":52,"column":9}]},"\/src\/repo\/includes\/Search\/DatetimeIndexField.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":16,"column":12}]},"\/src\/repo\/includes\/Search\/Rescore\/LogScaleBoostFunctionScoreBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/RequestLog.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Maintenance\/AnalysisLanguageData\/arabicStopwords.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Assignment\/MultiClusterAssignment.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Sanity\/Remediator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/InSourceFeature.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Sanity\/CountingRemediator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parser\/AST\/WordsQueryNode.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/BaseInterwikiResolver.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/CirrusNeedsToBeBuilt.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Extra\/Query\/SourceRegex.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Job\/ElasticaDocumentsJsonSerde.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":28,"column":12}]},"\/src\/repo\/includes\/Profile\/UserPrefSearchProfileOverride.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/LegacyKeywordFeature.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/UserTestingEngine.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/Rescore\/PreferRecentFunctionScoreBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/InterwikiSearcher.php":{"errors":7,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $namespaces = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":54,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?User $user = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":55,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?CirrusDebugOptions $debugOptions = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":56,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?NamespacePrefixParser $namespacePrefixParser = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":57,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?InterwikiResolver $interwikiResolver = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":58,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?TitleHelper $titleHelper = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":59,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?CirrusSearchHookRunner $cirrusSearchHookRunner = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":60,"column":9}]},"\/src\/repo\/includes\/Api\/ProfilesDump.php":{"errors":2,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SearchProfileService $service = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":41,"column":88},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":81,"column":12}]},"\/src\/repo\/tests\/phpunit\/unit\/mocks\/NoopPrinter.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":8,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":11,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":14,"column":12}]},"\/src\/repo\/tests\/jenkins\/deleteBrowserTestPages.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Profile\/ExtensionRegistryProfileRepositoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/Rescore\/ScriptScoreFunctionScoreBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/InterwikiResolver.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parser\/AST\/PhrasePrefixNode.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Extra\/Query\/TermFreq.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/LanguageFeature.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/FullTextResultsType.php":{"errors":1,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":72,"column":39},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":117,"column":20}]},"\/src\/repo\/includes\/Search\/CompletionResultsCollector.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/ArrayCirrusSearchResult.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Maintenance\/ReindexerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Hooks\/CustomPageFields.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/PageChangeTracker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Job\/MassIndex.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Fallbacks\/FallbackRunnerContextImpl.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/SingleAggResultsType.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":26,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":30,"column":12}]},"\/src\/repo\/includes\/Sanity\/AllClustersQueueingRemediator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/BoostFunctionFeature.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Elastica\/ReindexRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Query\/PrefixSearchQueryBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/SearchMetricsProvider.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":6,"column":12}]},"\/src\/repo\/includes\/Search\/Rescore\/FunctionScoreChain.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":94,"column":13}]},"\/src\/repo\/includes\/SiteMatrixInterwikiResolver.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?ExtensionRegistry $extensionRegistry = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":37,"column":59}]},"\/src\/repo\/tests\/phpunit\/unit\/Query\/Builder\/NearMatchFieldQueryBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Query\/PageIdFeatureTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/SearchContextTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/EventBusWeightedTagSerializer.php":{"errors":5,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?string $dt = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":49,"column":95},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?bool $revBased = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":71,"column":65},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?string $dt = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":71,"column":88},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?bool $revBased = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":82,"column":69},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?string $dt = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":82,"column":92}]},"\/src\/repo\/tests\/phpunit\/unit\/HashSearchConfigTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Sanity\/BufferedRemediator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Hooks\/CirrusSearchProfileServiceHook.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/NearMatchPicker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Maintenance\/Validators\/IndexAliasValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/Rescore\/CustomFieldFunctionScoreBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/profiles\/SuggestProfiles.config.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/CirrusSearchServicesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Sanity\/NoopRemediator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/ServiceWiringTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Hooks\/CirrusSearchMappingConfigHook.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Maintenance\/AnalysisConfigBuilderIntegrationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Elastica\/Health.php":{"errors":2,"warnings":1,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?string $index = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":19,"column":50},{"message":"Method name \"_retrieveHealthData\" should not be prefixed with an underscore to indicate visibility","source":"PSR2.Methods.MethodDeclaration.Underscore","severity":5,"fixable":false,"type":"WARNING","line":25,"column":15},{"message":"Method name \"_retrieveHealthData\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":25,"column":15}]},"\/src\/repo\/tests\/phpunit\/unit\/Profile\/ArrayProfileRepositoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/PageIdFeature.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/profiles\/CrossProjectBlockScorerProfiles.config.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parser\/QueryStringRegex\/KeywordParser.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":156,"column":55}]},"\/src\/repo\/tests\/jenkins\/FullyFeaturedConfig.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/mocks\/DummySearchResultSet.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parser\/AST\/BooleanClause.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/EmptyInterwikiResolver.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/Rescore\/BoostedQueriesFunction.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/CirrusDebugOptions.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Job\/ElasticaDocumentsJsonSerdeTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parser\/QueryParser.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Query\/LocalFeatureTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/CompletionResultsCollectorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Hooks\/CirrusSearchScoreBuilderHook.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/UpdateGroup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/BuildDocument\/DefaultPageProperties.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/FullTextSimpleMatchQueryBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Extra\/Query\/TokenCountRouter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Maintenance\/ConfigUtils.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parser\/AST\/WildcardNode.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Extra\/SourceRegexTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/Rescore\/TermBoostScoreBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Hooks\/CirrusSearchApiQuerySiteInfoGeneralInfoHook.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":16,"column":12}]},"\/src\/repo\/tests\/phpunit\/unit\/mocks\/MockKeyword.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Profile\/ArrayPathSetter.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $profile = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":84,"column":32}]},"\/src\/repo\/includes\/Extra\/MultiList\/MultiListItem.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Maintenance\/RunSearchTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/BulkUpdateRequestLog.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":47,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":51,"column":12}]},"\/src\/repo\/tests\/phpunit\/unit\/Profile\/ContextualProfileOverrideTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/ServiceWiring.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/InterleavedResultSet.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":47,"column":12}]},"\/src\/repo\/includes\/Maintenance\/NullPrinter.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":6,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":9,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":12,"column":12}]},"\/src\/repo\/includes\/Search\/TitleHelper.php":{"errors":2,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?InterwikiResolver $interwikiResolver = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":38,"column":54},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?callable $linkSanitizer = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":38,"column":99}]},"\/src\/repo\/tests\/phpunit\/unit\/mocks\/SearchConfigUsageDecorator.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":14,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":23,"column":19}]},"\/src\/repo\/includes\/Parser\/QueryStringRegex\/SearchQueryParseException.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":18,"column":12}]},"\/src\/repo\/includes\/Sanity\/QueueingRemediator.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?JobQueueGroup $jobQueueGroup = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":47,"column":44}]},"\/src\/repo\/includes\/Search\/Rescore\/BoostTemplatesFunctionScoreBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/jenkins\/cleanSetup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Hooks\/CirrusSearchSimilarityConfigHook.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Elastica\/LtrQuery.php":{"errors":1,"warnings":1,"messages":[{"message":"Method name \"_getBaseName\" should not be prefixed with an underscore to indicate visibility","source":"PSR2.Methods.MethodDeclaration.Underscore","severity":5,"fixable":false,"type":"WARNING","line":41,"column":15},{"message":"Method name \"_getBaseName\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":41,"column":15}]},"\/src\/repo\/tests\/phpunit\/unit\/Search\/EscaperTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":116,"column":41}]},"\/src\/repo\/tests\/phpunit\/integration\/Parser\/AST\/Visitor\/QueryFixerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parser\/AST\/ParsedQuery.php":{"errors":2,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $namespaces = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":214,"column":42},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $additionalRequiredNamespaces = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":214,"column":68}]},"\/src\/repo\/includes\/Maintenance\/MappingConfigBuilder.php":{"errors":2,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SearchConfig $config = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":85,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?CirrusSearchHookRunner $cirrusSearchHookRunner = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":86,"column":9}]},"\/src\/repo\/includes\/Maintenance\/ArchiveMappingConfigBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/NestedIndexField.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":21,"column":12}]},"\/src\/repo\/tests\/phpunit\/integration\/Maintenance\/ScriptsRunnableTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Event\/EventBusWeightedTagsUpdaterTest.php":{"errors":3,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $tagWeights = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":87,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?string $trigger = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":88,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?string $trigger = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":136,"column":64}]},"\/src\/repo\/includes\/Search\/Rescore\/FunctionScoreDecorator.php":{"errors":2,"warnings":1,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":20,"column":12},{"message":"Method name \"_getBaseName\" should not be prefixed with an underscore to indicate visibility","source":"PSR2.Methods.MethodDeclaration.Underscore","severity":5,"fixable":false,"type":"WARNING","line":53,"column":15},{"message":"Method name \"_getBaseName\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":53,"column":15}]},"\/src\/repo\/includes\/Query\/LocalFeature.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/mocks\/MockSimpleKeywordFeature.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":23,"column":12}]},"\/src\/repo\/includes\/Parser\/AST\/ParsedNode.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/BuildDocument\/BuildDocumentTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/CirrusSearchHookRunner.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Query\/FullTextQueryStringQueryBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Hooks\/CirrusSearchAddQueryFeaturesHook.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/profiles\/RescoreFunctionChains.config.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Profile\/UserPrefSearchProfileOverrideTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/BaseResultsType.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Maintenance\/Validators\/IndexHasChangedValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Query\/MaxQueryLengthExceptionsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Query\/SubPageOfFeatureTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Profile\/ExtensionRegistryProfileRepository.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":34,"column":12}]},"\/src\/repo\/includes\/Elastica\/DeprecationLoggedHttp.php":{"errors":2,"warnings":1,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Connection $connection = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":15,"column":34},{"message":"Method name \"_setupCurl\" should not be prefixed with an underscore to indicate visibility","source":"PSR2.Methods.MethodDeclaration.Underscore","severity":5,"fixable":false,"type":"WARNING","line":24,"column":15},{"message":"Method name \"_setupCurl\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":24,"column":15}]},"\/src\/repo\/includes\/Parser\/AST\/PrefixNode.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Maintenance\/SuggesterMappingConfigBuilder.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SearchConfig $config = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":41,"column":34}]},"\/src\/repo\/tests\/phpunit\/unit\/Profile\/ConfigProfileRepositoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Maintenance\/SpecificAliasValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Maintenance\/AnalysisFilter.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":107,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":151,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":161,"column":13}]},"\/src\/repo\/includes\/Dispatch\/SearchQueryRoute.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Fallbacks\/LangDetectFallbackMethod.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":171,"column":12}]},"\/src\/repo\/tests\/phpunit\/unit\/Query\/RegexFeatureTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ConfigDump.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":248,"column":12}]},"\/src\/repo\/includes\/Parser\/AST\/Visitor\/Visitable.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parser\/QueryStringRegex\/OffsetTracker.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/Result.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?TitleHelper $titleHelper = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":70,"column":53}]},"\/src\/repo\/includes\/Search\/IntegerIndexField.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/ArchiveChangeListenerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/RecallCrossProjectBlockScorer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/SaneitizeJobs.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":396,"column":13}]},"\/src\/repo\/includes\/Search\/Filters.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Maintenance\/Validators\/AnalyzersValidator.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Printer $out = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":26,"column":71}]},"\/src\/repo\/includes\/Query\/InCategoryFeature.php":{"errors":1,"warnings":5,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?PageStore $pageStore = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":48,"column":50},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":113,"column":46},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":137,"column":38},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":141,"column":61},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":161,"column":40},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":181,"column":23}]},"\/src\/repo\/profiles\/DocumentSizeLimiterProfiles.config.php":{"errors":0,"warnings":2,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":9,"column":31},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":14,"column":23}]},"\/src\/repo\/includes\/Maintenance\/Set.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Profile\/UriParamSearchProfileOverride.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Profile\/UriParamSearchProfileOverrideTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parser\/FullTextKeywordRegistry.php":{"errors":3,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?CirrusSearchHookRunner $cirrusSearchHookRunner = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":49,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?NamespacePrefixParser $namespacePrefixParser = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":50,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SparqlClient $client = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":51,"column":9}]},"\/src\/repo\/includes\/Fallbacks\/ElasticSearchRequestFallbackMethod.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/Rescore\/SatuFunctionScoreBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Api\/ProfilesDumpTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Maintenance\/Printer.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":6,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":8,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":10,"column":12}]},"\/src\/repo\/includes\/MultiSearchRequestLog.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/ClusterSettingsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Search\/Rescore\/FunctionScoreChainTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Dispatch\/DefaultSearchQueryDispatchService.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Maintenance\/Validators\/MaxShardsPerNodeValidator.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Printer $out = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":25,"column":67}]},"\/src\/repo\/tests\/phpunit\/unit\/HookRunnerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Query\/TextFieldFilterFeatureTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Fallbacks\/FallbackMethod.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/MoreLikeThisFeature.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Query\/HasTemplateFeatureTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Profile\/PhraseSuggesterProfileRepoWrapperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/CirrusSearchServices.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Profile\/ConfigSearchProfileOverrideTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parser\/QueryParserFactory.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SparqlClient $client = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":30,"column":9}]},"\/src\/repo\/tests\/phpunit\/integration\/Api\/ConfigDumpTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/BuildDocument\/Completion\/QualityScore.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/Rescore\/NamespacesFunctionScoreBuilder.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?NamespaceInfo $namespaceInfo = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":39,"column":78}]},"\/src\/repo\/includes\/Dispatch\/SearchQueryDispatchService.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Extra\/MultiList\/MultiListBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Fallbacks\/SearcherFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Fallbacks\/ElasticSearchSuggestFallbackMethod.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/profiles\/SaneitizeProfiles.config.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":121,"column":35}]},"\/src\/repo\/maintenance\/UpdateWeightedTags.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parser\/AST\/Visitor\/LeafVisitor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Parser\/AST\/Visitor\/KeywordNodeVisitorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parser\/AST\/KeywordFeatureNode.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $parsedValue = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":71,"column":9}]},"\/src\/repo\/includes\/Search\/ResultsType.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parser\/ParsedQueryClassifiersRepository.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parser\/ParsedQueryClassifierException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Extra\/MultiList\/MultiListWeightedTag.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?int $weight = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":21,"column":64}]},"\/src\/repo\/includes\/SearchRequestLog.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $namespaces = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":52,"column":105}]},"\/src\/repo\/includes\/Query\/HasTemplateFeature.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/SearchRequestBuilder.php":{"errors":1,"warnings":1,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":41,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":104,"column":25}]},"\/src\/repo\/includes\/SearchConfig.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SearchProfileServiceFactoryFactory $searchProfileServiceFactoryFactory = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":74,"column":34}]},"\/src\/repo\/includes\/Parser\/ParsedQueryClassifier.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parser\/KeywordRegistry.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/FullTextQueryBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Maintenance\/Validators\/MappingValidator.php":{"errors":2,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Printer $out = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":56,"column":9},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":70,"column":13}]},"\/src\/repo\/includes\/BuildDocument\/Completion\/DefaultSortSuggestionsBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/UtilTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Query\/QueryHelperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Elastica\/SearchAfter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/NumberIndexField.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Job\/CheckerJob.php":{"errors":0,"warnings":2,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":212,"column":24},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":213,"column":24}]},"\/src\/repo\/includes\/Query\/DeepcatFeature.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SparqlClient $client = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":62,"column":50}]},"\/src\/repo\/includes\/Maintenance\/Validators\/ShardAllocationValidator.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Printer $out = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":25,"column":72}]},"\/src\/repo\/includes\/Search\/Rescore\/LangWeightFunctionScoreBuilder.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":65,"column":13}]},"\/src\/repo\/includes\/Dispatch\/BasicSearchQueryRoute.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parser\/AST\/FuzzyNode.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/FullTextQueryStringQueryBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiTrait.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Maintenance\/IndexCreator.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $similarityConfig = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":53,"column":9}]},"\/src\/repo\/tests\/phpunit\/unit\/BuildDocument\/DocumentSizeLimiterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Parser\/QueryStringRegex\/KeywordParserTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/BuildDocument\/Completion\/SuggestScoringMethod.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/CopySearchIndex.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Maintenance\/Validators\/ReplicaRangeValidator.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Printer $out = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":25,"column":63}]},"\/src\/repo\/includes\/BuildDocument\/Completion\/ExtraSuggestionsBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/BuildDocument\/RedirectsAndIncomingLinks.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Dispatch\/CirrusDefaultSearchQueryRoute.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Search\/TeamDraftInterleaverTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Job\/DeleteArchive.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Maintenance\/SaneitizeLoopTest.php":{"errors":0,"warnings":8,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":16,"column":20},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":48,"column":20},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":67,"column":20},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":99,"column":17},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":100,"column":17},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":101,"column":17},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":104,"column":25},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":105,"column":27}]},"\/src\/repo\/tests\/phpunit\/integration\/Event\/EventBusWeightedTagSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/Rescore\/LogMultFunctionScoreBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/SettingsDump.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":53,"column":12}]},"\/src\/repo\/tests\/phpunit\/unit\/ElasticaErrorHandlerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/EventBusWeightedTagsUpdater.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Util.php":{"errors":2,"warnings":3,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":181,"column":56},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":182,"column":56},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":183,"column":56},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SearchConfig $config = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":229,"column":54},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Language $language = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":423,"column":78}]},"\/src\/repo\/includes\/Search\/BaseCirrusSearchResultSet.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Elastica\/ReindexStatus.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/ResultSet.php":{"errors":2,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?\\Elastica\\ResultSet $elasticResultSet = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":99,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?TitleHelper $titleHelper = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":100,"column":9}]},"\/src\/repo\/profiles\/RescoreProfiles.config.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/Rescore\/ByKeywordTemplateBoostFunction.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/RequestLogger.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UserIdentity $user = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":113,"column":50}]},"\/src\/repo\/includes\/ElasticsearchIntermediary.php":{"errors":6,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UserIdentity $user = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":88,"column":61},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Connection $connection = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":178,"column":46},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?ExceptionInterface $exception = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":206,"column":30},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Connection $connection = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":206,"column":68},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Connection $connection = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":392,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?callable $resultsTransformer = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":393,"column":9}]},"\/src\/repo\/includes\/Search\/OpeningTextIndexField.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/NoActiveTestException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/FullTextCirrusSearchResultBuilder.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":128,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":153,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":168,"column":13}]},"\/src\/repo\/includes\/Iterator\/IteratorDecorator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parser\/BasicQueryClassifier.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/SearchQuery.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Iterator\/CallbackIterator.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":14,"column":12}]},"\/src\/repo\/includes\/Job\/OtherIndex.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/MoreLikeFeature.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Maintenance\/Maintenance.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":120,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":135,"column":12},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Connection $conn = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":135,"column":35},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":183,"column":12}]},"\/src\/repo\/includes\/Api\/QueryCompSuggestBuildDoc.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":15,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":47,"column":13}]},"\/src\/repo\/includes\/Maintenance\/Validators\/Validator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/CompositeCrossProjectBlockScorer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/CrossProjectBlockScorerFactory.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":22,"column":19}]},"\/src\/repo\/tests\/phpunit\/integration\/Maintenance\/MappingConfigBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/CirrusSearchResultSet.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/profiles\/PhraseSuggesterProfiles.config.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Elastica\/ReindexResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Elastica\/DeprecationLoggedHttps.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/LanguageDetector\/LanguageDetectorFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/SubPageOfFeature.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Version.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Query\/InSourceTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/LanguageDetector\/Detector.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Parser\/QueryStringRegex\/QueryStringRegexParserTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/MSearchRequests.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/ContentModelFeature.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Sanity\/QueueingRemediatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/OtherIndexesUpdaterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Parser\/AST\/ParsedQueryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/MappingDump.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":46,"column":12}]},"\/src\/repo\/includes\/Job\/CirrusTitleJob.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/CirrusTestCaseTrait.php":{"errors":23,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":75,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":84,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":91,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":110,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":134,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":138,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":142,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":150,"column":19},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?callable $callback = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":162,"column":42},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Config $inherited = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":193,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SearchProfileServiceFactoryFactory $factoryFactory = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":194,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?CirrusSearchHookRunner $cirrusSearchHookRunner = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":206,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UserOptionsLookup $userOptionsLookup = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":207,"column":9},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":223,"column":20},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":244,"column":20},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":286,"column":12},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?InterwikiResolver $iwResolver = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":286,"column":57},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":294,"column":20},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?InterwikiResolver $interwikiResolver = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":295,"column":17},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?callable $linkSanitizer = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":295,"column":62},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":300,"column":20},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":361,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":365,"column":12}]},"\/src\/repo\/includes\/Search\/Rescore\/RescoreBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Maintenance\/Validators\/IndexAllAliasValidator.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Printer $out = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":23,"column":101}]},"\/src\/repo\/profiles\/IndexLookupFallbackProfiles.config.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Profile\/SearchProfileServiceTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Query\/QueryBuilderTraitsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Api\/CheckSanityTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Maintenance\/SuggesterAnalysisConfigBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Fetch\/HighlightedFieldBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Profile\/SearchProfileServiceFactoryTest.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?CirrusSearchHookRunner $cirrusSearchHookRunner = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":206,"column":34}]},"\/src\/repo\/tests\/phpunit\/unit\/Elastica\/ReindexTaskTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Fallbacks\/FallbackRunner.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Search\/FullTextCirrusSearchResultBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/PrefixFeature.php":{"errors":5,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?NamespacePrefixParser $namespacePrefixParser = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":51,"column":34},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":57,"column":20},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?NamespacePrefixParser $namespacePrefixParser = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":207,"column":83},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?NamespacePrefixParser $namespacePrefixParser = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":242,"column":57},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":259,"column":20}]},"\/src\/repo\/includes\/Search\/TextIndexField.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":63,"column":12}]},"\/src\/repo\/tests\/phpunit\/unit\/mocks\/ArrayLogger.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":11,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":19,"column":12}]},"\/src\/repo\/tests\/phpunit\/unit\/Profile\/StaticProfileOverrideTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Sanity\/Checker.php":{"errors":3,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?ArrayObject $pageCache = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":107,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?callable $isOldFn = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":108,"column":9},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":428,"column":13}]},"\/src\/repo\/includes\/Query\/LinksToFeature.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Maintenance\/SaneitizeLoop.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?\\JobQueueGroup $jobQueueGroup = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":62,"column":83}]},"\/src\/repo\/includes\/Search\/Fetch\/FetchPhaseConfigBuilder.php":{"errors":2,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?AbstractQuery $mainHLQuery = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":140,"column":36},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":215,"column":13}]},"\/src\/repo\/tests\/phpunit\/integration\/Event\/EventBusBridgeTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Maintenance\/Validators\/NumberOfShardsValidator.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Printer $out = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":26,"column":61}]},"\/src\/repo\/tests\/phpunit\/integration\/Query\/InCategoryFeatureTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/FilterQueryFeature.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/jenkins\/nukeAllIndexes.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/resources\/wmf\/SiteMatrix_SiteConf_IS.php":{"errors":0,"warnings":56,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":41,"column":28},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":57,"column":28},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":60,"column":24},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":77,"column":30},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":89,"column":25},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":120,"column":50},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":141,"column":52},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":194,"column":31},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":195,"column":31},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":197,"column":39},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":213,"column":39},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":215,"column":34},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":218,"column":35},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":220,"column":36},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":221,"column":31},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":222,"column":30},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":261,"column":29},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":266,"column":35},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":287,"column":31},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":306,"column":37},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":317,"column":35},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":321,"column":35},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":335,"column":36},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":348,"column":32},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":351,"column":36},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":353,"column":34},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":362,"column":36},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":368,"column":39},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":413,"column":37},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":439,"column":31},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":445,"column":32},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":451,"column":37},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":462,"column":35},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":468,"column":34},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":474,"column":36},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":482,"column":50},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":483,"column":30},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":487,"column":31},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":490,"column":38},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":491,"column":37},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":552,"column":36},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":553,"column":35},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":555,"column":37},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":564,"column":31},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":566,"column":37},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":567,"column":37},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":572,"column":34},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":583,"column":37},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":585,"column":31},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":587,"column":31},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":590,"column":38},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":591,"column":35},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":596,"column":30},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":607,"column":42},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":613,"column":26},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":620,"column":31}]},"\/src\/repo\/includes\/Search\/StaticCrossProjectBlockScorer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parser\/AST\/Visitor\/QueryFixer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/LanguageDetector\/TextCat.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":36,"column":37}]},"\/src\/repo\/includes\/Query\/PrefixSearchQueryBuilder.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":40,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":62,"column":13}]},"\/src\/repo\/includes\/Search\/TeamDraftInterleaver.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":49,"column":13}]},"\/src\/repo\/includes\/BuildDocument\/DocumentSizeLimiter.php":{"errors":0,"warnings":2,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":72,"column":77},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":191,"column":57}]},"\/src\/repo\/tests\/phpunit\/unit\/Query\/HasRecommendationFeatureTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/standalone\/unit\/SuggestScoringTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/SearchConfigTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/resources\/wmf\/SiteMatrixProjects.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Elastica\/ReindexTask.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":137,"column":13}]},"\/src\/repo\/tests\/phpunit\/integration\/Maintenance\/IndexTemplateBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Parser\/QueryStringRegex\/PhraseQueryParserTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Search\/SearchRequestBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/InTitleFeature.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":85,"column":12}]},"\/src\/repo\/tests\/phpunit\/integration\/Maintenance\/ScriptsRunnablePreload.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Sanity\/BufferedRemediatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/mocks\/PassThruTransport.php":{"errors":11,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":18,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":26,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":30,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":37,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":41,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":59,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":65,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":71,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":77,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":81,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":85,"column":12}]},"\/src\/repo\/includes\/Search\/CirrusIndexField.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/relforge\/RelForgeSettings.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Job\/ElasticaWriteTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/Rescore\/GeoMeanFunctionScoreBuilder.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":111,"column":43}]},"\/src\/repo\/includes\/Parser\/AST\/Visitor\/Visitor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Sanity\/LogOnlyRemediator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/jenkins\/IntegrationTesting.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Job\/DeletePages.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/mocks\/DummyConnection.php":{"errors":3,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SearchConfig $config = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":9,"column":34},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":15,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":19,"column":12}]},"\/src\/repo\/.phan\/config.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Job\/JobTraits.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/ConnectionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Job\/MassIndexTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/CrossProjectBlockScorer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/mocks\/MockLanguageDetector.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/scripts\/gen-autoload.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/Rescore\/FunctionScoreBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/BaseRegexFeature.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":354,"column":21},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $parsedValue = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":360,"column":36}]},"\/src\/repo\/includes\/ElasticaErrorHandler.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":18,"column":19},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?\\Elastica\\Exception\\ExceptionInterface $exception = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":126,"column":43},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?\\Elastica\\Exception\\ExceptionInterface $exception = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":228,"column":53}]},"\/src\/repo\/tests\/phpunit\/integration\/CirrusIntegrationTestCaseTrait.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Job\/IndexArchive.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Profile\/SearchProfileService.php":{"errors":2,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?WebRequest $request = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":187,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UserIdentity $user = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":188,"column":9}]},"\/src\/repo\/scripts\/phan.stubs.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Query\/LanguageFeatureTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Sanity\/MultiClusterRemediatorHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/SuggestBuilderIntegrationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/PreferRecentFeature.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Profile\/SearchProfileRepositoryTransformerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Job\/IncomingLinkCount.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Maintenance\/GlobalCustomFilter.php":{"errors":1,"warnings":3,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":85,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":255,"column":66},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":256,"column":67},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":260,"column":50}]},"\/src\/repo\/tests\/phpunit\/unit\/Parser\/QueryStringRegex\/OffsetTrackerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/CompletionSuggester.php":{"errors":4,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SearchConfig $config = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":147,"column":73},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $namespaces = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":147,"column":102},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?User $user = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":148,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?CirrusDebugOptions $debugOptions = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":149,"column":34}]},"\/src\/repo\/includes\/Parser\/AST\/Visitor\/KeywordNodeVisitor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Elastica\/ReindexRequestTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Api\/QueryBuildDocumentTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/FileTypeFeature.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Search\/CrossProjectBlockScorerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Search\/CirrusSearchResultBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/Fetch\/ExperimentalHighlightedFieldBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/CheckSanity.php":{"errors":1,"warnings":3,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":82,"column":20},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":83,"column":20},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":84,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":199,"column":12}]},"\/src\/repo\/tests\/phpunit\/unit\/Sanity\/MultiClusterRemediatorHelperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Connection.php":{"errors":2,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $namespaces = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":273,"column":49},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $namespaces = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":282,"column":51}]},"\/src\/repo\/tests\/phpunit\/unit\/Fallbacks\/PhraseSuggestFallbackMethodTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/HighlightingFeature.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Fallbacks\/IndexLookupFallbackMethod.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?InterwikiResolver $interwikiResolver = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":162,"column":70}]},"\/src\/repo\/includes\/Query\/TextFieldFilterFeature.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/FancyTitleResultsType.php":{"errors":2,"warnings":1,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?TitleHelper $titleHelper = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":24,"column":52},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":29,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":65,"column":43}]},"\/src\/repo\/includes\/CrossSearchStrategy.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Profile\/SearchProfileServiceFactoryFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Query\/FileFeatureTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Dump.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Sanity\/CountingRemediatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Profile\/CompletionSearchProfileRepositoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/CirrusDebugOptionsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/IndexedNumericFieldFeature.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Profile\/CompletionSearchProfileRepository.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/CirrusIntegrationTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Fallbacks\/FallbackStatusTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Wikimedia\/WeightedTags.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Profile\/SearchProfileException.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?\\Exception $cause = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":17,"column":44}]},"\/src\/repo\/includes\/BuildDocument\/BuildDocument.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?RevisionRecord $revision = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":166,"column":74}]},"\/src\/repo\/includes\/Profile\/ConfigSearchProfileOverride.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/BuildDocument\/BuildDocumentException.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?\\Throwable $cause = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":11,"column":51}]},"\/src\/repo\/includes\/Search\/Escaper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Fallbacks\/FallbackMethodTrait.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Search\/CirrusSearchIndexFieldFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Profile\/SearchProfileOverride.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/BuildDocument\/Completion\/SuggestBuilder.php":{"errors":3,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":95,"column":41},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $scoreExplanation = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":267,"column":91},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $scoreExplanation = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":296,"column":99},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $scoreExplanation = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":318,"column":104}]},"\/src\/repo\/includes\/Query\/BoostTemplatesFeature.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/MetaStore\/MetaVersionStoreTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Profile\/SearchProfileServiceFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Job\/ElasticaWrite.php":{"errors":4,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?string $updateKind = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":65,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?int $rootEventTime = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":66,"column":9},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":100,"column":20},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?StatsFactory $statsFactory = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":251,"column":55}]},"\/src\/repo\/tests\/phpunit\/unit\/Query\/KeywordFeatureAssertions.php":{"errors":13,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SearchConfig $config = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":46,"column":35},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?FetchPhaseConfigBuilder $fetchPhaseConfigBuilder = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":46,"column":64},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SearchConfig $config = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":115,"column":72},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $expectedWarnings = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":197,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SearchConfig $config = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":198,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $warnings = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":246,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SearchConfig $config = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":247,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SearchConfig $config = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":308,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $expectedWarnings = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":348,"column":78},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $highlightQuery = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":383,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SearchConfig $expandConfig = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":384,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?KeywordParser $parser = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":504,"column":72},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?HighlightFieldGenerator $fetchPhaseConfigBuilder = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":542,"column":71}]},"\/src\/repo\/tests\/phpunit\/unit\/Sanity\/AllClustersQueueingRemediatorTest.php":{"errors":0,"warnings":8,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":67,"column":30},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":68,"column":30},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":69,"column":32},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":70,"column":30},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":71,"column":30},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":72,"column":32},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":73,"column":30},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":74,"column":28}]},"\/src\/repo\/tests\/phpunit\/integration\/MetaStore\/MetaSaneitizeJobStoreTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Updater.php":{"errors":2,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?string $updateKind = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":187,"column":50},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?int $rootEventTime = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":187,"column":77}]},"\/src\/repo\/tests\/phpunit\/integration\/Hooks\/CirrusSearchApiQuerySiteInfoGeneralInfoHookTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/QueryHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/BuildDocument\/PagePropertyBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Fallbacks\/FallbackMethodTestBase.php":{"errors":3,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SearchQuery $query = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":19,"column":45},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?CirrusSearchResultSet $resultSet = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":19,"column":72},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?TitleHelper $titleHelper = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":44,"column":9}]},"\/src\/repo\/maintenance\/UpdateOneSearchIndexConfig.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":622,"column":13}]},"\/src\/repo\/tests\/phpunit\/unit\/Search\/ResultSetTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Profile\/SearchProfileRepositoryTransformer.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $profile = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":83,"column":33}]},"\/src\/repo\/includes\/Api\/QueryBuildDocument.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":38,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":158,"column":12}]},"\/src\/repo\/tests\/phpunit\/unit\/Parser\/QueryStringRegex\/NonPhraseParserTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/SearchQueryBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/NearMatchQueryBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Profile\/StaticProfileOverride.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/SuggestBuilderTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":157,"column":40}]},"\/src\/repo\/includes\/Search\/CirrusSearchResult.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Assignment\/MultiClusterAssignmentTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/ForceSearchIndex.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":307,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":330,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":522,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":535,"column":13}]},"\/src\/repo\/includes\/Query\/CompSuggestQueryBuilder.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":94,"column":49}]},"\/src\/repo\/includes\/Wikimedia\/WeightedTagsHooks.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/BooleanIndexField.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Elastica\/SearchAfterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/CirrusSearchResultBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/profiles\/FallbackProfiles.config.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Parser\/FullTextKeywordRegistryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Event\/PageRerenderSerializerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Search\/Rescore\/BoostedQueriesFunctionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/Builder\/NearMatchFieldQueryBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/ExpectedIndices.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/Builder\/ContextualFilter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Query\/SimpleKeywordFeatureTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/DataSender.php":{"errors":4,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?StatsFactory $stats = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":77,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?DocumentSizeLimiter $docSizeLimiter = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":78,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $tagWeights = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":99,"column":9},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":677,"column":13}]},"\/src\/repo\/includes\/Search\/SourceTextIndexField.php":{"errors":1,"warnings":1,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":17,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":38,"column":31}]},"\/src\/repo\/includes\/BuildDocument\/ParserOutputPageProperties.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/ElasticsearchIntermediaryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Maintenance\/Reindexer.php":{"errors":4,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Printer $out = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":93,"column":9},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":471,"column":20},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":528,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":534,"column":13}]},"\/src\/repo\/includes\/CirrusSearch.php":{"errors":8,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SearchConfig $config = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":162,"column":34},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?CirrusDebugOptions $debugOptions = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":163,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?NamespacePrefixParser $namespacePrefixParser = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":164,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?InterwikiResolver $interwikiResolver = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":165,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?TitleHelper $titleHelper = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":165,"column":54},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":178,"column":20},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?User $user = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":522,"column":48},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SearchConfig $config = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":666,"column":36}]},"\/src\/repo\/tests\/phpunit\/unit\/Fetch\/FetchPhaseConfigBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Parser\/QueryParserFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/MoreLikeTrait.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/ChangeListenerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/profiles\/FullTextQueryBuilderProfiles.config.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/CompletionRequestLog.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":44,"column":12}]},"\/src\/repo\/includes\/Parser\/QueryStringRegex\/QueryStringRegexParser.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":324,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":489,"column":13}]},"\/src\/repo\/tests\/phpunit\/integration\/UtilIntegrationTest.php":{"errors":2,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":187,"column":33},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Config $inherited = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":244,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SearchProfileServiceFactoryFactory $factoryFactory = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":245,"column":9}]},"\/src\/repo\/includes\/OtherIndexesUpdater.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":212,"column":40}]},"\/src\/repo\/includes\/Fallbacks\/PhraseSuggestFallbackMethod.php":{"errors":2,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?InterwikiResolver $interwikiResolver = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":61,"column":70},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":129,"column":13}]},"\/src\/repo\/includes\/ExternalIndex.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/Fetch\/BaseHighlightedField.php":{"errors":1,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":323,"column":46},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":364,"column":19}]},"\/src\/repo\/tests\/phpunit\/integration\/VersionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/WeightedTagsUpdater.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Search\/FiltersTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":129,"column":37}]},"\/src\/repo\/tests\/phpunit\/unit\/Parser\/BasicQueryClassifierTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/profiles\/SimilarityProfiles.config.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/Saneitize.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/SearchContext.php":{"errors":8,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $namespaces = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":231,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?CirrusDebugOptions $options = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":232,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?FallbackRunner $fallbackRunner = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":233,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?FetchPhaseConfigBuilder $fetchPhaseConfigBuilder = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":234,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?CirrusSearchHookRunner $cirrusSearchHookRunner = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":235,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?AbstractQuery $query = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":456,"column":40},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?FallbackRunner $fallbackRunner = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":846,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?CirrusSearchHookRunner $cirrusSearchHookRunner = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":847,"column":9}]},"\/src\/repo\/maintenance\/IndexNamespaces.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/ExternalIndexTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Query\/ArticleTopicFeatureTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Event\/EventBusBridge.php":{"errors":2,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?EventBusFactory $eventBusFactory = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":56,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?StreamNameMapper $streamNameMapper = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":57,"column":9}]},"\/src\/repo\/maintenance\/DumpIndex.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/BuildDocument\/Completion\/NaiveSubphrasesSuggestionsBuilder.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":54,"column":19}]},"\/src\/repo\/includes\/Event\/EventBridge.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/CirrusTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/Fetch\/HighlightedField.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/BuildDocument\/Completion\/SuggestScoringMethodFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Fallbacks\/IndexLookupFallbackMethodTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/Fetch\/HighlightFieldGenerator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parser\/QueryStringRegex\/Token.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Query\/SimpleKeywordFeature.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":168,"column":55}]},"\/src\/repo\/tests\/phpunit\/unit\/CirrusSearchTest.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $config = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":134,"column":39}]},"\/src\/repo\/tests\/phpunit\/unit\/Fallbacks\/FallbackRunnerContextImplTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/CompletionSuggesterTest.php":{"errors":0,"warnings":14,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":102,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":105,"column":53},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":108,"column":43},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":121,"column":31},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":124,"column":53},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":127,"column":43},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":131,"column":53},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":134,"column":45},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":162,"column":45},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":169,"column":45},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":174,"column":53},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":177,"column":43},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":184,"column":43},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":191,"column":43}]},"\/src\/repo\/tests\/phpunit\/unit\/Maintenance\/AnalysisConfigBuilderTest.php":{"errors":0,"warnings":7,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":567,"column":42},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":730,"column":49},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":731,"column":73},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":738,"column":37},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":739,"column":25},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":740,"column":56},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":741,"column":52}]},"\/src\/repo\/maintenance\/UpdateDYMIndexTemplates.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/MSearchResponses.php":{"errors":2,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Status $status = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":35,"column":70},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?callable $reordering = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":58,"column":85}]},"\/src\/repo\/includes\/Event\/PageRerenderSerializer.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?string $dt = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":48,"column":92}]},"\/src\/repo\/tests\/phpunit\/unit\/Parser\/FTQueryClassifiersRepositoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/BuildDocument\/Completion\/PQScore.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":47,"column":12}]},"\/src\/repo\/includes\/Search\/Fetch\/HighlightingTrait.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Query\/IndexedNumericFieldFeatureTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Maintenance\/SetTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Searcher.php":{"errors":7,"warnings":2,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":70,"column":46},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":72,"column":47},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $namespaces = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":164,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?User $user = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":165,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?CirrusDebugOptions $options = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":167,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?NamespacePrefixParser $namespacePrefixParser = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":168,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?InterwikiResolver $interwikiResolver = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":169,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?TitleHelper $titleHelper = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":170,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?CirrusSearchHookRunner $cirrusSearchHookRunner = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":171,"column":9}]},"\/src\/repo\/tests\/phpunit\/unit\/Dispatch\/DefaultSearchQueryDispatchServiceTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Search\/SearcherTest.php":{"errors":0,"warnings":4,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":154,"column":43},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":158,"column":43},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":159,"column":52},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":160,"column":44}]},"\/src\/repo\/includes\/Search\/CirrusSearchIndexFieldFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Profile\/SearchProfileServiceFactory.php":{"errors":2,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?WebRequest $request = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":148,"column":56},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?UserIdentity $user = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":148,"column":84}]},"\/src\/repo\/tests\/phpunit\/unit\/CrossSearchStrategyTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parser\/QueryStringRegex\/NonPhraseParser.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Query\/BoostTemplatesFeatureTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/HooksIntegrationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/KeywordIndexField.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":25,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":38,"column":12}]},"\/src\/repo\/includes\/Search\/ShortTextIndexField.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":14,"column":12}]},"\/src\/repo\/includes\/ExplainPrinter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":76,"column":13}]},"\/src\/repo\/includes\/Search\/Rescore\/InvalidRescoreProfileException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/CheckIndexes.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Fallbacks\/FallbackMethodTraitTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Query\/PreferRecentFeatureTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/MetaStore\/MetaStoreIndex.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":423,"column":13}]},"\/src\/repo\/tests\/phpunit\/integration\/UserTestingEngineTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Dispatch\/BasicSearchQueryRouteTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Dispatch\/CirrusDefaultSearchQueryRouteTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Fallbacks\/FallbackRunnerTest.php":{"errors":3,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?TitleHelper $titleHelper = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":46,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?callable $rewritteCallback = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":226,"column":54},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?callable $rewritteCallback = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":242,"column":17}]},"\/src\/repo\/tests\/phpunit\/integration\/Search\/ResultTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/MetaStore\/MetaSaneitizeJobStore.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":44,"column":69}]},"\/src\/repo\/includes\/Profile\/PhraseSuggesterProfileRepoWrapper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Search\/SearchConfigIntegrationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Search\/MSearchRequestsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/InterwikiResolverTest.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?MultiHttpClient $client = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":395,"column":27}]},"\/src\/repo\/tests\/phpunit\/unit\/Query\/InTitleFeatureTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Maintenance\/AnalyzerBuilder.php":{"errors":10,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?string $name = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":184,"column":51},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?string $name = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":196,"column":58},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?string $name = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":205,"column":66},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?string $name = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":216,"column":58},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?string $name = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":240,"column":40},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?string $name = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":250,"column":38},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?bool $ignoreCase = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":264,"column":13},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?string $name = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":277,"column":53},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?string $name = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":290,"column":50},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?bool $ignoreCase = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":610,"column":60}]},"\/src\/repo\/tests\/phpunit\/unit\/BuildDocument\/DefaultPagePropertiesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/IndexFieldsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Search\/SearchQueryTest.php":{"errors":2,"warnings":1,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $namespaces = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":200,"column":43},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":383,"column":66},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?CirrusDebugOptions $options = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":470,"column":9}]},"\/src\/repo\/includes\/MetaStore\/MetaVersionStore.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Search\/ResultsTypeTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Maintenance\/AnalysisFilterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Query\/PrefixFeatureTest.php":{"errors":0,"warnings":3,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":132,"column":23},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":138,"column":26},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":268,"column":23}]},"\/src\/repo\/includes\/Maintenance\/SuggesterAnalysisConfigBuilder.php":{"errors":0,"warnings":11,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":67,"column":38},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":68,"column":38},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":69,"column":38},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":70,"column":38},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":71,"column":38},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":72,"column":43},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":73,"column":43},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":113,"column":43},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":114,"column":43},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":115,"column":43},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":119,"column":43}]},"\/src\/repo\/maintenance\/RunSearch.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Maintenance\/ConfigUtilsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Fallbacks\/LangDetectFallbackMethodTest.php":{"errors":2,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SearchQuery $query = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":25,"column":45},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?CirrusSearchResultSet $resultSet = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":25,"column":72}]},"\/src\/repo\/tests\/phpunit\/integration\/BuildDocument\/ParserOutputPagePropertiesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Search\/SearchFieldsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Maintenance\/IndexCreatorTest.php":{"errors":0,"warnings":5,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":48,"column":16},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":49,"column":20},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":50,"column":17},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":51,"column":17},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":52,"column":16}]},"\/src\/repo\/tests\/phpunit\/integration\/Query\/LinksToFeatureTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":27,"column":20}]},"\/src\/repo\/tests\/phpunit\/integration\/BuildDocument\/DefaultPagePropertiesIntegrationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Query\/SimpleKeywordFeatureTestTrait.php":{"errors":8,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":21,"column":12},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $expectedWarnings = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":62,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SearchConfig $config = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":63,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $warnings = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":92,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SearchConfig $config = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":93,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $higlightQuery = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":124,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?array $warnings = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":158,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SearchConfig $config = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":159,"column":9}]},"\/src\/repo\/tests\/phpunit\/unit\/RescoreBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/RequestLoggerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/UpdateSuggesterIndex.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":635,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":730,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":746,"column":13}]},"\/src\/repo\/tests\/phpunit\/integration\/DataSenderTest.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?int $expectedRequestCount = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":388,"column":9}]},"\/src\/repo\/tests\/phpunit\/unit\/Wikimedia\/WeightedTagsHooksTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Wikimedia\/WeightedTagsFieldTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Assignment\/ConstantAssignmentTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Parser\/QueryStringRegex\/QueryStringRegexParserIntegrationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/standalone\/unit\/LanguageDetectTest.php":{"errors":0,"warnings":5,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":110,"column":61},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":115,"column":49},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":116,"column":60},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":118,"column":43},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":119,"column":35}]},"\/src\/repo\/tests\/phpunit\/integration\/Query\/DeepcatFeatureTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Maintenance\/AnalysisConfigBuilder.php":{"errors":2,"warnings":162,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SearchConfig $config = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":105,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?CirrusSearchHookRunner $cirrusSearchHookRunner = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":106,"column":9},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":466,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":633,"column":37},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":647,"column":38},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":648,"column":43},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":649,"column":43},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":650,"column":38},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":652,"column":38},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":688,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":689,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":690,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":691,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":692,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":693,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":694,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":695,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":696,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":697,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":698,"column":38},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":699,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":700,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":701,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":702,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":703,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":704,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":705,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":706,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":713,"column":32},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":714,"column":32},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":716,"column":37},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":719,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":720,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":723,"column":32},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":724,"column":32},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":725,"column":32},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":730,"column":49},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":731,"column":49},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":732,"column":49},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":733,"column":55},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":734,"column":67},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":740,"column":79},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":745,"column":79},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":752,"column":79},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":785,"column":38},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":851,"column":32},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":852,"column":32},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":853,"column":32},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":854,"column":32},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":855,"column":32},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":856,"column":32},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":857,"column":32},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":858,"column":32},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":859,"column":32},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":860,"column":32},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":861,"column":32},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":869,"column":32},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":870,"column":32},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":939,"column":31},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":958,"column":29},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1035,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1085,"column":53},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1188,"column":53},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1205,"column":39},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1206,"column":39},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1207,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1208,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1249,"column":29},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1279,"column":40},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1282,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1289,"column":31},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1315,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1316,"column":45},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1317,"column":45},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1318,"column":39},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1348,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1354,"column":31},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1365,"column":34},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1366,"column":34},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1367,"column":34},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1368,"column":34},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1369,"column":34},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1370,"column":29},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1371,"column":29},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1372,"column":45},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1373,"column":57},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1374,"column":57},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1375,"column":51},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1376,"column":51},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1377,"column":45},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1378,"column":45},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1392,"column":47},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1412,"column":37},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1413,"column":38},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1414,"column":38},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1415,"column":38},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1416,"column":38},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1417,"column":38},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1418,"column":38},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1419,"column":38},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1446,"column":30},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1451,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1453,"column":29},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1568,"column":38},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1876,"column":48},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1877,"column":41},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1878,"column":71},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1879,"column":48},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1880,"column":39},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1902,"column":25},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1903,"column":40},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1904,"column":26},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1905,"column":45},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1906,"column":54},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1907,"column":30},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1908,"column":32},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1909,"column":36},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1910,"column":26},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1911,"column":36},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1912,"column":26},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1913,"column":30},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1914,"column":43},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1915,"column":26},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1916,"column":25},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1917,"column":32},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1918,"column":42},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1919,"column":27},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1924,"column":27},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1929,"column":25},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1930,"column":54},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1931,"column":42},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1932,"column":46},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1933,"column":39},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1934,"column":27},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1935,"column":27},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1936,"column":68},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1937,"column":25},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1939,"column":32},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1940,"column":32},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1941,"column":25},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1942,"column":42},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1943,"column":38},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1946,"column":27},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1947,"column":34},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1948,"column":28},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1949,"column":34},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1950,"column":36},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1951,"column":36},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1952,"column":36},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1953,"column":30},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1954,"column":25},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1955,"column":25},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1956,"column":37},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1957,"column":27},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1958,"column":38},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1959,"column":50},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1960,"column":36},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1961,"column":71},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1984,"column":24},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1985,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1986,"column":24},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1987,"column":27},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1994,"column":24},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1995,"column":31}]},"\/src\/repo\/includes\/ChangeListener.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Maintenance\/ChunkBuilder.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Maintenance\/Exception\/IndexDumperException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Query\/MoreLikeFeatureTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/UserTestingStatus.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Query\/ContentModelFeatureTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Maintenance\/IndexTemplateBuilder.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":105,"column":13},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":112,"column":20},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":117,"column":20}]},"\/src\/repo\/includes\/Hooks.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":421,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":646,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":650,"column":12}]},"\/src\/repo\/includes\/HashSearchConfig.php":{"errors":3,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?Config $inherited = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":31,"column":9},{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?SearchProfileServiceFactoryFactory $searchProfileServiceFactoryFactory = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":32,"column":9},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":66,"column":12}]},"\/src\/repo\/tests\/phpunit\/resources\/wmf\/interwiki.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/resources\/wmf\/suffixes.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/MultiListBuilderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/PageChangeTrackerTest.php":{"errors":0,"warnings":0,"messages":[]}}}

--- end ---
 * sniff MediaWiki.Usage.NullableType.ExplicitNullableTypes is now failing
$ git checkout .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
16 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
> phpcs -sp --cache
> minus-x check .
--- stdout ---
PHP 8.2.20 | 10 parallel jobs
............................................................  60/585 ( 10%)
............................................................ 120/585 ( 20%)
............................................................ 180/585 ( 30%)
............................................................ 240/585 ( 41%)
............................................................ 300/585 ( 51%)
............................................................ 360/585 ( 61%)
............................................................ 420/585 ( 71%)
............................................................ 480/585 ( 82%)
............................................................ 540/585 ( 92%)
.............................................                585/585 (100%)


Checked 585 files in 2.4 seconds
No syntax error found
........................................................... 59 / 59 (100%)


Time: 586ms; Memory: 32MB

MinusX
======
Processing /src/repo...
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
........
All good!

--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {
    "@cucumber/cucumber": {
      "name": "@cucumber/cucumber",
      "severity": "high",
      "isDirect": false,
      "via": [
        "semver"
      ],
      "effects": [
        "@wdio/cucumber-framework"
      ],
      "range": "8.0.0-rc.1 - 9.2.0",
      "nodes": [
        "node_modules/@cucumber/cucumber"
      ],
      "fixAvailable": {
        "name": "@wdio/cucumber-framework",
        "version": "9.2.8",
        "isSemVerMajor": true
      }
    },
    "@wdio/cli": {
      "name": "@wdio/cli",
      "severity": "high",
      "isDirect": true,
      "via": [
        "webdriverio"
      ],
      "effects": [],
      "range": "7.16.5 - 8.40.6",
      "nodes": [
        "node_modules/@wdio/cli"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.2.11",
        "isSemVerMajor": true
      }
    },
    "@wdio/codemod": {
      "name": "@wdio/codemod",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "jscodeshift"
      ],
      "effects": [],
      "range": "*",
      "nodes": [
        "node_modules/@wdio/codemod"
      ],
      "fixAvailable": false
    },
    "@wdio/cucumber-framework": {
      "name": "@wdio/cucumber-framework",
      "severity": "critical",
      "isDirect": true,
      "via": [
        "@cucumber/cucumber",
        "mockery"
      ],
      "effects": [],
      "range": "<=8.15.10",
      "nodes": [
        "node_modules/@wdio/cucumber-framework"
      ],
      "fixAvailable": {
        "name": "@wdio/cucumber-framework",
        "version": "9.2.8",
        "isSemVerMajor": true
      }
    },
    "@wdio/local-runner": {
      "name": "@wdio/local-runner",
      "severity": "high",
      "isDirect": true,
      "via": [
        "@wdio/runner"
      ],
      "effects": [],
      "range": "7.16.5 - 8.40.6",
      "nodes": [
        "node_modules/@wdio/local-runner"
      ],
      "fixAvailable": {
        "name": "@wdio/local-runner",
        "version": "9.2.11",
        "isSemVerMajor": true
      }
    },
    "@wdio/runner": {
      "name": "@wdio/runner",
      "severity": "high",
      "isDirect": false,
      "via": [
        "webdriverio"
      ],
      "effects": [
        "@wdio/local-runner"
      ],
      "range": "7.16.5 - 8.40.6",
      "nodes": [
        "node_modules/@wdio/runner"
      ],
      "fixAvailable": {
        "name": "@wdio/local-runner",
        "version": "9.2.11",
        "isSemVerMajor": true
      }
    },
    "braces": {
      "name": "braces",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1098094,
          "name": "braces",
          "dependency": "braces",
          "title": "Uncontrolled resource consumption in braces",
          "url": "https://github.com/advisories/GHSA-grv7-fg5c-xmjg",
          "severity": "high",
          "cwe": [
            "CWE-400",
            "CWE-1050"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": "<3.0.3"
        }
      ],
      "effects": [
        "micromatch"
      ],
      "range": "<3.0.3",
      "nodes": [
        "node_modules/jscodeshift/node_modules/braces"
      ],
      "fixAvailable": false
    },
    "devtools": {
      "name": "devtools",
      "severity": "high",
      "isDirect": false,
      "via": [
        "puppeteer-core"
      ],
      "effects": [],
      "range": ">=7.16.5",
      "nodes": [
        "node_modules/devtools"
      ],
      "fixAvailable": true
    },
    "jscodeshift": {
      "name": "jscodeshift",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "micromatch"
      ],
      "effects": [
        "@wdio/codemod"
      ],
      "range": "0.3.20 - 0.13.1",
      "nodes": [
        "node_modules/jscodeshift"
      ],
      "fixAvailable": false
    },
    "micromatch": {
      "name": "micromatch",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1098681,
          "name": "micromatch",
          "dependency": "micromatch",
          "title": "Regular Expression Denial of Service (ReDoS) in micromatch",
          "url": "https://github.com/advisories/GHSA-952p-6rrq-rcjv",
          "severity": "moderate",
          "cwe": [
            "CWE-1333"
          ],
          "cvss": {
            "score": 5.3,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"
          },
          "range": "<4.0.8"
        },
        "braces"
      ],
      "effects": [
        "jscodeshift"
      ],
      "range": "<=4.0.7",
      "nodes": [
        "node_modules/jscodeshift/node_modules/micromatch",
        "node_modules/micromatch"
      ],
      "fixAvailable": false
    },
    "mockery": {
      "name": "mockery",
      "severity": "critical",
      "isDirect": false,
      "via": [
        {
          "source": 1092753,
          "name": "mockery",
          "dependency": "mockery",
          "title": "mockery is vulnerable to prototype pollution",
          "url": "https://github.com/advisories/GHSA-gmwp-3pwc-3j3g",
          "severity": "critical",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 9.8,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
          },
          "range": "<=2.1.0"
        }
      ],
      "effects": [
        "@wdio/cucumber-framework"
      ],
      "range": "*",
      "nodes": [
        "node_modules/mockery"
      ],
      "fixAvailable": {
        "name": "@wdio/cucumber-framework",
        "version": "9.2.8",
        "isSemVerMajor": true
      }
    },
    "mwbot": {
      "name": "mwbot",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "request"
      ],
      "effects": [
        "wdio-mediawiki"
      ],
      "range": ">=0.1.6",
      "nodes": [
        "node_modules/mwbot",
        "node_modules/wdio-mediawiki/node_modules/mwbot"
      ],
      "fixAvailable": false
    },
    "puppeteer-core": {
      "name": "puppeteer-core",
      "severity": "high",
      "isDirect": false,
      "via": [
        "ws"
      ],
      "effects": [
        "devtools",
        "webdriverio"
      ],
      "range": "11.0.0 - 22.11.1",
      "nodes": [
        "node_modules/devtools/node_modules/puppeteer-core",
        "node_modules/puppeteer-core"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.2.11",
        "isSemVerMajor": true
      }
    },
    "request": {
      "name": "request",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        {
          "source": 1096727,
          "name": "request",
          "dependency": "request",
          "title": "Server-Side Request Forgery in Request",
          "url": "https://github.com/advisories/GHSA-p8p7-x288-28g6",
          "severity": "moderate",
          "cwe": [
            "CWE-918"
          ],
          "cvss": {
            "score": 6.1,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"
          },
          "range": "<=2.88.2"
        },
        "tough-cookie"
      ],
      "effects": [
        "mwbot",
        "request-promise-core",
        "request-promise-native"
      ],
      "range": "*",
      "nodes": [
        "node_modules/request"
      ],
      "fixAvailable": false
    },
    "request-promise-core": {
      "name": "request-promise-core",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "request"
      ],
      "effects": [
        "request-promise-native"
      ],
      "range": "*",
      "nodes": [
        "node_modules/request-promise-core"
      ],
      "fixAvailable": {
        "name": "request-promise-native",
        "version": "0.0.0",
        "isSemVerMajor": true
      }
    },
    "request-promise-native": {
      "name": "request-promise-native",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "request",
        "request-promise-core"
      ],
      "effects": [],
      "range": ">=1.0.0",
      "nodes": [
        "node_modules/request-promise-native"
      ],
      "fixAvailable": {
        "name": "request-promise-native",
        "version": "0.0.0",
        "isSemVerMajor": true
      }
    },
    "restify": {
      "name": "restify",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "send"
      ],
      "effects": [],
      "range": ">=8.1.0",
      "nodes": [
        "node_modules/restify"
      ],
      "fixAvailable": {
        "name": "restify",
        "version": "8.0.0",
        "isSemVerMajor": true
      }
    },
    "semver": {
      "name": "semver",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1098562,
          "name": "semver",
          "dependency": "semver",
          "title": "semver vulnerable to Regular Expression Denial of Service",
          "url": "https://github.com/advisories/GHSA-c2qf-rxjj-qqgw",
          "severity": "high",
          "cwe": [
            "CWE-1333"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": ">=7.0.0 <7.5.2"
        }
      ],
      "effects": [
        "@cucumber/cucumber"
      ],
      "range": "7.0.0 - 7.5.1",
      "nodes": [
        "node_modules/@cucumber/cucumber/node_modules/semver"
      ],
      "fixAvailable": {
        "name": "@wdio/cucumber-framework",
        "version": "9.2.8",
        "isSemVerMajor": true
      }
    },
    "send": {
      "name": "send",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1099525,
          "name": "send",
          "dependency": "send",
          "title": "send vulnerable to template injection that can lead to XSS",
          "url": "https://github.com/advisories/GHSA-m6fv-jmcg-4jfg",
          "severity": "moderate",
          "cwe": [
            "CWE-79"
          ],
          "cvss": {
            "score": 5,
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:L"
          },
          "range": "<0.19.0"
        }
      ],
      "effects": [
        "restify"
      ],
      "range": "<0.19.0",
      "nodes": [
        "node_modules/send"
      ],
      "fixAvailable": {
        "name": "restify",
        "version": "8.0.0",
        "isSemVerMajor": true
      }
    },
    "tough-cookie": {
      "name": "tough-cookie",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1097682,
          "name": "tough-cookie",
          "dependency": "tough-cookie",
          "title": "tough-cookie Prototype Pollution vulnerability",
          "url": "https://github.com/advisories/GHSA-72xf-g2v4-qvf3",
          "severity": "moderate",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 6.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N"
          },
          "range": "<4.1.3"
        }
      ],
      "effects": [
        "request"
      ],
      "range": "<4.1.3",
      "nodes": [
        "node_modules/tough-cookie"
      ],
      "fixAvailable": false
    },
    "wdio-mediawiki": {
      "name": "wdio-mediawiki",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "mwbot"
      ],
      "effects": [],
      "range": "*",
      "nodes": [
        "node_modules/wdio-mediawiki"
      ],
      "fixAvailable": false
    },
    "webdriverio": {
      "name": "webdriverio",
      "severity": "high",
      "isDirect": false,
      "via": [
        "devtools",
        "puppeteer-core"
      ],
      "effects": [
        "@wdio/cli",
        "@wdio/runner"
      ],
      "range": "7.16.5 - 8.40.6",
      "nodes": [
        "node_modules/webdriverio"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.2.11",
        "isSemVerMajor": true
      }
    },
    "ws": {
      "name": "ws",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1098392,
          "name": "ws",
          "dependency": "ws",
          "title": "ws affected by a DoS when handling a request with many HTTP headers",
          "url": "https://github.com/advisories/GHSA-3h5v-q93c-6h6q",
          "severity": "high",
          "cwe": [
            "CWE-476"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": ">=8.0.0 <8.17.1"
        }
      ],
      "effects": [
        "puppeteer-core"
      ],
      "range": "8.0.0 - 8.17.0",
      "nodes": [
        "node_modules/devtools/node_modules/ws",
        "node_modules/ws"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.2.11",
        "isSemVerMajor": true
      }
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 0,
      "moderate": 10,
      "high": 11,
      "critical": 2,
      "total": 23
    },
    "dependencies": {
      "prod": 1,
      "dev": 1301,
      "optional": 12,
      "peer": 87,
      "peerOptional": 0,
      "total": 1301
    }
  }
}

--- 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": 1301,
  "removed": 0,
  "changed": 0,
  "audited": 1302,
  "funding": 143,
  "audit": {
    "auditReportVersion": 2,
    "vulnerabilities": {
      "@cucumber/cucumber": {
        "name": "@cucumber/cucumber",
        "severity": "high",
        "isDirect": false,
        "via": [
          "semver"
        ],
        "effects": [
          "@wdio/cucumber-framework"
        ],
        "range": "8.0.0-rc.1 - 9.2.0",
        "nodes": [
          "node_modules/@cucumber/cucumber"
        ],
        "fixAvailable": {
          "name": "@wdio/cucumber-framework",
          "version": "9.2.8",
          "isSemVerMajor": true
        }
      },
      "@wdio/cli": {
        "name": "@wdio/cli",
        "severity": "high",
        "isDirect": true,
        "via": [
          "webdriverio"
        ],
        "effects": [],
        "range": "7.16.5 - 8.40.6",
        "nodes": [
          "node_modules/@wdio/cli"
        ],
        "fixAvailable": {
          "name": "@wdio/cli",
          "version": "9.2.11",
          "isSemVerMajor": true
        }
      },
      "@wdio/codemod": {
        "name": "@wdio/codemod",
        "severity": "moderate",
        "isDirect": true,
        "via": [
          "jscodeshift"
        ],
        "effects": [],
        "range": "*",
        "nodes": [
          "node_modules/@wdio/codemod"
        ],
        "fixAvailable": false
      },
      "@wdio/cucumber-framework": {
        "name": "@wdio/cucumber-framework",
        "severity": "critical",
        "isDirect": true,
        "via": [
          "@cucumber/cucumber",
          "mockery"
        ],
        "effects": [],
        "range": "<=8.15.10",
        "nodes": [
          "node_modules/@wdio/cucumber-framework"
        ],
        "fixAvailable": {
          "name": "@wdio/cucumber-framework",
          "version": "9.2.8",
          "isSemVerMajor": true
        }
      },
      "@wdio/local-runner": {
        "name": "@wdio/local-runner",
        "severity": "high",
        "isDirect": true,
        "via": [
          "@wdio/runner"
        ],
        "effects": [],
        "range": "7.16.5 - 8.40.6",
        "nodes": [
          "node_modules/@wdio/local-runner"
        ],
        "fixAvailable": {
          "name": "@wdio/local-runner",
          "version": "9.2.11",
          "isSemVerMajor": true
        }
      },
      "@wdio/runner": {
        "name": "@wdio/runner",
        "severity": "high",
        "isDirect": false,
        "via": [
          "webdriverio"
        ],
        "effects": [
          "@wdio/local-runner"
        ],
        "range": "7.16.5 - 8.40.6",
        "nodes": [
          "node_modules/@wdio/runner"
        ],
        "fixAvailable": {
          "name": "@wdio/local-runner",
          "version": "9.2.11",
          "isSemVerMajor": true
        }
      },
      "braces": {
        "name": "braces",
        "severity": "high",
        "isDirect": false,
        "via": [
          {
            "source": 1098094,
            "name": "braces",
            "dependency": "braces",
            "title": "Uncontrolled resource consumption in braces",
            "url": "https://github.com/advisories/GHSA-grv7-fg5c-xmjg",
            "severity": "high",
            "cwe": [
              "CWE-400",
              "CWE-1050"
            ],
            "cvss": {
              "score": 7.5,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
            },
            "range": "<3.0.3"
          }
        ],
        "effects": [
          "micromatch"
        ],
        "range": "<3.0.3",
        "nodes": [
          "node_modules/jscodeshift/node_modules/braces"
        ],
        "fixAvailable": false
      },
      "devtools": {
        "name": "devtools",
        "severity": "high",
        "isDirect": false,
        "via": [
          "puppeteer-core"
        ],
        "effects": [],
        "range": ">=7.16.5",
        "nodes": [
          "node_modules/devtools"
        ],
        "fixAvailable": true
      },
      "jscodeshift": {
        "name": "jscodeshift",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          "micromatch"
        ],
        "effects": [
          "@wdio/codemod"
        ],
        "range": "0.3.20 - 0.13.1",
        "nodes": [
          "node_modules/jscodeshift"
        ],
        "fixAvailable": false
      },
      "micromatch": {
        "name": "micromatch",
        "severity": "high",
        "isDirect": false,
        "via": [
          {
            "source": 1098681,
            "name": "micromatch",
            "dependency": "micromatch",
            "title": "Regular Expression Denial of Service (ReDoS) in micromatch",
            "url": "https://github.com/advisories/GHSA-952p-6rrq-rcjv",
            "severity": "moderate",
            "cwe": [
              "CWE-1333"
            ],
            "cvss": {
              "score": 5.3,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"
            },
            "range": "<4.0.8"
          },
          "braces"
        ],
        "effects": [
          "jscodeshift"
        ],
        "range": "<=4.0.7",
        "nodes": [
          "",
          "node_modules/jscodeshift/node_modules/micromatch"
        ],
        "fixAvailable": false
      },
      "mockery": {
        "name": "mockery",
        "severity": "critical",
        "isDirect": false,
        "via": [
          {
            "source": 1092753,
            "name": "mockery",
            "dependency": "mockery",
            "title": "mockery is vulnerable to prototype pollution",
            "url": "https://github.com/advisories/GHSA-gmwp-3pwc-3j3g",
            "severity": "critical",
            "cwe": [
              "CWE-1321"
            ],
            "cvss": {
              "score": 9.8,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
            },
            "range": "<=2.1.0"
          }
        ],
        "effects": [
          "@wdio/cucumber-framework"
        ],
        "range": "*",
        "nodes": [
          "node_modules/mockery"
        ],
        "fixAvailable": {
          "name": "@wdio/cucumber-framework",
          "version": "9.2.8",
          "isSemVerMajor": true
        }
      },
      "mwbot": {
        "name": "mwbot",
        "severity": "moderate",
        "isDirect": true,
        "via": [
          "request"
        ],
        "effects": [
          "wdio-mediawiki"
        ],
        "range": ">=0.1.6",
        "nodes": [
          "node_modules/mwbot",
          "node_modules/wdio-mediawiki/node_modules/mwbot"
        ],
        "fixAvailable": false
      },
      "puppeteer-core": {
        "name": "puppeteer-core",
        "severity": "high",
        "isDirect": false,
        "via": [
          "ws"
        ],
        "effects": [
          "devtools",
          "webdriverio"
        ],
        "range": "11.0.0 - 22.11.1",
        "nodes": [
          "node_modules/devtools/node_modules/puppeteer-core",
          "node_modules/puppeteer-core"
        ],
        "fixAvailable": {
          "name": "@wdio/cli",
          "version": "9.2.11",
          "isSemVerMajor": true
        }
      },
      "request": {
        "name": "request",
        "severity": "moderate",
        "isDirect": true,
        "via": [
          {
            "source": 1096727,
            "name": "request",
            "dependency": "request",
            "title": "Server-Side Request Forgery in Request",
            "url": "https://github.com/advisories/GHSA-p8p7-x288-28g6",
            "severity": "moderate",
            "cwe": [
              "CWE-918"
            ],
            "cvss": {
              "score": 6.1,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"
            },
            "range": "<=2.88.2"
          },
          "tough-cookie"
        ],
        "effects": [
          "mwbot",
          "request-promise-core",
          "request-promise-native"
        ],
        "range": "*",
        "nodes": [
          "node_modules/request"
        ],
        "fixAvailable": false
      },
      "request-promise-core": {
        "name": "request-promise-core",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          "request"
        ],
        "effects": [
          "request-promise-native"
        ],
        "range": "*",
        "nodes": [
          "node_modules/request-promise-core"
        ],
        "fixAvailable": {
          "name": "request-promise-native",
          "version": "0.0.0",
          "isSemVerMajor": true
        }
      },
      "request-promise-native": {
        "name": "request-promise-native",
        "severity": "moderate",
        "isDirect": true,
        "via": [
          "request",
          "request-promise-core"
        ],
        "effects": [],
        "range": ">=1.0.0",
        "nodes": [
          "node_modules/request-promise-native"
        ],
        "fixAvailable": {
          "name": "request-promise-native",
          "version": "0.0.0",
          "isSemVerMajor": true
        }
      },
      "restify": {
        "name": "restify",
        "severity": "moderate",
        "isDirect": true,
        "via": [
          "send"
        ],
        "effects": [],
        "range": ">=8.1.0",
        "nodes": [
          "node_modules/restify"
        ],
        "fixAvailable": {
          "name": "restify",
          "version": "8.0.0",
          "isSemVerMajor": true
        }
      },
      "semver": {
        "name": "semver",
        "severity": "high",
        "isDirect": false,
        "via": [
          {
            "source": 1098562,
            "name": "semver",
            "dependency": "semver",
            "title": "semver vulnerable to Regular Expression Denial of Service",
            "url": "https://github.com/advisories/GHSA-c2qf-rxjj-qqgw",
            "severity": "high",
            "cwe": [
              "CWE-1333"
            ],
            "cvss": {
              "score": 7.5,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
            },
            "range": ">=7.0.0 <7.5.2"
          }
        ],
        "effects": [
          "@cucumber/cucumber"
        ],
        "range": "7.0.0 - 7.5.1",
        "nodes": [
          "node_modules/@cucumber/cucumber/node_modules/semver"
        ],
        "fixAvailable": {
          "name": "@wdio/cucumber-framework",
          "version": "9.2.8",
          "isSemVerMajor": true
        }
      },
      "send": {
        "name": "send",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          {
            "source": 1099525,
            "name": "send",
            "dependency": "send",
            "title": "send vulnerable to template injection that can lead to XSS",
            "url": "https://github.com/advisories/GHSA-m6fv-jmcg-4jfg",
            "severity": "moderate",
            "cwe": [
              "CWE-79"
            ],
            "cvss": {
              "score": 5,
              "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:L"
            },
            "range": "<0.19.0"
          }
        ],
        "effects": [
          "restify"
        ],
        "range": "<0.19.0",
        "nodes": [
          "node_modules/send"
        ],
        "fixAvailable": {
          "name": "restify",
          "version": "8.0.0",
          "isSemVerMajor": true
        }
      },
      "tough-cookie": {
        "name": "tough-cookie",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          {
            "source": 1097682,
            "name": "tough-cookie",
            "dependency": "tough-cookie",
            "title": "tough-cookie Prototype Pollution vulnerability",
            "url": "https://github.com/advisories/GHSA-72xf-g2v4-qvf3",
            "severity": "moderate",
            "cwe": [
              "CWE-1321"
            ],
            "cvss": {
              "score": 6.5,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N"
            },
            "range": "<4.1.3"
          }
        ],
        "effects": [
          "request"
        ],
        "range": "<4.1.3",
        "nodes": [
          "node_modules/tough-cookie"
        ],
        "fixAvailable": false
      },
      "wdio-mediawiki": {
        "name": "wdio-mediawiki",
        "severity": "moderate",
        "isDirect": true,
        "via": [
          "mwbot"
        ],
        "effects": [],
        "range": "*",
        "nodes": [
          "node_modules/wdio-mediawiki"
        ],
        "fixAvailable": false
      },
      "webdriverio": {
        "name": "webdriverio",
        "severity": "high",
        "isDirect": false,
        "via": [
          "devtools",
          "puppeteer-core"
        ],
        "effects": [
          "@wdio/cli",
          "@wdio/runner"
        ],
        "range": "7.16.5 - 8.40.6",
        "nodes": [
          "node_modules/webdriverio"
        ],
        "fixAvailable": {
          "name": "@wdio/cli",
          "version": "9.2.11",
          "isSemVerMajor": true
        }
      },
      "ws": {
        "name": "ws",
        "severity": "high",
        "isDirect": false,
        "via": [
          {
            "source": 1098392,
            "name": "ws",
            "dependency": "ws",
            "title": "ws affected by a DoS when handling a request with many HTTP headers",
            "url": "https://github.com/advisories/GHSA-3h5v-q93c-6h6q",
            "severity": "high",
            "cwe": [
              "CWE-476"
            ],
            "cvss": {
              "score": 7.5,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
            },
            "range": ">=8.0.0 <8.17.1"
          }
        ],
        "effects": [
          "puppeteer-core"
        ],
        "range": "8.0.0 - 8.17.0",
        "nodes": [
          "node_modules/devtools/node_modules/ws",
          "node_modules/ws"
        ],
        "fixAvailable": {
          "name": "@wdio/cli",
          "version": "9.2.11",
          "isSemVerMajor": true
        }
      }
    },
    "metadata": {
      "vulnerabilities": {
        "info": 0,
        "low": 0,
        "moderate": 10,
        "high": 11,
        "critical": 2,
        "total": 23
      },
      "dependencies": {
        "prod": 1,
        "dev": 1301,
        "optional": 12,
        "peer": 87,
        "peerOptional": 0,
        "total": 1301
      }
    }
  }
}

--- end ---
{"added": 1301, "removed": 0, "changed": 0, "audited": 1302, "funding": 143, "audit": {"auditReportVersion": 2, "vulnerabilities": {"@cucumber/cucumber": {"name": "@cucumber/cucumber", "severity": "high", "isDirect": false, "via": ["semver"], "effects": ["@wdio/cucumber-framework"], "range": "8.0.0-rc.1 - 9.2.0", "nodes": ["node_modules/@cucumber/cucumber"], "fixAvailable": {"name": "@wdio/cucumber-framework", "version": "9.2.8", "isSemVerMajor": true}}, "@wdio/cli": {"name": "@wdio/cli", "severity": "high", "isDirect": true, "via": ["webdriverio"], "effects": [], "range": "7.16.5 - 8.40.6", "nodes": ["node_modules/@wdio/cli"], "fixAvailable": {"name": "@wdio/cli", "version": "9.2.11", "isSemVerMajor": true}}, "@wdio/codemod": {"name": "@wdio/codemod", "severity": "moderate", "isDirect": true, "via": ["jscodeshift"], "effects": [], "range": "*", "nodes": ["node_modules/@wdio/codemod"], "fixAvailable": false}, "@wdio/cucumber-framework": {"name": "@wdio/cucumber-framework", "severity": "critical", "isDirect": true, "via": ["@cucumber/cucumber", "mockery"], "effects": [], "range": "<=8.15.10", "nodes": ["node_modules/@wdio/cucumber-framework"], "fixAvailable": {"name": "@wdio/cucumber-framework", "version": "9.2.8", "isSemVerMajor": true}}, "@wdio/local-runner": {"name": "@wdio/local-runner", "severity": "high", "isDirect": true, "via": ["@wdio/runner"], "effects": [], "range": "7.16.5 - 8.40.6", "nodes": ["node_modules/@wdio/local-runner"], "fixAvailable": {"name": "@wdio/local-runner", "version": "9.2.11", "isSemVerMajor": true}}, "@wdio/runner": {"name": "@wdio/runner", "severity": "high", "isDirect": false, "via": ["webdriverio"], "effects": ["@wdio/local-runner"], "range": "7.16.5 - 8.40.6", "nodes": ["node_modules/@wdio/runner"], "fixAvailable": {"name": "@wdio/local-runner", "version": "9.2.11", "isSemVerMajor": true}}, "braces": {"name": "braces", "severity": "high", "isDirect": false, "via": [{"source": 1098094, "name": "braces", "dependency": "braces", "title": "Uncontrolled resource consumption in braces", "url": "https://github.com/advisories/GHSA-grv7-fg5c-xmjg", "severity": "high", "cwe": ["CWE-400", "CWE-1050"], "cvss": {"score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}, "range": "<3.0.3"}], "effects": ["micromatch"], "range": "<3.0.3", "nodes": ["node_modules/jscodeshift/node_modules/braces"], "fixAvailable": false}, "devtools": {"name": "devtools", "severity": "high", "isDirect": false, "via": ["puppeteer-core"], "effects": [], "range": ">=7.16.5", "nodes": ["node_modules/devtools"], "fixAvailable": true}, "jscodeshift": {"name": "jscodeshift", "severity": "moderate", "isDirect": false, "via": ["micromatch"], "effects": ["@wdio/codemod"], "range": "0.3.20 - 0.13.1", "nodes": ["node_modules/jscodeshift"], "fixAvailable": false}, "micromatch": {"name": "micromatch", "severity": "high", "isDirect": false, "via": [{"source": 1098681, "name": "micromatch", "dependency": "micromatch", "title": "Regular Expression Denial of Service (ReDoS) in micromatch", "url": "https://github.com/advisories/GHSA-952p-6rrq-rcjv", "severity": "moderate", "cwe": ["CWE-1333"], "cvss": {"score": 5.3, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"}, "range": "<4.0.8"}, "braces"], "effects": ["jscodeshift"], "range": "<=4.0.7", "nodes": ["", "node_modules/jscodeshift/node_modules/micromatch"], "fixAvailable": false}, "mockery": {"name": "mockery", "severity": "critical", "isDirect": false, "via": [{"source": 1092753, "name": "mockery", "dependency": "mockery", "title": "mockery is vulnerable to prototype pollution", "url": "https://github.com/advisories/GHSA-gmwp-3pwc-3j3g", "severity": "critical", "cwe": ["CWE-1321"], "cvss": {"score": 9.8, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"}, "range": "<=2.1.0"}], "effects": ["@wdio/cucumber-framework"], "range": "*", "nodes": ["node_modules/mockery"], "fixAvailable": {"name": "@wdio/cucumber-framework", "version": "9.2.8", "isSemVerMajor": true}}, "mwbot": {"name": "mwbot", "severity": "moderate", "isDirect": true, "via": ["request"], "effects": ["wdio-mediawiki"], "range": ">=0.1.6", "nodes": ["node_modules/mwbot", "node_modules/wdio-mediawiki/node_modules/mwbot"], "fixAvailable": false}, "puppeteer-core": {"name": "puppeteer-core", "severity": "high", "isDirect": false, "via": ["ws"], "effects": ["devtools", "webdriverio"], "range": "11.0.0 - 22.11.1", "nodes": ["node_modules/devtools/node_modules/puppeteer-core", "node_modules/puppeteer-core"], "fixAvailable": {"name": "@wdio/cli", "version": "9.2.11", "isSemVerMajor": true}}, "request": {"name": "request", "severity": "moderate", "isDirect": true, "via": [{"source": 1096727, "name": "request", "dependency": "request", "title": "Server-Side Request Forgery in Request", "url": "https://github.com/advisories/GHSA-p8p7-x288-28g6", "severity": "moderate", "cwe": ["CWE-918"], "cvss": {"score": 6.1, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"}, "range": "<=2.88.2"}, "tough-cookie"], "effects": ["mwbot", "request-promise-core", "request-promise-native"], "range": "*", "nodes": ["node_modules/request"], "fixAvailable": false}, "request-promise-core": {"name": "request-promise-core", "severity": "moderate", "isDirect": false, "via": ["request"], "effects": ["request-promise-native"], "range": "*", "nodes": ["node_modules/request-promise-core"], "fixAvailable": {"name": "request-promise-native", "version": "0.0.0", "isSemVerMajor": true}}, "request-promise-native": {"name": "request-promise-native", "severity": "moderate", "isDirect": true, "via": ["request", "request-promise-core"], "effects": [], "range": ">=1.0.0", "nodes": ["node_modules/request-promise-native"], "fixAvailable": {"name": "request-promise-native", "version": "0.0.0", "isSemVerMajor": true}}, "restify": {"name": "restify", "severity": "moderate", "isDirect": true, "via": ["send"], "effects": [], "range": ">=8.1.0", "nodes": ["node_modules/restify"], "fixAvailable": {"name": "restify", "version": "8.0.0", "isSemVerMajor": true}}, "semver": {"name": "semver", "severity": "high", "isDirect": false, "via": [{"source": 1098562, "name": "semver", "dependency": "semver", "title": "semver vulnerable to Regular Expression Denial of Service", "url": "https://github.com/advisories/GHSA-c2qf-rxjj-qqgw", "severity": "high", "cwe": ["CWE-1333"], "cvss": {"score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}, "range": ">=7.0.0 <7.5.2"}], "effects": ["@cucumber/cucumber"], "range": "7.0.0 - 7.5.1", "nodes": ["node_modules/@cucumber/cucumber/node_modules/semver"], "fixAvailable": {"name": "@wdio/cucumber-framework", "version": "9.2.8", "isSemVerMajor": true}}, "send": {"name": "send", "severity": "moderate", "isDirect": false, "via": [{"source": 1099525, "name": "send", "dependency": "send", "title": "send vulnerable to template injection that can lead to XSS", "url": "https://github.com/advisories/GHSA-m6fv-jmcg-4jfg", "severity": "moderate", "cwe": ["CWE-79"], "cvss": {"score": 5, "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:L"}, "range": "<0.19.0"}], "effects": ["restify"], "range": "<0.19.0", "nodes": ["node_modules/send"], "fixAvailable": {"name": "restify", "version": "8.0.0", "isSemVerMajor": true}}, "tough-cookie": {"name": "tough-cookie", "severity": "moderate", "isDirect": false, "via": [{"source": 1097682, "name": "tough-cookie", "dependency": "tough-cookie", "title": "tough-cookie Prototype Pollution vulnerability", "url": "https://github.com/advisories/GHSA-72xf-g2v4-qvf3", "severity": "moderate", "cwe": ["CWE-1321"], "cvss": {"score": 6.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N"}, "range": "<4.1.3"}], "effects": ["request"], "range": "<4.1.3", "nodes": ["node_modules/tough-cookie"], "fixAvailable": false}, "wdio-mediawiki": {"name": "wdio-mediawiki", "severity": "moderate", "isDirect": true, "via": ["mwbot"], "effects": [], "range": "*", "nodes": ["node_modules/wdio-mediawiki"], "fixAvailable": false}, "webdriverio": {"name": "webdriverio", "severity": "high", "isDirect": false, "via": ["devtools", "puppeteer-core"], "effects": ["@wdio/cli", "@wdio/runner"], "range": "7.16.5 - 8.40.6", "nodes": ["node_modules/webdriverio"], "fixAvailable": {"name": "@wdio/cli", "version": "9.2.11", "isSemVerMajor": true}}, "ws": {"name": "ws", "severity": "high", "isDirect": false, "via": [{"source": 1098392, "name": "ws", "dependency": "ws", "title": "ws affected by a DoS when handling a request with many HTTP headers", "url": "https://github.com/advisories/GHSA-3h5v-q93c-6h6q", "severity": "high", "cwe": ["CWE-476"], "cvss": {"score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}, "range": ">=8.0.0 <8.17.1"}], "effects": ["puppeteer-core"], "range": "8.0.0 - 8.17.0", "nodes": ["node_modules/devtools/node_modules/ws", "node_modules/ws"], "fixAvailable": {"name": "@wdio/cli", "version": "9.2.11", "isSemVerMajor": true}}}, "metadata": {"vulnerabilities": {"info": 0, "low": 0, "moderate": 10, "high": 11, "critical": 2, "total": 23}, "dependencies": {"prod": 1, "dev": 1301, "optional": 12, "peer": 87, "peerOptional": 0, "total": 1301}}}}
$ /usr/bin/npm audit fix --only=dev
--- stderr ---
npm WARN invalid config only="dev" set in command line options
npm WARN invalid config Must be one of: null, prod, production
npm WARN deprecated @types/easy-table@1.2.0: This is a stub types definition. easy-table provides its own type definitions, so you do not need this installed.
npm WARN deprecated source-map-url@0.4.1: See https://github.com/lydell/source-map-url#deprecated
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated request-promise-native@1.0.5: request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@8.1.0: Glob versions prior to v9 are no longer supported
npm WARN deprecated source-map-resolve@0.5.3: See https://github.com/lydell/source-map-resolve#deprecated
npm WARN deprecated formidable@1.2.2: Please upgrade to latest, formidable@v2 or formidable@v3! Check these notes: https://bit.ly/2ZEqIau
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
--- stdout ---

added 1300 packages, and audited 1301 packages in 17s

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

# npm audit report

braces  <3.0.3
Severity: high
Uncontrolled resource consumption in braces - https://github.com/advisories/GHSA-grv7-fg5c-xmjg
No fix available
node_modules/jscodeshift/node_modules/braces
  micromatch  <=4.0.7
  Depends on vulnerable versions of braces
  node_modules/jscodeshift/node_modules/micromatch
    jscodeshift  0.3.20 - 0.13.1
    Depends on vulnerable versions of micromatch
    node_modules/jscodeshift
      @wdio/codemod  *
      Depends on vulnerable versions of jscodeshift
      node_modules/@wdio/codemod


mockery  *
Severity: critical
mockery is vulnerable to prototype pollution - https://github.com/advisories/GHSA-gmwp-3pwc-3j3g
fix available via `npm audit fix --force`
Will install @wdio/cucumber-framework@9.2.8, which is a breaking change
node_modules/mockery
  @wdio/cucumber-framework  <=8.15.10
  Depends on vulnerable versions of @cucumber/cucumber
  Depends on vulnerable versions of mockery
  node_modules/@wdio/cucumber-framework

request  *
Severity: moderate
Server-Side Request Forgery in Request - https://github.com/advisories/GHSA-p8p7-x288-28g6
Depends on vulnerable versions of tough-cookie
fix available via `npm audit fix --force`
Will install request-promise-native@0.0.0, which is a breaking change
node_modules/request
  mwbot  >=0.1.6
  Depends on vulnerable versions of request
  node_modules/mwbot
  node_modules/wdio-mediawiki/node_modules/mwbot
    wdio-mediawiki  *
    Depends on vulnerable versions of mwbot
    node_modules/wdio-mediawiki
  request-promise-core  *
  Depends on vulnerable versions of request
  node_modules/request-promise-core
    request-promise-native  >=1.0.0
    Depends on vulnerable versions of request
    Depends on vulnerable versions of request-promise-core
    node_modules/request-promise-native

semver  7.0.0 - 7.5.1
Severity: high
semver vulnerable to Regular Expression Denial of Service - https://github.com/advisories/GHSA-c2qf-rxjj-qqgw
fix available via `npm audit fix --force`
Will install @wdio/cucumber-framework@9.2.8, which is a breaking change
node_modules/@cucumber/cucumber/node_modules/semver
  @cucumber/cucumber  8.0.0-rc.1 - 9.2.0
  Depends on vulnerable versions of semver
  node_modules/@cucumber/cucumber

send  <0.19.0
Severity: moderate
send vulnerable to template injection that can lead to XSS - https://github.com/advisories/GHSA-m6fv-jmcg-4jfg
fix available via `npm audit fix --force`
Will install restify@8.0.0, which is a breaking change
node_modules/send
  restify  >=8.1.0
  Depends on vulnerable versions of send
  node_modules/restify

tough-cookie  <4.1.3
Severity: moderate
tough-cookie Prototype Pollution vulnerability - https://github.com/advisories/GHSA-72xf-g2v4-qvf3
fix available via `npm audit fix --force`
Will install request-promise-native@0.0.0, which is a breaking change
node_modules/tough-cookie

ws  8.0.0 - 8.17.0
Severity: high
ws affected by a DoS when handling a request with many HTTP headers - https://github.com/advisories/GHSA-3h5v-q93c-6h6q
fix available via `npm audit fix --force`
Will install @wdio/cli@9.2.11, which is a breaking change
node_modules/devtools/node_modules/ws
node_modules/ws
  puppeteer-core  11.0.0 - 22.11.1
  Depends on vulnerable versions of ws
  node_modules/devtools/node_modules/puppeteer-core
  node_modules/puppeteer-core
    devtools  >=7.16.5
    Depends on vulnerable versions of puppeteer-core
    node_modules/devtools
    webdriverio  7.16.5 - 8.40.6
    Depends on vulnerable versions of devtools
    Depends on vulnerable versions of puppeteer-core
    node_modules/webdriverio
      @wdio/cli  7.16.5 - 8.40.6
      Depends on vulnerable versions of webdriverio
      node_modules/@wdio/cli
      @wdio/runner  7.16.5 - 8.40.6
      Depends on vulnerable versions of webdriverio
      node_modules/@wdio/runner
        @wdio/local-runner  7.16.5 - 8.40.6
        Depends on vulnerable versions of @wdio/runner
        node_modules/@wdio/local-runner

23 vulnerabilities (10 moderate, 11 high, 2 critical)

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

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

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

--- end ---
Verifying that tests still pass
$ /usr/bin/npm ci
--- stderr ---
npm WARN deprecated @types/easy-table@1.2.0: This is a stub types definition. easy-table provides its own type definitions, so you do not need this installed.
npm WARN deprecated source-map-url@0.4.1: See https://github.com/lydell/source-map-url#deprecated
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated request-promise-native@1.0.5: request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@8.1.0: Glob versions prior to v9 are no longer supported
npm WARN deprecated source-map-resolve@0.5.3: See https://github.com/lydell/source-map-resolve#deprecated
npm WARN deprecated formidable@1.2.2: Please upgrade to latest, formidable@v2 or formidable@v3! Check these notes: https://bit.ly/2ZEqIau
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
--- stdout ---

added 1300 packages, and audited 1301 packages in 27s

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

23 vulnerabilities (10 moderate, 11 high, 2 critical)

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

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

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

Run `npm audit` for details.

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

> cirrussearch@0.0.0 test
> grunt test

Running "eslint:all" (eslint) task

/src/repo/tests/integration/config/wdio.conf.js
  309:4  warning  Found unlinkSync from package "fs" with non literal argument at index 0  security/detect-non-literal-fs-filename

/src/repo/tests/integration/features/step_definitions/page_step_helpers.js
  65:12  warning  Found readFileSync from package "fs" with non literal argument at index 0  security/detect-non-literal-fs-filename

/src/repo/tests/integration/features/step_definitions/page_steps.js
  120:7  warning  Unsafe Regular Expression                        security/detect-unsafe-regex
  133:5  warning  ES2022 'Array.prototype.at' method is forbidden  es-x/no-array-string-prototype-at
  136:4  warning  ES2022 'Array.prototype.at' method is forbidden  es-x/no-array-string-prototype-at
  158:7  warning  Unsafe Regular Expression                        security/detect-unsafe-regex
  166:7  warning  Unsafe Regular Expression                        security/detect-unsafe-regex
  201:7  warning  Unsafe Regular Expression                        security/detect-unsafe-regex
  221:7  warning  Unsafe Regular Expression                        security/detect-unsafe-regex
  303:7  warning  Unsafe Regular Expression                        security/detect-unsafe-regex
  464:7  warning  Unsafe Regular Expression                        security/detect-unsafe-regex
  610:2  warning  ES2022 'Array.prototype.at' method is forbidden  es-x/no-array-string-prototype-at
  618:2  warning  ES2022 'Array.prototype.at' method is forbidden  es-x/no-array-string-prototype-at

/src/repo/tests/integration/features/support/hooks.js
   32:37  warning  Found readFileSync from package "fs" with non literal argument at index 0  security/detect-non-literal-fs-filename
  143:11  warning  Found readFileSync from package "fs" with non literal argument at index 0  security/detect-non-literal-fs-filename

/src/repo/tests/integration/features/support/pages/article_page.js
  20:2  warning  Missing JSDoc @return declaration  jsdoc/require-returns

/src/repo/tests/integration/features/support/pages/search_results_page.js
  127:2  warning  Missing JSDoc @return declaration  jsdoc/require-returns

/src/repo/tests/integration/lib/tracker.js
  106:4  warning  Don't use process.exit(); throw an error instead  n/no-process-exit

✖ 18 problems (0 errors, 18 warnings)


Running "banana:CirrusSearch" (banana) task
>> 2 message directories checked.

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

Done.

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

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

The following sniffs are failing and were disabled:
* MediaWiki.Usage.NullableType.ExplicitNullableTypes

$ git add .
--- stdout ---

--- end ---
$ git commit -F /tmp/tmppen52itr
--- stdout ---
[REL1_43 594e0b6] build: Updating mediawiki/mediawiki-codesniffer to 45.0.0
 3 files changed, 8 insertions(+), 7 deletions(-)

--- end ---
$ git format-patch HEAD~1 --stdout
--- stdout ---
From 594e0b654f320743e6fff65d25e490cbe2095338 Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Sun, 10 Nov 2024 02:32:01 +0000
Subject: [PATCH] build: Updating mediawiki/mediawiki-codesniffer to 45.0.0

The following sniffs are failing and were disabled:
* MediaWiki.Usage.NullableType.ExplicitNullableTypes

Change-Id: I9cb22b13393db7df4469a423830e5e6380826c5f
---
 .phpcs.xml        |  1 +
 composer.json     |  2 +-
 package-lock.json | 12 ++++++------
 3 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/.phpcs.xml b/.phpcs.xml
index b2e2381..1dea352 100644
--- a/.phpcs.xml
+++ b/.phpcs.xml
@@ -4,6 +4,7 @@
 		<exclude name="MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate" />
 		<exclude name="MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic" />
 		<exclude name="MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName" />
+		<exclude name="MediaWiki.Usage.NullableType.ExplicitNullableTypes" />
 		<exclude name="MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment" />
 		<exclude name="PSR2.Methods.MethodDeclaration.Underscore" />
 	</rule>
diff --git a/composer.json b/composer.json
index 26787fa..751d764 100644
--- a/composer.json
+++ b/composer.json
@@ -10,7 +10,7 @@
 	},
 	"require-dev": {
 		"justinrainbow/json-schema": "~5.2",
-		"mediawiki/mediawiki-codesniffer": "44.0.0",
+		"mediawiki/mediawiki-codesniffer": "45.0.0",
 		"mediawiki/mediawiki-phan-config": "0.14.0",
 		"mediawiki/minus-x": "1.1.3",
 		"php-parallel-lint/php-console-highlighter": "1.0.0",
diff --git a/package-lock.json b/package-lock.json
index 550e84f..73c36f8 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -10579,9 +10579,9 @@
 			}
 		},
 		"node_modules/micromatch": {
-			"version": "4.0.7",
-			"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz",
-			"integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==",
+			"version": "4.0.8",
+			"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
+			"integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
 			"dev": true,
 			"dependencies": {
 				"braces": "^3.0.3",
@@ -23635,9 +23635,9 @@
 			"dev": true
 		},
 		"micromatch": {
-			"version": "4.0.7",
-			"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz",
-			"integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==",
+			"version": "4.0.8",
+			"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
+			"integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
 			"dev": true,
 			"requires": {
 				"braces": "^3.0.3",
-- 
2.39.2


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