mediawiki/extensions/Flow: main (log #2368388)

sourcepatches

This run took 91 seconds.

From 37d3c66284cd6a181f5e135afe8e35cdc06fb05f Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Sun, 1 Mar 2026 09:59:35 +0000
Subject: [PATCH] build: Updating dependencies
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

composer:
* mediawiki/mediawiki-codesniffer: 49.0.0 → 50.0.0
* mediawiki/mediawiki-phan-config: 0.18.0 → 0.19.0

npm:
* api-testing: 1.7.2 → 1.7.3

Change-Id: I5b7c16f79ad970743eeb49cbafcddcb0fe669316
---
 composer.json     |  4 ++--
 package-lock.json | 42 +++++++++++++++++++++---------------------
 package.json      |  2 +-
 3 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/composer.json b/composer.json
index 0f444cb..2db1e5c 100644
--- a/composer.json
+++ b/composer.json
@@ -7,8 +7,8 @@
 		"psr/container": "1.* || 2.*"
 	},
 	"require-dev": {
-		"mediawiki/mediawiki-codesniffer": "49.0.0",
-		"mediawiki/mediawiki-phan-config": "0.18.0",
+		"mediawiki/mediawiki-codesniffer": "50.0.0",
+		"mediawiki/mediawiki-phan-config": "0.19.0",
 		"mediawiki/minus-x": "2.0.1",
 		"php-parallel-lint/php-console-highlighter": "1.0.0",
 		"php-parallel-lint/php-parallel-lint": "1.4.0",
diff --git a/package-lock.json b/package-lock.json
index a22ebe3..8076395 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -8,7 +8,7 @@
 			"name": "flow",
 			"version": "0.0.0",
 			"devDependencies": {
-				"api-testing": "1.7.2",
+				"api-testing": "1.7.3",
 				"eslint-config-wikimedia": "0.32.3",
 				"grunt": "1.6.1",
 				"grunt-banana-checker": "0.13.0",
@@ -718,12 +718,12 @@
 			}
 		},
 		"node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": {
-			"version": "9.0.5",
-			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
-			"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+			"version": "9.0.9",
+			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz",
+			"integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==",
 			"dev": true,
 			"dependencies": {
-				"brace-expansion": "^2.0.1"
+				"brace-expansion": "^2.0.2"
 			},
 			"engines": {
 				"node": ">=16 || 14 >=14.17"
@@ -858,9 +858,9 @@
 			}
 		},
 		"node_modules/api-testing": {
-			"version": "1.7.2",
-			"resolved": "https://registry.npmjs.org/api-testing/-/api-testing-1.7.2.tgz",
-			"integrity": "sha512-W6vgHMjmTUMq8He4pRdpLNjfkBre0N/ygv6tT6jrWZQdZlBWDZHi+0pEg8FxBi0U9QzhUfaATrPZkfnF7YVt3g==",
+			"version": "1.7.3",
+			"resolved": "https://registry.npmjs.org/api-testing/-/api-testing-1.7.3.tgz",
+			"integrity": "sha512-wvXUqkiflOur6kI57onNt2BQ6Hse0BRCIzThc1W7W4LEfVvLUCyKOp8EQna9tKqMZ7K1Rz/ptrCSzHe9XEo+Bw==",
 			"dev": true,
 			"dependencies": {
 				"chai": "4.5.0",
@@ -3930,9 +3930,9 @@
 			}
 		},
 		"node_modules/minimatch": {
-			"version": "3.1.2",
-			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
-			"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+			"version": "3.1.5",
+			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz",
+			"integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==",
 			"dev": true,
 			"dependencies": {
 				"brace-expansion": "^1.1.7"
@@ -6493,12 +6493,12 @@
 					}
 				},
 				"minimatch": {
-					"version": "9.0.5",
-					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
-					"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+					"version": "9.0.9",
+					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz",
+					"integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==",
 					"dev": true,
 					"requires": {
-						"brace-expansion": "^2.0.1"
+						"brace-expansion": "^2.0.2"
 					}
 				}
 			}
@@ -6586,9 +6586,9 @@
 			}
 		},
 		"api-testing": {
-			"version": "1.7.2",
-			"resolved": "https://registry.npmjs.org/api-testing/-/api-testing-1.7.2.tgz",
-			"integrity": "sha512-W6vgHMjmTUMq8He4pRdpLNjfkBre0N/ygv6tT6jrWZQdZlBWDZHi+0pEg8FxBi0U9QzhUfaATrPZkfnF7YVt3g==",
+			"version": "1.7.3",
+			"resolved": "https://registry.npmjs.org/api-testing/-/api-testing-1.7.3.tgz",
+			"integrity": "sha512-wvXUqkiflOur6kI57onNt2BQ6Hse0BRCIzThc1W7W4LEfVvLUCyKOp8EQna9tKqMZ7K1Rz/ptrCSzHe9XEo+Bw==",
 			"dev": true,
 			"requires": {
 				"chai": "4.5.0",
@@ -8834,9 +8834,9 @@
 			"dev": true
 		},
 		"minimatch": {
-			"version": "3.1.2",
-			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
-			"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+			"version": "3.1.5",
+			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz",
+			"integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==",
 			"dev": true,
 			"requires": {
 				"brace-expansion": "^1.1.7"
diff --git a/package.json b/package.json
index ea41c21..8b0cffd 100644
--- a/package.json
+++ b/package.json
@@ -8,7 +8,7 @@
 		"test": "grunt test"
 	},
 	"devDependencies": {
-		"api-testing": "1.7.2",
+		"api-testing": "1.7.3",
 		"eslint-config-wikimedia": "0.32.3",
 		"grunt": "1.6.1",
 		"grunt-banana-checker": "0.13.0",
-- 
2.47.3

$ date
--- stdout ---
Sun Mar  1 09:58:18 UTC 2026

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

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

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

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

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

--- end ---
$ git show-ref refs/heads/master
--- stdout ---
70e619af00ba429a4b9df12f0dccc33ec1a1ecc5 refs/heads/master

--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {
    "gaze": {
      "name": "gaze",
      "severity": "high",
      "isDirect": false,
      "via": [
        "globule"
      ],
      "effects": [
        "grunt-contrib-watch"
      ],
      "range": ">=0.4.0",
      "nodes": [
        "node_modules/gaze"
      ],
      "fixAvailable": {
        "name": "grunt-contrib-watch",
        "version": "0.4.4",
        "isSemVerMajor": true
      }
    },
    "globule": {
      "name": "globule",
      "severity": "high",
      "isDirect": false,
      "via": [
        "minimatch"
      ],
      "effects": [
        "gaze"
      ],
      "range": "*",
      "nodes": [
        "node_modules/globule"
      ],
      "fixAvailable": {
        "name": "grunt-contrib-watch",
        "version": "0.4.4",
        "isSemVerMajor": true
      }
    },
    "grunt": {
      "name": "grunt",
      "severity": "high",
      "isDirect": true,
      "via": [
        "minimatch"
      ],
      "effects": [
        "grunt-eslint"
      ],
      "range": ">=0.4.0-a",
      "nodes": [
        "node_modules/grunt"
      ],
      "fixAvailable": {
        "name": "grunt",
        "version": "0.3.17",
        "isSemVerMajor": true
      }
    },
    "grunt-contrib-watch": {
      "name": "grunt-contrib-watch",
      "severity": "high",
      "isDirect": true,
      "via": [
        "gaze"
      ],
      "effects": [],
      "range": ">=0.5.0",
      "nodes": [
        "node_modules/grunt-contrib-watch"
      ],
      "fixAvailable": {
        "name": "grunt-contrib-watch",
        "version": "0.4.4",
        "isSemVerMajor": true
      }
    },
    "grunt-eslint": {
      "name": "grunt-eslint",
      "severity": "high",
      "isDirect": true,
      "via": [
        "grunt"
      ],
      "effects": [],
      "range": "<=1.0.0 || >=18.1.0",
      "nodes": [
        "node_modules/grunt-eslint"
      ],
      "fixAvailable": {
        "name": "grunt-eslint",
        "version": "18.0.0",
        "isSemVerMajor": true
      }
    },
    "minimatch": {
      "name": "minimatch",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1113459,
          "name": "minimatch",
          "dependency": "minimatch",
          "title": "minimatch has a ReDoS via repeated wildcards with non-matching literal in pattern",
          "url": "https://github.com/advisories/GHSA-3ppc-4f35-3m26",
          "severity": "high",
          "cwe": [
            "CWE-1333"
          ],
          "cvss": {
            "score": 0,
            "vectorString": null
          },
          "range": "<3.1.3"
        },
        {
          "source": 1113465,
          "name": "minimatch",
          "dependency": "minimatch",
          "title": "minimatch has a ReDoS via repeated wildcards with non-matching literal in pattern",
          "url": "https://github.com/advisories/GHSA-3ppc-4f35-3m26",
          "severity": "high",
          "cwe": [
            "CWE-1333"
          ],
          "cvss": {
            "score": 0,
            "vectorString": null
          },
          "range": ">=9.0.0 <9.0.6"
        },
        {
          "source": 1113538,
          "name": "minimatch",
          "dependency": "minimatch",
          "title": "minimatch has ReDoS: matchOne() combinatorial backtracking via multiple non-adjacent GLOBSTAR segments",
          "url": "https://github.com/advisories/GHSA-7r86-cg39-jmmj",
          "severity": "high",
          "cwe": [
            "CWE-407"
          ],
          "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.1.3"
        },
        {
          "source": 1113544,
          "name": "minimatch",
          "dependency": "minimatch",
          "title": "minimatch has ReDoS: matchOne() combinatorial backtracking via multiple non-adjacent GLOBSTAR segments",
          "url": "https://github.com/advisories/GHSA-7r86-cg39-jmmj",
          "severity": "high",
          "cwe": [
            "CWE-407"
          ],
          "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": ">=9.0.0 <9.0.7"
        },
        {
          "source": 1113546,
          "name": "minimatch",
          "dependency": "minimatch",
          "title": "minimatch ReDoS: nested *() extglobs generate catastrophically backtracking regular expressions",
          "url": "https://github.com/advisories/GHSA-23c5-xmqv-rm74",
          "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": "<3.1.4"
        },
        {
          "source": 1113552,
          "name": "minimatch",
          "dependency": "minimatch",
          "title": "minimatch ReDoS: nested *() extglobs generate catastrophically backtracking regular expressions",
          "url": "https://github.com/advisories/GHSA-23c5-xmqv-rm74",
          "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": ">=9.0.0 <9.0.7"
        }
      ],
      "effects": [
        "globule",
        "grunt"
      ],
      "range": "<=3.1.3 || 9.0.0 - 9.0.6",
      "nodes": [
        "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch",
        "node_modules/globule/node_modules/minimatch",
        "node_modules/grunt/node_modules/minimatch",
        "node_modules/minimatch"
      ],
      "fixAvailable": {
        "name": "grunt",
        "version": "0.3.17",
        "isSemVerMajor": true
      }
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 0,
      "moderate": 0,
      "high": 6,
      "critical": 0,
      "total": 6
    },
    "dependencies": {
      "prod": 1,
      "dev": 494,
      "optional": 0,
      "peer": 1,
      "peerOptional": 0,
      "total": 494
    }
  }
}

--- 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 (3.3.2)
  - Locking composer/semver (3.4.4)
  - Locking composer/spdx-licenses (1.5.9)
  - Locking composer/xdebug-handler (3.0.5)
  - Locking dealerdirect/phpcodesniffer-composer-installer (v1.2.0)
  - Locking doctrine/deprecations (1.1.6)
  - Locking felixfbecker/advanced-json-rpc (v3.2.1)
  - Locking mediawiki/mediawiki-codesniffer (v49.0.0)
  - Locking mediawiki/mediawiki-phan-config (0.18.0)
  - Locking mediawiki/minus-x (2.0.1)
  - Locking mediawiki/phan-taint-check-plugin (8.0.0)
  - Locking microsoft/tolerant-php-parser (v0.1.2)
  - Locking netresearch/jsonmapper (v4.5.0)
  - Locking phan/phan (5.5.2)
  - Locking php-parallel-lint/php-console-color (v1.0.1)
  - Locking php-parallel-lint/php-console-highlighter (v1.0.0)
  - Locking php-parallel-lint/php-parallel-lint (v1.4.0)
  - Locking phpcsstandards/phpcsextra (1.4.0)
  - Locking phpcsstandards/phpcsutils (1.2.2)
  - Locking phpdocumentor/reflection-common (2.2.0)
  - Locking phpdocumentor/reflection-docblock (5.6.6)
  - Locking phpdocumentor/type-resolver (1.12.0)
  - Locking phpstan/phpdoc-parser (2.3.2)
  - Locking pimple/pimple (v3.6.1)
  - Locking psr/container (2.0.2)
  - Locking psr/log (3.0.2)
  - Locking sabre/event (5.1.7)
  - Locking squizlabs/php_codesniffer (3.13.5)
  - Locking symfony/console (v7.4.6)
  - Locking symfony/css-selector (v2.8.52)
  - Locking symfony/deprecation-contracts (v3.6.0)
  - Locking symfony/dom-crawler (v2.8.52)
  - Locking symfony/polyfill-ctype (v1.33.0)
  - Locking symfony/polyfill-intl-grapheme (v1.33.0)
  - Locking symfony/polyfill-intl-normalizer (v1.33.0)
  - Locking symfony/polyfill-mbstring (v1.33.0)
  - Locking symfony/polyfill-php80 (v1.33.0)
  - Locking symfony/service-contracts (v3.6.1)
  - Locking symfony/string (v8.0.6)
  - Locking tysonandre/var_representation_polyfill (0.1.3)
  - Locking webmozart/assert (2.1.6)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 41 installs, 0 updates, 0 removals
  - Downloading pimple/pimple (v3.6.1)
 0/1 [>---------------------------]   0%
 1/1 [============================] 100%
  - Installing squizlabs/php_codesniffer (3.13.5): Extracting archive
  - Installing dealerdirect/phpcodesniffer-composer-installer (v1.2.0): Extracting archive
  - Installing composer/pcre (3.3.2): Extracting archive
  - Installing phpcsstandards/phpcsutils (1.2.2): Extracting archive
  - Installing phpcsstandards/phpcsextra (1.4.0): Extracting archive
  - Installing symfony/polyfill-mbstring (v1.33.0): Extracting archive
  - Installing composer/spdx-licenses (1.5.9): Extracting archive
  - Installing composer/semver (3.4.4): Extracting archive
  - Installing mediawiki/mediawiki-codesniffer (v49.0.0): Extracting archive
  - Installing tysonandre/var_representation_polyfill (0.1.3): Extracting archive
  - Installing symfony/polyfill-php80 (v1.33.0): Extracting archive
  - Installing symfony/polyfill-intl-normalizer (v1.33.0): Extracting archive
  - Installing symfony/polyfill-intl-grapheme (v1.33.0): Extracting archive
  - Installing symfony/polyfill-ctype (v1.33.0): Extracting archive
  - Installing symfony/string (v8.0.6): Extracting archive
  - Installing symfony/deprecation-contracts (v3.6.0): Extracting archive
  - Installing psr/container (2.0.2): Extracting archive
  - Installing symfony/service-contracts (v3.6.1): Extracting archive
  - Installing symfony/console (v7.4.6): Extracting archive
  - Installing sabre/event (5.1.7): Extracting archive
  - Installing netresearch/jsonmapper (v4.5.0): Extracting archive
  - Installing microsoft/tolerant-php-parser (v0.1.2): Extracting archive
  - Installing webmozart/assert (2.1.6): Extracting archive
  - Installing phpstan/phpdoc-parser (2.3.2): Extracting archive
  - Installing phpdocumentor/reflection-common (2.2.0): Extracting archive
  - Installing doctrine/deprecations (1.1.6): Extracting archive
  - Installing phpdocumentor/type-resolver (1.12.0): Extracting archive
  - Installing phpdocumentor/reflection-docblock (5.6.6): Extracting archive
  - Installing felixfbecker/advanced-json-rpc (v3.2.1): Extracting archive
  - Installing psr/log (3.0.2): Extracting archive
  - Installing composer/xdebug-handler (3.0.5): Extracting archive
  - Installing phan/phan (5.5.2): Extracting archive
  - Installing mediawiki/phan-taint-check-plugin (8.0.0): Extracting archive
  - Installing mediawiki/mediawiki-phan-config (0.18.0): Extracting archive
  - Installing mediawiki/minus-x (2.0.1): Extracting archive
  - Installing php-parallel-lint/php-console-color (v1.0.1): Extracting archive
  - Installing php-parallel-lint/php-console-highlighter (v1.0.0): Extracting archive
  - Installing php-parallel-lint/php-parallel-lint (v1.4.0): Extracting archive
  - Installing pimple/pimple (v3.6.1): Extracting archive
  - Installing symfony/css-selector (v2.8.52): Extracting archive
  - Installing symfony/dom-crawler (v2.8.52): Extracting archive
  0/39 [>---------------------------]   0%
 27/39 [===================>--------]  69%
 38/39 [===========================>]  97%
 39/39 [============================] 100%
1 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating autoload files
17 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 n:api-testing from 1.7.2 -> 1.7.3
$ /usr/bin/npm install
--- stderr ---
npm WARN deprecated @humanwhocodes/config-array@0.13.0: Use @eslint/config-array instead
npm WARN deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
npm WARN deprecated eslint@8.57.1: This version is no longer supported. Please see https://eslint.org/version-support for other options.
--- stdout ---

added 494 packages, and audited 495 packages in 5s

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

6 high severity vulnerabilities

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

Run `npm audit` for details.

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

--- end ---
$ /usr/bin/npm ci
--- stderr ---
npm WARN deprecated @humanwhocodes/config-array@0.13.0: Use @eslint/config-array instead
npm WARN deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
npm WARN deprecated eslint@8.57.1: This version is no longer supported. Please see https://eslint.org/version-support for other options.
--- stdout ---

added 494 packages, and audited 495 packages in 7s

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

6 high severity vulnerabilities

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

Run `npm audit` for details.

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

> flow@0.0.0 test
> grunt test

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

Running "eslint:all" (eslint) task

/src/repo/modules/editor/editors/visualeditor/mw.flow.ve.Target.js
  104:4  warning  'sessionState' is never reassigned. Use 'const' instead  prefer-const
  116:3  warning  'doc' is never reassigned. Use 'const' instead           prefer-const
  148:3  warning  'newMode' is never reassigned. Use 'const' instead       prefer-const
  149:3  warning  'oldFormat' is never reassigned. Use 'const' instead     prefer-const
  150:3  warning  'newFormat' is never reassigned. Use 'const' instead     prefer-const
  151:3  warning  'doc' is never reassigned. Use 'const' instead           prefer-const
  153:3  warning  'content' is never reassigned. Use 'const' instead       prefer-const
  157:3  warning  Prefer .then to .fail                                    no-jquery/no-done-fail
  167:4  warning  'surfaceModel' is never reassigned. Use 'const' instead  prefer-const

/src/repo/modules/editor/editors/visualeditor/mw.flow.ve.UserCache.js
  52:23  warning  'newData' is never reassigned. Use 'const' instead    prefer-const
  86:15  warning  'cacheData' is never reassigned. Use 'const' instead  prefer-const

/src/repo/modules/editor/editors/visualeditor/ui/inspectors/mw.flow.ve.ui.MentionInspector.js
   66:3  warning  'key' is never reassigned. Use 'const' instead            prefer-const
   67:3  warning  'value' is never reassigned. Use 'const' instead          prefer-const
   68:3  warning  'inspector' is never reassigned. Use 'const' instead      prefer-const
   71:3  warning  Prefer .then to .done                                     no-jquery/no-done-fail
  101:3  warning  'key' is never reassigned. Use 'const' instead            prefer-const
  107:3  warning  'templateModel' is never reassigned. Use 'const' instead  prefer-const
  142:4  warning  Prefer .then to .done                                     no-jquery/no-done-fail
  167:3  warning  'flowBoard' is never reassigned. Use 'const' instead      prefer-const
  172:3  warning  'overlay' is never reassigned. Use 'const' instead        prefer-const
  177:3  warning  'iconWidget' is never reassigned. Use 'const' instead     prefer-const
  200:4  warning  'surfaceModel' is never reassigned. Use 'const' instead   prefer-const
  206:4  warning  Prefer .then to .done                                     no-jquery/no-done-fail
  260:3  warning  'errorText' is never reassigned. Use 'const' instead      prefer-const

/src/repo/modules/editor/editors/visualeditor/ui/widgets/mw.flow.ve.ui.MentionTargetInputWidget.js
  20:4   warning  ES2015 'Object.assign' method is forbidden         es-x/no-object-assign
  27:41  warning  ES2015 'Object.assign' method is forbidden         es-x/no-object-assign
  85:4   warning  'widget' is never reassigned. Use 'const' instead  prefer-const
  86:4   warning  'value' is never reassigned. Use 'const' instead   prefer-const
  94:3   warning  'xhr' is never reassigned. Use 'const' instead     prefer-const

/src/repo/modules/engine/components/board/base/flow-board-api-events.js
   10:1   warning  The type 'FlowComponent' is undefined                      jsdoc/no-undefined-types
   62:10  warning  ES2015 'Object.assign' method is forbidden                 es-x/no-object-assign
  107:4   warning  'flowBoard' is never reassigned. Use 'const' instead       prefer-const
  108:4   warning  'dfd' is never reassigned. Use 'const' instead             prefer-const
  115:3   warning  '$rendered' is never reassigned. Use 'const' instead       prefer-const
  163:4   warning  '$target' is never reassigned. Use 'const' instead         prefer-const
  164:4   warning  '$tooltipTarget' is never reassigned. Use 'const' instead  prefer-const
  165:4   warning  'flowBoard' is never reassigned. Use 'const' instead       prefer-const
  167:4   warning  'url' is never reassigned. Use 'const' instead             prefer-const
  168:4   warning  'links' is never reassigned. Use 'const' instead           prefer-const
  193:3   warning  '$newLink' is never reassigned. Use 'const' instead        prefer-const
  230:4   warning  '$target' is never reassigned. Use 'const' instead         prefer-const
  235:4   warning  '$replacement' is never reassigned. Use 'const' instead    prefer-const
  257:4   warning  '$replacement' is never reassigned. Use 'const' instead    prefer-const
  262:4   warning  '$target' is never reassigned. Use 'const' instead         prefer-const
  275:2   warning  Found more than one @return declaration                    jsdoc/require-returns
  275:2   warning  Found more than one @return declaration                    jsdoc/require-returns-check
  289:5   warning  '$this' is never reassigned. Use 'const' instead           prefer-const
  296:4   warning  '$form' is never reassigned. Use 'const' instead           prefer-const
  297:4   warning  'revisionId' is never reassigned. Use 'const' instead      prefer-const
  298:4   warning  '$target' is never reassigned. Use 'const' instead         prefer-const
  299:4   warning  'flowBoard' is never reassigned. Use 'const' instead       prefer-const
  302:11  warning  Prefer .then to .done                                      no-jquery/no-done-fail
  302:11  warning  Prefer .then to .done                                      no-jquery/no-done-fail
  324:4   warning  'flowBoard' is never reassigned. Use 'const' instead       prefer-const
  327:10  warning  Prefer .then to .done                                      no-jquery/no-done-fail
  327:10  warning  Prefer .then to .fail                                      no-jquery/no-done-fail

