This run took 53 seconds.
From debc6f29c57413433dddf25d3251a75e438302fa Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Tue, 3 Mar 2026 05:49:27 +0000
Subject: [PATCH] build: Updating composer dependencies
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* mediawiki/mediawiki-codesniffer: 49.0.0 → 50.0.0
* mediawiki/mediawiki-phan-config: 0.18.0 → 0.19.0
Change-Id: Ic84ac2eb1acebbe141b788546e0915e93dcca2e3
---
composer.json | 4 ++--
package-lock.json | 40 ++++++++++++++++++++--------------------
2 files changed, 22 insertions(+), 22 deletions(-)
diff --git a/composer.json b/composer.json
index 5af1600..9304126 100644
--- a/composer.json
+++ b/composer.json
@@ -11,8 +11,8 @@
},
"require-dev": {
"ext-curl": "*",
- "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 1abf058..8813c6e 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -278,9 +278,9 @@
}
},
"node_modules/@eslint/eslintrc/node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "version": "3.1.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"
@@ -701,12 +701,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"
@@ -2149,9 +2149,9 @@
}
},
"node_modules/eslint/node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "version": "3.1.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"
@@ -5477,9 +5477,9 @@
}
},
"minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "version": "3.1.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"
@@ -5756,12 +5756,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"
}
}
}
@@ -6439,9 +6439,9 @@
}
},
"minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "version": "3.1.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"
--
2.47.3
$ date
--- stdout ---
Tue Mar 3 05:48:51 UTC 2026
--- end ---
$ git clone file:///srv/git/mediawiki-extensions-OAuth.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 ---
03670b2329f56a4b1535b2e53c43f17fe6ed39f8 refs/heads/master
--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
"auditReportVersion": 2,
"vulnerabilities": {
"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-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": [
"grunt"
],
"range": "<=3.1.3 || 9.0.0 - 9.0.6",
"nodes": [
"node_modules/@eslint/eslintrc/node_modules/minimatch",
"node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch",
"node_modules/eslint/node_modules/minimatch",
"node_modules/minimatch"
],
"fixAvailable": {
"name": "grunt",
"version": "0.3.17",
"isSemVerMajor": true
}
}
},
"metadata": {
"vulnerabilities": {
"info": 0,
"low": 0,
"moderate": 0,
"high": 3,
"critical": 0,
"total": 3
},
"dependencies": {
"prod": 1,
"dev": 431,
"optional": 0,
"peer": 1,
"peerOptional": 0,
"total": 431
}
}
}
--- 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: 53 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 defuse/php-encryption (v2.4.0)
- Locking doctrine/deprecations (1.1.6)
- Locking felixfbecker/advanced-json-rpc (v3.2.1)
- Locking firebase/php-jwt (v7.0.3)
- Locking lcobucci/jwt (5.6.0)
- Locking league/event (3.0.3)
- Locking league/oauth2-server (9.3.0)
- Locking league/uri (7.8.0)
- Locking league/uri-interfaces (7.8.0)
- 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 okvpn/clock-lts (1.0.0)
- Locking paragonie/random_compat (v9.99.100)
- 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 psr/clock (1.0.0)
- Locking psr/container (2.0.2)
- Locking psr/event-dispatcher (1.0.0)
- Locking psr/http-factory (1.1.0)
- Locking psr/http-message (2.0)
- Locking psr/http-server-handler (1.0.2)
- Locking psr/http-server-middleware (1.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/deprecation-contracts (v3.6.0)
- Locking symfony/polyfill-ctype (v1.33.0)
- Locking symfony/polyfill-intl-grapheme (v1.33.0)
- Locking symfony/polyfill-intl-normalizer (v1.33.0)
- Locking symfony/polyfill-mbstring (v1.33.0)
- Locking symfony/polyfill-php80 (v1.33.0)
- Locking symfony/service-contracts (v3.6.1)
- Locking symfony/string (v8.0.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: 53 installs, 0 updates, 0 removals
- Downloading psr/http-server-handler (1.0.2)
- Downloading psr/http-server-middleware (1.0.2)
- Downloading league/uri-interfaces (7.8.0)
- Downloading league/uri (7.8.0)
- Downloading league/event (3.0.3)
- Downloading league/oauth2-server (9.3.0)
0/6 [>---------------------------] 0%
4/6 [==================>---------] 66%
6/6 [============================] 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 firebase/php-jwt (v7.0.3): Extracting archive
- Installing psr/http-message (2.0): Extracting archive
- Installing psr/http-server-handler (1.0.2): Extracting archive
- Installing psr/http-server-middleware (1.0.2): Extracting archive
- Installing psr/http-factory (1.1.0): Extracting archive
- Installing league/uri-interfaces (7.8.0): Extracting archive
- Installing league/uri (7.8.0): Extracting archive
- Installing psr/event-dispatcher (1.0.0): Extracting archive
- Installing league/event (3.0.3): Extracting archive
- Installing psr/clock (1.0.0): Extracting archive
- Installing lcobucci/jwt (5.6.0): Extracting archive
- Installing okvpn/clock-lts (1.0.0): Extracting archive
- Installing paragonie/random_compat (v9.99.100): Extracting archive
- Installing defuse/php-encryption (v2.4.0): Extracting archive
- Installing league/oauth2-server (9.3.0): Extracting archive
- Installing phpcsstandards/phpcsutils (1.2.2): Extracting archive
- Installing phpcsstandards/phpcsextra (1.4.0): Extracting archive
- Installing symfony/polyfill-mbstring (v1.33.0): Extracting archive
- Installing composer/spdx-licenses (1.5.9): Extracting archive
- Installing composer/semver (3.4.4): Extracting archive
- Installing mediawiki/mediawiki-codesniffer (v49.0.0): Extracting archive
- Installing 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
0/51 [>---------------------------] 0%
28/51 [===============>------------] 54%
40/51 [=====================>------] 78%
50/51 [===========================>] 98%
51/51 [============================] 100%
11 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating autoload files
21 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
--- stdout ---
PHP CodeSniffer Config installed_paths set to ../../mediawiki/mediawiki-codesniffer,../../phpcsstandards/phpcsextra,../../phpcsstandards/phpcsutils
--- end ---
Upgrading c:mediawiki/mediawiki-codesniffer from 49.0.0 -> 50.0.0
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
20 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.NamingConventions.LowerCamelFunctionsName.FunctionName'}
$ vendor/bin/phpcs --report=json
--- stdout ---
{"totals":{"errors":27,"warnings":0,"fixable":0},"files":{"\/src\/repo\/src\/Backend\/MWOAuthToken.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Backend\/MWOAuthException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Frontend\/EchoHooks.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Backend\/MWOAuthSignatureMethodRsaSha1.php":{"errors":2,"warnings":0,"messages":[{"message":"Method name \"fetch_public_cert\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":43,"column":15},{"message":"Method name \"fetch_private_cert\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":55,"column":15}]},"\/src\/repo\/src\/Frontend\/UIUtils.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Backend\/AbuseFilterHookHandler.php":{"errors":3,"warnings":0,"messages":[{"message":"Method name \"onAbuseFilter_builder\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":27,"column":12},{"message":"Method name \"onAbuseFilter_computeVariable\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":33,"column":12},{"message":"Method name \"onAbuseFilter_generateUserVars\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":61,"column":12}]},"\/src\/repo\/src\/Backend\/OAuth1Consumer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MWOA.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Repository\/RefreshTokenRepository.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Control\/ConsumerAcceptanceAccessControl.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Repository\/Hook\/OAuthClaimStoreGetClaimsHook.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Backend\/UpdaterHooks.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Repository\/ClaimStore.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Repository\/ClientRepository.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Frontend\/Pagers\/ManageMyGrantsPager.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Repository\/DatabaseRepository.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Frontend\/EchoOAuthStageChangePresentationModel.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Frontend\/Pagers\/ListMyConsumersPager.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/BearerTokenValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/AuthorizationProvider\/AccessTokenProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/AuthorizationProvider\/Grant\/AuthCodeGrantWithCustomClaims.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Repository\/AuthCodeRepository.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/AuthorizationProvider\/Grant\/ClientCredentialsAccessTokenProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/AuthorizationProvider\/Grant\/ClientCredentialsGrantWithCustomClaims.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/AuthorizationProvider\/IAuthorizationProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MWServicesHookHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Backend\/Hooks.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/AuthorizationProvider\/Grant\/RefreshTokenGrantWithCustomClaims.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/AuthorizationProvider\/Grant\/RefreshTokenAccessTokenProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Entity\/ClaimEntity.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Entity\/RefreshTokenEntity.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/HookRunner.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Frontend\/Pagers\/ManageConsumersPager.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Repository\/CacheRepository.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Frontend\/Pagers\/ListConsumersPager.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Entity\/MWClientEntityInterface.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Repository\/ScopeRepository.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/AuthorizationProvider\/GrantWithCustomClaims.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/AuthorizationProvider\/IAccessTokenProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Entity\/ScopeEntity.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Entity\/UserEntity.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/AuthorizationProvider\/Grant\/AuthorizationCodeProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Frontend\/OAuthLogFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Backend\/MWOAuthRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Repository\/AccessTokenRepository.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/AuthorizationProvider\/Grant\/AuthorizationCodeAccessTokenProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Entity\/AuthCodeEntity.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ResourceServer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ServiceWiring.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Setup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/AuthorizationServerFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/OAuthServices.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/TestHandlerFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/AuthorizationProvider\/AuthorizationProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Rest\/Handler\/AbstractClientHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/MockOAuthBaseStringRequest.php":{"errors":1,"warnings":0,"messages":[{"message":"Method name \"get_signature_base_string\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":24,"column":12}]},"\/src\/repo\/src\/Frontend\/UIHooks.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Control\/DAOAccessControl.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/HookRunnerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Backend\/ConsumerAcceptance.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/UserStatementProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Backend\/MWOAuthExceptionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Entity\/ClientEntity.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Rest\/Handler\/Resource.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/migrateCentralWiki.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Control\/SubmitControl.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/BearerTokenValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Repository\/ScopeRepositoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Entity\/UserEntityTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Control\/ConsumerAcceptanceSubmitControl.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Rest\/Handler\/AccessToken.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Repository\/AuthCodeRepositoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Entity\/MockClientEntity.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/migrateCentralWikiLogs.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Response.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Backend\/MWOAuthServer.php":{"errors":3,"warnings":0,"messages":[{"message":"Method name \"fetch_request_token\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":34,"column":12},{"message":"Method name \"fetch_access_token\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":241,"column":12},{"message":"Method name \"verify_request\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":305,"column":12}]},"\/src\/repo\/tests\/phpunit\/OAuthTestUtils.php":{"errors":2,"warnings":0,"messages":[{"message":"Method name \"reset_request_vars\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":13,"column":20},{"message":"Method name \"build_request\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":27,"column":19}]},"\/src\/repo\/tests\/phpunit\/integration\/Backend\/MWOAuthServerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Backend\/MWOAuthHooksTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Entity\/AccessTokenEntity.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Backend\/MWOAuthDAO.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/.phan\/stubs\/MergeAccountFromToHook.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/.phan\/config.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/SessionProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/EndpointTestBase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Entity\/ClientEntityTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Rest\/Handler\/Authorize.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Backend\/UserMergeHook.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Rest\/Handler\/AuthenticationHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Rest\/Handler\/RequestClient.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/createOAuthConsumer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Frontend\/SpecialPages\/SpecialMWOAuthListConsumers.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/examples\/testClientHeaders.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/MockOAuthDataStore.php":{"errors":5,"warnings":0,"messages":[{"message":"Method name \"lookup_consumer\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":30,"column":12},{"message":"Method name \"lookup_token\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":44,"column":12},{"message":"Method name \"lookup_nonce\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":61,"column":12},{"message":"Method name \"new_request_token\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":77,"column":12},{"message":"Method name \"new_access_token\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":91,"column":12}]},"\/src\/repo\/tests\/phpunit\/MockOAuthSignatureMethodRsaSha1.php":{"errors":2,"warnings":0,"messages":[{"message":"Method name \"fetch_private_cert\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":19,"column":12},{"message":"Method name \"fetch_public_cert\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":46,"column":12}]},"\/src\/repo\/tests\/phpunit\/unit\/Control\/WorkflowTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Entity\/AccessTokenEntityTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Rest\/Handler\/ResetClientSecret.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/UserStatementProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Entity\/ClaimEntityTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Control\/ConsumerAccessControl.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Rest\/ListClientsEndpointTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Control\/ConsumerSubmitControlTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Backend\/Utils.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/testOAuthConsumer.php":{"errors":4,"warnings":0,"messages":[{"message":"Method name \"fetch_public_cert\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":96,"column":31},{"message":"Method name \"fetch_public_cert\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":96,"column":31},{"message":"Method name \"fetch_private_cert\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":101,"column":31},{"message":"Method name \"fetch_private_cert\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":101,"column":31}]},"\/src\/repo\/MWOAuth.alias.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Repository\/ClaimStoreTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/examples\/testClient.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Repository\/AccessTokenRepositoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Rest\/Handler\/ListClients.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/SessionProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Rest\/AuthorizationEndpointTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Frontend\/SpecialPages\/SpecialMWOAuthManageConsumers.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Backend\/Consumer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Rest\/ResetClientSecretEndpointTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Rest\/AccessTokenEndpointTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Frontend\/SpecialPages\/SpecialMWOAuthManageMyGrants.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Rest\/RequestClientEndpointTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Control\/ConsumerSubmitControl.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/AuthorizationProvider\/AuthorizationProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Control\/Workflow.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Backend\/MWOAuthDataStore.php":{"errors":5,"warnings":0,"messages":[{"message":"Method name \"lookup_consumer\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":64,"column":12},{"message":"Method name \"lookup_token\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":77,"column":12},{"message":"Method name \"lookup_nonce\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":148,"column":12},{"message":"Method name \"new_request_token\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":186,"column":12},{"message":"Method name \"new_access_token\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":249,"column":12}]},"\/src\/repo\/src\/Frontend\/SpecialPages\/SpecialMWOAuth.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Frontend\/SpecialPages\/SpecialMWOAuthConsumerRegistration.php":{"errors":0,"warnings":0,"messages":[]}}}
--- end ---
PHPCS run failed
$ vendor/bin/phpcs --report=json
--- stdout ---
{"totals":{"errors":27,"warnings":0,"fixable":0},"files":{"\/src\/repo\/src\/Backend\/MWOAuthToken.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Frontend\/EchoHooks.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Frontend\/UIUtils.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Backend\/AbuseFilterHookHandler.php":{"errors":3,"warnings":0,"messages":[{"message":"Method name \"onAbuseFilter_builder\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":27,"column":12},{"message":"Method name \"onAbuseFilter_computeVariable\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":33,"column":12},{"message":"Method name \"onAbuseFilter_generateUserVars\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":61,"column":12}]},"\/src\/repo\/src\/Repository\/Hook\/OAuthClaimStoreGetClaimsHook.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Backend\/MWOAuthSignatureMethodRsaSha1.php":{"errors":2,"warnings":0,"messages":[{"message":"Method name \"fetch_public_cert\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":43,"column":15},{"message":"Method name \"fetch_private_cert\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":55,"column":15}]},"\/src\/repo\/src\/Backend\/MWOAuthException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Backend\/OAuth1Consumer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MWOA.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Repository\/RefreshTokenRepository.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Frontend\/Pagers\/ListMyConsumersPager.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Backend\/UpdaterHooks.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/AuthorizationProvider\/AccessTokenProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/AuthorizationProvider\/Grant\/ClientCredentialsAccessTokenProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Control\/ConsumerAcceptanceAccessControl.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Repository\/DatabaseRepository.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/BearerTokenValidator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Frontend\/Pagers\/ManageMyGrantsPager.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Repository\/CacheRepository.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Repository\/ClientRepository.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/AuthorizationProvider\/IAuthorizationProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/AuthorizationProvider\/Grant\/RefreshTokenGrantWithCustomClaims.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/AuthorizationProvider\/Grant\/RefreshTokenAccessTokenProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Repository\/AuthCodeRepository.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MWServicesHookHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/AuthorizationProvider\/Grant\/AuthCodeGrantWithCustomClaims.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Frontend\/Pagers\/ListConsumersPager.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/AuthorizationProvider\/GrantWithCustomClaims.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Entity\/ClaimEntity.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/AuthorizationProvider\/IAccessTokenProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Entity\/RefreshTokenEntity.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/AuthorizationProvider\/Grant\/ClientCredentialsGrantWithCustomClaims.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Backend\/Hooks.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Frontend\/EchoOAuthStageChangePresentationModel.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Entity\/MWClientEntityInterface.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Frontend\/OAuthLogFormatter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Repository\/ClaimStore.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Frontend\/Pagers\/ManageConsumersPager.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/HookRunner.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Entity\/ScopeEntity.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ResourceServer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Entity\/AuthCodeEntity.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Entity\/UserEntity.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/AuthorizationProvider\/Grant\/AuthorizationCodeProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/AuthorizationProvider\/Grant\/AuthorizationCodeAccessTokenProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ServiceWiring.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Backend\/MWOAuthRequest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/AuthorizationServerFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/AuthorizationProvider\/AuthorizationProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Repository\/AccessTokenRepository.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Setup.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Control\/DAOAccessControl.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/OAuthServices.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/TestHandlerFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/MockOAuthBaseStringRequest.php":{"errors":1,"warnings":0,"messages":[{"message":"Method name \"get_signature_base_string\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":24,"column":12}]},"\/src\/repo\/tests\/phpunit\/unit\/HookRunnerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Repository\/ScopeRepository.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Backend\/ConsumerAcceptance.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Rest\/Handler\/Resource.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Rest\/Handler\/AbstractClientHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Entity\/ClientEntity.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Repository\/ScopeRepositoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/BearerTokenValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/UserStatementProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Backend\/MWOAuthExceptionTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Repository\/AuthCodeRepositoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/migrateCentralWiki.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/migrateCentralWikiLogs.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Frontend\/UIHooks.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Entity\/UserEntityTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/OAuthTestUtils.php":{"errors":2,"warnings":0,"messages":[{"message":"Method name \"reset_request_vars\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":13,"column":20},{"message":"Method name \"build_request\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":27,"column":19}]},"\/src\/repo\/tests\/phpunit\/integration\/Backend\/MWOAuthServerTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Control\/ConsumerAcceptanceSubmitControl.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Control\/SubmitControl.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Backend\/MWOAuthServer.php":{"errors":3,"warnings":0,"messages":[{"message":"Method name \"fetch_request_token\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":34,"column":12},{"message":"Method name \"fetch_access_token\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":241,"column":12},{"message":"Method name \"verify_request\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":305,"column":12}]},"\/src\/repo\/tests\/phpunit\/integration\/Entity\/MockClientEntity.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Response.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/createOAuthConsumer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Backend\/MWOAuthHooksTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/.phan\/stubs\/MergeAccountFromToHook.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/.phan\/config.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/EndpointTestBase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Rest\/Handler\/RequestClient.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Entity\/AccessTokenEntity.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Rest\/Handler\/AccessToken.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Rest\/Handler\/AuthenticationHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Backend\/MWOAuthDAO.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Entity\/ClientEntityTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/examples\/testClientHeaders.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Backend\/UserMergeHook.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/MockOAuthDataStore.php":{"errors":5,"warnings":0,"messages":[{"message":"Method name \"lookup_consumer\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":30,"column":12},{"message":"Method name \"lookup_token\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":44,"column":12},{"message":"Method name \"lookup_nonce\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":61,"column":12},{"message":"Method name \"new_request_token\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":77,"column":12},{"message":"Method name \"new_access_token\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":91,"column":12}]},"\/src\/repo\/src\/Rest\/Handler\/Authorize.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/Control\/WorkflowTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/MockOAuthSignatureMethodRsaSha1.php":{"errors":2,"warnings":0,"messages":[{"message":"Method name \"fetch_private_cert\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":19,"column":12},{"message":"Method name \"fetch_public_cert\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":46,"column":12}]},"\/src\/repo\/tests\/phpunit\/integration\/Entity\/AccessTokenEntityTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/testOAuthConsumer.php":{"errors":4,"warnings":0,"messages":[{"message":"Method name \"fetch_public_cert\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":96,"column":31},{"message":"Method name \"fetch_public_cert\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":96,"column":31},{"message":"Method name \"fetch_private_cert\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":101,"column":31},{"message":"Method name \"fetch_private_cert\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":101,"column":31}]},"\/src\/repo\/tests\/phpunit\/integration\/Rest\/ListClientsEndpointTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/MWOAuth.alias.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/UserStatementProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Entity\/ClaimEntityTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Frontend\/SpecialPages\/SpecialMWOAuthListConsumers.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Backend\/Utils.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Control\/ConsumerAccessControl.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Control\/ConsumerSubmitControlTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/examples\/testClient.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Rest\/Handler\/ResetClientSecret.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/SessionProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Rest\/AuthorizationEndpointTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Repository\/AccessTokenRepositoryTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Rest\/ResetClientSecretEndpointTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/SessionProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Rest\/Handler\/ListClients.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Rest\/AccessTokenEndpointTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Repository\/ClaimStoreTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Frontend\/SpecialPages\/SpecialMWOAuthManageConsumers.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Backend\/Consumer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/Rest\/RequestClientEndpointTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/integration\/AuthorizationProvider\/AuthorizationProviderTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Backend\/MWOAuthDataStore.php":{"errors":5,"warnings":0,"messages":[{"message":"Method name \"lookup_consumer\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":64,"column":12},{"message":"Method name \"lookup_token\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":77,"column":12},{"message":"Method name \"lookup_nonce\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":148,"column":12},{"message":"Method name \"new_request_token\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":186,"column":12},{"message":"Method name \"new_access_token\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":249,"column":12}]},"\/src\/repo\/src\/Frontend\/SpecialPages\/SpecialMWOAuthManageMyGrants.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Frontend\/SpecialPages\/SpecialMWOAuth.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Control\/ConsumerSubmitControl.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Control\/Workflow.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Frontend\/SpecialPages\/SpecialMWOAuthConsumerRegistration.php":{"errors":0,"warnings":0,"messages":[]}}}
--- 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
20 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/142 ( 42%)
............................................................ 120/142 ( 84%)
...................... 142/142 (100%)
Checked 142 files in 0.5 seconds
No syntax error found
............................................................ 60 / 62 (97%)
.. 62 / 62 (100%)
Time: 436ms; Memory: 12MB
MinusX
======
Processing /src/repo...
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
...........................................
All good!
--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
"auditReportVersion": 2,
"vulnerabilities": {
"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-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": [
"grunt"
],
"range": "<=3.1.3 || 9.0.0 - 9.0.6",
"nodes": [
"node_modules/@eslint/eslintrc/node_modules/minimatch",
"node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch",
"node_modules/eslint/node_modules/minimatch",
"node_modules/minimatch"
],
"fixAvailable": {
"name": "grunt",
"version": "0.3.17",
"isSemVerMajor": true
}
}
},
"metadata": {
"vulnerabilities": {
"info": 0,
"low": 0,
"moderate": 0,
"high": 3,
"critical": 0,
"total": 3
},
"dependencies": {
"prod": 1,
"dev": 431,
"optional": 0,
"peer": 1,
"peerOptional": 0,
"total": 431
}
}
}
--- 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": 431,
"removed": 0,
"changed": 0,
"audited": 432,
"funding": 104,
"audit": {
"auditReportVersion": 2,
"vulnerabilities": {
"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-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": [
"grunt"
],
"range": "<=3.1.3 || 9.0.0 - 9.0.6",
"nodes": [
"",
"",
"",
"node_modules/minimatch"
],
"fixAvailable": {
"name": "grunt",
"version": "0.3.17",
"isSemVerMajor": true
}
}
},
"metadata": {
"vulnerabilities": {
"info": 0,
"low": 0,
"moderate": 0,
"high": 3,
"critical": 0,
"total": 3
},
"dependencies": {
"prod": 1,
"dev": 431,
"optional": 0,
"peer": 1,
"peerOptional": 0,
"total": 431
}
}
}
}
--- end ---
{"added": 431, "removed": 0, "changed": 0, "audited": 432, "funding": 104, "audit": {"auditReportVersion": 2, "vulnerabilities": {"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-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": ["grunt"], "range": "<=3.1.3 || 9.0.0 - 9.0.6", "nodes": ["", "", "", "node_modules/minimatch"], "fixAvailable": {"name": "grunt", "version": "0.3.17", "isSemVerMajor": true}}}, "metadata": {"vulnerabilities": {"info": 0, "low": 0, "moderate": 0, "high": 3, "critical": 0, "total": 3}, "dependencies": {"prod": 1, "dev": 431, "optional": 0, "peer": 1, "peerOptional": 0, "total": 431}}}}
$ /usr/bin/npm audit fix --only=dev
--- stderr ---
npm WARN invalid config only="dev" set in command line options
npm WARN invalid config Must be one of: null, prod, production
npm WARN deprecated @humanwhocodes/config-array@0.13.0: Use @eslint/config-array instead
npm WARN deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
npm WARN deprecated glob@7.1.7: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
npm WARN deprecated eslint@8.57.1: This version is no longer supported. Please see https://eslint.org/version-support for other options.
--- stdout ---
added 431 packages, and audited 432 packages in 5s
104 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/minimatch
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
3 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 glob@7.1.7: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
npm WARN deprecated eslint@8.57.1: This version is no longer supported. Please see https://eslint.org/version-support for other options.
--- stdout ---
added 431 packages, and audited 432 packages in 5s
104 packages are looking for funding
run `npm fund` for details
3 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 ---
> test
> grunt test
Running "eslint:all" (eslint) task
Running "banana:MWOAuth" (banana) task
>> 1 message directory checked.
Running "stylelint:all" (stylelint) task
>> Linted 0 files without errors
Done.
--- end ---
$ package-lock-lint /src/repo/package-lock.json
--- stdout ---
Checking /src/repo/package-lock.json
--- end ---
build: Updating composer dependencies
* mediawiki/mediawiki-codesniffer: 49.0.0 → 50.0.0
* mediawiki/mediawiki-phan-config: 0.18.0 → 0.19.0
$ git add .
--- stdout ---
--- end ---
$ git commit -F /tmp/tmp4a52oyfl
--- stdout ---
[master debc6f2] build: Updating composer dependencies
2 files changed, 22 insertions(+), 22 deletions(-)
--- end ---
$ git format-patch HEAD~1 --stdout
--- stdout ---
From debc6f29c57413433dddf25d3251a75e438302fa Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Tue, 3 Mar 2026 05:49:27 +0000
Subject: [PATCH] build: Updating composer dependencies
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* mediawiki/mediawiki-codesniffer: 49.0.0 → 50.0.0
* mediawiki/mediawiki-phan-config: 0.18.0 → 0.19.0
Change-Id: Ic84ac2eb1acebbe141b788546e0915e93dcca2e3
---
composer.json | 4 ++--
package-lock.json | 40 ++++++++++++++++++++--------------------
2 files changed, 22 insertions(+), 22 deletions(-)
diff --git a/composer.json b/composer.json
index 5af1600..9304126 100644
--- a/composer.json
+++ b/composer.json
@@ -11,8 +11,8 @@
},
"require-dev": {
"ext-curl": "*",
- "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 1abf058..8813c6e 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -278,9 +278,9 @@
}
},
"node_modules/@eslint/eslintrc/node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "version": "3.1.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"
@@ -701,12 +701,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"
@@ -2149,9 +2149,9 @@
}
},
"node_modules/eslint/node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "version": "3.1.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"
@@ -5477,9 +5477,9 @@
}
},
"minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "version": "3.1.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"
@@ -5756,12 +5756,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"
}
}
}
@@ -6439,9 +6439,9 @@
}
},
"minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "version": "3.1.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"
--
2.47.3
--- end ---