/src/repo/modules/engine/components/board/base/flow-board-interactive-events.js
  9:1  warning  The type 'FlowComponent' is undefined  jsdoc/no-undefined-types

/src/repo/modules/engine/components/board/base/flow-board-load-events.js
  9:1  warning  The type 'FlowComponent' is undefined  jsdoc/no-undefined-types

/src/repo/modules/engine/components/board/base/flow-boardandhistory-base.js
   66:4  warning  '$this' is never reassigned. Use 'const' instead          prefer-const
   67:4  warning  'flowComponent' is never reassigned. Use 'const' instead  prefer-const
   70:4  warning  'role' is never reassigned. Use 'const' instead           prefer-const
   71:4  warning  'template' is never reassigned. Use 'const' instead       prefer-const
   72:4  warning  'params' is never reassigned. Use 'const' instead         prefer-const
   79:4  warning  '$deferred' is never reassigned. Use 'const' instead      prefer-const
  100:3  warning  '$form' is never reassigned. Use 'const' instead          prefer-const
  118:7  warning  'target' is never reassigned. Use 'const' instead         prefer-const
  119:4  warning  '$form' is never reassigned. Use 'const' instead          prefer-const
  120:4  warning  'flowComponent' is never reassigned. Use 'const' instead  prefer-const
  121:4  warning  '$fields' is never reassigned. Use 'const' instead        prefer-const
  123:4  warning  '$deferred' is never reassigned. Use 'const' instead      prefer-const
  124:4  warning  'callbacks' is never reassigned. Use 'const' instead      prefer-const

/src/repo/modules/engine/components/board/features/flow-board-loadmore.js
   51:4   warning  'flowBoard' is never reassigned. Use 'const' instead                   prefer-const
   53:4   warning  '_scrollWithoutInfinite' is never reassigned. Use 'const' instead      prefer-const
  100:3   warning  'apiParameters' is never reassigned. Use 'const' instead               prefer-const
  119:3   warning  Prefer .then to .done                                                  no-jquery/no-done-fail
  119:3   warning  Prefer .then to .fail                                                  no-jquery/no-done-fail
  221:4   warning  '$this' is never reassigned. Use 'const' instead                       prefer-const
  222:4   warning  '$target' is never reassigned. Use 'const' instead                     prefer-const
  223:4   warning  'flowBoard' is never reassigned. Use 'const' instead                   prefer-const
  230:3   warning  'scrollTarget' is never reassigned. Use 'const' instead                prefer-const
  231:3   warning  '$scrollContainer' is never reassigned. Use 'const' instead            prefer-const
  232:3   warning  'topicsData' is never reassigned. Use 'const' instead                  prefer-const
  294:7   warning  'scrollTargetSelector' is never reassigned. Use 'const' instead        prefer-const
  296:4   warning  'scrollContainerSelector' is never reassigned. Use 'const' instead     prefer-const
  297:4   warning  '$scrollContainer' is never reassigned. Use 'const' instead            prefer-const
  298:4   warning  'board' is never reassigned. Use 'const' instead                       prefer-const
  357:43  warning  '$topic' is already declared in the upper scope on line 348 column 62  no-shadow
  369:2   warning  Found more than one @return declaration                                jsdoc/require-returns
  369:2   warning  Found more than one @return declaration                                jsdoc/require-returns-check
  440:3   warning  'calculationContainerHeight' is never reassigned. Use 'const' instead  prefer-const
  441:3   warning  'calculationContainerScroll' is never reassigned. Use 'const' instead  prefer-const
  482:4   warning  'toInsert' is never reassigned. Use 'const' instead                    prefer-const
  547:8   warning  'rootsBackup' is never reassigned. Use 'const' instead                 prefer-const

/src/repo/modules/engine/components/board/features/flow-board-navigation.js
  11:1  warning  The type 'FlowComponent' is undefined  jsdoc/no-undefined-types

/src/repo/modules/engine/components/board/features/flow-board-side-rail.js
  9:1  warning  The type 'FlowComponent' is undefined  jsdoc/no-undefined-types

/src/repo/modules/engine/components/board/features/flow-board-visualeditor.js
   9:1  warning  The type 'FlowBoardComponent' is undefined                  jsdoc/no-undefined-types
  24:7  warning  '$topic' is never reassigned. Use 'const' instead           prefer-const
  28:3  warning  'duplicatedArray' is never reassigned. Use 'const' instead  prefer-const

/src/repo/modules/engine/components/board/flow-board.js
  13:1  warning  The type 'FlowBoardAndHistoryComponentBase' is undefined            jsdoc/no-undefined-types
  14:1  warning  The type 'FlowComponentEventsMixin' is undefined                    jsdoc/no-undefined-types
  15:1  warning  The type 'FlowComponentEnginesMixin' is undefined                   jsdoc/no-undefined-types
  16:1  warning  The type 'FlowBoardComponentApiEventsMixin' is undefined            jsdoc/no-undefined-types
  17:1  warning  The type 'FlowBoardComponentInteractiveEventsMixin' is undefined    jsdoc/no-undefined-types
  18:1  warning  The type 'FlowBoardComponentLoadEventsMixin' is undefined           jsdoc/no-undefined-types
  19:1  warning  The type 'FlowBoardComponentLoadMoreFeatureMixin' is undefined      jsdoc/no-undefined-types
  20:1  warning  The type 'FlowBoardComponentVisualEditorFeatureMixin' is undefined  jsdoc/no-undefined-types
  25:7  warning  'anchorUid' is never reassigned. Use 'const' instead                prefer-const
  84:3  warning  '$header' is never reassigned. Use 'const' instead                  prefer-const
  86:3  warning  '$boardNavigation' is never reassigned. Use 'const' instead         prefer-const
  88:3  warning  '$board' is never reassigned. Use 'const' instead                   prefer-const

/src/repo/modules/engine/components/board/flow-boardhistory.js
   6:1  warning  The type 'FlowBoardAndHistoryComponentBase' is undefined     jsdoc/no-undefined-types
  42:3  warning  'flowBoardHistory' is never reassigned. Use 'const' instead  prefer-const

/src/repo/modules/engine/components/common/flow-component-events.js
  123:4   warning  'returns' is never reassigned. Use 'const' instead                      prefer-const
  273:4   warning  'deferreds' is never reassigned. Use 'const' instead                    prefer-const
  275:4   warning  'self' is never reassigned. Use 'const' instead                         prefer-const
  276:4   warning  '$this' is never reassigned. Use 'const' instead                        prefer-const
  277:4   warning  'flowComponent' is never reassigned. Use 'const' instead                prefer-const
  278:4   warning  'dataParams' is never reassigned. Use 'const' instead                   prefer-const
  279:4   warning  'handlerName' is never reassigned. Use 'const' instead                  prefer-const
  280:4   warning  'info' is never reassigned. Use 'const' instead                         prefer-const
  285:4   warning  'args' is never reassigned. Use 'const' instead                         prefer-const
  286:4   warning  'queryMap' is never reassigned. Use 'const' instead                     prefer-const
  316:31  warning  'args' is already declared in the upper scope on line 285 column 4      no-shadow
  336:31  warning  'args' is already declared in the upper scope on line 285 column 4      no-shadow
  337:10  warning  'queryMap' is already declared in the upper scope on line 286 column 4  no-shadow
  342:12  warning  'args' is already declared in the upper scope on line 336 column 31     no-shadow
  351:7   warning  'args' is already declared in the upper scope on line 336 column 31     no-shadow
  351:7   warning  'args' is never reassigned. Use 'const' instead                         prefer-const
  352:7   warning  '$form' is never reassigned. Use 'const' instead                        prefer-const
  380:6   warning  'errorMsg' is never reassigned. Use 'const' instead                     prefer-const
  412:3   warning  Prefer .then to .fail                                                   no-jquery/no-done-fail
  418:10  warning  Prefer .then to .done                                                   no-jquery/no-done-fail
  452:3   warning  'component' is never reassigned. Use 'const' instead                    prefer-const
  472:3   warning  '$content' is never reassigned. Use 'const' instead                     prefer-const
  544:3   warning  'args' is never reassigned. Use 'const' instead                         prefer-const
  545:3   warning  '$context' is never reassigned. Use 'const' instead                     prefer-const
  547:3   warning  'interactiveHandlerName' is never reassigned. Use 'const' instead       prefer-const
  548:3   warning  'apiHandlerName' is never reassigned. Use 'const' instead               prefer-const
  746:7   warning  'flowComponent' is never reassigned. Use 'const' instead                prefer-const

/src/repo/modules/engine/components/common/flow-component-menus.js
  10:1  warning  The type 'FlowComponent' is undefined  jsdoc/no-undefined-types

/src/repo/modules/engine/components/flow-component.js
   13:1   warning  The type 'FlowComponentEventsMixin' is undefined                        jsdoc/no-undefined-types
   14:1   warning  The type 'FlowComponentEnginesMixin' is undefined                       jsdoc/no-undefined-types
   15:1   warning  The type 'FlowComponentMenusFeatureMixin' is undefined                  jsdoc/no-undefined-types
   96:4   warning  '_expandScientificNotation' is never reassigned. Use 'const' instead    prefer-const
   96:43  warning  'timestamp' is already declared in the upper scope on line 95 column 7  no-shadow
  140:4   warning  'context' is never reassigned. Use 'const' instead                      prefer-const
  161:3   warning  'id' is never reassigned. Use 'const' instead                           prefer-const
  231:3   warning  'args' is never reassigned. Use 'const' instead                         prefer-const
  232:3   warning  'handlers' is never reassigned. Use 'const' instead                     prefer-const
  233:3   warning  'special' is never reassigned. Use 'const' instead                      prefer-const

/src/repo/modules/engine/components/flow-registry.js
   33:3  warning  JSDoc @return declaration present but return expression not available in function  jsdoc/require-returns-check
   40:8  warning  'constructors' is never reassigned. Use 'const' instead                            prefer-const
   42:5  warning  'i' is already declared in the upper scope on line 31 column 10                    no-shadow
   83:3  warning  'componentName' is never reassigned. Use 'const' instead                           prefer-const
   85:3  warning  'componentBase' is never reassigned. Use 'const' instead                           prefer-const
  138:7  warning  'registeredClass' is never reassigned. Use 'const' instead                         prefer-const
  146:3  warning  'method' is never reassigned. Use 'const' instead                                  prefer-const

/src/repo/modules/engine/misc/flow-api.js
   43:5   warning  '$deferred' is never reassigned. Use 'const' instead             prefer-const
   44:5   warning  'ajaxTimeoutSec' is never reassigned. Use 'const' instead        prefer-const
   45:5   warning  'apiConstructorParams' is never reassigned. Use 'const' instead  prefer-const
   51:4   warning  'mwApi' is never reassigned. Use 'const' instead                 prefer-const
  126:4   warning  'map' is never reassigned. Use 'const' instead                   prefer-const
  209:25  warning  'queryValue' is never reassigned. Use 'const' instead            prefer-const
  314:3   warning  'str' is never reassigned. Use 'const' instead                   prefer-const
  315:3   warning  'prevApiCall' is never reassigned. Use 'const' instead           prefer-const

/src/repo/modules/engine/misc/flow-handlebars.js
   74:7  warning  'fragment' is never reassigned. Use 'const' instead                                prefer-const
  115:8  warning  '$this' is never reassigned. Use 'const' instead                                   prefer-const
  116:5  warning  'data' is never reassigned. Use 'const' instead                                    prefer-const
  117:5  warning  'target' is already declared in the upper scope on line 113 column 70              no-shadow
  117:5  warning  'target' is never reassigned. Use 'const' instead                                  prefer-const
  132:4  warning  'content' is never reassigned. Use 'const' instead                                 prefer-const
  244:2  warning  JSDoc @return declaration present but return expression not available in function  jsdoc/require-returns-check
  260:3  warning  'formatter' is never reassigned. Use 'const' instead                               prefer-const
  263:3  warning  'guid' is never reassigned. Use 'const' instead                                    prefer-const
  291:4  warning  'currentTime' is never reassigned. Use 'const' instead                             prefer-const
  314:3  warning  '$ago' is never reassigned. Use 'const' instead                                    prefer-const
  316:3  warning  'secondsAgo' is never reassigned. Use 'const' instead                              prefer-const
  594:4  warning  'partialMatch' is never reassigned. Use 'const' instead                            prefer-const

/src/repo/modules/engine/misc/jquery.conditionalScroll.js
  18:8  warning  '$this' is never reassigned. Use 'const' instead           prefer-const
  19:5  warning  'viewportY' is never reassigned. Use 'const' instead       prefer-const
  20:5  warning  'viewportHeight' is never reassigned. Use 'const' instead  prefer-const
  21:5  warning  'elOffset' is never reassigned. Use 'const' instead        prefer-const
  22:5  warning  'elHeight' is never reassigned. Use 'const' instead        prefer-const

/src/repo/modules/engine/misc/jquery.findWithParent.js
  47:7   warning  'selectors' is never reassigned. Use 'const' instead                    prefer-const
  49:4   warning  'self' is never reassigned. Use 'const' instead                         prefer-const
  51:24  warning  'selector' is already declared in the upper scope on line 46 column 35  no-shadow

/src/repo/modules/engine/misc/mw-ui.enhance.js
   18:4   warning  '$fields' is never reassigned. Use 'const' instead              prefer-const
   65:7   warning  '$tooltipTemplate' is never reassigned. Use 'const' instead     prefer-const
   91:8   warning  '$target' is never reassigned. Use 'const' instead              prefer-const
   96:5   warning  'windowWidth' is never reassigned. Use 'const' instead          prefer-const
   97:5   warning  'windowHeight' is never reassigned. Use 'const' instead         prefer-const
   98:5   warning  'scrollX' is never reassigned. Use 'const' instead              prefer-const
   99:5   warning  'scrollY' is never reassigned. Use 'const' instead              prefer-const
  104:20  warning  'tooltipLocation' is never reassigned. Use 'const' instead      prefer-const
  108:5   warning  'optionsUnreferenced' is never reassigned. Use 'const' instead  prefer-const
  209:4   warning  'tooltipWidth' is never reassigned. Use 'const' instead         prefer-const
  210:4   warning  'tooltipHeight' is never reassigned. Use 'const' instead        prefer-const
  213:4   warning  'targetPosition' is never reassigned. Use 'const' instead       prefer-const

/src/repo/modules/engine/misc/mw-ui.modal.js
  138:7  warning  '$node' is never reassigned. Use 'const' instead                                   prefer-const
  139:4  warning  '$contentNode' is never reassigned. Use 'const' instead                            prefer-const
  193:7  warning  '$heading' is never reassigned. Use 'const' instead                                prefer-const
  243:7  warning  'self' is never reassigned. Use 'const' instead                                    prefer-const
  318:2  warning  JSDoc @return declaration present but return expression not available in function  jsdoc/require-returns-check
  329:2  warning  JSDoc @return declaration present but return expression not available in function  jsdoc/require-returns-check
  424:4  warning  'modal' is never reassigned. Use 'const' instead                                   prefer-const

/src/repo/modules/flow-initialize.js
  13:4  warning  '$component' is never reassigned. Use 'const' instead   prefer-const
  15:4  warning  '$board' is never reassigned. Use 'const' instead       prefer-const
  16:4  warning  'pageTitle' is never reassigned. Use 'const' instead    prefer-const
  17:4  warning  'initializer' is never reassigned. Use 'const' instead  prefer-const

/src/repo/modules/flow/dm/api/mw.flow.dm.APIHandler.js
   19:31  warning  ES2015 'Object.assign' method is forbidden         es-x/no-object-assign
   29:24  warning  ES2015 'Object.assign' method is forbidden         es-x/no-object-assign
   57:4   warning  'params' is never reassigned. Use 'const' instead  prefer-const
   57:13  warning  ES2015 'Object.assign' method is forbidden         es-x/no-object-assign
   59:3   warning  'xhr' is never reassigned. Use 'const' instead     prefer-const
   75:13  warning  ES2015 'Object.assign' method is forbidden         es-x/no-object-assign
   95:32  warning  ES2015 'Object.assign' method is forbidden         es-x/no-object-assign
   99:2   warning  Found more than one @return declaration            jsdoc/require-returns
   99:2   warning  Found more than one @return declaration            jsdoc/require-returns-check
  116:32  warning  ES2015 'Object.assign' method is forbidden         es-x/no-object-assign
  193:7   warning  'api' is never reassigned. Use 'const' instead     prefer-const
  206:37  warning  ES2015 'Object.assign' method is forbidden         es-x/no-object-assign
  220:7   warning  'api' is never reassigned. Use 'const' instead     prefer-const
  232:37  warning  ES2015 'Object.assign' method is forbidden         es-x/no-object-assign
  262:4   warning  'params' is never reassigned. Use 'const' instead  prefer-const
  271:3   warning  'xhr' is never reassigned. Use 'const' instead     prefer-const

/src/repo/modules/flow/dm/mixins/mw.flow.dm.List.js
  137:2  warning  Missing JSDoc @return declaration                   jsdoc/require-returns
  195:2  warning  Missing JSDoc @return declaration                   jsdoc/require-returns
  204:4  warning  'removed' is never reassigned. Use 'const' instead  prefer-const
  235:2  warning  Missing JSDoc @return declaration                   jsdoc/require-returns
  239:1  warning  The type 'clear' is undefined                       jsdoc/no-undefined-types

/src/repo/modules/flow/dm/mw.flow.dm.Board.js
   78:10  warning  ES2015 'Object.assign' method is forbidden              es-x/no-object-assign
   97:4   warning  'categoryDMs' is never reassigned. Use 'const' instead  prefer-const
  217:1   warning  The type 'sortOrderChange' is undefined                 jsdoc/no-undefined-types

/src/repo/modules/flow/dm/mw.flow.dm.Item.js
  71:33  warning  ES2015 'Object.assign' method is forbidden  es-x/no-object-assign

/src/repo/modules/flow/dm/mw.flow.dm.ModeratedRevisionedContent.js
  40:10  warning  ES2015 'Object.assign' method is forbidden  es-x/no-object-assign

/src/repo/modules/flow/dm/mw.flow.dm.Post.js
  66:4  warning  'result' is never reassigned. Use 'const' instead  prefer-const

/src/repo/modules/flow/dm/mw.flow.dm.RevisionedContent.js
   83:10  warning  ES2015 'Object.assign' method is forbidden  es-x/no-object-assign
  374:1   warning  The type 'watched' is undefined             jsdoc/no-undefined-types

/src/repo/modules/flow/dm/mw.flow.dm.System.js
  138:7  warning  'system' is never reassigned. Use 'const' instead                     prefer-const
  139:4  warning  'apiParams' is never reassigned. Use 'const' instead                  prefer-const
  203:4  warning  'topicTitlesById' is never reassigned. Use 'const' instead            prefer-const
  204:4  warning  'updateTimestampsByTopicId' is never reassigned. Use 'const' instead  prefer-const
  205:4  warning  'topics' is never reassigned. Use 'const' instead                     prefer-const

/src/repo/modules/flow/dm/mw.flow.dm.Topic.js
  73:4   warning  'topics' is never reassigned. Use 'const' instead  prefer-const
  97:10  warning  ES2015 'Object.assign' method is forbidden         es-x/no-object-assign

/src/repo/modules/flow/ui/widgets/editor/mw.flow.ui.AnonWarningWidget.js
  14:4  warning  'widget' is never reassigned. Use 'const' instead         prefer-const
  26:3  warning  'shouldDisplay' is never reassigned. Use 'const' instead  prefer-const

/src/repo/modules/flow/ui/widgets/editor/mw.flow.ui.CanNotEditWidget.js
   57:4  warning  Prefer .then to .done                                       no-jquery/no-done-fail
   77:2  warning  Found more than one @return declaration                     jsdoc/require-returns
   77:2  warning  Found more than one @return declaration                     jsdoc/require-returns-check
   92:3  warning  'dfd' is never reassigned. Use 'const' instead              prefer-const
  113:5  warning  Prefer .then to .done                                       no-jquery/no-done-fail
  113:5  warning  Prefer .then to .fail                                       no-jquery/no-done-fail
  160:7  warning  'isGroupRequired' is never reassigned. Use 'const' instead  prefer-const
  161:4  warning  'userGroups' is never reassigned. Use 'const' instead       prefer-const

/src/repo/modules/flow/ui/widgets/editor/mw.flow.ui.EditorWidget.js
  270:4  warning  'deferred' is never reassigned. Use 'const' instead  prefer-const
  417:2  warning  Found more than one @return declaration              jsdoc/require-returns
  417:2  warning  Found more than one @return declaration              jsdoc/require-returns-check
  439:3  warning  'dom' is never reassigned. Use 'const' instead       prefer-const
  516:3  warning  Prefer .then to .done                                no-jquery/no-done-fail
  516:3  warning  Prefer .then to .fail                                no-jquery/no-done-fail

/src/repo/modules/flow/ui/widgets/mw.flow.ui.BoardDescriptionWidget.js
   58:46  warning  ES2015 'Object.assign' method is forbidden                  es-x/no-object-assign
  185:7   warning  'content' is never reassigned. Use 'const' instead          prefer-const
  186:7   warning  'format' is never reassigned. Use 'const' instead           prefer-const
  235:7   warning  'widget' is never reassigned. Use 'const' instead           prefer-const
  240:3   warning  'captchaResponse' is never reassigned. Use 'const' instead  prefer-const
  282:6   warning  'categories' is never reassigned. Use 'const' instead       prefer-const

/src/repo/modules/flow/ui/widgets/mw.flow.ui.CaptchaWidget.js
  30:2  warning  Found more than one @return declaration                   jsdoc/require-returns
  30:2  warning  Found more than one @return declaration                   jsdoc/require-returns-check
  38:7  warning  '$captchaField' is never reassigned. Use 'const' instead  prefer-const
  75:4  warning  Prefer .then to .fail                                     no-jquery/no-done-fail

/src/repo/modules/flow/ui/widgets/mw.flow.ui.CategoriesWidget.js
  24:40  warning  ES2015 'Object.assign' method is forbidden          es-x/no-object-assign
  69:4   warning  'widgets' is never reassigned. Use 'const' instead  prefer-const
  87:4   warning  'widgets' is never reassigned. Use 'const' instead  prefer-const

/src/repo/modules/flow/ui/widgets/mw.flow.ui.CategoryItemWidget.js
  24:3  warning  'prefixedCleanName' is never reassigned. Use 'const' instead  prefer-const
  26:3  warning  '$link' is never reassigned. Use 'const' instead              prefer-const

/src/repo/modules/flow/ui/widgets/mw.flow.ui.EditPostWidget.js
   33:46  warning  ES2015 'Object.assign' method is forbidden                  es-x/no-object-assign
  103:3   warning  'widget' is never reassigned. Use 'const' instead           prefer-const
  104:3   warning  'contentFormat' is never reassigned. Use 'const' instead    prefer-const
  148:7   warning  'widget' is never reassigned. Use 'const' instead           prefer-const
  151:3   warning  'captchaResponse' is never reassigned. Use 'const' instead  prefer-const

/src/repo/modules/flow/ui/widgets/mw.flow.ui.EditTopicSummaryWidget.js
   21:46  warning  ES2015 'Object.assign' method is forbidden                  es-x/no-object-assign
   92:3   warning  'widget' is never reassigned. Use 'const' instead           prefer-const
   93:3   warning  'contentFormat' is never reassigned. Use 'const' instead    prefer-const
   98:6   warning  'content' is never reassigned. Use 'const' instead          prefer-const
   99:6   warning  'format' is never reassigned. Use 'const' instead           prefer-const
  140:7   warning  'widget' is never reassigned. Use 'const' instead           prefer-const
  143:3   warning  'captchaResponse' is never reassigned. Use 'const' instead  prefer-const

/src/repo/modules/flow/ui/widgets/mw.flow.ui.NavigationWidget.js
   55:1  warning  The type 'loadTopic' is undefined                                       jsdoc/no-undefined-types
   66:1  warning  The type 'reorderTopics' is undefined                                   jsdoc/no-undefined-types
   83:4  warning  'isElementInView' is never reassigned. Use 'const' instead              prefer-const
   84:9  warning  'scrollTop' is already declared in the upper scope on line 76 column 7  no-shadow
   85:6  warning  'height' is never reassigned. Use 'const' instead                       prefer-const
   86:6  warning  'top' is never reassigned. Use 'const' instead                          prefer-const
   87:6  warning  'bottom' is never reassigned. Use 'const' instead                       prefer-const
   89:5  warning  'scrollTop' is never reassigned. Use 'const' instead                    prefer-const
   90:5  warning  'containerHeight' is never reassigned. Use 'const' instead              prefer-const
  118:3  warning  'scrollTop' is never reassigned. Use 'const' instead                    prefer-const
  119:3  warning  'isScrolledDown' is never reassigned. Use 'const' instead               prefer-const

/src/repo/modules/flow/ui/widgets/mw.flow.ui.NewTopicWidget.js
   16:4   warning  'widget' is never reassigned. Use 'const' instead           prefer-const
   25:3   warning  'title' is never reassigned. Use 'const' instead            prefer-const
   58:46  warning  ES2015 'Object.assign' method is forbidden                  es-x/no-object-assign
  214:7   warning  'widget' is never reassigned. Use 'const' instead           prefer-const
  215:4   warning  'title' is never reassigned. Use 'const' instead            prefer-const
  222:3   warning  'captchaResponse' is never reassigned. Use 'const' instead  prefer-const
  227:3   warning  Prefer .then to .done                                       no-jquery/no-done-fail

/src/repo/modules/flow/ui/widgets/mw.flow.ui.ReplyWidget.js
  138:7   warning  'widget' is never reassigned. Use 'const' instead           prefer-const
  141:3   warning  'captchaResponse' is never reassigned. Use 'const' instead  prefer-const
  177:47  warning  ES2015 'Object.assign' method is forbidden                  es-x/no-object-assign

/src/repo/modules/flow/ui/widgets/mw.flow.ui.SidebarExpandWidget.js
  23:17  warning  OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true  mediawiki/no-unlabeled-buttonwidget

/src/repo/modules/flow/ui/widgets/mw.flow.ui.TopicMenuSelectWidget.js
   76:2  warning  JSDoc @return declaration present but return expression not available in function  jsdoc/require-returns-check
   91:3  warning  'actualHeight' is never reassigned. Use 'const' instead                            prefer-const
   92:3  warning  'naturalHeight' is never reassigned. Use 'const' instead                           prefer-const
   93:3  warning  'scrollTop' is never reassigned. Use 'const' instead                               prefer-const
   94:3  warning  'isNearBottom' is never reassigned. Use 'const' instead                            prefer-const
  105:1  warning  The type 'topic' is undefined                                                      jsdoc/no-undefined-types
  148:4  warning  'widgets' is never reassigned. Use 'const' instead                                 prefer-const
  187:4  warning  'widgets' is never reassigned. Use 'const' instead                                 prefer-const
  198:2  warning  Missing JSDoc @return declaration                                                  jsdoc/require-returns
  221:2  warning  Missing JSDoc @return declaration                                                  jsdoc/require-returns

/src/repo/modules/mw.flow.Initializer.js
    80:6   warning  'topic' is never reassigned. Use 'const' instead                        prefer-const
    81:6   warning  'data' is never reassigned. Use 'const' instead                         prefer-const
   113:4   warning  'self' is never reassigned. Use 'const' instead                         prefer-const
   333:5   warning  '$rendered' is never reassigned. Use 'const' instead                    prefer-const
   497:5   warning  '$topic' is never reassigned. Use 'const' instead                       prefer-const
   498:5   warning  'topicId' is never reassigned. Use 'const' instead                      prefer-const
   499:5   warning  '$post' is never reassigned. Use 'const' instead                        prefer-const
   500:5   warning  '$postMain' is never reassigned. Use 'const' instead                    prefer-const
   501:5   warning  'postId' is never reassigned. Use 'const' instead                       prefer-const
   502:5   warning  '$board' is never reassigned. Use 'const' instead                       prefer-const
   503:5   warning  'flowBoard' is never reassigned. Use 'const' instead                    prefer-const
   505:4   warning  'editPostWidget' is never reassigned. Use 'const' instead               prefer-const
   571:6   warning  'action' is never reassigned. Use 'const' instead                       prefer-const
   572:6   warning  '$topic' is never reassigned. Use 'const' instead                       prefer-const
   573:6   warning  'topicId' is never reassigned. Use 'const' instead                      prefer-const
   574:6   warning  'api' is never reassigned. Use 'const' instead                          prefer-const
   582:5   warning  Prefer .then to .fail                                                   no-jquery/no-done-fail
   634:9   warning  '$topic' is never reassigned. Use 'const' instead                       prefer-const
   635:6   warning  'topicId' is never reassigned. Use 'const' instead                      prefer-const
   636:6   warning  '$container' is never reassigned. Use 'const' instead                   prefer-const
   637:6   warning  '$topicTitleViewMode' is never reassigned. Use 'const' instead          prefer-const
   638:6   warning  '$editForm' is never reassigned. Use 'const' instead                    prefer-const
   646:5   warning  'widget' is never reassigned. Use 'const' instead                       prefer-const
   700:5   warning  'href' is never reassigned. Use 'const' instead                         prefer-const
   701:5   warning  'replyTo' is never reassigned. Use 'const' instead                      prefer-const
   702:5   warning  '$topic' is never reassigned. Use 'const' instead                       prefer-const
   703:5   warning  'placeholder' is never reassigned. Use 'const' instead                  prefer-const
   707:5   warning  '$targetContainer' is never reassigned. Use 'const' instead             prefer-const
   708:5   warning  '$existingWidget' is never reassigned. Use 'const' instead              prefer-const
   719:4   warning  'replyWidget' is never reassigned. Use 'const' instead                  prefer-const
   790:4   warning  'self' is never reassigned. Use 'const' instead                         prefer-const
   791:4   warning  '$topic' is never reassigned. Use 'const' instead                       prefer-const
   792:4   warning  '$summaryContainer' is never reassigned. Use 'const' instead            prefer-const
   793:4   warning  '$topicSummary' is never reassigned. Use 'const' instead                prefer-const
   794:4   warning  'editorOptions' is never reassigned. Use 'const' instead                prefer-const
   797:4   warning  'pageName' is never reassigned. Use 'const' instead                     prefer-const
   798:4   warning  'title' is never reassigned. Use 'const' instead                        prefer-const
   814:3   warning  'editTopicSummaryWidget' is never reassigned. Use 'const' instead       prefer-const
   855:7   warning  'editPostWidget' is never reassigned. Use 'const' instead               prefer-const
   856:4   warning  '$post' is never reassigned. Use 'const' instead                        prefer-const
   857:4   warning  '$topic' is never reassigned. Use 'const' instead                       prefer-const
   858:4   warning  'self' is never reassigned. Use 'const' instead                         prefer-const
   907:4   warning  '$messages' is never reassigned. Use 'const' instead                    prefer-const
   908:4   warning  'isProbablyEditable' is never reassigned. Use 'const' instead           prefer-const
   909:4   warning  'anonWarning' is never reassigned. Use 'const' instead                  prefer-const
   912:4   warning  'canNotEdit' is never reassigned. Use 'const' instead                   prefer-const
   917:4   warning  'captcha' is never reassigned. Use 'const' instead                      prefer-const
   918:4   warning  'captchaWidget' is never reassigned. Use 'const' instead                prefer-const
   919:4   warning  'error' is never reassigned. Use 'const' instead                        prefer-const
   922:4   warning  'editor' is never reassigned. Use 'const' instead                       prefer-const
   944:3   warning  '$wrapper' is never reassigned. Use 'const' instead                     prefer-const
   965:26  warning  'content' is already declared in the upper scope on line 905 column 79  no-shadow
   970:5   warning  'captchaResponse' is never reassigned. Use 'const' instead              prefer-const
   999:7   warning  '$undoForm' is never reassigned. Use 'const' instead                    prefer-const
  1000:4   warning  'undoType' is never reassigned. Use 'const' instead                     prefer-const
  1001:4   warning  'pageName' is never reassigned. Use 'const' instead                     prefer-const
  1002:4   warning  'title' is never reassigned. Use 'const' instead                        prefer-const
  1003:4   warning  'topicId' is never reassigned. Use 'const' instead                      prefer-const
  1004:4   warning  'postId' is never reassigned. Use 'const' instead                       prefer-const
  1005:4   warning  'prevRevId' is never reassigned. Use 'const' instead                    prefer-const
  1006:4   warning  'content' is never reassigned. Use 'const' instead                      prefer-const
  1007:4   warning  'returnToTitle' is never reassigned. Use 'const' instead                prefer-const
  1020:4   warning  'apiHandler' is never reassigned. Use 'const' instead                   prefer-const
  1024:4   warning  'save' is never reassigned. Use 'const' instead                         prefer-const
  1043:4   warning  'editor' is never reassigned. Use 'const' instead                       prefer-const
  1057:31  warning  'content' is already declared in the upper scope on line 1006 column 4  no-shadow

/src/repo/tests/qunit/engine/misc/test_flow-handlebars.js
   4:8   warning  'stub' is never reassigned. Use 'const' instead      prefer-const
  18:4   warning  'stubUser' is never reassigned. Use 'const' instead  prefer-const
  92:16  warning  ES2015 'Object.assign' method is forbidden           es-x/no-object-assign

/src/repo/tests/qunit/flow/dm/test_mw.flow.dm.Board.js
    7:3  warning  'executeOperation' is never reassigned. Use 'const' instead  prefer-const
   10:3  warning  'cases' is never reassigned. Use 'const' instead             prefer-const
  158:2  warning  'board' is never reassigned. Use 'const' instead             prefer-const

/src/repo/tests/qunit/flow/dm/test_mw.flow.dm.Post.js
    7:3  warning  'truncatedApiData' is never reassigned. Use 'const' instead   prefer-const
  479:2  warning  'topicRevisionData' is never reassigned. Use 'const' instead  prefer-const
  480:2  warning  'topic' is never reassigned. Use 'const' instead              prefer-const
  485:2  warning  'replies' is never reassigned. Use 'const' instead            prefer-const
  486:2  warning  'subreplies' is never reassigned. Use 'const' instead         prefer-const
  487:2  warning  'subsubreplies' is never reassigned. Use 'const' instead      prefer-const

/src/repo/tests/qunit/flow/dm/test_mw.flow.dm.System.js
    7:3  warning  'executeOperation' is never reassigned. Use 'const' instead  prefer-const
   10:3  warning  'truncatedApiData' is never reassigned. Use 'const' instead  prefer-const
  284:3  warning  'cases' is never reassigned. Use 'const' instead             prefer-const
  312:2  warning  'system' is never reassigned. Use 'const' instead            prefer-const

/src/repo/tests/qunit/flow/dm/test_mw.flow.dm.Topic.js
   7:3   warning  'executeOperation' is never reassigned. Use 'const' instead             prefer-const
   7:38  warning  'operation' is already declared in the upper scope on line 6 column 39  no-shadow
  11:2   warning  'cases' is never reassigned. Use 'const' instead                        prefer-const

✖ 405 problems (0 errors, 405 warnings)


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

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

Done.

--- end ---
Upgrading c:mediawiki/mediawiki-codesniffer from 49.0.0 -> 50.0.0
Upgrading c:mediawiki/mediawiki-phan-config from 0.18.0 -> 0.19.0
$ /usr/bin/composer update
--- stderr ---
Loading composer repositories with package information
Updating dependencies
Lock file operations: 2 installs, 5 updates, 3 removals
  - Removing microsoft/tolerant-php-parser (v0.1.2)
  - Removing symfony/polyfill-php80 (v1.33.0)
  - Removing tysonandre/var_representation_polyfill (0.1.3)
  - Upgrading mediawiki/mediawiki-codesniffer (v49.0.0 => v50.0.0)
  - Upgrading mediawiki/mediawiki-phan-config (0.18.0 => 0.19.0)
  - Upgrading mediawiki/phan-taint-check-plugin (8.0.0 => 9.0.0)
  - Upgrading phan/phan (5.5.2 => 6.0.1)
  - Locking phan/tolerant-php-parser (v0.2.0)
  - Locking phan/var_representation_polyfill (0.1.4)
  - Upgrading symfony/console (v7.4.6 => v8.0.6)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 2 installs, 5 updates, 3 removals
    0 [>---------------------------]    0 [->--------------------------]
  - Removing tysonandre/var_representation_polyfill (0.1.3)
  - Removing symfony/polyfill-php80 (v1.33.0)
  - Removing microsoft/tolerant-php-parser (v0.1.2)
  - Upgrading mediawiki/mediawiki-codesniffer (v49.0.0 => v50.0.0): Extracting archive
  - Upgrading symfony/console (v7.4.6 => v8.0.6): Extracting archive
  - Installing phan/var_representation_polyfill (0.1.4): Extracting archive
  - Installing phan/tolerant-php-parser (v0.2.0): Extracting archive
  - Upgrading phan/phan (5.5.2 => 6.0.1): Extracting archive
  - Upgrading mediawiki/phan-taint-check-plugin (8.0.0 => 9.0.0): Extracting archive
  - Upgrading mediawiki/mediawiki-phan-config (0.18.0 => 0.19.0): Extracting archive
 0/7 [>---------------------------]   0%
 6/7 [========================>---]  85%
 7/7 [============================] 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 ---

--- end ---
Previously failing phpcs rules: {'MediaWiki.Commenting.FunctionComment.ObjectTypeHintReturn', 'MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected', 'MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam', 'MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic'}
$ vendor/bin/phpcs --report=json
--- stdout ---
{"totals":{"errors":414,"warnings":34,"fixable":0},"files":{"\/src\/repo\/includes\/Import\/IImportObject.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Hooks\/AbuseFilterHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/EnableFlow\/EnableFlowWikitextConversionStrategy.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/IRevisionableObject.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/ImportSummary.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\/includes\/Import\/SourceStore\/Exception.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/SourceStore\/NullImportSourceStore.php":{"errors":2,"warnings":0,"messages":[{"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":13,"column":12}]},"\/src\/repo\/includes\/Import\/IImportSource.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/IImportSummary.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/convertNamespaceFromWikitext.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/Postprocessor\/SpecialLogTopic.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/DeletedContributionsRow.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/Importer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/ReplyIterator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/IImportHeader.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/ImportHeader.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":21,"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":84,"column":12}]},"\/src\/repo\/includes\/Parsoid\/Fixer\/ExtLinkFixer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/Flow.alias.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/BaseTopicListFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/SchemaHooks.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/HistoricalUIDGenerator.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\/Import\/ImportException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/RevisionFormatterFactory.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":48,"column":12}]},"\/src\/repo\/includes\/Parsoid\/Extractor\/PlaceholderExtractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Exception\/InvalidReferenceException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/RemoteApiBackend.php":{"errors":2,"warnings":0,"messages":[{"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":32,"column":12}]},"\/src\/repo\/includes\/Import\/Plain\/ObjectRevision.php":{"errors":4,"warnings":0,"messages":[{"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":34,"column":12},{"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":42,"column":12}]},"\/src\/repo\/includes\/Import\/Postprocessor\/LqtRedirector.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/FlowFixEditCount.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":46,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":50,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":75,"column":12}]},"\/src\/repo\/includes\/Parsoid\/Extractor\/WikiLinkExtractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/FlowFixLog.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":40,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":44,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":104,"column":12}]},"\/src\/repo\/includes\/Exception\/FailCommitException.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":9,"column":15}]},"\/src\/repo\/includes\/Exception\/InvalidParameterException.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":12,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":16,"column":15}]},"\/src\/repo\/includes\/Import\/Plain\/ImportHeader.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":24,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":28,"column":12}]},"\/src\/repo\/includes\/Exception\/FlowBaseException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Exception\/DataModelException.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":9,"column":15}]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/PageRevisionedObject.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":48,"column":12}]},"\/src\/repo\/includes\/Formatter\/FeedItemFormatter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":10,"column":15}]},"\/src\/repo\/maintenance\/FlowFixInconsistentBoards.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parsoid\/Fixer\/BadImageRemover.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/compileLightncandy.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":57,"column":15}]},"\/src\/repo\/maintenance\/FlowFixLinks.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":42,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":46,"column":15}]},"\/src\/repo\/includes\/Exception\/DataPersistenceException.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":9,"column":15}]},"\/src\/repo\/includes\/Import\/Postprocessor\/ProcessorGroup.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":40,"column":15}]},"\/src\/repo\/includes\/Exception\/FlowException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/CachedPageData.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":9,"column":15}]},"\/src\/repo\/includes\/Exception\/NoIndexException.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":9,"column":15}]},"\/src\/repo\/includes\/Exception\/PermissionException.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":9,"column":15}]},"\/src\/repo\/includes\/Parsoid\/Fixer.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":9,"column":12}]},"\/src\/repo\/includes\/Exception\/InvalidActionException.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":12,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":20,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":28,"column":12}]},"\/src\/repo\/includes\/Data\/Listener\/ModerationLoggingListener.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/FlowSetUserIp.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":39,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":110,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":140,"column":12}]},"\/src\/repo\/includes\/Collection\/PostCollection.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":19}]},"\/src\/repo\/includes\/Formatter\/RevisionDiffViewFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/SourceStore\/FileImportSourceStore.php":{"errors":3,"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":38,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":42,"column":12}]},"\/src\/repo\/includes\/Exception\/CatchableFatalErrorException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/Postprocessor\/Postprocessor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Exception\/NoParserException.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":9,"column":15}]},"\/src\/repo\/includes\/Import\/Wikitext\/ConversionStrategy.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parsoid\/Extractor\/TransclusionExtractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parsoid\/ReferenceFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/CachedThreadData.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":68,"column":15}]},"\/src\/repo\/includes\/Exception\/InvalidInputException.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":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":26,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":40,"column":12}]},"\/src\/repo\/includes\/Exception\/CrossWikiException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/ImportSource.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/ApiNotFoundException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Hooks\/FlowTermsOfUseMessagesHook.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Hooks\/APIFlowAfterExecuteHook.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parsoid\/Extractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/BoardHistoryQuery.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":59,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":69,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":81,"column":15}]},"\/src\/repo\/includes\/Import\/Converter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/IImportTopic.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiFlowViewTopicList.php":{"errors":3,"warnings":0,"messages":[{"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.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":22,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":26,"column":12}]},"\/src\/repo\/includes\/Api\/ApiFlowEditTitle.php":{"errors":3,"warnings":0,"messages":[{"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.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":21,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":25,"column":12}]},"\/src\/repo\/includes\/Exception\/InvalidTopicUuidException.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":21,"column":15},{"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":34,"column":12}]},"\/src\/repo\/includes\/Api\/ApiFlowReply.php":{"errors":3,"warnings":0,"messages":[{"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.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":20,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":24,"column":12}]},"\/src\/repo\/includes\/Formatter\/PostSummaryQuery.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Listener\/NotificationListener.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/implementLqtFixes.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/RevisionViewQuery.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":115,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":149,"column":12}]},"\/src\/repo\/includes\/Api\/ApiFlowUndoEditPost.php":{"errors":4,"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.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":12,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":16,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":20,"column":12}]},"\/src\/repo\/includes\/Api\/ApiFlowModerateTopic.php":{"errors":4,"warnings":0,"messages":[{"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.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":13,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":17,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":21,"column":12}]},"\/src\/repo\/includes\/Api\/ApiFlowEditTopicSummary.php":{"errors":4,"warnings":0,"messages":[{"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.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":13,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":17,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":24,"column":12}]},"\/src\/repo\/includes\/Parsoid\/ReferenceExtractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiFlowViewTopicSummary.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.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":20,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":24,"column":12}]},"\/src\/repo\/includes\/Collection\/LocalCacheAbstractCollection.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/ImportTopic.php":{"errors":7,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":22,"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":31,"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":74,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":78,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":86,"column":12}]},"\/src\/repo\/includes\/Data\/Listener\/AbstractListener.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Hooks\/HookRunner.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Log\/LqtImportFormatter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":11,"column":12}]},"\/src\/repo\/includes\/Data\/Mapper\/BasicObjectMapper.php":{"errors":5,"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":31,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":35,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":39,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":43,"column":12}]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/LocalApiBackend.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":29,"column":12}]},"\/src\/repo\/includes\/Parsoid\/ContentFixer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/CategoryViewerQuery.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":79,"column":12}]},"\/src\/repo\/includes\/Api\/ApiFlowViewPost.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.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":21,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":25,"column":12}]},"\/src\/repo\/includes\/Formatter\/CategoryViewerFormatter.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\/Import\/LiquidThreadsApi\/CachedData.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":27,"column":12}]},"\/src\/repo\/includes\/Hooks\/FlowCheckHtmlContentXssHook.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/MovedImportTopic.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":13,"column":12}]},"\/src\/repo\/includes\/Import\/Wikitext\/ImportSource.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/TopicListQuery.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/LinksTableUpdater.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":93,"column":12}]},"\/src\/repo\/includes\/Formatter\/HeaderViewQuery.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiFlowViewPostHistory.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.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":19,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":23,"column":12}]},"\/src\/repo\/includes\/Data\/Index.php":{"errors":0,"warnings":1,"messages":[{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":81,"column":8}]},"\/src\/repo\/includes\/Import\/Postprocessor\/LqtNotifications.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/ObjectStorage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiFlowBasePost.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/OccupationController.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/ScriptedImportRevision.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":46,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":50,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":54,"column":12}]},"\/src\/repo\/includes\/Formatter\/CheckUserFormatter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":8,"column":15}]},"\/src\/repo\/includes\/Repository\/UserNameBatch.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parsoid\/Extractor\/ImageExtractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Container.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiFlowUndoEditHeader.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.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":20,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":24,"column":12}]},"\/src\/repo\/maintenance\/FlowMoveBoardsToSubpages.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parsoid\/Fixer\/BaseHrefFixer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/CachedApiData.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/AbstractSummary.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":17,"column":19}]},"\/src\/repo\/includes\/Data\/Listener\/WorkflowTopicListListener.php":{"errors":0,"warnings":1,"messages":[{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":47,"column":8}]},"\/src\/repo\/includes\/Api\/ApiFlowViewTopicHistory.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.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":19,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":23,"column":12}]},"\/src\/repo\/includes\/Parsoid\/Fixer\/EmptyNodeFixer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Utils\/MultiDimArray.php":{"errors":5,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":35,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":49,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":61,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":75,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":95,"column":12}]},"\/src\/repo\/includes\/Import\/PageImportState.php":{"errors":2,"warnings":4,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":82,"column":12},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":111,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":111,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintReturn","severity":5,"fixable":false,"type":"WARNING","line":131,"column":16},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintReturn","severity":5,"fixable":false,"type":"WARNING","line":156,"column":16},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":239,"column":12}]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/MovedImportPost.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\/Import\/SourceStore\/FlowRevisionsDb.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":40,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":44,"column":12}]},"\/src\/repo\/includes\/FlowActions.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/dumpBackup.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":24,"column":12}]},"\/src\/repo\/Notifications.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/BlockFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parsoid\/Extractor\/ExtLinkExtractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/FlowReserializeRevisionContent.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":58,"column":15}]},"\/src\/repo\/includes\/Import\/IObjectRevision.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/IImportPost.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/SourceStore\/SourceStoreInterface.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/UUIDBlob.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Listener\/UserNameListener.php":{"errors":0,"warnings":1,"messages":[{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":46,"column":8}]},"\/src\/repo\/includes\/Import\/IConversionStrategy.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiFlowEditHeader.php":{"errors":3,"warnings":0,"messages":[{"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.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":21,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":25,"column":12}]},"\/src\/repo\/includes\/Formatter\/AbstractQuery.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiFlowModeratePost.php":{"errors":4,"warnings":0,"messages":[{"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.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":13,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":17,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":21,"column":12}]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/RevisionIterator.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":31,"column":15}]},"\/src\/repo\/includes\/BoardMover.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/WorkflowLoaderFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/MovedImportRevision.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/FlowPopulateRefId.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":34,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":38,"column":15}]},"\/src\/repo\/includes\/Parsoid\/Extractor\/CategoryExtractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiFlowBaseGet.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/ContributionsFormatter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":14,"column":15}]},"\/src\/repo\/includes\/Model\/Header.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":81,"column":12}]},"\/src\/repo\/includes\/Data\/Utils\/SortRevisionsByRevisionId.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiFlowViewHeader.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.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":20,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":24,"column":12}]},"\/src\/repo\/includes\/Formatter\/SinglePostQuery.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/OOUI\/BoardDescriptionWidget.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Utils\/ResultDuplicator.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":99,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":103,"column":12}]},"\/src\/repo\/maintenance\/FlowUpdateRevisionContentLength.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":66,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":70,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":169,"column":15}]},"\/src\/repo\/includes\/Api\/ApiFlowNewTopic.php":{"errors":3,"warnings":0,"messages":[{"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.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":21,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":25,"column":12}]},"\/src\/repo\/includes\/Exception\/UnknownWorkflowIdException.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":10,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":15,"column":12}]},"\/src\/repo\/includes\/Data\/Listener\/AbstractTopicInsertListener.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/ImportPost.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":73,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":100,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":163,"column":12}]},"\/src\/repo\/includes\/Formatter\/HistoryQuery.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Storage\/PostSummaryRevisionBoardHistoryStorage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parsoid\/Fixer\/WikiLinkFixer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/PostSummary.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Exception\/WikitextException.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":9,"column":15}]},"\/src\/repo\/includes\/Import\/TopicImportState.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\/Data\/ManagerGroup.php":{"errors":6,"warnings":2,"messages":[{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":53,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":76,"column":8},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":130,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":134,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":138,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":142,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":146,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":150,"column":12}]},"\/src\/repo\/includes\/Api\/ApiFlowEditPost.php":{"errors":4,"warnings":0,"messages":[{"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.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":13,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":17,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":21,"column":12}]},"\/src\/repo\/includes\/RecoverableErrorHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Mock\/MockImportRevision.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Mock\/ExternalStoreFlowMock.php":{"errors":3,"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":19,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":23,"column":12}]},"\/src\/repo\/includes\/Data\/Storage\/HeaderRevisionStorage.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":9,"column":15}]},"\/src\/repo\/includes\/Api\/ApiQueryPropFlowInfo.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\/Notifications\/HeaderEditedPresentationModel.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":39,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":71,"column":15}]},"\/src\/repo\/maintenance\/MaintenanceDebugLogger.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Exception\/WrongNumberArgumentsException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Pager\/HistoryPager.php":{"errors":2,"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":124,"column":12}]},"\/src\/repo\/tests\/phpunit\/unit\/HookRunnerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Mock\/MockImportSource.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Exception\/InvalidDataException.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":9,"column":15}]},"\/src\/repo\/maintenance\/FlowUpdateRevisionTypeId.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":31,"column":15}]},"\/src\/repo\/includes\/SpamFilter\/ConfirmEdit.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Listener\/DeferredInsertLifecycleHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Conversion\/Utils.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/ImportRevision.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":53,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":57,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":65,"column":12}]},"\/src\/repo\/includes\/Notifications\/PostReplyPresentationModel.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/TemplateHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Templating.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":138,"column":12}]},"\/src\/repo\/maintenance\/FlowUpdateResolvedNotifTitles.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":42,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":46,"column":12}]},"\/src\/repo\/includes\/Api\/ApiParsoidUtilsFlow.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":37,"column":12}]},"\/src\/repo\/includes\/Block\/TopicSummaryBlock.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":395,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":415,"column":12}]},"\/src\/repo\/tests\/phpunit\/unit\/Data\/ManagerGroupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Notifications\/FilterFlowNotificationsMiddleware.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/FlowRemoveOldTopics.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":82,"column":15}]},"\/src\/repo\/includes\/SpamFilter\/Controller.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Log\/ModerationLogger.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Api\/ApiWatchTopicTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/CheckUserQuery.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/RecentChangesRow.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiFlowViewTopic.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.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":21,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":25,"column":12}]},"\/src\/repo\/includes\/Utils\/NamespaceIterator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Notifications\/MentionStatusPresentationModel.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/FlowUpdateBetaFeaturePreference.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Utils\/UserMerger.php":{"errors":0,"warnings":2,"messages":[{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":129,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":137,"column":8}]},"\/src\/repo\/includes\/Data\/Storage\/PostRevisionStorage.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":29,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":33,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":37,"column":15}]},"\/src\/repo\/maintenance\/convertLqtPageOnLocalWiki.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiFlowBase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Api\/ApiFlowEditTopicSummaryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Api\/ApiFlowReplyTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Index\/TopKIndex.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":22,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":57,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":75,"column":12}]},"\/src\/repo\/includes\/Data\/Index\/PostSummaryRevisionBoardHistoryIndex.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":8,"column":15}]},"\/src\/repo\/includes\/Data\/Index\/PostRevisionBoardHistoryIndex.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Model\/UserTupleTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/WatchedTopicItemsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Storage\/TopicListStorage.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":10,"column":15}]},"\/src\/repo\/includes\/Model\/Anchor.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":117,"column":12}]},"\/src\/repo\/includes\/Formatter\/ChangesListFormatter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":17,"column":15}]},"\/src\/repo\/tests\/phpunit\/integration\/Parsoid\/Fixer\/BadImageRemoverTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/SpamFilter\/ConfirmEditTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/SpamFilter\/SpamBlacklist.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiFlowUndoEditTopicSummary.php":{"errors":4,"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.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":12,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":16,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":23,"column":12}]},"\/src\/repo\/includes\/Data\/Utils\/SortArrayByKeys.php":{"errors":2,"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":27,"column":19}]},"\/src\/repo\/maintenance\/FlowFixUserIp.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":53,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":80,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":124,"column":12}]},"\/src\/repo\/tests\/phpunit\/unit\/FlowActionsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Index\/UniqueFeatureIndex.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":15,"column":12}]},"\/src\/repo\/includes\/Formatter\/RevisionUndoViewFormatter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":61,"column":15}]},"\/src\/repo\/includes\/Formatter\/ContributionsRow.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/RevisionActionPermissions.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Utils\/RecentChangeFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Mock\/MockImportHeader.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/SpamFilter\/ContentLengthFilterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/RevisionViewFormatter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":30,"column":12}]},"\/src\/repo\/tests\/phpunit\/Data\/UserNameBatchTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Parsoid\/Fixer\/EmptyNodeFixerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Api\/ApiFlowEditTitleTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Content\/BoardContentHandler.php":{"errors":3,"warnings":0,"messages":[{"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.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":38,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":42,"column":12}]},"\/src\/repo\/includes\/Utils\/PagesWithPropertyIterator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Parsoid\/Fixer\/WikiLinkFixerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Notifications\/FlowPresentationModel.php":{"errors":12,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":14,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":18,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":23,"column":15},{"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.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":98,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":104,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":116,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":120,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":127,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":131,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":136,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":147,"column":15}]},"\/src\/repo\/includes\/Formatter\/PostHistoryQuery.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/FlowPopulateLinksTables.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":32,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":36,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":45,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":86,"column":15}]},"\/src\/repo\/includes\/Data\/Listener\/RecentChangesListener.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Notifications\/NewTopicPresentationModel.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Hooks\/FlowAddModulesHook.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Api\/ApiFlowViewHeaderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/View.php":{"errors":5,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":52,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":125,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":162,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":182,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":290,"column":15}]},"\/src\/repo\/tests\/phpunit\/Mock\/MockImportPost.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/FormatterRow.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Storage\/BoardHistoryStorage.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":14,"column":21},{"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":42,"column":12}]},"\/src\/repo\/tests\/phpunit\/Data\/NothingTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/TopicListEntry.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Import\/TalkpageImportOperationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Listener\/ReferenceRecorder.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":166,"column":22}]},"\/src\/repo\/includes\/Data\/Storage\/PostRevisionBoardHistoryStorage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Api\/ApiTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Conversion\/ConversionUtilsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/PostRevision.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":211,"column":12}]},"\/src\/repo\/includes\/Data\/Utils\/Merger.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Mock\/MockImportTopic.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Log\/ActionFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Pager\/Pager.php":{"errors":0,"warnings":1,"messages":[{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":233,"column":8}]},"\/src\/repo\/tests\/phpunit\/Notifications\/NotifiedUsersTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Notifications\/TopicRenamedPresentationModel.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":65,"column":15}]},"\/src\/repo\/tests\/phpunit\/Mock\/MockImportSummary.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":22,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":26,"column":12}]},"\/src\/repo\/tests\/phpunit\/integration\/Block\/TopicListBlockTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Content\/BoardContent.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":13,"column":12}]},"\/src\/repo\/maintenance\/FlowUpdateRevContentModelFromOccupyPages.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/PostRevisionTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Listener\/TopicPageCreationListener.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/ContributionsQuery.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Log\/LogQuery.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Pager\/PagerPage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Notifications\/SummaryEditedPresentationModel.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":61,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":83,"column":15}]},"\/src\/repo\/tests\/phpunit\/Api\/ApiFlowModeratePostTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Api\/ApiFlowEditPostTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Block\/AbstractBlock.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":152,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":210,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":214,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":218,"column":12}]},"\/src\/repo\/maintenance\/convertAllLqtPages.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Import\/PageImportStateTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Index\/BoardHistoryIndex.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":51,"column":12}]},"\/src\/repo\/includes\/Data\/Listener\/EditCountListener.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":20,"column":12}]},"\/src\/repo\/includes\/Import\/TalkpageImportOperation.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":243,"column":15}]},"\/src\/repo\/includes\/Data\/ObjectMapper.php":{"errors":0,"warnings":4,"messages":[{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":13,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":23,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintReturn","severity":5,"fixable":false,"type":"WARNING","line":24,"column":16},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintReturn","severity":5,"fixable":false,"type":"WARNING","line":33,"column":16}]},"\/src\/repo\/includes\/Api\/ApiFlowLockTopic.php":{"errors":5,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":10,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":14,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":21,"column":15},{"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":29,"column":12}]},"\/src\/repo\/includes\/Model\/URLReference.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":79,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":83,"column":12}]},"\/src\/repo\/tests\/phpunit\/BlockFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Repository\/TreeRepository.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":207,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":379,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":388,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":414,"column":12}]},"\/src\/repo\/includes\/Search\/Iterators\/AbstractIterator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Parsoid\/ReferenceExtractorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Data\/IndexTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/UserTuple.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":66,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":74,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":91,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":99,"column":12}]},"\/src\/repo\/includes\/Dump\/Importer.php":{"errors":0,"warnings":1,"messages":[{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":90,"column":8}]},"\/src\/repo\/includes\/Data\/Listener\/ImmediateWatchTopicListener.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/IRCLineUrlFormatter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":30,"column":15}]},"\/src\/repo\/includes\/Repository\/TreeCacheKey.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/TalkpageManagerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Storage\/RevisionStorage.php":{"errors":9,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":153,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":160,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":170,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":178,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":221,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":234,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":333,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":354,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":443,"column":15}]},"\/src\/repo\/includes\/Data\/Storage\/PostSummaryRevisionStorage.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":9,"column":15}]},"\/src\/repo\/tests\/phpunit\/integration\/Import\/HistoricalUIDGeneratorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/PostViewQuery.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Collection\/HeaderCollection.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":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":10,"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\/Data\/ObjectLocator.php":{"errors":5,"warnings":0,"messages":[{"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":69,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":178,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":182,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":314,"column":15}]},"\/src\/repo\/includes\/Data\/FlowObjectCache.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/SpamFilter\/AbuseFilterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Data\/CachingObjectMapperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/TopicRow.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/ArchiveNameHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Notifications\/UserLocator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Search\/Iterators\/TopicIterator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Data\/ObjectLocatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/TemplatingTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Model\/UUIDTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/convertLqtPageFromRemoteApiForTesting.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Repository\/RootPostLoader.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/FlowRestoreLQT.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/ChangesListQuery.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":238,"column":15}]},"\/src\/repo\/includes\/Search\/Iterators\/HeaderIterator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Storage\/PostRevisionTopicHistoryStorage.php":{"errors":3,"warnings":0,"messages":[{"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":80,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":99,"column":12}]},"\/src\/repo\/tests\/phpunit\/Api\/ApiFlowModerateTopicTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/UrlGeneratorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/Reference.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":153,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":157,"column":12}]},"\/src\/repo\/tests\/phpunit\/integration\/Import\/ArchiveNameHelperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/FlowExternalStoreMoveCluster.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":306,"column":15}]},"\/src\/repo\/tests\/phpunit\/integration\/HookTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Compactor\/FeatureCompactor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Notifications\/FlowEnabledOnTalkpagePresentationModel.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Model\/PostRevisionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Collection\/PostCollectionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Data\/UserNameListenerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/SpamFilter\/SpamBlacklistTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/TopicHistoryQuery.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":67,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":79,"column":15}]},"\/src\/repo\/includes\/Notifications\/PostEditedPresentationModel.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":92,"column":15}]},"\/src\/repo\/includes\/Data\/Mapper\/CachingObjectMapper.php":{"errors":2,"warnings":1,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":64,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":83,"column":12},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintReturn","severity":5,"fixable":false,"type":"WARNING","line":108,"column":16}]},"\/src\/repo\/includes\/Repository\/MultiGetList.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiFlow.php":{"errors":6,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":66,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":144,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":158,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":166,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":182,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":186,"column":12}]},"\/src\/repo\/tests\/phpunit\/Api\/ApiFlowViewTopicListTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Repository\/TitleRepository.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":12,"column":12}]},"\/src\/repo\/maintenance\/FlowAddMissingModerationLogs.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":41,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":45,"column":15}]},"\/src\/repo\/includes\/Notifications\/MentionPresentationModel.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":67,"column":15}]},"\/src\/repo\/includes\/Data\/Compactor\/ShallowCompactor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/SpamFilter\/SpamRegexTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Data\/Listener\/RecentChangesListenerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/convertToText.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Repository\/UserName\/OneStepUserNameQuery.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Formatter\/RevisionFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/LifecycleHandler.php":{"errors":0,"warnings":4,"messages":[{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":12,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":19,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":27,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":36,"column":8}]},"\/src\/repo\/includes\/Formatter\/TopicListFormatter.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":27,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":31,"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.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":130,"column":15}]},"\/src\/repo\/includes\/Repository\/UserName\/UserNameQuery.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/.phan\/config.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Collection\/AbstractCollection.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":265,"column":12}]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/ApiBackend.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Import\/Wikitext\/ConversionStrategyTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/TopicFormatter.php":{"errors":4,"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},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":42,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":80,"column":15}]},"\/src\/repo\/includes\/Data\/Storage\/DbStorage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Import\/LiquidThreadsApi\/ConversionStrategyTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Api\/ApiFlowLockTopicTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Parsoid\/ReferenceFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Collection\/CollectionCache.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/FlowCreateTemplates.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":84,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":94,"column":15}]},"\/src\/repo\/includes\/Model\/Workflow.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Index\/PostRevisionTopicHistoryIndex.php":{"errors":2,"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.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":100,"column":15}]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/TopicIterator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Collection\/PostSummaryCollection.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":14,"column":19},{"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":29,"column":12}]},"\/src\/repo\/maintenance\/FlowUpdateRecentChanges.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":37,"column":15}]},"\/src\/repo\/tests\/phpunit\/Formatter\/FormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/OptInController.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Import\/Wikitext\/ImportSourceTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/FlowUpdateUserWiki.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/FlowFixWorkflowLastUpdateTimestamp.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/TemplateHelper.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":586,"column":19}]},"\/src\/repo\/tests\/phpunit\/integration\/Parsoid\/Fixer\/BaseHrefFixerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Api\/ApiFlowEditHeaderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/Flow.namespaces.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/WorkflowLoader.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":65,"column":12}]},"\/src\/repo\/tests\/phpunit\/FlowTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Index\/FeatureIndex.php":{"errors":0,"warnings":1,"messages":[{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":162,"column":8}]},"\/src\/repo\/tests\/phpunit\/Collection\/RevisionCollectionPermissionsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/WikiReference.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":119,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":123,"column":12}]},"\/src\/repo\/maintenance\/benchUuidTimestampConversion.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":86,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":92,"column":12}]},"\/src\/repo\/tests\/phpunit\/unit\/HooksTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/UrlGenerator.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":877,"column":12}]},"\/src\/repo\/includes\/Dump\/Exporter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":127,"column":19}]},"\/src\/repo\/tests\/phpunit\/Repository\/TreeRepositoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Data\/Storage\/RevisionStorageTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Storage\/BasicDbStorage.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":156,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":166,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":218,"column":12}]},"\/src\/repo\/tests\/phpunit\/unit\/Import\/TemplateHelperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/FlowUpdateWorkflowPageId.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":81,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":109,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":180,"column":12}]},"\/src\/repo\/includes\/Data\/Compactor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/PermissionsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/UUID.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":229,"column":19}]},"\/src\/repo\/tests\/phpunit\/unit\/TemplateHelperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/ConversionStrategy.php":{"errors":6,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":75,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":79,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":83,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":87,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":91,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":134,"column":12}]},"\/src\/repo\/tests\/phpunit\/Repository\/TreeRepositoryDbTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/DbFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/SpamFilter\/AbuseFilter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/RevisionFormatter.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":468,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":1095,"column":15}]},"\/src\/repo\/tests\/phpunit\/Repository\/UserName\/OneStepUserNameQueryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/SpamFilter\/SpamFilter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/FlowActions.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Data\/Pager\/PagerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/SpamFilter\/ContentLengthFilter.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":17,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":21,"column":12}]},"\/src\/repo\/includes\/SpamFilter\/RateLimits.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/SpamFilter\/SpamRegex.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Notifications\/FilterFlowNotificationMiddlewareTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Notifications\/Controller.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":56,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":500,"column":12}]},"\/src\/repo\/includes\/Notifications\/TopicResolvedPresentationModel.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/AbstractFormatter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":52,"column":24}]},"\/src\/repo\/tests\/phpunit\/integration\/Notifications\/ControllerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/ObjectManager.php":{"errors":0,"warnings":10,"messages":[{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":115,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":126,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":141,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":152,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":180,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":200,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":213,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":243,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":274,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":286,"column":8}]},"\/src\/repo\/includes\/Formatter\/TocTopicListFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/PostSummaryViewQuery.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Block\/TopicBlock.php":{"errors":7,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":106,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":426,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":506,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":653,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":737,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":768,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":776,"column":15}]},"\/src\/repo\/includes\/Specials\/SpecialEnableStructuredDiscussions.php":{"errors":5,"warnings":0,"messages":[{"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.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":57,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":71,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":75,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":178,"column":15}]},"\/src\/repo\/includes\/Model\/AbstractRevision.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":832,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":849,"column":12}]},"\/src\/repo\/tests\/phpunit\/LinksTableTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/HtmlRenderingInformation.php":{"errors":5,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":53,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":57,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":61,"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":95,"column":12}]},"\/src\/repo\/includes\/Hooks.php":{"errors":11,"warnings":1,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":183,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":508,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":535,"column":19},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":773,"column":8},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":955,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":1007,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":1335,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":1345,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":1546,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":1561,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":1734,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":1894,"column":19}]},"\/src\/repo\/includes\/Specials\/SpecialStructuredDiscussions.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":75,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":206,"column":15}]},"\/src\/repo\/tests\/phpunit\/ContainerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/WatchedTopicItems.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Diff\/FlowBoardContentDiffView.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Block\/TopicListBlock.php":{"errors":6,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":153,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":199,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":239,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":339,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":343,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":355,"column":15}]},"\/src\/repo\/includes\/Actions\/ViewAction.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":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":22,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":33,"column":15}]},"\/src\/repo\/includes\/Block\/BoardHistoryBlock.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":39,"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\/Actions\/FlowAction.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":36,"column":12}]},"\/src\/repo\/includes\/Block\/Block.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/ServiceWiring.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Actions\/EditAction.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":31,"column":12}]},"\/src\/repo\/includes\/EchoHooks.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/TalkpageManager.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/container.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/defines.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/SubmissionHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Block\/HeaderBlock.php":{"errors":5,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":66,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":176,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":204,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":349,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":369,"column":12}]}}}

--- end ---
PHPCS run failed
$ vendor/bin/phpcs --report=json
--- stdout ---
{"totals":{"errors":414,"warnings":34,"fixable":0},"files":{"\/src\/repo\/includes\/Import\/IImportObject.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/IImportSource.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Hooks\/AbuseFilterHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/EnableFlow\/EnableFlowWikitextConversionStrategy.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/IRevisionableObject.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/SourceStore\/Exception.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/SourceStore\/NullImportSourceStore.php":{"errors":2,"warnings":0,"messages":[{"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":13,"column":12}]},"\/src\/repo\/includes\/Import\/IImportSummary.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/ImportSummary.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\/includes\/SchemaHooks.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/DeletedContributionsRow.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/ReplyIterator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parsoid\/Extractor\/PlaceholderExtractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parsoid\/Fixer\/ExtLinkFixer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parsoid\/Extractor\/WikiLinkExtractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/ImportHeader.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":21,"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":84,"column":12}]},"\/src\/repo\/includes\/Import\/Postprocessor\/SpecialLogTopic.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/convertNamespaceFromWikitext.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/HistoricalUIDGenerator.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\/Flow.alias.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/ImportException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/Importer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/RevisionFormatterFactory.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":48,"column":12}]},"\/src\/repo\/includes\/Import\/IImportHeader.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/BaseTopicListFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Exception\/FailCommitException.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":9,"column":15}]},"\/src\/repo\/includes\/Exception\/InvalidParameterException.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":12,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":16,"column":15}]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/RemoteApiBackend.php":{"errors":2,"warnings":0,"messages":[{"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":32,"column":12}]},"\/src\/repo\/includes\/Import\/Plain\/ObjectRevision.php":{"errors":4,"warnings":0,"messages":[{"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":34,"column":12},{"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":42,"column":12}]},"\/src\/repo\/includes\/Exception\/InvalidReferenceException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parsoid\/Extractor\/TransclusionExtractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parsoid\/Fixer\/BadImageRemover.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Exception\/DataPersistenceException.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":9,"column":15}]},"\/src\/repo\/maintenance\/FlowFixEditCount.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":46,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":50,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":75,"column":12}]},"\/src\/repo\/includes\/Parsoid\/ReferenceFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Exception\/FlowBaseException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/FlowFixLinks.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":42,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":46,"column":15}]},"\/src\/repo\/includes\/Import\/Plain\/ImportHeader.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":24,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":28,"column":12}]},"\/src\/repo\/includes\/Parsoid\/Fixer.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":9,"column":12}]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/PageRevisionedObject.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":48,"column":12}]},"\/src\/repo\/includes\/Exception\/FlowException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Exception\/NoIndexException.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":9,"column":15}]},"\/src\/repo\/includes\/Parsoid\/Extractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/FeedItemFormatter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":10,"column":15}]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/CachedThreadData.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":68,"column":15}]},"\/src\/repo\/maintenance\/FlowFixInconsistentBoards.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Exception\/DataModelException.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":9,"column":15}]},"\/src\/repo\/includes\/Exception\/PermissionException.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":9,"column":15}]},"\/src\/repo\/includes\/Formatter\/RevisionDiffViewFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/BoardHistoryQuery.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":59,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":69,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":81,"column":15}]},"\/src\/repo\/maintenance\/FlowFixLog.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":40,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":44,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":104,"column":12}]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/ImportSource.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/CachedPageData.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":9,"column":15}]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/ApiNotFoundException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Exception\/InvalidActionException.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":12,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":20,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":28,"column":12}]},"\/src\/repo\/includes\/Exception\/CatchableFatalErrorException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parsoid\/ReferenceExtractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/Postprocessor\/LqtRedirector.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Exception\/InvalidInputException.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":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":26,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":40,"column":12}]},"\/src\/repo\/includes\/Exception\/NoParserException.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":9,"column":15}]},"\/src\/repo\/includes\/Formatter\/PostSummaryQuery.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/SourceStore\/FileImportSourceStore.php":{"errors":3,"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":38,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":42,"column":12}]},"\/src\/repo\/includes\/Api\/ApiFlowEditTitle.php":{"errors":3,"warnings":0,"messages":[{"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.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":21,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":25,"column":12}]},"\/src\/repo\/includes\/Formatter\/CategoryViewerQuery.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":79,"column":12}]},"\/src\/repo\/includes\/Api\/ApiFlowModerateTopic.php":{"errors":4,"warnings":0,"messages":[{"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.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":13,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":17,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":21,"column":12}]},"\/src\/repo\/includes\/Exception\/CrossWikiException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Collection\/PostCollection.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":19}]},"\/src\/repo\/includes\/Api\/ApiFlowReply.php":{"errors":3,"warnings":0,"messages":[{"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.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":20,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":24,"column":12}]},"\/src\/repo\/maintenance\/compileLightncandy.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":57,"column":15}]},"\/src\/repo\/includes\/Api\/ApiFlowUndoEditPost.php":{"errors":4,"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.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":12,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":16,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":20,"column":12}]},"\/src\/repo\/includes\/Api\/ApiFlowViewPost.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.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":21,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":25,"column":12}]},"\/src\/repo\/includes\/Parsoid\/ContentFixer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/CachedData.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":27,"column":12}]},"\/src\/repo\/includes\/Hooks\/FlowTermsOfUseMessagesHook.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Hooks\/APIFlowAfterExecuteHook.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/Postprocessor\/ProcessorGroup.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":40,"column":15}]},"\/src\/repo\/includes\/Exception\/InvalidTopicUuidException.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":21,"column":15},{"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":34,"column":12}]},"\/src\/repo\/includes\/Api\/ApiFlowViewTopicList.php":{"errors":3,"warnings":0,"messages":[{"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.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":22,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":26,"column":12}]},"\/src\/repo\/includes\/Api\/ApiFlowViewTopicSummary.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.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":20,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":24,"column":12}]},"\/src\/repo\/maintenance\/FlowSetUserIp.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":39,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":110,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":140,"column":12}]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/LocalApiBackend.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":29,"column":12}]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/ImportTopic.php":{"errors":7,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":22,"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":31,"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":74,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":78,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":86,"column":12}]},"\/src\/repo\/includes\/Api\/ApiFlowEditTopicSummary.php":{"errors":4,"warnings":0,"messages":[{"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.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":13,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":17,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":24,"column":12}]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/MovedImportTopic.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":13,"column":12}]},"\/src\/repo\/includes\/Api\/ApiFlowUndoEditHeader.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.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":20,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":24,"column":12}]},"\/src\/repo\/includes\/Formatter\/TopicListQuery.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/CheckUserFormatter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":8,"column":15}]},"\/src\/repo\/includes\/Formatter\/HeaderViewQuery.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parsoid\/Extractor\/ImageExtractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parsoid\/Fixer\/BaseHrefFixer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/CachedApiData.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Hooks\/HookRunner.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/RevisionViewQuery.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":115,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":149,"column":12}]},"\/src\/repo\/includes\/Log\/LqtImportFormatter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":11,"column":12}]},"\/src\/repo\/includes\/Parsoid\/Extractor\/ExtLinkExtractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/WorkflowLoaderFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiFlowBasePost.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/PageImportState.php":{"errors":2,"warnings":4,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":82,"column":12},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":111,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":111,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintReturn","severity":5,"fixable":false,"type":"WARNING","line":131,"column":16},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintReturn","severity":5,"fixable":false,"type":"WARNING","line":156,"column":16},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":239,"column":12}]},"\/src\/repo\/maintenance\/dumpBackup.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":24,"column":12}]},"\/src\/repo\/includes\/Import\/IObjectRevision.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Hooks\/FlowCheckHtmlContentXssHook.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/Postprocessor\/Postprocessor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Listener\/ModerationLoggingListener.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiFlowModeratePost.php":{"errors":4,"warnings":0,"messages":[{"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.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":13,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":17,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":21,"column":12}]},"\/src\/repo\/includes\/Api\/ApiFlowViewPostHistory.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.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":19,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":23,"column":12}]},"\/src\/repo\/Notifications.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Mapper\/BasicObjectMapper.php":{"errors":5,"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":31,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":35,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":39,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":43,"column":12}]},"\/src\/repo\/includes\/Import\/Converter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/IImportPost.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/IImportTopic.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parsoid\/Fixer\/EmptyNodeFixer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/Wikitext\/ConversionStrategy.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Repository\/UserNameBatch.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Container.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Index.php":{"errors":0,"warnings":1,"messages":[{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":81,"column":8}]},"\/src\/repo\/includes\/Parsoid\/Extractor\/CategoryExtractor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/ContributionsFormatter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":14,"column":15}]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/ScriptedImportRevision.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":46,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":50,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":54,"column":12}]},"\/src\/repo\/includes\/Formatter\/CategoryViewerFormatter.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\/OccupationController.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiFlowViewTopicHistory.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.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":19,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":23,"column":12}]},"\/src\/repo\/includes\/FlowActions.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/RevisionIterator.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":31,"column":15}]},"\/src\/repo\/maintenance\/FlowReserializeRevisionContent.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":58,"column":15}]},"\/src\/repo\/includes\/Exception\/UnknownWorkflowIdException.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":10,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":15,"column":12}]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/MovedImportPost.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\/Api\/ApiFlowNewTopic.php":{"errors":3,"warnings":0,"messages":[{"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.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":21,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":25,"column":12}]},"\/src\/repo\/includes\/Model\/AbstractSummary.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":17,"column":19}]},"\/src\/repo\/includes\/Model\/UUIDBlob.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/implementLqtFixes.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/ObjectStorage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/LinksTableUpdater.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":93,"column":12}]},"\/src\/repo\/includes\/Collection\/LocalCacheAbstractCollection.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Exception\/WikitextException.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":9,"column":15}]},"\/src\/repo\/includes\/Import\/SourceStore\/FlowRevisionsDb.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":40,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":44,"column":12}]},"\/src\/repo\/includes\/Api\/ApiFlowBaseGet.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiFlowEditHeader.php":{"errors":3,"warnings":0,"messages":[{"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.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":21,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":25,"column":12}]},"\/src\/repo\/includes\/Exception\/WrongNumberArgumentsException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Parsoid\/Fixer\/WikiLinkFixer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/MovedImportRevision.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Listener\/UserNameListener.php":{"errors":0,"warnings":1,"messages":[{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":46,"column":8}]},"\/src\/repo\/includes\/Formatter\/HistoryQuery.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Listener\/NotificationListener.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/Header.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":81,"column":12}]},"\/src\/repo\/includes\/Exception\/InvalidDataException.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":9,"column":15}]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/ImportPost.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":73,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":100,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":163,"column":12}]},"\/src\/repo\/maintenance\/FlowUpdateRevisionTypeId.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":31,"column":15}]},"\/src\/repo\/includes\/Data\/Utils\/MultiDimArray.php":{"errors":5,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":35,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":49,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":61,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":75,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":95,"column":12}]},"\/src\/repo\/includes\/Import\/SourceStore\/SourceStoreInterface.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/FlowMoveBoardsToSubpages.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/BlockFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiFlowViewHeader.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.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":20,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":24,"column":12}]},"\/src\/repo\/includes\/Data\/Utils\/ResultDuplicator.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":99,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":103,"column":12}]},"\/src\/repo\/includes\/Model\/PostSummary.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Mock\/MockImportRevision.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/TemplateHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Mock\/ExternalStoreFlowMock.php":{"errors":3,"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":19,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":23,"column":12}]},"\/src\/repo\/includes\/Data\/Pager\/HistoryPager.php":{"errors":2,"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":124,"column":12}]},"\/src\/repo\/includes\/Api\/ApiQueryPropFlowInfo.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\/Data\/Storage\/PostSummaryRevisionBoardHistoryStorage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/Wikitext\/ImportSource.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Listener\/AbstractListener.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Storage\/HeaderRevisionStorage.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":9,"column":15}]},"\/src\/repo\/includes\/Block\/TopicSummaryBlock.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":395,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":415,"column":12}]},"\/src\/repo\/includes\/Import\/Postprocessor\/LqtNotifications.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Utils\/SortRevisionsByRevisionId.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Conversion\/Utils.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/HookRunnerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Mock\/MockImportSource.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Notifications\/HeaderEditedPresentationModel.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":39,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":71,"column":15}]},"\/src\/repo\/includes\/OOUI\/BoardDescriptionWidget.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Notifications\/PostReplyPresentationModel.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/ImportRevision.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":53,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":57,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":65,"column":12}]},"\/src\/repo\/includes\/Api\/ApiFlowEditPost.php":{"errors":4,"warnings":0,"messages":[{"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.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":13,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":17,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":21,"column":12}]},"\/src\/repo\/includes\/SpamFilter\/ConfirmEdit.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Templating.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":138,"column":12}]},"\/src\/repo\/includes\/Api\/ApiFlowBase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/BoardMover.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/FlowUpdateBetaFeaturePreference.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/FlowPopulateRefId.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":34,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":38,"column":15}]},"\/src\/repo\/includes\/Api\/ApiParsoidUtilsFlow.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":37,"column":12}]},"\/src\/repo\/includes\/RecoverableErrorHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/ManagerGroup.php":{"errors":6,"warnings":2,"messages":[{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":53,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":76,"column":8},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":130,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":134,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":138,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":142,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":146,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":150,"column":12}]},"\/src\/repo\/includes\/SpamFilter\/Controller.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Notifications\/FilterFlowNotificationsMiddleware.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/AbstractQuery.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Api\/ApiFlowEditTopicSummaryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/IConversionStrategy.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiFlowUndoEditTopicSummary.php":{"errors":4,"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.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":12,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":16,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":23,"column":12}]},"\/src\/repo\/tests\/phpunit\/Api\/ApiWatchTopicTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Utils\/NamespaceIterator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Listener\/WorkflowTopicListListener.php":{"errors":0,"warnings":1,"messages":[{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":47,"column":8}]},"\/src\/repo\/tests\/phpunit\/unit\/Data\/ManagerGroupTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/FlowUpdateRevisionContentLength.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":66,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":70,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":169,"column":15}]},"\/src\/repo\/includes\/Api\/ApiFlowViewTopic.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.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":21,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":25,"column":12}]},"\/src\/repo\/includes\/Formatter\/ChangesListFormatter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":17,"column":15}]},"\/src\/repo\/includes\/Notifications\/MentionStatusPresentationModel.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/WatchedTopicItemsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Index\/TopKIndex.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":22,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":57,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":75,"column":12}]},"\/src\/repo\/includes\/Data\/Index\/PostSummaryRevisionBoardHistoryIndex.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":8,"column":15}]},"\/src\/repo\/tests\/phpunit\/Api\/ApiFlowReplyTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/FlowFixUserIp.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":53,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":80,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":124,"column":12}]},"\/src\/repo\/includes\/Data\/Storage\/PostRevisionStorage.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":29,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":33,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":37,"column":15}]},"\/src\/repo\/includes\/Data\/Index\/PostRevisionBoardHistoryIndex.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/MaintenanceDebugLogger.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/TopicImportState.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\/Formatter\/SinglePostQuery.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/SpamFilter\/ConfirmEditTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/Anchor.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":117,"column":12}]},"\/src\/repo\/includes\/SpamFilter\/SpamBlacklist.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/RevisionActionPermissions.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Parsoid\/Fixer\/BadImageRemoverTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Log\/ModerationLogger.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Model\/UserTupleTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Storage\/TopicListStorage.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":10,"column":15}]},"\/src\/repo\/includes\/Data\/Index\/UniqueFeatureIndex.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":15,"column":12}]},"\/src\/repo\/includes\/Data\/Utils\/UserMerger.php":{"errors":0,"warnings":2,"messages":[{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":129,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":137,"column":8}]},"\/src\/repo\/includes\/Formatter\/PostHistoryQuery.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/RevisionViewFormatter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":30,"column":12}]},"\/src\/repo\/tests\/phpunit\/Api\/ApiFlowViewHeaderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Utils\/PagesWithPropertyIterator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Listener\/AbstractTopicInsertListener.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/FlowActionsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Data\/UserNameBatchTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Mock\/MockImportHeader.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Api\/ApiFlowEditTitleTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/SpamFilter\/ContentLengthFilterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/View.php":{"errors":5,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":52,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":125,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":162,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":182,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":290,"column":15}]},"\/src\/repo\/includes\/Hooks\/FlowAddModulesHook.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Notifications\/NewTopicPresentationModel.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Parsoid\/Fixer\/WikiLinkFixerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Parsoid\/Fixer\/EmptyNodeFixerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/FormatterRow.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/FlowUpdateResolvedNotifTitles.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":42,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":46,"column":12}]},"\/src\/repo\/tests\/phpunit\/Mock\/MockImportPost.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Data\/NothingTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Import\/TalkpageImportOperationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Utils\/SortArrayByKeys.php":{"errors":2,"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":27,"column":19}]},"\/src\/repo\/includes\/Data\/Storage\/BoardHistoryStorage.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":14,"column":21},{"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":42,"column":12}]},"\/src\/repo\/maintenance\/FlowRemoveOldTopics.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":82,"column":15}]},"\/src\/repo\/includes\/Formatter\/ContributionsQuery.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/convertLqtPageOnLocalWiki.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/TopicListEntry.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Notifications\/FlowPresentationModel.php":{"errors":12,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":14,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":18,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":23,"column":15},{"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.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":98,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":104,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":116,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":120,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":127,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":131,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":136,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":147,"column":15}]},"\/src\/repo\/includes\/Data\/Utils\/RecentChangeFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Listener\/DeferredInsertLifecycleHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Mock\/MockImportTopic.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Block\/TopicListBlockTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Pager\/Pager.php":{"errors":0,"warnings":1,"messages":[{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":233,"column":8}]},"\/src\/repo\/includes\/Block\/AbstractBlock.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":152,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":210,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":214,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":218,"column":12}]},"\/src\/repo\/tests\/phpunit\/PostRevisionTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Conversion\/ConversionUtilsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Storage\/PostRevisionBoardHistoryStorage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/CheckUserQuery.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/RecentChangesRow.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Api\/ApiTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Notifications\/NotifiedUsersTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Listener\/ReferenceRecorder.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":166,"column":22}]},"\/src\/repo\/maintenance\/convertAllLqtPages.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/PostRevision.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":211,"column":12}]},"\/src\/repo\/tests\/phpunit\/Mock\/MockImportSummary.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":22,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":26,"column":12}]},"\/src\/repo\/tests\/phpunit\/Api\/ApiFlowModeratePostTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Pager\/PagerPage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Content\/BoardContentHandler.php":{"errors":3,"warnings":0,"messages":[{"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.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":38,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":42,"column":12}]},"\/src\/repo\/includes\/Notifications\/SummaryEditedPresentationModel.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":61,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":83,"column":15}]},"\/src\/repo\/includes\/Notifications\/TopicRenamedPresentationModel.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":65,"column":15}]},"\/src\/repo\/includes\/Data\/Listener\/TopicPageCreationListener.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Import\/PageImportStateTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/ObjectMapper.php":{"errors":0,"warnings":4,"messages":[{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":13,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":23,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintReturn","severity":5,"fixable":false,"type":"WARNING","line":24,"column":16},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintReturn","severity":5,"fixable":false,"type":"WARNING","line":33,"column":16}]},"\/src\/repo\/includes\/Search\/Iterators\/AbstractIterator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/BlockFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Index\/BoardHistoryIndex.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":51,"column":12}]},"\/src\/repo\/includes\/Formatter\/RevisionUndoViewFormatter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":61,"column":15}]},"\/src\/repo\/maintenance\/FlowPopulateLinksTables.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":32,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":36,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":45,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":86,"column":15}]},"\/src\/repo\/includes\/Data\/Utils\/Merger.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Listener\/EditCountListener.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":20,"column":12}]},"\/src\/repo\/tests\/phpunit\/Data\/IndexTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Parsoid\/ReferenceExtractorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Log\/ActionFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Api\/ApiFlowEditPostTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Import\/HistoricalUIDGeneratorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/TalkpageManagerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/ContributionsRow.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/UserTuple.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":66,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":74,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":91,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":99,"column":12}]},"\/src\/repo\/includes\/Repository\/TreeRepository.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":207,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":379,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":388,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":414,"column":12}]},"\/src\/repo\/includes\/Dump\/Importer.php":{"errors":0,"warnings":1,"messages":[{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":90,"column":8}]},"\/src\/repo\/maintenance\/convertLqtPageFromRemoteApiForTesting.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/URLReference.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":79,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":83,"column":12}]},"\/src\/repo\/includes\/Data\/Listener\/ImmediateWatchTopicListener.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/IRCLineUrlFormatter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":30,"column":15}]},"\/src\/repo\/includes\/Import\/TalkpageImportOperation.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":243,"column":15}]},"\/src\/repo\/tests\/phpunit\/Data\/CachingObjectMapperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/FlowObjectCache.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Repository\/TreeCacheKey.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/PostViewQuery.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Log\/LogQuery.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/SpamFilter\/AbuseFilterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Content\/BoardContent.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":13,"column":12}]},"\/src\/repo\/includes\/Data\/Listener\/RecentChangesListener.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/FlowExternalStoreMoveCluster.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":306,"column":15}]},"\/src\/repo\/includes\/Repository\/RootPostLoader.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Notifications\/UserLocator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/TopicRow.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Collection\/HeaderCollection.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":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":10,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":14,"column":12}]},"\/src\/repo\/maintenance\/FlowUpdateRevContentModelFromOccupyPages.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/TemplatingTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Storage\/RevisionStorage.php":{"errors":9,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":153,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":160,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":170,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":178,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":221,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":234,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":333,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":354,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":443,"column":15}]},"\/src\/repo\/includes\/Formatter\/ChangesListQuery.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":238,"column":15}]},"\/src\/repo\/tests\/phpunit\/Data\/ObjectLocatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Storage\/PostSummaryRevisionStorage.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":9,"column":15}]},"\/src\/repo\/includes\/Search\/Iterators\/TopicIterator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiFlowLockTopic.php":{"errors":5,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":10,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":14,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":21,"column":15},{"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":29,"column":12}]},"\/src\/repo\/includes\/Search\/Iterators\/HeaderIterator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Model\/UUIDTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/ObjectLocator.php":{"errors":5,"warnings":0,"messages":[{"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":69,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":178,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":182,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":314,"column":15}]},"\/src\/repo\/tests\/phpunit\/integration\/Import\/ArchiveNameHelperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/ArchiveNameHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Api\/ApiFlowModerateTopicTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Notifications\/FlowEnabledOnTalkpagePresentationModel.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/UrlGeneratorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/SpamFilter\/SpamBlacklistTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Collection\/PostCollectionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Repository\/MultiGetList.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Data\/UserNameListenerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/HookTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/Reference.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":153,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":157,"column":12}]},"\/src\/repo\/tests\/phpunit\/Model\/PostRevisionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Repository\/TitleRepository.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":12,"column":12}]},"\/src\/repo\/includes\/Data\/Storage\/PostRevisionTopicHistoryStorage.php":{"errors":3,"warnings":0,"messages":[{"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":80,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":99,"column":12}]},"\/src\/repo\/includes\/Data\/Mapper\/CachingObjectMapper.php":{"errors":2,"warnings":1,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":64,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":83,"column":12},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintReturn","severity":5,"fixable":false,"type":"WARNING","line":108,"column":16}]},"\/src\/repo\/includes\/Data\/Compactor\/FeatureCompactor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Api\/ApiFlowViewTopicListTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/TopicHistoryQuery.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":67,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":79,"column":15}]},"\/src\/repo\/tests\/phpunit\/SpamFilter\/SpamRegexTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Repository\/UserName\/OneStepUserNameQuery.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Notifications\/PostEditedPresentationModel.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":92,"column":15}]},"\/src\/repo\/includes\/Repository\/UserName\/UserNameQuery.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Data\/Listener\/RecentChangesListenerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Formatter\/RevisionFormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Notifications\/MentionPresentationModel.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":67,"column":15}]},"\/src\/repo\/.phan\/config.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/FlowRestoreLQT.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/TopicListFormatter.php":{"errors":4,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":27,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":31,"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.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":130,"column":15}]},"\/src\/repo\/tests\/phpunit\/integration\/Import\/Wikitext\/ConversionStrategyTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Compactor\/ShallowCompactor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Import\/LiquidThreadsApi\/ConversionStrategyTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/FlowUpdateUserWiki.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiFlow.php":{"errors":6,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":66,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":144,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":158,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":166,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":182,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":186,"column":12}]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/ApiBackend.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Collection\/AbstractCollection.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":265,"column":12}]},"\/src\/repo\/includes\/Data\/LifecycleHandler.php":{"errors":0,"warnings":4,"messages":[{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":12,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":19,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":27,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":36,"column":8}]},"\/src\/repo\/includes\/Import\/OptInController.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Api\/ApiFlowLockTopicTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Parsoid\/ReferenceFactoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/FlowFixWorkflowLastUpdateTimestamp.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/convertToText.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/FlowAddMissingModerationLogs.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":41,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":45,"column":15}]},"\/src\/repo\/includes\/Formatter\/TopicFormatter.php":{"errors":4,"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},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":42,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":80,"column":15}]},"\/src\/repo\/includes\/TemplateHelper.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":586,"column":19}]},"\/src\/repo\/tests\/phpunit\/integration\/Parsoid\/Fixer\/BaseHrefFixerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Storage\/DbStorage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/UrlGenerator.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":877,"column":12}]},"\/src\/repo\/tests\/phpunit\/integration\/Import\/Wikitext\/ImportSourceTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Formatter\/FormatterTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/Flow.namespaces.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/WorkflowLoader.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":65,"column":12}]},"\/src\/repo\/includes\/Model\/Workflow.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Collection\/CollectionCache.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/TopicIterator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/benchUuidTimestampConversion.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":86,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":92,"column":12}]},"\/src\/repo\/includes\/Collection\/PostSummaryCollection.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":14,"column":19},{"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":29,"column":12}]},"\/src\/repo\/includes\/Data\/Index\/PostRevisionTopicHistoryIndex.php":{"errors":2,"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.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":100,"column":15}]},"\/src\/repo\/tests\/phpunit\/Api\/ApiFlowEditHeaderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/DbFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/FlowTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/FlowCreateTemplates.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":84,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":94,"column":15}]},"\/src\/repo\/tests\/phpunit\/Collection\/RevisionCollectionPermissionsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Index\/FeatureIndex.php":{"errors":0,"warnings":1,"messages":[{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":162,"column":8}]},"\/src\/repo\/maintenance\/FlowUpdateRecentChanges.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":37,"column":15}]},"\/src\/repo\/includes\/Model\/WikiReference.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":119,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":123,"column":12}]},"\/src\/repo\/tests\/phpunit\/Repository\/TreeRepositoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/HooksTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Dump\/Exporter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":127,"column":19}]},"\/src\/repo\/tests\/phpunit\/Data\/Storage\/RevisionStorageTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/SpamFilter\/AbuseFilter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Storage\/BasicDbStorage.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":156,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":166,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":218,"column":12}]},"\/src\/repo\/tests\/phpunit\/unit\/Import\/TemplateHelperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/SpamFilter\/SpamFilter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Data\/Compactor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Repository\/TreeRepositoryDbTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Import\/LiquidThreadsApi\/ConversionStrategy.php":{"errors":6,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":75,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":79,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":83,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":87,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":91,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":134,"column":12}]},"\/src\/repo\/tests\/phpunit\/Repository\/UserName\/OneStepUserNameQueryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/SpamFilter\/ContentLengthFilter.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":17,"column":12},{"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\/TemplateHelperTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/FlowActions.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/SpamFilter\/RateLimits.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/SpamFilter\/SpamRegex.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Data\/Pager\/PagerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/FlowUpdateWorkflowPageId.php":{"errors":3,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":81,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":109,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":180,"column":12}]},"\/src\/repo\/tests\/phpunit\/PermissionsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/UUID.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":229,"column":19}]},"\/src\/repo\/includes\/Data\/ObjectManager.php":{"errors":0,"warnings":10,"messages":[{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":115,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":126,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":141,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":152,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":180,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":200,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":213,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":243,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":274,"column":8},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":286,"column":8}]},"\/src\/repo\/includes\/Formatter\/RevisionFormatter.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":468,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":1095,"column":15}]},"\/src\/repo\/includes\/Notifications\/Controller.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":56,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":500,"column":12}]},"\/src\/repo\/includes\/Notifications\/TopicResolvedPresentationModel.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Notifications\/FilterFlowNotificationMiddlewareTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Specials\/SpecialEnableStructuredDiscussions.php":{"errors":5,"warnings":0,"messages":[{"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.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":57,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":71,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":75,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":178,"column":15}]},"\/src\/repo\/includes\/ServiceWiring.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/AbstractFormatter.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":52,"column":24}]},"\/src\/repo\/tests\/phpunit\/integration\/Notifications\/ControllerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Formatter\/TocTopicListFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Block\/TopicBlock.php":{"errors":7,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":106,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":426,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":506,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":653,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":737,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":768,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":776,"column":15}]},"\/src\/repo\/includes\/Formatter\/PostSummaryViewQuery.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/LinksTableTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Specials\/SpecialStructuredDiscussions.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":75,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":206,"column":15}]},"\/src\/repo\/tests\/phpunit\/ContainerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Hooks.php":{"errors":11,"warnings":1,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":183,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":508,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":535,"column":19},{"message":"`object` should rarely be used as a typehint. If more specific types are known, list them. If only plain anonymous objects are expected, use `stdClass`. If the intent is indeed to allow any object, mark it with a \/\/ phpcs:\u2026 comment or set this rule's <severity> to 0.","source":"MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam","severity":5,"fixable":false,"type":"WARNING","line":773,"column":8},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":955,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":1007,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":1335,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":1345,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":1546,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":1561,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":1734,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":1894,"column":19}]},"\/src\/repo\/includes\/WatchedTopicItems.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Diff\/FlowBoardContentDiffView.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/container.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Actions\/ViewAction.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":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":22,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":33,"column":15}]},"\/src\/repo\/defines.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Block\/TopicListBlock.php":{"errors":6,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":153,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":199,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":239,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":339,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":343,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":355,"column":15}]},"\/src\/repo\/includes\/Actions\/FlowAction.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":36,"column":12}]},"\/src\/repo\/includes\/Model\/AbstractRevision.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":832,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":849,"column":12}]},"\/src\/repo\/includes\/Actions\/EditAction.php":{"errors":1,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":31,"column":12}]},"\/src\/repo\/includes\/SubmissionHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Model\/HtmlRenderingInformation.php":{"errors":5,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":53,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":57,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":61,"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":95,"column":12}]},"\/src\/repo\/includes\/Block\/BoardHistoryBlock.php":{"errors":2,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":39,"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\/Block\/Block.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/EchoHooks.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/TalkpageManager.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Block\/HeaderBlock.php":{"errors":5,"warnings":0,"messages":[{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":66,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":176,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":204,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationProtected","severity":5,"fixable":false,"type":"ERROR","line":349,"column":15},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":369,"column":12}]}}}

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

--- end ---
$ /usr/bin/composer install
--- stderr ---
Installing dependencies from lock file (including require-dev)
Verifying lock file contents can be installed on current platform.
Nothing to install, update or remove
Generating autoload files
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.4.18 | 10 parallel jobs
............................................................  60/460 ( 13%)
............................................................ 120/460 ( 26%)
............................................................ 180/460 ( 39%)
............................................................ 240/460 ( 52%)
............................................................ 300/460 ( 65%)
............................................................ 360/460 ( 78%)
............................................................ 420/460 ( 91%)
........................................                     460/460 (100%)


Checked 460 files in 1.6 seconds
No syntax error found
............................................................ 60 / 62 (97%)
..                                                           62 / 62 (100%)


Time: 557ms; Memory: 24MB

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

--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {
    "gaze": {
      "name": "gaze",
      "severity": "high",
      "isDirect": false,
      "via": [
        "globule"
      ],
      "effects": [
        "grunt-contrib-watch"
      ],
      "range": ">=0.4.0",
      "nodes": [
        "node_modules/gaze"
      ],
      "fixAvailable": {
        "name": "grunt-contrib-watch",
        "version": "0.4.4",
        "isSemVerMajor": true
      }
    },
    "globule": {
      "name": "globule",
      "severity": "high",
      "isDirect": false,
      "via": [
        "minimatch"
      ],
      "effects": [
        "gaze"
      ],
      "range": "*",
      "nodes": [
        "node_modules/globule"
      ],
      "fixAvailable": {
        "name": "grunt-contrib-watch",
        "version": "0.4.4",
        "isSemVerMajor": true
      }
    },
    "grunt": {
      "name": "grunt",
      "severity": "high",
      "isDirect": true,
      "via": [
        "minimatch"
      ],
      "effects": [
        "grunt-eslint"
      ],
      "range": ">=0.4.0-a",
      "nodes": [
        "node_modules/grunt"
      ],
      "fixAvailable": {
        "name": "grunt",
        "version": "0.3.17",
        "isSemVerMajor": true
      }
    },
    "grunt-contrib-watch": {
      "name": "grunt-contrib-watch",
      "severity": "high",
      "isDirect": true,
      "via": [
        "gaze"
      ],
      "effects": [],
      "range": ">=0.5.0",
      "nodes": [
        "node_modules/grunt-contrib-watch"
      ],
      "fixAvailable": {
        "name": "grunt-contrib-watch",
        "version": "0.4.4",
        "isSemVerMajor": true
      }
    },
    "grunt-eslint": {
      "name": "grunt-eslint",
      "severity": "high",
      "isDirect": true,
      "via": [
        "grunt"
      ],
      "effects": [],
      "range": "<=1.0.0 || >=18.1.0",
      "nodes": [
        "node_modules/grunt-eslint"
      ],
      "fixAvailable": {
        "name": "grunt-eslint",
        "version": "18.0.0",
        "isSemVerMajor": true
      }
    },
    "minimatch": {
      "name": "minimatch",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1113459,
          "name": "minimatch",
          "dependency": "minimatch",
          "title": "minimatch has a ReDoS via repeated wildcards with non-matching literal in pattern",
          "url": "https://github.com/advisories/GHSA-3ppc-4f35-3m26",
          "severity": "high",
          "cwe": [
            "CWE-1333"
          ],
          "cvss": {
            "score": 0,
            "vectorString": null
          },
          "range": "<3.1.3"
        },
        {
          "source": 1113465,
          "name": "minimatch",
          "dependency": "minimatch",
          "title": "minimatch has a ReDoS via repeated wildcards with non-matching literal in pattern",
          "url": "https://github.com/advisories/GHSA-3ppc-4f35-3m26",
          "severity": "high",
          "cwe": [
            "CWE-1333"
          ],
          "cvss": {
            "score": 0,
            "vectorString": null
          },
          "range": ">=9.0.0 <9.0.6"
        },
        {
          "source": 1113538,
          "name": "minimatch",
          "dependency": "minimatch",
          "title": "minimatch has ReDoS: matchOne() combinatorial backtracking via multiple non-adjacent GLOBSTAR segments",
          "url": "https://github.com/advisories/GHSA-7r86-cg39-jmmj",
          "severity": "high",
          "cwe": [
            "CWE-407"
          ],
          "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.1.3"
        },
        {
          "source": 1113544,
          "name": "minimatch",
          "dependency": "minimatch",
          "title": "minimatch has ReDoS: matchOne() combinatorial backtracking via multiple non-adjacent GLOBSTAR segments",
          "url": "https://github.com/advisories/GHSA-7r86-cg39-jmmj",
          "severity": "high",
          "cwe": [
            "CWE-407"
          ],
          "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": ">=9.0.0 <9.0.7"
        },
        {
          "source": 1113546,
          "name": "minimatch",
          "dependency": "minimatch",
          "title": "minimatch ReDoS: nested *() extglobs generate catastrophically backtracking regular expressions",
          "url": "https://github.com/advisories/GHSA-23c5-xmqv-rm74",
          "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": "<3.1.4"
        },
        {
          "source": 1113552,
          "name": "minimatch",
          "dependency": "minimatch",
          "title": "minimatch ReDoS: nested *() extglobs generate catastrophically backtracking regular expressions",
          "url": "https://github.com/advisories/GHSA-23c5-xmqv-rm74",
          "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": ">=9.0.0 <9.0.7"
        }
      ],
      "effects": [
        "globule",
        "grunt"
      ],
      "range": "<=3.1.3 || 9.0.0 - 9.0.6",
      "nodes": [
        "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch",
        "node_modules/globule/node_modules/minimatch",
        "node_modules/grunt/node_modules/minimatch",
        "node_modules/minimatch"
      ],
      "fixAvailable": {
        "name": "grunt",
        "version": "0.3.17",
        "isSemVerMajor": true
      }
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 0,
      "moderate": 0,
      "high": 6,
      "critical": 0,
      "total": 6
    },
    "dependencies": {
      "prod": 1,
      "dev": 494,
      "optional": 0,
      "peer": 1,
      "peerOptional": 0,
      "total": 494
    }
  }
}

--- 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": 0,
  "removed": 0,
  "changed": 2,
  "audited": 495,
  "funding": 118,
  "audit": {
    "auditReportVersion": 2,
    "vulnerabilities": {
      "gaze": {
        "name": "gaze",
        "severity": "high",
        "isDirect": false,
        "via": [
          "globule"
        ],
        "effects": [
          "grunt-contrib-watch"
        ],
        "range": ">=0.4.0",
        "nodes": [
          "node_modules/gaze"
        ],
        "fixAvailable": {
          "name": "grunt-contrib-watch",
          "version": "0.4.4",
          "isSemVerMajor": true
        }
      },
      "globule": {
        "name": "globule",
        "severity": "high",
        "isDirect": false,
        "via": [
          "minimatch"
        ],
        "effects": [
          "gaze"
        ],
        "range": "*",
        "nodes": [
          "node_modules/globule"
        ],
        "fixAvailable": {
          "name": "grunt-contrib-watch",
          "version": "0.4.4",
          "isSemVerMajor": true
        }
      },
      "grunt": {
        "name": "grunt",
        "severity": "high",
        "isDirect": true,
        "via": [
          "minimatch"
        ],
        "effects": [
          "grunt-eslint"
        ],
        "range": ">=0.4.0-a",
        "nodes": [
          "node_modules/grunt"
        ],
        "fixAvailable": {
          "name": "grunt",
          "version": "0.3.17",
          "isSemVerMajor": true
        }
      },
      "grunt-contrib-watch": {
        "name": "grunt-contrib-watch",
        "severity": "high",
        "isDirect": true,
        "via": [
          "gaze"
        ],
        "effects": [],
        "range": ">=0.5.0",
        "nodes": [
          "node_modules/grunt-contrib-watch"
        ],
        "fixAvailable": {
          "name": "grunt-contrib-watch",
          "version": "0.4.4",
          "isSemVerMajor": true
        }
      },
      "grunt-eslint": {
        "name": "grunt-eslint",
        "severity": "high",
        "isDirect": true,
        "via": [
          "grunt"
        ],
        "effects": [],
        "range": "<=1.0.0 || >=18.1.0",
        "nodes": [
          "node_modules/grunt-eslint"
        ],
        "fixAvailable": {
          "name": "grunt-eslint",
          "version": "18.0.0",
          "isSemVerMajor": true
        }
      },
      "minimatch": {
        "name": "minimatch",
        "severity": "high",
        "isDirect": false,
        "via": [
          {
            "source": 1113459,
            "name": "minimatch",
            "dependency": "minimatch",
            "title": "minimatch has a ReDoS via repeated wildcards with non-matching literal in pattern",
            "url": "https://github.com/advisories/GHSA-3ppc-4f35-3m26",
            "severity": "high",
            "cwe": [
              "CWE-1333"
            ],
            "cvss": {
              "score": 0,
              "vectorString": null
            },
            "range": "<3.1.3"
          },
          {
            "source": 1113465,
            "name": "minimatch",
            "dependency": "minimatch",
            "title": "minimatch has a ReDoS via repeated wildcards with non-matching literal in pattern",
            "url": "https://github.com/advisories/GHSA-3ppc-4f35-3m26",
            "severity": "high",
            "cwe": [
              "CWE-1333"
            ],
            "cvss": {
              "score": 0,
              "vectorString": null
            },
            "range": ">=9.0.0 <9.0.6"
          },
          {
            "source": 1113538,
            "name": "minimatch",
            "dependency": "minimatch",
            "title": "minimatch has ReDoS: matchOne() combinatorial backtracking via multiple non-adjacent GLOBSTAR segments",
            "url": "https://github.com/advisories/GHSA-7r86-cg39-jmmj",
            "severity": "high",
            "cwe": [
              "CWE-407"
            ],
            "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.1.3"
          },
          {
            "source": 1113544,
            "name": "minimatch",
            "dependency": "minimatch",
            "title": "minimatch has ReDoS: matchOne() combinatorial backtracking via multiple non-adjacent GLOBSTAR segments",
            "url": "https://github.com/advisories/GHSA-7r86-cg39-jmmj",
            "severity": "high",
            "cwe": [
              "CWE-407"
            ],
            "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": ">=9.0.0 <9.0.7"
          },
          {
            "source": 1113546,
            "name": "minimatch",
            "dependency": "minimatch",
            "title": "minimatch ReDoS: nested *() extglobs generate catastrophically backtracking regular expressions",
            "url": "https://github.com/advisories/GHSA-23c5-xmqv-rm74",
            "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": "<3.1.4"
          },
          {
            "source": 1113552,
            "name": "minimatch",
            "dependency": "minimatch",
            "title": "minimatch ReDoS: nested *() extglobs generate catastrophically backtracking regular expressions",
            "url": "https://github.com/advisories/GHSA-23c5-xmqv-rm74",
            "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": ">=9.0.0 <9.0.7"
          }
        ],
        "effects": [
          "globule",
          "grunt"
        ],
        "range": "<=3.1.3 || 9.0.0 - 9.0.6",
        "nodes": [
          "",
          "",
          "node_modules/globule/node_modules/minimatch",
          "node_modules/grunt/node_modules/minimatch"
        ],
        "fixAvailable": {
          "name": "grunt",
          "version": "0.3.17",
          "isSemVerMajor": true
        }
      }
    },
    "metadata": {
      "vulnerabilities": {
        "info": 0,
        "low": 0,
        "moderate": 0,
        "high": 6,
        "critical": 0,
        "total": 6
      },
      "dependencies": {
        "prod": 1,
        "dev": 494,
        "optional": 0,
        "peer": 1,
        "peerOptional": 0,
        "total": 494
      }
    }
  }
}

--- end ---
{"added": 0, "removed": 0, "changed": 2, "audited": 495, "funding": 118, "audit": {"auditReportVersion": 2, "vulnerabilities": {"gaze": {"name": "gaze", "severity": "high", "isDirect": false, "via": ["globule"], "effects": ["grunt-contrib-watch"], "range": ">=0.4.0", "nodes": ["node_modules/gaze"], "fixAvailable": {"name": "grunt-contrib-watch", "version": "0.4.4", "isSemVerMajor": true}}, "globule": {"name": "globule", "severity": "high", "isDirect": false, "via": ["minimatch"], "effects": ["gaze"], "range": "*", "nodes": ["node_modules/globule"], "fixAvailable": {"name": "grunt-contrib-watch", "version": "0.4.4", "isSemVerMajor": true}}, "grunt": {"name": "grunt", "severity": "high", "isDirect": true, "via": ["minimatch"], "effects": ["grunt-eslint"], "range": ">=0.4.0-a", "nodes": ["node_modules/grunt"], "fixAvailable": {"name": "grunt", "version": "0.3.17", "isSemVerMajor": true}}, "grunt-contrib-watch": {"name": "grunt-contrib-watch", "severity": "high", "isDirect": true, "via": ["gaze"], "effects": [], "range": ">=0.5.0", "nodes": ["node_modules/grunt-contrib-watch"], "fixAvailable": {"name": "grunt-contrib-watch", "version": "0.4.4", "isSemVerMajor": true}}, "grunt-eslint": {"name": "grunt-eslint", "severity": "high", "isDirect": true, "via": ["grunt"], "effects": [], "range": "<=1.0.0 || >=18.1.0", "nodes": ["node_modules/grunt-eslint"], "fixAvailable": {"name": "grunt-eslint", "version": "18.0.0", "isSemVerMajor": true}}, "minimatch": {"name": "minimatch", "severity": "high", "isDirect": false, "via": [{"source": 1113459, "name": "minimatch", "dependency": "minimatch", "title": "minimatch has a ReDoS via repeated wildcards with non-matching literal in pattern", "url": "https://github.com/advisories/GHSA-3ppc-4f35-3m26", "severity": "high", "cwe": ["CWE-1333"], "cvss": {"score": 0, "vectorString": null}, "range": "<3.1.3"}, {"source": 1113465, "name": "minimatch", "dependency": "minimatch", "title": "minimatch has a ReDoS via repeated wildcards with non-matching literal in pattern", "url": "https://github.com/advisories/GHSA-3ppc-4f35-3m26", "severity": "high", "cwe": ["CWE-1333"], "cvss": {"score": 0, "vectorString": null}, "range": ">=9.0.0 <9.0.6"}, {"source": 1113538, "name": "minimatch", "dependency": "minimatch", "title": "minimatch has ReDoS: matchOne() combinatorial backtracking via multiple non-adjacent GLOBSTAR segments", "url": "https://github.com/advisories/GHSA-7r86-cg39-jmmj", "severity": "high", "cwe": ["CWE-407"], "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.1.3"}, {"source": 1113544, "name": "minimatch", "dependency": "minimatch", "title": "minimatch has ReDoS: matchOne() combinatorial backtracking via multiple non-adjacent GLOBSTAR segments", "url": "https://github.com/advisories/GHSA-7r86-cg39-jmmj", "severity": "high", "cwe": ["CWE-407"], "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": ">=9.0.0 <9.0.7"}, {"source": 1113546, "name": "minimatch", "dependency": "minimatch", "title": "minimatch ReDoS: nested *() extglobs generate catastrophically backtracking regular expressions", "url": "https://github.com/advisories/GHSA-23c5-xmqv-rm74", "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": "<3.1.4"}, {"source": 1113552, "name": "minimatch", "dependency": "minimatch", "title": "minimatch ReDoS: nested *() extglobs generate catastrophically backtracking regular expressions", "url": "https://github.com/advisories/GHSA-23c5-xmqv-rm74", "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": ">=9.0.0 <9.0.7"}], "effects": ["globule", "grunt"], "range": "<=3.1.3 || 9.0.0 - 9.0.6", "nodes": ["", "", "node_modules/globule/node_modules/minimatch", "node_modules/grunt/node_modules/minimatch"], "fixAvailable": {"name": "grunt", "version": "0.3.17", "isSemVerMajor": true}}}, "metadata": {"vulnerabilities": {"info": 0, "low": 0, "moderate": 0, "high": 6, "critical": 0, "total": 6}, "dependencies": {"prod": 1, "dev": 494, "optional": 0, "peer": 1, "peerOptional": 0, "total": 494}}}}
$ /usr/bin/npm audit fix --only=dev
--- stderr ---
npm WARN invalid config only="dev" set in command line options
npm WARN invalid config Must be one of: null, prod, production
--- stdout ---

up to date, audited 495 packages in 2s

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

# npm audit report

minimatch  <=3.1.3
Severity: high
minimatch has a ReDoS via repeated wildcards with non-matching literal in pattern - https://github.com/advisories/GHSA-3ppc-4f35-3m26
minimatch has ReDoS: matchOne() combinatorial backtracking via multiple non-adjacent GLOBSTAR segments - https://github.com/advisories/GHSA-7r86-cg39-jmmj
minimatch ReDoS: nested *() extglobs generate catastrophically backtracking regular expressions - https://github.com/advisories/GHSA-23c5-xmqv-rm74
fix available via `npm audit fix --force`
Will install grunt@0.3.17, which is a breaking change
node_modules/globule/node_modules/minimatch
node_modules/grunt/node_modules/minimatch
  globule  *
  Depends on vulnerable versions of minimatch
  node_modules/globule
    gaze  >=0.4.0
    Depends on vulnerable versions of globule
    node_modules/gaze
      grunt-contrib-watch  >=0.5.0
      Depends on vulnerable versions of gaze
      node_modules/grunt-contrib-watch
  grunt  >=0.4.0-a
  Depends on vulnerable versions of minimatch
  node_modules/grunt
    grunt-eslint  <=1.0.0 || >=18.1.0
    Depends on vulnerable versions of grunt
    node_modules/grunt-eslint

6 high severity vulnerabilities

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

--- end ---
Verifying that tests still pass
$ /usr/bin/npm ci
--- stderr ---
npm WARN deprecated @humanwhocodes/config-array@0.13.0: Use @eslint/config-array instead
npm WARN deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
npm WARN deprecated eslint@8.57.1: This version is no longer supported. Please see https://eslint.org/version-support for other options.
--- stdout ---

added 494 packages, and audited 495 packages in 5s

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

6 high severity vulnerabilities

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

Run `npm audit` for details.

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

> flow@0.0.0 test
> grunt test

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

Running "eslint:all" (eslint) task

/src/repo/modules/editor/editors/visualeditor/mw.flow.ve.Target.js
  104:4  warning  'sessionState' is never reassigned. Use 'const' instead  prefer-const
  116:3  warning  'doc' is never reassigned. Use 'const' instead           prefer-const
  148:3  warning  'newMode' is never reassigned. Use 'const' instead       prefer-const
  149:3  warning  'oldFormat' is never reassigned. Use 'const' instead     prefer-const
  150:3  warning  'newFormat' is never reassigned. Use 'const' instead     prefer-const
  151:3  warning  'doc' is never reassigned. Use 'const' instead           prefer-const
  153:3  warning  'content' is never reassigned. Use 'const' instead       prefer-const
  157:3  warning  Prefer .then to .fail                                    no-jquery/no-done-fail
  167:4  warning  'surfaceModel' is never reassigned. Use 'const' instead  prefer-const

/src/repo/modules/editor/editors/visualeditor/mw.flow.ve.UserCache.js
  52:23  warning  'newData' is never reassigned. Use 'const' instead    prefer-const
  86:15  warning  'cacheData' is never reassigned. Use 'const' instead  prefer-const

/src/repo/modules/editor/editors/visualeditor/ui/inspectors/mw.flow.ve.ui.MentionInspector.js
   66:3  warning  'key' is never reassigned. Use 'const' instead            prefer-const
   67:3  warning  'value' is never reassigned. Use 'const' instead          prefer-const
   68:3  warning  'inspector' is never reassigned. Use 'const' instead      prefer-const
   71:3  warning  Prefer .then to .done                                     no-jquery/no-done-fail
  101:3  warning  'key' is never reassigned. Use 'const' instead            prefer-const
  107:3  warning  'templateModel' is never reassigned. Use 'const' instead  prefer-const
  142:4  warning  Prefer .then to .done                                     no-jquery/no-done-fail
  167:3  warning  'flowBoard' is never reassigned. Use 'const' instead      prefer-const
  172:3  warning  'overlay' is never reassigned. Use 'const' instead        prefer-const
  177:3  warning  'iconWidget' is never reassigned. Use 'const' instead     prefer-const
  200:4  warning  'surfaceModel' is never reassigned. Use 'const' instead   prefer-const
  206:4  warning  Prefer .then to .done                                     no-jquery/no-done-fail
  260:3  warning  'errorText' is never reassigned. Use 'const' instead      prefer-const

/src/repo/modules/editor/editors/visualeditor/ui/widgets/mw.flow.ve.ui.MentionTargetInputWidget.js
  20:4   warning  ES2015 'Object.assign' method is forbidden         es-x/no-object-assign
  27:41  warning  ES2015 'Object.assign' method is forbidden         es-x/no-object-assign
  85:4   warning  'widget' is never reassigned. Use 'const' instead  prefer-const
  86:4   warning  'value' is never reassigned. Use 'const' instead   prefer-const
  94:3   warning  'xhr' is never reassigned. Use 'const' instead     prefer-const

/src/repo/modules/engine/components/board/base/flow-board-api-events.js
   10:1   warning  The type 'FlowComponent' is undefined                      jsdoc/no-undefined-types
   62:10  warning  ES2015 'Object.assign' method is forbidden                 es-x/no-object-assign
  107:4   warning  'flowBoard' is never reassigned. Use 'const' instead       prefer-const
  108:4   warning  'dfd' is never reassigned. Use 'const' instead             prefer-const
  115:3   warning  '$rendered' is never reassigned. Use 'const' instead       prefer-const
  163:4   warning  '$target' is never reassigned. Use 'const' instead         prefer-const
  164:4   warning  '$tooltipTarget' is never reassigned. Use 'const' instead  prefer-const
  165:4   warning  'flowBoard' is never reassigned. Use 'const' instead       prefer-const
  167:4   warning  'url' is never reassigned. Use 'const' instead             prefer-const
  168:4   warning  'links' is never reassigned. Use 'const' instead           prefer-const
  193:3   warning  '$newLink' is never reassigned. Use 'const' instead        prefer-const
  230:4   warning  '$target' is never reassigned. Use 'const' instead         prefer-const
  235:4   warning  '$replacement' is never reassigned. Use 'const' instead    prefer-const
  257:4   warning  '$replacement' is never reassigned. Use 'const' instead    prefer-const
  262:4   warning  '$target' is never reassigned. Use 'const' instead         prefer-const
  275:2   warning  Found more than one @return declaration                    jsdoc/require-returns
  275:2   warning  Found more than one @return declaration                    jsdoc/require-returns-check
  289:5   warning  '$this' is never reassigned. Use 'const' instead           prefer-const
  296:4   warning  '$form' is never reassigned. Use 'const' instead           prefer-const
  297:4   warning  'revisionId' is never reassigned. Use 'const' instead      prefer-const
  298:4   warning  '$target' is never reassigned. Use 'const' instead         prefer-const
  299:4   warning  'flowBoard' is never reassigned. Use 'const' instead       prefer-const
  302:11  warning  Prefer .then to .done                                      no-jquery/no-done-fail
  302:11  warning  Prefer .then to .done                                      no-jquery/no-done-fail
  324:4   warning  'flowBoard' is never reassigned. Use 'const' instead       prefer-const
  327:10  warning  Prefer .then to .done                                      no-jquery/no-done-fail
  327:10  warning  Prefer .then to .fail                                      no-jquery/no-done-fail

/src/repo/modules/engine/components/board/base/flow-board-interactive-events.js
  9:1  warning  The type 'FlowComponent' is undefined  jsdoc/no-undefined-types

/src/repo/modules/engine/components/board/base/flow-board-load-events.js
  9:1  warning  The type 'FlowComponent' is undefined  jsdoc/no-undefined-types

/src/repo/modules/engine/components/board/base/flow-boardandhistory-base.js
   66:4  warning  '$this' is never reassigned. Use 'const' instead          prefer-const
   67:4  warning  'flowComponent' is never reassigned. Use 'const' instead  prefer-const
   70:4  warning  'role' is never reassigned. Use 'const' instead           prefer-const
   71:4  warning  'template' is never reassigned. Use 'const' instead       prefer-const
   72:4  warning  'params' is never reassigned. Use 'const' instead         prefer-const
   79:4  warning  '$deferred' is never reassigned. Use 'const' instead      prefer-const
  100:3  warning  '$form' is never reassigned. Use 'const' instead          prefer-const
  118:7  warning  'target' is never reassigned. Use 'const' instead         prefer-const
  119:4  warning  '$form' is never reassigned. Use 'const' instead          prefer-const
  120:4  warning  'flowComponent' is never reassigned. Use 'const' instead  prefer-const
  121:4  warning  '$fields' is never reassigned. Use 'const' instead        prefer-const
  123:4  warning  '$deferred' is never reassigned. Use 'const' instead      prefer-const
  124:4  warning  'callbacks' is never reassigned. Use 'const' instead      prefer-const

/src/repo/modules/engine/components/board/features/flow-board-loadmore.js
   51:4   warning  'flowBoard' is never reassigned. Use 'const' instead                   prefer-const
   53:4   warning  '_scrollWithoutInfinite' is never reassigned. Use 'const' instead      prefer-const
  100:3   warning  'apiParameters' is never reassigned. Use 'const' instead               prefer-const
  119:3   warning  Prefer .then to .done                                                  no-jquery/no-done-fail
  119:3   warning  Prefer .then to .fail                                                  no-jquery/no-done-fail
  221:4   warning  '$this' is never reassigned. Use 'const' instead                       prefer-const
  222:4   warning  '$target' is never reassigned. Use 'const' instead                     prefer-const
  223:4   warning  'flowBoard' is never reassigned. Use 'const' instead                   prefer-const
  230:3   warning  'scrollTarget' is never reassigned. Use 'const' instead                prefer-const
  231:3   warning  '$scrollContainer' is never reassigned. Use 'const' instead            prefer-const
  232:3   warning  'topicsData' is never reassigned. Use 'const' instead                  prefer-const
  294:7   warning  'scrollTargetSelector' is never reassigned. Use 'const' instead        prefer-const
  296:4   warning  'scrollContainerSelector' is never reassigned. Use 'const' instead     prefer-const
  297:4   warning  '$scrollContainer' is never reassigned. Use 'const' instead            prefer-const
  298:4   warning  'board' is never reassigned. Use 'const' instead                       prefer-const
  357:43  warning  '$topic' is already declared in the upper scope on line 348 column 62  no-shadow
  369:2   warning  Found more than one @return declaration                                jsdoc/require-returns
  369:2   warning  Found more than one @return declaration                                jsdoc/require-returns-check
  440:3   warning  'calculationContainerHeight' is never reassigned. Use 'const' instead  prefer-const
  441:3   warning  'calculationContainerScroll' is never reassigned. Use 'const' instead  prefer-const
  482:4   warning  'toInsert' is never reassigned. Use 'const' instead                    prefer-const
  547:8   warning  'rootsBackup' is never reassigned. Use 'const' instead                 prefer-const

/src/repo/modules/engine/components/board/features/flow-board-navigation.js
  11:1  warning  The type 'FlowComponent' is undefined  jsdoc/no-undefined-types

/src/repo/modules/engine/components/board/features/flow-board-side-rail.js
  9:1  warning  The type 'FlowComponent' is undefined  jsdoc/no-undefined-types

/src/repo/modules/engine/components/board/features/flow-board-visualeditor.js
   9:1  warning  The type 'FlowBoardComponent' is undefined                  jsdoc/no-undefined-types
  24:7  warning  '$topic' is never reassigned. Use 'const' instead           prefer-const
  28:3  warning  'duplicatedArray' is never reassigned. Use 'const' instead  prefer-const

/src/repo/modules/engine/components/board/flow-board.js
  13:1  warning  The type 'FlowBoardAndHistoryComponentBase' is undefined            jsdoc/no-undefined-types
  14:1  warning  The type 'FlowComponentEventsMixin' is undefined                    jsdoc/no-undefined-types
  15:1  warning  The type 'FlowComponentEnginesMixin' is undefined                   jsdoc/no-undefined-types
  16:1  warning  The type 'FlowBoardComponentApiEventsMixin' is undefined            jsdoc/no-undefined-types
  17:1  warning  The type 'FlowBoardComponentInteractiveEventsMixin' is undefined    jsdoc/no-undefined-types
  18:1  warning  The type 'FlowBoardComponentLoadEventsMixin' is undefined           jsdoc/no-undefined-types
  19:1  warning  The type 'FlowBoardComponentLoadMoreFeatureMixin' is undefined      jsdoc/no-undefined-types
  20:1  warning  The type 'FlowBoardComponentVisualEditorFeatureMixin' is undefined  jsdoc/no-undefined-types
  25:7  warning  'anchorUid' is never reassigned. Use 'const' instead                prefer-const
  84:3  warning  '$header' is never reassigned. Use 'const' instead                  prefer-const
  86:3  warning  '$boardNavigation' is never reassigned. Use 'const' instead         prefer-const
  88:3  warning  '$board' is never reassigned. Use 'const' instead                   prefer-const

/src/repo/modules/engine/components/board/flow-boardhistory.js
   6:1  warning  The type 'FlowBoardAndHistoryComponentBase' is undefined     jsdoc/no-undefined-types
  42:3  warning  'flowBoardHistory' is never reassigned. Use 'const' instead  prefer-const

/src/repo/modules/engine/components/common/flow-component-events.js
  123:4   warning  'returns' is never reassigned. Use 'const' instead                      prefer-const
  273:4   warning  'deferreds' is never reassigned. Use 'const' instead                    prefer-const
  275:4   warning  'self' is never reassigned. Use 'const' instead                         prefer-const
  276:4   warning  '$this' is never reassigned. Use 'const' instead                        prefer-const
  277:4   warning  'flowComponent' is never reassigned. Use 'const' instead                prefer-const
  278:4   warning  'dataParams' is never reassigned. Use 'const' instead                   prefer-const
  279:4   warning  'handlerName' is never reassigned. Use 'const' instead                  prefer-const
  280:4   warning  'info' is never reassigned. Use 'const' instead                         prefer-const
  285:4   warning  'args' is never reassigned. Use 'const' instead                         prefer-const
  286:4   warning  'queryMap' is never reassigned. Use 'const' instead                     prefer-const
  316:31  warning  'args' is already declared in the upper scope on line 285 column 4      no-shadow
  336:31  warning  'args' is already declared in the upper scope on line 285 column 4      no-shadow
  337:10  warning  'queryMap' is already declared in the upper scope on line 286 column 4  no-shadow
  342:12  warning  'args' is already declared in the upper scope on line 336 column 31     no-shadow
  351:7   warning  'args' is already declared in the upper scope on line 336 column 31     no-shadow
  351:7   warning  'args' is never reassigned. Use 'const' instead                         prefer-const
  352:7   warning  '$form' is never reassigned. Use 'const' instead                        prefer-const
  380:6   warning  'errorMsg' is never reassigned. Use 'const' instead                     prefer-const
  412:3   warning  Prefer .then to .fail                                                   no-jquery/no-done-fail
  418:10  warning  Prefer .then to .done                                                   no-jquery/no-done-fail
  452:3   warning  'component' is never reassigned. Use 'const' instead                    prefer-const
  472:3   warning  '$content' is never reassigned. Use 'const' instead                     prefer-const
  544:3   warning  'args' is never reassigned. Use 'const' instead                         prefer-const
  545:3   warning  '$context' is never reassigned. Use 'const' instead                     prefer-const
  547:3   warning  'interactiveHandlerName' is never reassigned. Use 'const' instead       prefer-const
  548:3   warning  'apiHandlerName' is never reassigned. Use 'const' instead               prefer-const
  746:7   warning  'flowComponent' is never reassigned. Use 'const' instead                prefer-const

/src/repo/modules/engine/components/common/flow-component-menus.js
  10:1  warning  The type 'FlowComponent' is undefined  jsdoc/no-undefined-types

/src/repo/modules/engine/components/flow-component.js
   13:1   warning  The type 'FlowComponentEventsMixin' is undefined                        jsdoc/no-undefined-types
   14:1   warning  The type 'FlowComponentEnginesMixin' is undefined                       jsdoc/no-undefined-types
   15:1   warning  The type 'FlowComponentMenusFeatureMixin' is undefined                  jsdoc/no-undefined-types
   96:4   warning  '_expandScientificNotation' is never reassigned. Use 'const' instead    prefer-const
   96:43  warning  'timestamp' is already declared in the upper scope on line 95 column 7  no-shadow
  140:4   warning  'context' is never reassigned. Use 'const' instead                      prefer-const
  161:3   warning  'id' is never reassigned. Use 'const' instead                           prefer-const
  231:3   warning  'args' is never reassigned. Use 'const' instead                         prefer-const
  232:3   warning  'handlers' is never reassigned. Use 'const' instead                     prefer-const
  233:3   warning  'special' is never reassigned. Use 'const' instead                      prefer-const

/src/repo/modules/engine/components/flow-registry.js
   33:3  warning  JSDoc @return declaration present but return expression not available in function  jsdoc/require-returns-check
   40:8  warning  'constructors' is never reassigned. Use 'const' instead                            prefer-const
   42:5  warning  'i' is already declared in the upper scope on line 31 column 10                    no-shadow
   83:3  warning  'componentName' is never reassigned. Use 'const' instead                           prefer-const
   85:3  warning  'componentBase' is never reassigned. Use 'const' instead                           prefer-const
  138:7  warning  'registeredClass' is never reassigned. Use 'const' instead                         prefer-const
  146:3  warning  'method' is never reassigned. Use 'const' instead                                  prefer-const

/src/repo/modules/engine/misc/flow-api.js
   43:5   warning  '$deferred' is never reassigned. Use 'const' instead             prefer-const
   44:5   warning  'ajaxTimeoutSec' is never reassigned. Use 'const' instead        prefer-const
   45:5   warning  'apiConstructorParams' is never reassigned. Use 'const' instead  prefer-const
   51:4   warning  'mwApi' is never reassigned. Use 'const' instead                 prefer-const
  126:4   warning  'map' is never reassigned. Use 'const' instead                   prefer-const
  209:25  warning  'queryValue' is never reassigned. Use 'const' instead            prefer-const
  314:3   warning  'str' is never reassigned. Use 'const' instead                   prefer-const
  315:3   warning  'prevApiCall' is never reassigned. Use 'const' instead           prefer-const

/src/repo/modules/engine/misc/flow-handlebars.js
   74:7  warning  'fragment' is never reassigned. Use 'const' instead                                prefer-const
  115:8  warning  '$this' is never reassigned. Use 'const' instead                                   prefer-const
  116:5  warning  'data' is never reassigned. Use 'const' instead                                    prefer-const
  117:5  warning  'target' is already declared in the upper scope on line 113 column 70              no-shadow
  117:5  warning  'target' is never reassigned. Use 'const' instead                                  prefer-const
  132:4  warning  'content' is never reassigned. Use 'const' instead                                 prefer-const
  244:2  warning  JSDoc @return declaration present but return expression not available in function  jsdoc/require-returns-check
  260:3  warning  'formatter' is never reassigned. Use 'const' instead                               prefer-const
  263:3  warning  'guid' is never reassigned. Use 'const' instead                                    prefer-const
  291:4  warning  'currentTime' is never reassigned. Use 'const' instead                             prefer-const
  314:3  warning  '$ago' is never reassigned. Use 'const' instead                                    prefer-const
  316:3  warning  'secondsAgo' is never reassigned. Use 'const' instead                              prefer-const
  594:4  warning  'partialMatch' is never reassigned. Use 'const' instead                            prefer-const

/src/repo/modules/engine/misc/jquery.conditionalScroll.js
  18:8  warning  '$this' is never reassigned. Use 'const' instead           prefer-const
  19:5  warning  'viewportY' is never reassigned. Use 'const' instead       prefer-const
  20:5  warning  'viewportHeight' is never reassigned. Use 'const' instead  prefer-const
  21:5  warning  'elOffset' is never reassigned. Use 'const' instead        prefer-const
  22:5  warning  'elHeight' is never reassigned. Use 'const' instead        prefer-const

/src/repo/modules/engine/misc/jquery.findWithParent.js
  47:7   warning  'selectors' is never reassigned. Use 'const' instead                    prefer-const
  49:4   warning  'self' is never reassigned. Use 'const' instead                         prefer-const
  51:24  warning  'selector' is already declared in the upper scope on line 46 column 35  no-shadow

/src/repo/modules/engine/misc/mw-ui.enhance.js
   18:4   warning  '$fields' is never reassigned. Use 'const' instead              prefer-const
   65:7   warning  '$tooltipTemplate' is never reassigned. Use 'const' instead     prefer-const
   91:8   warning  '$target' is never reassigned. Use 'const' instead              prefer-const
   96:5   warning  'windowWidth' is never reassigned. Use 'const' instead          prefer-const
   97:5   warning  'windowHeight' is never reassigned. Use 'const' instead         prefer-const
   98:5   warning  'scrollX' is never reassigned. Use 'const' instead              prefer-const
   99:5   warning  'scrollY' is never reassigned. Use 'const' instead              prefer-const
  104:20  warning  'tooltipLocation' is never reassigned. Use 'const' instead      prefer-const
  108:5   warning  'optionsUnreferenced' is never reassigned. Use 'const' instead  prefer-const
  209:4   warning  'tooltipWidth' is never reassigned. Use 'const' instead         prefer-const
  210:4   warning  'tooltipHeight' is never reassigned. Use 'const' instead        prefer-const
  213:4   warning  'targetPosition' is never reassigned. Use 'const' instead       prefer-const

/src/repo/modules/engine/misc/mw-ui.modal.js
  138:7  warning  '$node' is never reassigned. Use 'const' instead                                   prefer-const
  139:4  warning  '$contentNode' is never reassigned. Use 'const' instead                            prefer-const
  193:7  warning  '$heading' is never reassigned. Use 'const' instead                                prefer-const
  243:7  warning  'self' is never reassigned. Use 'const' instead                                    prefer-const
  318:2  warning  JSDoc @return declaration present but return expression not available in function  jsdoc/require-returns-check
  329:2  warning  JSDoc @return declaration present but return expression not available in function  jsdoc/require-returns-check
  424:4  warning  'modal' is never reassigned. Use 'const' instead                                   prefer-const

/src/repo/modules/flow-initialize.js
  13:4  warning  '$component' is never reassigned. Use 'const' instead   prefer-const
  15:4  warning  '$board' is never reassigned. Use 'const' instead       prefer-const
  16:4  warning  'pageTitle' is never reassigned. Use 'const' instead    prefer-const
  17:4  warning  'initializer' is never reassigned. Use 'const' instead  prefer-const

/src/repo/modules/flow/dm/api/mw.flow.dm.APIHandler.js
   19:31  warning  ES2015 'Object.assign' method is forbidden         es-x/no-object-assign
   29:24  warning  ES2015 'Object.assign' method is forbidden         es-x/no-object-assign
   57:4   warning  'params' is never reassigned. Use 'const' instead  prefer-const
   57:13  warning  ES2015 'Object.assign' method is forbidden         es-x/no-object-assign
   59:3   warning  'xhr' is never reassigned. Use 'const' instead     prefer-const
   75:13  warning  ES2015 'Object.assign' method is forbidden         es-x/no-object-assign
   95:32  warning  ES2015 'Object.assign' method is forbidden         es-x/no-object-assign
   99:2   warning  Found more than one @return declaration            jsdoc/require-returns
   99:2   warning  Found more than one @return declaration            jsdoc/require-returns-check
  116:32  warning  ES2015 'Object.assign' method is forbidden         es-x/no-object-assign
  193:7   warning  'api' is never reassigned. Use 'const' instead     prefer-const
  206:37  warning  ES2015 'Object.assign' method is forbidden         es-x/no-object-assign
  220:7   warning  'api' is never reassigned. Use 'const' instead     prefer-const
  232:37  warning  ES2015 'Object.assign' method is forbidden         es-x/no-object-assign
  262:4   warning  'params' is never reassigned. Use 'const' instead  prefer-const
  271:3   warning  'xhr' is never reassigned. Use 'const' instead     prefer-const

/src/repo/modules/flow/dm/mixins/mw.flow.dm.List.js
  137:2  warning  Missing JSDoc @return declaration                   jsdoc/require-returns
  195:2  warning  Missing JSDoc @return declaration                   jsdoc/require-returns
  204:4  warning  'removed' is never reassigned. Use 'const' instead  prefer-const
  235:2  warning  Missing JSDoc @return declaration                   jsdoc/require-returns
  239:1  warning  The type 'clear' is undefined                       jsdoc/no-undefined-types

/src/repo/modules/flow/dm/mw.flow.dm.Board.js
   78:10  warning  ES2015 'Object.assign' method is forbidden              es-x/no-object-assign
   97:4   warning  'categoryDMs' is never reassigned. Use 'const' instead  prefer-const
  217:1   warning  The type 'sortOrderChange' is undefined                 jsdoc/no-undefined-types

/src/repo/modules/flow/dm/mw.flow.dm.Item.js
  71:33  warning  ES2015 'Object.assign' method is forbidden  es-x/no-object-assign

/src/repo/modules/flow/dm/mw.flow.dm.ModeratedRevisionedContent.js
  40:10  warning  ES2015 'Object.assign' method is forbidden  es-x/no-object-assign

/src/repo/modules/flow/dm/mw.flow.dm.Post.js
  66:4  warning  'result' is never reassigned. Use 'const' instead  prefer-const

/src/repo/modules/flow/dm/mw.flow.dm.RevisionedContent.js
   83:10  warning  ES2015 'Object.assign' method is forbidden  es-x/no-object-assign
  374:1   warning  The type 'watched' is undefined             jsdoc/no-undefined-types

/src/repo/modules/flow/dm/mw.flow.dm.System.js
  138:7  warning  'system' is never reassigned. Use 'const' instead                     prefer-const
  139:4  warning  'apiParams' is never reassigned. Use 'const' instead                  prefer-const
  203:4  warning  'topicTitlesById' is never reassigned. Use 'const' instead            prefer-const
  204:4  warning  'updateTimestampsByTopicId' is never reassigned. Use 'const' instead  prefer-const
  205:4  warning  'topics' is never reassigned. Use 'const' instead                     prefer-const

/src/repo/modules/flow/dm/mw.flow.dm.Topic.js
  73:4   warning  'topics' is never reassigned. Use 'const' instead  prefer-const
  97:10  warning  ES2015 'Object.assign' method is forbidden         es-x/no-object-assign

/src/repo/modules/flow/ui/widgets/editor/mw.flow.ui.AnonWarningWidget.js
  14:4  warning  'widget' is never reassigned. Use 'const' instead         prefer-const
  26:3  warning  'shouldDisplay' is never reassigned. Use 'const' instead  prefer-const

/src/repo/modules/flow/ui/widgets/editor/mw.flow.ui.CanNotEditWidget.js
   57:4  warning  Prefer .then to .done                                       no-jquery/no-done-fail
   77:2  warning  Found more than one @return declaration                     jsdoc/require-returns
   77:2  warning  Found more than one @return declaration                     jsdoc/require-returns-check
   92:3  warning  'dfd' is never reassigned. Use 'const' instead              prefer-const
  113:5  warning  Prefer .then to .done                                       no-jquery/no-done-fail
  113:5  warning  Prefer .then to .fail                                       no-jquery/no-done-fail
  160:7  warning  'isGroupRequired' is never reassigned. Use 'const' instead  prefer-const
  161:4  warning  'userGroups' is never reassigned. Use 'const' instead       prefer-const

/src/repo/modules/flow/ui/widgets/editor/mw.flow.ui.EditorWidget.js
  270:4  warning  'deferred' is never reassigned. Use 'const' instead  prefer-const
  417:2  warning  Found more than one @return declaration              jsdoc/require-returns
  417:2  warning  Found more than one @return declaration              jsdoc/require-returns-check
  439:3  warning  'dom' is never reassigned. Use 'const' instead       prefer-const
  516:3  warning  Prefer .then to .done                                no-jquery/no-done-fail
  516:3  warning  Prefer .then to .fail                                no-jquery/no-done-fail

/src/repo/modules/flow/ui/widgets/mw.flow.ui.BoardDescriptionWidget.js
   58:46  warning  ES2015 'Object.assign' method is forbidden                  es-x/no-object-assign
  185:7   warning  'content' is never reassigned. Use 'const' instead          prefer-const
  186:7   warning  'format' is never reassigned. Use 'const' instead           prefer-const
  235:7   warning  'widget' is never reassigned. Use 'const' instead           prefer-const
  240:3   warning  'captchaResponse' is never reassigned. Use 'const' instead  prefer-const
  282:6   warning  'categories' is never reassigned. Use 'const' instead       prefer-const

/src/repo/modules/flow/ui/widgets/mw.flow.ui.CaptchaWidget.js
  30:2  warning  Found more than one @return declaration                   jsdoc/require-returns
  30:2  warning  Found more than one @return declaration                   jsdoc/require-returns-check
  38:7  warning  '$captchaField' is never reassigned. Use 'const' instead  prefer-const
  75:4  warning  Prefer .then to .fail                                     no-jquery/no-done-fail

/src/repo/modules/flow/ui/widgets/mw.flow.ui.CategoriesWidget.js
  24:40  warning  ES2015 'Object.assign' method is forbidden          es-x/no-object-assign
  69:4   warning  'widgets' is never reassigned. Use 'const' instead  prefer-const
  87:4   warning  'widgets' is never reassigned. Use 'const' instead  prefer-const

/src/repo/modules/flow/ui/widgets/mw.flow.ui.CategoryItemWidget.js
  24:3  warning  'prefixedCleanName' is never reassigned. Use 'const' instead  prefer-const
  26:3  warning  '$link' is never reassigned. Use 'const' instead              prefer-const

/src/repo/modules/flow/ui/widgets/mw.flow.ui.EditPostWidget.js
   33:46  warning  ES2015 'Object.assign' method is forbidden                  es-x/no-object-assign
  103:3   warning  'widget' is never reassigned. Use 'const' instead           prefer-const
  104:3   warning  'contentFormat' is never reassigned. Use 'const' instead    prefer-const
  148:7   warning  'widget' is never reassigned. Use 'const' instead           prefer-const
  151:3   warning  'captchaResponse' is never reassigned. Use 'const' instead  prefer-const

/src/repo/modules/flow/ui/widgets/mw.flow.ui.EditTopicSummaryWidget.js
   21:46  warning  ES2015 'Object.assign' method is forbidden                  es-x/no-object-assign
   92:3   warning  'widget' is never reassigned. Use 'const' instead           prefer-const
   93:3   warning  'contentFormat' is never reassigned. Use 'const' instead    prefer-const
   98:6   warning  'content' is never reassigned. Use 'const' instead          prefer-const
   99:6   warning  'format' is never reassigned. Use 'const' instead           prefer-const
  140:7   warning  'widget' is never reassigned. Use 'const' instead           prefer-const
  143:3   warning  'captchaResponse' is never reassigned. Use 'const' instead  prefer-const

/src/repo/modules/flow/ui/widgets/mw.flow.ui.NavigationWidget.js
   55:1  warning  The type 'loadTopic' is undefined                                       jsdoc/no-undefined-types
   66:1  warning  The type 'reorderTopics' is undefined                                   jsdoc/no-undefined-types
   83:4  warning  'isElementInView' is never reassigned. Use 'const' instead              prefer-const
   84:9  warning  'scrollTop' is already declared in the upper scope on line 76 column 7  no-shadow
   85:6  warning  'height' is never reassigned. Use 'const' instead                       prefer-const
   86:6  warning  'top' is never reassigned. Use 'const' instead                          prefer-const
   87:6  warning  'bottom' is never reassigned. Use 'const' instead                       prefer-const
   89:5  warning  'scrollTop' is never reassigned. Use 'const' instead                    prefer-const
   90:5  warning  'containerHeight' is never reassigned. Use 'const' instead              prefer-const
  118:3  warning  'scrollTop' is never reassigned. Use 'const' instead                    prefer-const
  119:3  warning  'isScrolledDown' is never reassigned. Use 'const' instead               prefer-const

/src/repo/modules/flow/ui/widgets/mw.flow.ui.NewTopicWidget.js
   16:4   warning  'widget' is never reassigned. Use 'const' instead           prefer-const
   25:3   warning  'title' is never reassigned. Use 'const' instead            prefer-const
   58:46  warning  ES2015 'Object.assign' method is forbidden                  es-x/no-object-assign
  214:7   warning  'widget' is never reassigned. Use 'const' instead           prefer-const
  215:4   warning  'title' is never reassigned. Use 'const' instead            prefer-const
  222:3   warning  'captchaResponse' is never reassigned. Use 'const' instead  prefer-const
  227:3   warning  Prefer .then to .done                                       no-jquery/no-done-fail

/src/repo/modules/flow/ui/widgets/mw.flow.ui.ReplyWidget.js
  138:7   warning  'widget' is never reassigned. Use 'const' instead           prefer-const
  141:3   warning  'captchaResponse' is never reassigned. Use 'const' instead  prefer-const
  177:47  warning  ES2015 'Object.assign' method is forbidden                  es-x/no-object-assign

/src/repo/modules/flow/ui/widgets/mw.flow.ui.SidebarExpandWidget.js
  23:17  warning  OOUI button has no label. Even icon-only buttons should set a label with invisibleLabel set to true  mediawiki/no-unlabeled-buttonwidget

/src/repo/modules/flow/ui/widgets/mw.flow.ui.TopicMenuSelectWidget.js
   76:2  warning  JSDoc @return declaration present but return expression not available in function  jsdoc/require-returns-check
   91:3  warning  'actualHeight' is never reassigned. Use 'const' instead                            prefer-const
   92:3  warning  'naturalHeight' is never reassigned. Use 'const' instead                           prefer-const
   93:3  warning  'scrollTop' is never reassigned. Use 'const' instead                               prefer-const
   94:3  warning  'isNearBottom' is never reassigned. Use 'const' instead                            prefer-const
  105:1  warning  The type 'topic' is undefined                                                      jsdoc/no-undefined-types
  148:4  warning  'widgets' is never reassigned. Use 'const' instead                                 prefer-const
  187:4  warning  'widgets' is never reassigned. Use 'const' instead                                 prefer-const
  198:2  warning  Missing JSDoc @return declaration                                                  jsdoc/require-returns
  221:2  warning  Missing JSDoc @return declaration                                                  jsdoc/require-returns

/src/repo/modules/mw.flow.Initializer.js
    80:6   warning  'topic' is never reassigned. Use 'const' instead                        prefer-const
    81:6   warning  'data' is never reassigned. Use 'const' instead                         prefer-const
   113:4   warning  'self' is never reassigned. Use 'const' instead                         prefer-const
   333:5   warning  '$rendered' is never reassigned. Use 'const' instead                    prefer-const
   497:5   warning  '$topic' is never reassigned. Use 'const' instead                       prefer-const
   498:5   warning  'topicId' is never reassigned. Use 'const' instead                      prefer-const
   499:5   warning  '$post' is never reassigned. Use 'const' instead                        prefer-const
   500:5   warning  '$postMain' is never reassigned. Use 'const' instead                    prefer-const
   501:5   warning  'postId' is never reassigned. Use 'const' instead                       prefer-const
   502:5   warning  '$board' is never reassigned. Use 'const' instead                       prefer-const
   503:5   warning  'flowBoard' is never reassigned. Use 'const' instead                    prefer-const
   505:4   warning  'editPostWidget' is never reassigned. Use 'const' instead               prefer-const
   571:6   warning  'action' is never reassigned. Use 'const' instead                       prefer-const
   572:6   warning  '$topic' is never reassigned. Use 'const' instead                       prefer-const
   573:6   warning  'topicId' is never reassigned. Use 'const' instead                      prefer-const
   574:6   warning  'api' is never reassigned. Use 'const' instead                          prefer-const
   582:5   warning  Prefer .then to .fail                                                   no-jquery/no-done-fail
   634:9   warning  '$topic' is never reassigned. Use 'const' instead                       prefer-const
   635:6   warning  'topicId' is never reassigned. Use 'const' instead                      prefer-const
   636:6   warning  '$container' is never reassigned. Use 'const' instead                   prefer-const
   637:6   warning  '$topicTitleViewMode' is never reassigned. Use 'const' instead          prefer-const
   638:6   warning  '$editForm' is never reassigned. Use 'const' instead                    prefer-const
   646:5   warning  'widget' is never reassigned. Use 'const' instead                       prefer-const
   700:5   warning  'href' is never reassigned. Use 'const' instead                         prefer-const
   701:5   warning  'replyTo' is never reassigned. Use 'const' instead                      prefer-const
   702:5   warning  '$topic' is never reassigned. Use 'const' instead                       prefer-const
   703:5   warning  'placeholder' is never reassigned. Use 'const' instead                  prefer-const
   707:5   warning  '$targetContainer' is never reassigned. Use 'const' instead             prefer-const
   708:5   warning  '$existingWidget' is never reassigned. Use 'const' instead              prefer-const
   719:4   warning  'replyWidget' is never reassigned. Use 'const' instead                  prefer-const
   790:4   warning  'self' is never reassigned. Use 'const' instead                         prefer-const
   791:4   warning  '$topic' is never reassigned. Use 'const' instead                       prefer-const
   792:4   warning  '$summaryContainer' is never reassigned. Use 'const' instead            prefer-const
   793:4   warning  '$topicSummary' is never reassigned. Use 'const' instead                prefer-const
   794:4   warning  'editorOptions' is never reassigned. Use 'const' instead                prefer-const
   797:4   warning  'pageName' is never reassigned. Use 'const' instead                     prefer-const
   798:4   warning  'title' is never reassigned. Use 'const' instead                        prefer-const
   814:3   warning  'editTopicSummaryWidget' is never reassigned. Use 'const' instead       prefer-const
   855:7   warning  'editPostWidget' is never reassigned. Use 'const' instead               prefer-const
   856:4   warning  '$post' is never reassigned. Use 'const' instead                        prefer-const
   857:4   warning  '$topic' is never reassigned. Use 'const' instead                       prefer-const
   858:4   warning  'self' is never reassigned. Use 'const' instead                         prefer-const
   907:4   warning  '$messages' is never reassigned. Use 'const' instead                    prefer-const
   908:4   warning  'isProbablyEditable' is never reassigned. Use 'const' instead           prefer-const
   909:4   warning  'anonWarning' is never reassigned. Use 'const' instead                  prefer-const
   912:4   warning  'canNotEdit' is never reassigned. Use 'const' instead                   prefer-const
   917:4   warning  'captcha' is never reassigned. Use 'const' instead                      prefer-const
   918:4   warning  'captchaWidget' is never reassigned. Use 'const' instead                prefer-const
   919:4   warning  'error' is never reassigned. Use 'const' instead                        prefer-const
   922:4   warning  'editor' is never reassigned. Use 'const' instead                       prefer-const
   944:3   warning  '$wrapper' is never reassigned. Use 'const' instead                     prefer-const
   965:26  warning  'content' is already declared in the upper scope on line 905 column 79  no-shadow
   970:5   warning  'captchaResponse' is never reassigned. Use 'const' instead              prefer-const
   999:7   warning  '$undoForm' is never reassigned. Use 'const' instead                    prefer-const
  1000:4   warning  'undoType' is never reassigned. Use 'const' instead                     prefer-const
  1001:4   warning  'pageName' is never reassigned. Use 'const' instead                     prefer-const
  1002:4   warning  'title' is never reassigned. Use 'const' instead                        prefer-const
  1003:4   warning  'topicId' is never reassigned. Use 'const' instead                      prefer-const
  1004:4   warning  'postId' is never reassigned. Use 'const' instead                       prefer-const
  1005:4   warning  'prevRevId' is never reassigned. Use 'const' instead                    prefer-const
  1006:4   warning  'content' is never reassigned. Use 'const' instead                      prefer-const
  1007:4   warning  'returnToTitle' is never reassigned. Use 'const' instead                prefer-const
  1020:4   warning  'apiHandler' is never reassigned. Use 'const' instead                   prefer-const
  1024:4   warning  'save' is never reassigned. Use 'const' instead                         prefer-const
  1043:4   warning  'editor' is never reassigned. Use 'const' instead                       prefer-const
  1057:31  warning  'content' is already declared in the upper scope on line 1006 column 4  no-shadow

/src/repo/tests/qunit/engine/misc/test_flow-handlebars.js
   4:8   warning  'stub' is never reassigned. Use 'const' instead      prefer-const
  18:4   warning  'stubUser' is never reassigned. Use 'const' instead  prefer-const
  92:16  warning  ES2015 'Object.assign' method is forbidden           es-x/no-object-assign

/src/repo/tests/qunit/flow/dm/test_mw.flow.dm.Board.js
    7:3  warning  'executeOperation' is never reassigned. Use 'const' instead  prefer-const
   10:3  warning  'cases' is never reassigned. Use 'const' instead             prefer-const
  158:2  warning  'board' is never reassigned. Use 'const' instead             prefer-const

/src/repo/tests/qunit/flow/dm/test_mw.flow.dm.Post.js
    7:3  warning  'truncatedApiData' is never reassigned. Use 'const' instead   prefer-const
  479:2  warning  'topicRevisionData' is never reassigned. Use 'const' instead  prefer-const
  480:2  warning  'topic' is never reassigned. Use 'const' instead              prefer-const
  485:2  warning  'replies' is never reassigned. Use 'const' instead            prefer-const
  486:2  warning  'subreplies' is never reassigned. Use 'const' instead         prefer-const
  487:2  warning  'subsubreplies' is never reassigned. Use 'const' instead      prefer-const

/src/repo/tests/qunit/flow/dm/test_mw.flow.dm.System.js
    7:3  warning  'executeOperation' is never reassigned. Use 'const' instead  prefer-const
   10:3  warning  'truncatedApiData' is never reassigned. Use 'const' instead  prefer-const
  284:3  warning  'cases' is never reassigned. Use 'const' instead             prefer-const
  312:2  warning  'system' is never reassigned. Use 'const' instead            prefer-const

/src/repo/tests/qunit/flow/dm/test_mw.flow.dm.Topic.js
   7:3   warning  'executeOperation' is never reassigned. Use 'const' instead             prefer-const
   7:38  warning  'operation' is already declared in the upper scope on line 6 column 39  no-shadow
  11:2   warning  'cases' is never reassigned. Use 'const' instead                        prefer-const

✖ 405 problems (0 errors, 405 warnings)


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

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

Done.

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

--- end ---
build: Updating dependencies

composer:
* mediawiki/mediawiki-codesniffer: 49.0.0 → 50.0.0
* mediawiki/mediawiki-phan-config: 0.18.0 → 0.19.0

npm:
* api-testing: 1.7.2 → 1.7.3


$ git add .
--- stdout ---

--- end ---
$ git commit -F /tmp/tmpq9n30z9u
--- stdout ---
[master 37d3c66] build: Updating dependencies
 3 files changed, 24 insertions(+), 24 deletions(-)

--- end ---
$ git format-patch HEAD~1 --stdout
--- stdout ---
From 37d3c66284cd6a181f5e135afe8e35cdc06fb05f Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Sun, 1 Mar 2026 09:59:35 +0000
Subject: [PATCH] build: Updating dependencies
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

composer:
* mediawiki/mediawiki-codesniffer: 49.0.0 → 50.0.0
* mediawiki/mediawiki-phan-config: 0.18.0 → 0.19.0

npm:
* api-testing: 1.7.2 → 1.7.3

Change-Id: I5b7c16f79ad970743eeb49cbafcddcb0fe669316
---
 composer.json     |  4 ++--
 package-lock.json | 42 +++++++++++++++++++++---------------------
 package.json      |  2 +-
 3 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/composer.json b/composer.json
index 0f444cb..2db1e5c 100644
--- a/composer.json
+++ b/composer.json
@@ -7,8 +7,8 @@
 		"psr/container": "1.* || 2.*"
 	},
 	"require-dev": {
-		"mediawiki/mediawiki-codesniffer": "49.0.0",
-		"mediawiki/mediawiki-phan-config": "0.18.0",
+		"mediawiki/mediawiki-codesniffer": "50.0.0",
+		"mediawiki/mediawiki-phan-config": "0.19.0",
 		"mediawiki/minus-x": "2.0.1",
 		"php-parallel-lint/php-console-highlighter": "1.0.0",
 		"php-parallel-lint/php-parallel-lint": "1.4.0",
diff --git a/package-lock.json b/package-lock.json
index a22ebe3..8076395 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -8,7 +8,7 @@
 			"name": "flow",
 			"version": "0.0.0",
 			"devDependencies": {
-				"api-testing": "1.7.2",
+				"api-testing": "1.7.3",
 				"eslint-config-wikimedia": "0.32.3",
 				"grunt": "1.6.1",
 				"grunt-banana-checker": "0.13.0",
@@ -718,12 +718,12 @@
 			}
 		},
 		"node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": {
-			"version": "9.0.5",
-			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
-			"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+			"version": "9.0.9",
+			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz",
+			"integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==",
 			"dev": true,
 			"dependencies": {
-				"brace-expansion": "^2.0.1"
+				"brace-expansion": "^2.0.2"
 			},
 			"engines": {
 				"node": ">=16 || 14 >=14.17"
@@ -858,9 +858,9 @@
 			}
 		},
 		"node_modules/api-testing": {
-			"version": "1.7.2",
-			"resolved": "https://registry.npmjs.org/api-testing/-/api-testing-1.7.2.tgz",
-			"integrity": "sha512-W6vgHMjmTUMq8He4pRdpLNjfkBre0N/ygv6tT6jrWZQdZlBWDZHi+0pEg8FxBi0U9QzhUfaATrPZkfnF7YVt3g==",
+			"version": "1.7.3",
+			"resolved": "https://registry.npmjs.org/api-testing/-/api-testing-1.7.3.tgz",
+			"integrity": "sha512-wvXUqkiflOur6kI57onNt2BQ6Hse0BRCIzThc1W7W4LEfVvLUCyKOp8EQna9tKqMZ7K1Rz/ptrCSzHe9XEo+Bw==",
 			"dev": true,
 			"dependencies": {
 				"chai": "4.5.0",
@@ -3930,9 +3930,9 @@
 			}
 		},
 		"node_modules/minimatch": {
-			"version": "3.1.2",
-			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
-			"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+			"version": "3.1.5",
+			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz",
+			"integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==",
 			"dev": true,
 			"dependencies": {
 				"brace-expansion": "^1.1.7"
@@ -6493,12 +6493,12 @@
 					}
 				},
 				"minimatch": {
-					"version": "9.0.5",
-					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
-					"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+					"version": "9.0.9",
+					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz",
+					"integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==",
 					"dev": true,
 					"requires": {
-						"brace-expansion": "^2.0.1"
+						"brace-expansion": "^2.0.2"
 					}
 				}
 			}
@@ -6586,9 +6586,9 @@
 			}
 		},
 		"api-testing": {
-			"version": "1.7.2",
-			"resolved": "https://registry.npmjs.org/api-testing/-/api-testing-1.7.2.tgz",
-			"integrity": "sha512-W6vgHMjmTUMq8He4pRdpLNjfkBre0N/ygv6tT6jrWZQdZlBWDZHi+0pEg8FxBi0U9QzhUfaATrPZkfnF7YVt3g==",
+			"version": "1.7.3",
+			"resolved": "https://registry.npmjs.org/api-testing/-/api-testing-1.7.3.tgz",
+			"integrity": "sha512-wvXUqkiflOur6kI57onNt2BQ6Hse0BRCIzThc1W7W4LEfVvLUCyKOp8EQna9tKqMZ7K1Rz/ptrCSzHe9XEo+Bw==",
 			"dev": true,
 			"requires": {
 				"chai": "4.5.0",
@@ -8834,9 +8834,9 @@
 			"dev": true
 		},
 		"minimatch": {
-			"version": "3.1.2",
-			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
-			"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+			"version": "3.1.5",
+			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz",
+			"integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==",
 			"dev": true,
 			"requires": {
 				"brace-expansion": "^1.1.7"
diff --git a/package.json b/package.json
index ea41c21..8b0cffd 100644
--- a/package.json
+++ b/package.json
@@ -8,7 +8,7 @@
 		"test": "grunt test"
 	},
 	"devDependencies": {
-		"api-testing": "1.7.2",
+		"api-testing": "1.7.3",
 		"eslint-config-wikimedia": "0.32.3",
 		"grunt": "1.6.1",
 		"grunt-banana-checker": "0.13.0",
-- 
2.47.3


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