This run took 155 seconds.
From 6a96e7f2d258090ae469acdf8fd334ac2c67b7d4 Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Mon, 9 Mar 2026 14:42:26 +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
npm:
* @wikimedia/codex: 2.3.4 → 2.4.0
* @wikimedia/codex-icons: 2.3.4 → 2.4.0
Change-Id: Ife26983b28875210db4aaaf0c45f2302b29146cc
---
composer.json | 2 +-
package-lock.json | 64 +++++++++++++++++++++++------------------------
package.json | 4 +--
3 files changed, 35 insertions(+), 35 deletions(-)
diff --git a/composer.json b/composer.json
index 1bcfd9f..b9b5cd9 100644
--- a/composer.json
+++ b/composer.json
@@ -35,7 +35,7 @@
"whichbrowser/parser": "^2.1"
},
"require-dev": {
- "mediawiki/mediawiki-codesniffer": "49.0.0",
+ "mediawiki/mediawiki-codesniffer": "50.0.0",
"mediawiki/mediawiki-phan-config": "0.18.0",
"mediawiki/minus-x": "2.0.1",
"php-parallel-lint/php-console-highlighter": "1.0.0",
diff --git a/package-lock.json b/package-lock.json
index 6e448e8..f60b1e3 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -11,8 +11,8 @@
"@vue/compiler-sfc": "3.5.13",
"@vue/test-utils": "2.4.6",
"@vue/vue3-jest": "29.2.6",
- "@wikimedia/codex": "2.3.4",
- "@wikimedia/codex-icons": "2.3.4",
+ "@wikimedia/codex": "2.4.0",
+ "@wikimedia/codex-icons": "2.4.0",
"babel-core": "^6.26.3",
"eslint-config-wikimedia": "0.32.3",
"eslint-plugin-jest": "27.2.1",
@@ -3131,12 +3131,12 @@
}
},
"node_modules/@stylistic/eslint-plugin/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"
@@ -3831,13 +3831,13 @@
"dev": true
},
"node_modules/@wikimedia/codex": {
- "version": "2.3.4",
- "resolved": "https://registry.npmjs.org/@wikimedia/codex/-/codex-2.3.4.tgz",
- "integrity": "sha512-Dn2R/LwRZedbgT98XyHEm02IAFXDNoLu8AvD6PFNX8Itk3H1Fdn9O4bUZWtcQGy9Y7dkmXnHUFswUH8QlXLn9g==",
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/@wikimedia/codex/-/codex-2.4.0.tgz",
+ "integrity": "sha512-j/I1gGbTo6pttjmwyYw9/3CeInK6mpBm2FVfABJk+B1Ylw5DskX+TqeCdKghwxSkxBt0ODbUTBYdFyafk+7ajg==",
"dev": true,
"dependencies": {
"@floating-ui/vue": "1.0.6",
- "@wikimedia/codex-icons": "2.3.4"
+ "@wikimedia/codex-icons": "2.4.0"
},
"engines": {
"node": ">=20.19.1",
@@ -3848,9 +3848,9 @@
}
},
"node_modules/@wikimedia/codex-icons": {
- "version": "2.3.4",
- "resolved": "https://registry.npmjs.org/@wikimedia/codex-icons/-/codex-icons-2.3.4.tgz",
- "integrity": "sha512-eRRYmqIyIbbiaDhiw+qdNNqQ4Npz04k6crSaqyWFS6Y4vh5Lrd3kbjk2uNZK3Tu0h+yz0mQmlMlBEOtb/r3dPw==",
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/@wikimedia/codex-icons/-/codex-icons-2.4.0.tgz",
+ "integrity": "sha512-BBtrzLR7r9ShxCMYfsx9XaKJu/peqt5Y/jtvWx3E2G5aL/Y/pIWAkv8NIvU+ztKklbHySLH5jSvVZVKxxvU0Ew==",
"dev": true,
"engines": {
"node": ">=20.19.1",
@@ -5491,14 +5491,14 @@
"dev": true
},
"node_modules/editorconfig": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-1.0.4.tgz",
- "integrity": "sha512-L9Qe08KWTlqYMVvMcTIvMAdl1cDUubzRNYL+WfA4bLDMHe4nemKkpmYzkznE1FwLKu0EEmy6obgQKzMJrg4x9Q==",
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-1.0.7.tgz",
+ "integrity": "sha512-e0GOtq/aTQhVdNyDU9e02+wz9oDDM+SIOQxWME2QRjzRX5yyLAuHDE+0aE8vHb9XRC8XD37eO2u57+F09JqFhw==",
"dev": true,
"dependencies": {
"@one-ini/wasm": "0.1.1",
"commander": "^10.0.0",
- "minimatch": "9.0.1",
+ "minimatch": "^9.0.1",
"semver": "^7.5.3"
},
"bin": {
@@ -5518,12 +5518,12 @@
}
},
"node_modules/editorconfig/node_modules/minimatch": {
- "version": "9.0.1",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz",
- "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==",
+ "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"
@@ -6235,12 +6235,12 @@
}
},
"node_modules/eslint-config-wikimedia/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"
@@ -10654,12 +10654,12 @@
}
},
"node_modules/js-beautify/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"
@@ -11154,9 +11154,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"
diff --git a/package.json b/package.json
index 001cc8b..ca6a15e 100644
--- a/package.json
+++ b/package.json
@@ -16,8 +16,8 @@
"@vue/compiler-sfc": "3.5.13",
"@vue/test-utils": "2.4.6",
"@vue/vue3-jest": "29.2.6",
- "@wikimedia/codex": "2.3.4",
- "@wikimedia/codex-icons": "2.3.4",
+ "@wikimedia/codex": "2.4.0",
+ "@wikimedia/codex-icons": "2.4.0",
"babel-core": "^6.26.3",
"eslint-config-wikimedia": "0.32.3",
"eslint-plugin-jest": "27.2.1",
--
2.47.3
$ date
--- stdout ---
Mon Mar 9 14:40:03 UTC 2026
--- end ---
$ git clone file:///srv/git/mediawiki-extensions-DonationInterface.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 ---
12abd674aa3a91747ac539813488aa325579804c refs/heads/master
--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
"auditReportVersion": 2,
"vulnerabilities": {
"@tootallnate/once": {
"name": "@tootallnate/once",
"severity": "low",
"isDirect": false,
"via": [
{
"source": 1113977,
"name": "@tootallnate/once",
"dependency": "@tootallnate/once",
"title": "@tootallnate/once vulnerable to Incorrect Control Flow Scoping",
"url": "https://github.com/advisories/GHSA-vpq2-c234-7xj6",
"severity": "low",
"cwe": [
"CWE-705"
],
"cvss": {
"score": 3.3,
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L"
},
"range": "<3.0.1"
}
],
"effects": [
"http-proxy-agent"
],
"range": "<3.0.1",
"nodes": [
"node_modules/@tootallnate/once"
],
"fixAvailable": {
"name": "jest-environment-jsdom",
"version": "30.2.0",
"isSemVerMajor": true
}
},
"babel-core": {
"name": "babel-core",
"severity": "critical",
"isDirect": true,
"via": [
"babel-helpers",
"babel-register",
"babel-template",
"babel-traverse",
"json5"
],
"effects": [
"babel-register"
],
"range": "5.8.20 - 7.0.0-beta.3",
"nodes": [
"node_modules/babel-core"
],
"fixAvailable": {
"name": "babel-core",
"version": "4.7.16",
"isSemVerMajor": true
}
},
"babel-helpers": {
"name": "babel-helpers",
"severity": "critical",
"isDirect": false,
"via": [
"babel-template"
],
"effects": [],
"range": "*",
"nodes": [
"node_modules/babel-helpers"
],
"fixAvailable": true
},
"babel-register": {
"name": "babel-register",
"severity": "high",
"isDirect": false,
"via": [
"babel-core"
],
"effects": [
"babel-core"
],
"range": "*",
"nodes": [
"node_modules/babel-register"
],
"fixAvailable": {
"name": "babel-core",
"version": "4.7.16",
"isSemVerMajor": true
}
},
"babel-template": {
"name": "babel-template",
"severity": "critical",
"isDirect": false,
"via": [
"babel-traverse"
],
"effects": [
"babel-helpers"
],
"range": "*",
"nodes": [
"node_modules/babel-template"
],
"fixAvailable": true
},
"babel-traverse": {
"name": "babel-traverse",
"severity": "critical",
"isDirect": false,
"via": [
{
"source": 1096879,
"name": "babel-traverse",
"dependency": "babel-traverse",
"title": "Babel vulnerable to arbitrary code execution when compiling specifically crafted malicious code",
"url": "https://github.com/advisories/GHSA-67hx-6x53-jw92",
"severity": "critical",
"cwe": [
"CWE-184",
"CWE-697"
],
"cvss": {
"score": 9.4,
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H"
},
"range": "<7.23.2"
}
],
"effects": [
"babel-core",
"babel-template"
],
"range": "*",
"nodes": [
"node_modules/babel-traverse"
],
"fixAvailable": {
"name": "babel-core",
"version": "4.7.16",
"isSemVerMajor": true
}
},
"editorconfig": {
"name": "editorconfig",
"severity": "high",
"isDirect": false,
"via": [
"minimatch"
],
"effects": [],
"range": "1.0.3 - 1.0.4 || 2.0.0",
"nodes": [
"node_modules/editorconfig"
],
"fixAvailable": 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-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
}
},
"http-proxy-agent": {
"name": "http-proxy-agent",
"severity": "low",
"isDirect": false,
"via": [
"@tootallnate/once"
],
"effects": [
"jsdom"
],
"range": "4.0.1 - 5.0.0",
"nodes": [
"node_modules/http-proxy-agent"
],
"fixAvailable": {
"name": "jest-environment-jsdom",
"version": "30.2.0",
"isSemVerMajor": true
}
},
"jest-environment-jsdom": {
"name": "jest-environment-jsdom",
"severity": "low",
"isDirect": true,
"via": [
"jsdom"
],
"effects": [],
"range": "27.0.1 - 30.0.0-rc.1",
"nodes": [
"node_modules/jest-environment-jsdom"
],
"fixAvailable": {
"name": "jest-environment-jsdom",
"version": "30.2.0",
"isSemVerMajor": true
}
},
"jsdom": {
"name": "jsdom",
"severity": "low",
"isDirect": false,
"via": [
"http-proxy-agent"
],
"effects": [
"jest-environment-jsdom"
],
"range": "16.6.0 - 22.1.0",
"nodes": [
"node_modules/jsdom"
],
"fixAvailable": {
"name": "jest-environment-jsdom",
"version": "30.2.0",
"isSemVerMajor": true
}
},
"json5": {
"name": "json5",
"severity": "high",
"isDirect": false,
"via": [
{
"source": 1096543,
"name": "json5",
"dependency": "json5",
"title": "Prototype Pollution in JSON5 via Parse Method",
"url": "https://github.com/advisories/GHSA-9c47-m6qq-7p4h",
"severity": "high",
"cwe": [
"CWE-1321"
],
"cvss": {
"score": 7.1,
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:H"
},
"range": "<1.0.2"
}
],
"effects": [
"babel-core"
],
"range": "<1.0.2",
"nodes": [
"node_modules/babel-core/node_modules/json5"
],
"fixAvailable": {
"name": "babel-core",
"version": "4.7.16",
"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": [
"editorconfig",
"grunt"
],
"range": "<=3.1.3 || 9.0.0 - 9.0.6",
"nodes": [
"node_modules/@stylistic/eslint-plugin/node_modules/minimatch",
"node_modules/editorconfig/node_modules/minimatch",
"node_modules/eslint-config-wikimedia/node_modules/minimatch",
"node_modules/grunt/node_modules/minimatch",
"node_modules/js-beautify/node_modules/minimatch",
"node_modules/minimatch"
],
"fixAvailable": {
"name": "grunt",
"version": "0.3.17",
"isSemVerMajor": true
}
}
},
"metadata": {
"vulnerabilities": {
"info": 0,
"low": 4,
"moderate": 0,
"high": 6,
"critical": 4,
"total": 14
},
"dependencies": {
"prod": 1,
"dev": 1122,
"optional": 3,
"peer": 2,
"peerOptional": 0,
"total": 1122
}
}
}
--- 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: 79 installs, 0 updates, 0 removals
- Locking addshore/psr-6-mediawiki-bagostuff-adapter (0.1)
- Locking amzn/login-and-pay-with-amazon-sdk-php (2.5.0)
- Locking brick/math (0.14.8)
- Locking brick/money (0.10.3)
- Locking clio/clio (0.1.8)
- Locking coderkungfu/php-queue (1.0.2)
- Locking composer/ca-bundle (1.5.10)
- 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 corneltek/getoptionkit (2.7.3)
- Locking dealerdirect/phpcodesniffer-composer-installer (v1.2.0)
- Locking doctrine/deprecations (1.1.6)
- Locking felixfbecker/advanced-json-rpc (v3.2.1)
- Locking geoip2/geoip2 (v2.13.0)
- Locking gr4vy/gr4vy-php (v0.27.0)
- Locking guzzlehttp/guzzle (7.10.0)
- Locking guzzlehttp/promises (2.3.0)
- Locking guzzlehttp/psr7 (2.8.0)
- Locking lcobucci/clock (3.3.1)
- Locking lcobucci/jwt (4.3.0)
- Locking maxmind-db/reader (v1.13.1)
- Locking maxmind/minfraud (v1.23.0)
- Locking maxmind/web-service-common (v0.9.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 monolog/monolog (2.11.0)
- Locking netresearch/jsonmapper (v4.5.0)
- Locking paragonie/constant_time_encoding (v3.1.3)
- 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 phpmailer/phpmailer (v6.12.0)
- Locking phpseclib/phpseclib (3.0.49)
- Locking phpstan/phpdoc-parser (2.3.2)
- Locking predis/predis (v1.1.10)
- Locking psr/cache (1.0.1)
- Locking psr/clock (1.0.0)
- Locking psr/container (2.0.2)
- Locking psr/http-client (1.0.3)
- Locking psr/http-factory (1.1.0)
- Locking psr/http-message (2.0)
- Locking psr/log (1.1.4)
- Locking ralouphie/getallheaders (3.0.3)
- Locking relisten/forceutf8 (1.1.0)
- Locking respect/stringifier (1.0.0)
- Locking respect/validation (2.4.12)
- Locking sabre/event (5.1.7)
- Locking squizlabs/php_codesniffer (3.13.5)
- Locking symfony/console (v7.4.7)
- Locking symfony/deprecation-contracts (v3.6.0)
- Locking symfony/http-foundation (v6.4.35)
- 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/polyfill-php83 (v1.33.0)
- Locking symfony/service-contracts (v3.6.1)
- Locking symfony/string (v7.4.6)
- Locking symfony/yaml (v7.4.6)
- Locking tysonandre/var_representation_polyfill (0.1.3)
- Locking webmozart/assert (2.1.6)
- Locking whichbrowser/parser (v2.1.8)
- Locking wikimedia/remex-html (5.1.0)
- Locking wikimedia/smash-pig (v1.2.2.15)
- Locking wikimedia/testing-access-wrapper (4.0.0)
- Locking wikimedia/utfnormal (4.0.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 79 installs, 0 updates, 0 removals
- Downloading psr/cache (1.0.1)
- Downloading addshore/psr-6-mediawiki-bagostuff-adapter (0.1)
- Downloading clio/clio (0.1.8)
- Downloading lcobucci/clock (3.3.1)
- Downloading lcobucci/jwt (4.3.0)
- Downloading maxmind/web-service-common (v0.9.0)
- Downloading maxmind/minfraud (v1.23.0)
- Downloading relisten/forceutf8 (1.1.0)
- Downloading whichbrowser/parser (v2.1.8)
- Downloading symfony/http-foundation (v6.4.35)
- Downloading predis/predis (v1.1.10)
- Downloading gr4vy/gr4vy-php (v0.27.0)
- Downloading corneltek/getoptionkit (2.7.3)
- Downloading coderkungfu/php-queue (1.0.2)
- Downloading brick/money (0.10.3)
- Syncing amzn/login-and-pay-with-amazon-sdk-php (2.5.0) into cache
- Downloading wikimedia/smash-pig (v1.2.2.15)
0/16 [>---------------------------] 0%
5/16 [========>-------------------] 31%
14/16 [========================>---] 87%
15/16 [==========================>-] 93%
16/16 [============================] 100%
- Installing squizlabs/php_codesniffer (3.13.5): Extracting archive
- Installing dealerdirect/phpcodesniffer-composer-installer (v1.2.0): Extracting archive
- Installing psr/cache (1.0.1): Extracting archive
- Installing addshore/psr-6-mediawiki-bagostuff-adapter (0.1): Extracting archive
- Installing brick/math (0.14.8): Extracting archive
- Installing clio/clio (0.1.8): Extracting archive
- Installing composer/pcre (3.3.2): Extracting archive
- Installing symfony/deprecation-contracts (v3.6.0): Extracting archive
- Installing psr/http-message (2.0): Extracting archive
- Installing psr/http-client (1.0.3): Extracting archive
- Installing ralouphie/getallheaders (3.0.3): Extracting archive
- Installing psr/http-factory (1.1.0): Extracting archive
- Installing guzzlehttp/psr7 (2.8.0): Extracting archive
- Installing guzzlehttp/promises (2.3.0): Extracting archive
- Installing guzzlehttp/guzzle (7.10.0): Extracting archive
- Installing psr/clock (1.0.0): Extracting archive
- Installing lcobucci/clock (3.3.1): Extracting archive
- Installing symfony/polyfill-mbstring (v1.33.0): Extracting archive
- Installing lcobucci/jwt (4.3.0): Extracting archive
- Installing maxmind-db/reader (v1.13.1): Extracting archive
- Installing respect/stringifier (1.0.0): Extracting archive
- Installing respect/validation (2.4.12): Extracting archive
- Installing composer/ca-bundle (1.5.10): Extracting archive
- Installing maxmind/web-service-common (v0.9.0): Extracting archive
- Installing geoip2/geoip2 (v2.13.0): Extracting archive
- Installing maxmind/minfraud (v1.23.0): Extracting archive
- Installing phpcsstandards/phpcsutils (1.2.2): Extracting archive
- Installing phpcsstandards/phpcsextra (1.4.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 (v7.4.6): Extracting archive
- Installing psr/container (2.0.2): Extracting archive
- Installing symfony/service-contracts (v3.6.1): Extracting archive
- Installing symfony/console (v7.4.7): 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 (1.1.4): 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 monolog/monolog (2.11.0): Extracting archive
- Installing paragonie/constant_time_encoding (v3.1.3): Extracting archive
- Installing paragonie/random_compat (v9.99.100): 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 relisten/forceutf8 (1.1.0): Extracting archive
- Installing symfony/polyfill-php83 (v1.33.0): Extracting archive
- Installing whichbrowser/parser (v2.1.8): Extracting archive
- Installing wikimedia/utfnormal (4.0.0): Extracting archive
- Installing wikimedia/remex-html (5.1.0): Extracting archive
- Installing symfony/yaml (v7.4.6): Extracting archive
- Installing symfony/http-foundation (v6.4.35): Extracting archive
- Installing predis/predis (v1.1.10): Extracting archive
- Installing phpseclib/phpseclib (3.0.49): Extracting archive
- Installing phpmailer/phpmailer (v6.12.0): Extracting archive
- Installing gr4vy/gr4vy-php (v0.27.0): Extracting archive
- Installing corneltek/getoptionkit (2.7.3): Extracting archive
- Installing coderkungfu/php-queue (1.0.2): Extracting archive
- Installing brick/money (0.10.3): Extracting archive
- Installing amzn/login-and-pay-with-amazon-sdk-php (2.5.0): Cloning 0c923fe992 from cache
- Installing wikimedia/smash-pig (v1.2.2.15): Extracting archive
- Installing wikimedia/testing-access-wrapper (4.0.0): Extracting archive
0/76 [>---------------------------] 0%
26/76 [=========>------------------] 34%
43/76 [===============>------------] 56%
58/76 [=====================>------] 76%
68/76 [=========================>--] 89%
75/76 [===========================>] 98%
76/76 [============================] 100%
34 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating optimized autoload files
32 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:@wikimedia/codex from 2.3.4 -> 2.4.0
Upgrading n:@wikimedia/codex-icons from 2.3.4 -> 2.4.0
$ /usr/bin/npm install
--- stderr ---
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex@2.4.0',
npm WARN EBADENGINE required: { npm: '>=10.8.2', node: '>=20.19.1' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex-icons@2.4.0',
npm WARN EBADENGINE required: { npm: '>=10.8.2', node: '>=20.19.1' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN deprecated osenv@0.1.5: This package is no longer supported.
npm WARN deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
npm WARN deprecated @humanwhocodes/config-array@0.13.0: Use @eslint/config-array instead
npm WARN deprecated rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported
npm WARN deprecated abab@2.0.6: Use your platform's native atob() and btoa() methods instead
npm WARN deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
npm WARN deprecated glob@7.1.7: Glob versions prior to v9 are no longer supported
npm WARN deprecated domexception@4.0.0: Use your platform's native DOMException instead
npm WARN deprecated eslint@8.57.1: This version is no longer supported. Please see https://eslint.org/version-support for other options.
npm WARN deprecated core-js@2.6.12: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.
--- stdout ---
added 1121 packages, and audited 1122 packages in 15s
166 packages are looking for funding
run `npm fund` for details
14 vulnerabilities (4 low, 6 high, 4 critical)
To address issues that do not require attention, run:
npm audit fix
To address all issues (including breaking changes), run:
npm audit fix --force
Run `npm audit` for details.
--- end ---
$ package-lock-lint /src/repo/package-lock.json
--- stdout ---
Checking /src/repo/package-lock.json
--- end ---
$ /usr/bin/npm ci
--- stderr ---
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex@2.4.0',
npm WARN EBADENGINE required: { node: '>=20.19.1', npm: '>=10.8.2' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex-icons@2.4.0',
npm WARN EBADENGINE required: { node: '>=20.19.1', npm: '>=10.8.2' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN deprecated osenv@0.1.5: This package is no longer supported.
npm WARN deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
npm WARN deprecated @humanwhocodes/config-array@0.13.0: Use @eslint/config-array instead
npm WARN deprecated rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported
npm WARN deprecated abab@2.0.6: Use your platform's native atob() and btoa() methods instead
npm WARN deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
npm WARN deprecated glob@7.1.7: Glob versions prior to v9 are no longer supported
npm WARN deprecated domexception@4.0.0: Use your platform's native DOMException instead
npm WARN deprecated eslint@8.57.1: This version is no longer supported. Please see https://eslint.org/version-support for other options.
npm WARN deprecated core-js@2.6.12: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.
--- stdout ---
added 1121 packages, and audited 1122 packages in 18s
166 packages are looking for funding
run `npm fund` for details
14 vulnerabilities (4 low, 6 high, 4 critical)
To address issues that do not require attention, run:
npm audit fix
To address all issues (including breaking changes), run:
npm audit fix --force
Run `npm audit` for details.
--- end ---
$ /usr/bin/npm test
--- stderr ---
PASS tests/jest/views/update-donations.test.js (5.172 s)
PASS tests/jest/views/amount-downgrade.test.js (5.345 s)
PASS tests/jest/views/cancel-donations.test.js (5.56 s)
PASS tests/jest/views/login.test.js
PASS tests/jest/components/donations_list_table.test.js
PASS tests/jest/views/annual-conversion.test.js
PASS tests/jest/views/pause-donations.test.js
PASS tests/jest/components/recurring_contribution.test.js
PASS tests/jest/components/recurring-cancel-form.test.js
PASS tests/jest/components/donations_history.test.js
PASS tests/jest/components/recurring-cancel-confirmation.test.js
PASS tests/jest/components/recurring-update-form.test.js
PASS tests/jest/components/recurring_contribution_summary.test.js
PASS tests/jest/components/header.test.js
PASS tests/jest/views/home.test.js
PASS tests/jest/components/recurring-pause-form.test.js
PASS tests/jest/components/recurring-cancel-success.test.js
PASS tests/jest/components/app.test.js
PASS tests/jest/routes/router.test.js
PASS tests/jest/components/popup_link.test.js
PASS tests/jest/components/contact_details.test.js
PASS tests/jest/components/recurring-update-success.test.js
PASS tests/jest/components/recurring-cancel-option-container.test.js
PASS tests/jest/components/recurring-pause-success.test.js
PASS tests/jest/components/onetime_contribution.test.js
PASS tests/jest/components/feedback-survey_component.test.js
PASS tests/jest/components/greeting_component.test.js
PASS tests/jest/components/error-component.test.js
Test Suites: 28 passed, 28 total
Tests: 78 passed, 78 total
Snapshots: 0 total
Time: 10.567 s
Ran all test suites.
--- stdout ---
> test
> grunt test && npm run test:unit
Running "eslint:all" (eslint) task
/src/repo/Gruntfile.js
37:11 warning ES2015 'Object.assign' method is forbidden es-x/no-object-assign
/src/repo/adyen_gateway/forms/adyen.js
1:26 warning 'Promise' is already defined as a built-in global variable no-redeclare
5:3 warning 'configFromServer' is never reassigned. Use 'const' instead prefer-const
6:3 warning 'payment_method' is never reassigned. Use 'const' instead prefer-const
8:3 warning 'country' is never reassigned. Use 'const' instead prefer-const
9:3 warning 'language' is never reassigned. Use 'const' instead prefer-const
17:3 warning 'GOOGLEPAY_COMPONENT_TYPE' is never reassigned. Use 'const' instead prefer-const
18:3 warning 'ACH_GET_DONOR_ADDRESS' is never reassigned. Use 'const' instead prefer-const
25:1 warning Missing JSDoc @return type jsdoc/require-returns-type
66:5 warning Unexpected var, use let or const instead no-var
82:23 warning ES2015 'Promise' class is forbidden es-x/no-promise
84:11 warning 'bContact' is never reassigned. Use 'const' instead prefer-const
85:8 warning 'sContact' is never reassigned. Use 'const' instead prefer-const
133:5 warning Unexpected var, use let or const instead no-var
164:23 warning ES2015 'Promise' class is forbidden es-x/no-promise
223:34 warning ES2015 'Promise' class is forbidden es-x/no-promise
227:14 warning ES2015 'Promise' class is forbidden es-x/no-promise
313:2 warning 'submitPromise' is never reassigned. Use 'const' instead prefer-const
313:22 warning ES2015 'Promise' class is forbidden es-x/no-promise
401:6 warning ES2015 'Object.assign' method is forbidden es-x/no-object-assign
540:4 warning ES2015 'Object.assign' method is forbidden es-x/no-object-assign
550:4 warning 'containerName' is never reassigned. Use 'const' instead prefer-const
554:3 warning 'component_type' is never reassigned. Use 'const' instead prefer-const
573:3 warning 'oldShowErrors' is never reassigned. Use 'const' instead prefer-const
595:3 warning 'config' is never reassigned. Use 'const' instead prefer-const
603:3 warning 'checkoutPromise' is never reassigned. Use 'const' instead prefer-const
627:4 warning ES2015 'Promise' class is forbidden es-x/no-promise
654:4 warning ES2015 'Promise' class is forbidden es-x/no-promise
/src/repo/amazon_gateway/amazon.js
3:6 warning 'clientId' is never reassigned. Use 'const' instead prefer-const
4:3 warning 'sellerId' is never reassigned. Use 'const' instead prefer-const
5:3 warning 'sandbox' is never reassigned. Use 'const' instead prefer-const
6:3 warning 'returnUrl' is never reassigned. Use 'const' instead prefer-const
7:3 warning 'widgetScript' is never reassigned. Use 'const' instead prefer-const
8:3 warning 'loginScript' is never reassigned. Use 'const' instead prefer-const
9:3 warning 'failPage' is never reassigned. Use 'const' instead prefer-const
10:3 warning 'isRecurring' is never reassigned. Use 'const' instead prefer-const
14:3 warning 'validTokenPattern' is never reassigned. Use 'const' instead prefer-const
14:23 warning Use a regular expression literal instead of the 'RegExp' constructor prefer-regex-literals
22:3 warning 'CARD_SELECT_DELAY' is never reassigned. Use 'const' instead prefer-const
98:2 warning 'accessToken' is never reassigned. Use 'const' instead prefer-const
99:2 warning 'loginError' is never reassigned. Use 'const' instead prefer-const
129:12 warning Avoid direct access to document.cookie. Use mw.cookie instead mediawiki/no-cookie
268:8 warning Selector extensions are not allowed no-jquery/no-sizzle
/src/repo/braintree_gateway/forms/braintree.js
10:6 warning 'di' is never reassigned. Use 'const' instead prefer-const
12:3 warning 'payment_method' is never reassigned. Use 'const' instead prefer-const
13:3 warning 'scripts' is never reassigned. Use 'const' instead prefer-const
/src/repo/dlocal_gateway/forms/dlocal.js
27:7 warning 'dlocalInstance' is never reassigned. Use 'const' instead prefer-const
28:4 warning 'fields' is never reassigned. Use 'const' instead prefer-const
33:4 warning 'commonStyle' is never reassigned. Use 'const' instead prefer-const
49:3 warning 'cardField' is never reassigned. Use 'const' instead prefer-const
55:3 warning 'expirationField' is never reassigned. Use 'const' instead prefer-const
61:3 warning 'cvvField' is never reassigned. Use 'const' instead prefer-const
/src/repo/gravy_gateway/forms/gravy.js
13:2 warning 'configFromServer' is never reassigned. Use 'const' instead prefer-const
14:2 warning 'sessionId' is never reassigned. Use 'const' instead prefer-const
15:2 warning 'environment' is never reassigned. Use 'const' instead prefer-const
16:2 warning 'gravyId' is never reassigned. Use 'const' instead prefer-const
17:2 warning 'redirectPaypal' is never reassigned. Use 'const' instead prefer-const
18:2 warning 'showRedirectText' is never reassigned. Use 'const' instead prefer-const
21:2 warning 'language' is never reassigned. Use 'const' instead prefer-const
22:2 warning 'country' is never reassigned. Use 'const' instead prefer-const
23:2 warning 'isIndia' is never reassigned. Use 'const' instead prefer-const
24:2 warning 'applePayPaySessionVersionNumber' is never reassigned. Use 'const' instead prefer-const
128:15 warning All possible message keys should be documented. See https://w.wiki/4r9a for details mediawiki/msg-doc
130:25 warning All possible message keys should be documented. See https://w.wiki/4r9a for details mediawiki/msg-doc
130:49 warning All possible message keys should be documented. See https://w.wiki/4r9a for details mediawiki/msg-doc
273:8 warning 'extraData' is already declared in the upper scope on line 12 column 2 no-shadow
442:43 warning 'appleSession' is already declared in the upper scope on line 20 column 2 no-shadow
/src/repo/modules/ext.donationInterface.donorPortal/components/DonationsDisclaimerComponent.vue
4:34 warning 'v-html' directive can lead to XSS attack vue/no-v-html
6:34 warning 'v-html' directive can lead to XSS attack vue/no-v-html
/src/repo/modules/ext.donationInterface.donorPortal/components/DonationsHistory.vue
128:25 warning 'panel' is already declared in the upper scope on line 138 column 10 no-shadow
/src/repo/modules/ext.donationInterface.donorPortal/components/DonationsListTable.vue
21:22 warning 'v-html' directive can lead to XSS attack vue/no-v-html
41:37 warning 'v-html' directive can lead to XSS attack vue/no-v-html
/src/repo/modules/ext.donationInterface.donorPortal/components/RecurringContributionAnnualConversionForm.vue
35:37 warning 'v-html' directive can lead to XSS attack vue/no-v-html
55:37 warning 'v-html' directive can lead to XSS attack vue/no-v-html
100:34 warning 'v-html' directive can lead to XSS attack vue/no-v-html
/src/repo/modules/ext.donationInterface.donorPortal/components/RecurringContributionAnnualConversionSuccess.vue
13:33 warning 'v-html' directive can lead to XSS attack vue/no-v-html
15:33 warning 'v-html' directive can lead to XSS attack vue/no-v-html
/src/repo/modules/ext.donationInterface.donorPortal/components/RecurringContributionCancelSuccess.vue
13:33 warning 'v-html' directive can lead to XSS attack vue/no-v-html
/src/repo/modules/ext.donationInterface.donorPortal/components/RecurringContributionComponent.vue
25:29 warning 'v-html' directive can lead to XSS attack vue/no-v-html
48:5 warning 'v-html' directive can lead to XSS attack vue/no-v-html
/src/repo/modules/ext.donationInterface.donorPortal/components/RecurringContributionPauseSuccess.vue
13:31 warning 'v-html' directive can lead to XSS attack vue/no-v-html
/src/repo/modules/ext.donationInterface.donorPortal/components/RecurringContributionUpdateSuccess.vue
15:33 warning 'v-html' directive can lead to XSS attack vue/no-v-html
/src/repo/modules/ext.donationInterface.donorPortal/views/LoginView.vue
8:6 warning 'v-html' directive can lead to XSS attack vue/no-v-html
37:7 warning 'v-html' directive can lead to XSS attack vue/no-v-html
66:8 warning 'v-html' directive can lead to XSS attack vue/no-v-html
76:17 warning 'v-html' directive can lead to XSS attack vue/no-v-html
/src/repo/modules/iframe.liberator.js
1:10 warning 'self' is already defined as a built-in global variable no-redeclare
/src/repo/modules/js/ext.donationInterface.applePayHelper.js
4:1 warning Missing JSDoc @param "$" type jsdoc/require-param-type
5:1 warning Missing JSDoc @param "mw" type jsdoc/require-param-type
/src/repo/modules/js/ext.donationInterface.employerAutoComplete.js
28:21 warning Prefer .then to .done no-jquery/no-done-fail
/src/repo/modules/js/ext.donationInterface.errorLog.js
16:3 warning 'postdata' is never reassigned. Use 'const' instead prefer-const
/src/repo/modules/js/ext.donationInterface.forms.js
4:1 warning Missing JSDoc @param "$" type jsdoc/require-param-type
5:1 warning Missing JSDoc @param "mw" type jsdoc/require-param-type
74:27 warning Selector extensions are not allowed no-jquery/no-sizzle
90:12 warning '$element' is never reassigned. Use 'const' instead prefer-const
107:1 warning Missing JSDoc @param "checkboxName" type jsdoc/require-param-type
111:12 warning '$element' is never reassigned. Use 'const' instead prefer-const
126:1 warning The type 'result' is undefined jsdoc/no-undefined-types
148:3 warning 'sendData' is never reassigned. Use 'const' instead prefer-const
187:4 warning ES2015 'Object.assign' method is forbidden es-x/no-object-assign
239:14 warning ES2015 'Promise' class is forbidden es-x/no-promise
269:10 warning ES2015 'Promise' class is forbidden es-x/no-promise
283:4 warning ES2015 'Promise' class is forbidden es-x/no-promise
321:10 warning Selector extensions are not allowed no-jquery/no-sizzle
325:30 warning Selector extensions are not allowed no-jquery/no-sizzle
/src/repo/modules/js/ext.donationInterface.jaVariant02.js
8:1 warning Missing JSDoc @param "mw" type jsdoc/require-param-type
9:1 warning Missing JSDoc @param "$" type jsdoc/require-param-type
/src/repo/modules/js/ext.donationInterface.monthlyConvert.js
2:6 warning 'mc' is never reassigned. Use 'const' instead prefer-const
6:3 warning 'tyUrl' is never reassigned. Use 'const' instead prefer-const
9:3 warning 'convertAmounts' is never reassigned. Use 'const' instead prefer-const
17:3 warning 'numAmounts' is never reassigned. Use 'const' instead prefer-const
37:49 warning 'currency' is already declared in the upper scope on line 3 column 3 no-shadow
78:39 warning 'currency' is already declared in the upper scope on line 3 column 3 no-shadow
147:51 warning 'currency' is already declared in the upper scope on line 3 column 3 no-shadow
148:7 warning 'rates' is never reassigned. Use 'const' instead prefer-const
149:4 warning 'amountRules' is never reassigned. Use 'const' instead prefer-const
151:4 warning '$smallAmountMessage' is never reassigned. Use 'const' instead prefer-const
161:3 warning 'formattedMin' is never reassigned. Use 'const' instead prefer-const
177:4 warning 'locale' is never reassigned. Use 'const' instead prefer-const
180:3 warning 'presetAmount' is never reassigned. Use 'const' instead prefer-const
/src/repo/modules/js/ext.donationInterface.monthlyConvertAnnual.js
3:7 warning 'mc' is never reassigned. Use 'const' instead prefer-const
3:31 warning 'originalGetSendData' is never reassigned. Use 'const' instead prefer-const
4:4 warning 'originalAmount' is never reassigned. Use 'const' instead prefer-const
5:4 warning '$otherAmountMonthlyInput' is never reassigned. Use 'const' instead prefer-const
5:62 warning '$otherAmountAnnualInput' is never reassigned. Use 'const' instead prefer-const
6:4 warning '$otherMonthlySubmit' is never reassigned. Use 'const' instead prefer-const
6:60 warning '$otherAnnualSubmit' is never reassigned. Use 'const' instead prefer-const
7:4 warning '$smallAmountMessage' is never reassigned. Use 'const' instead prefer-const
15:3 warning 'originalAmountFormatted' is never reassigned. Use 'const' instead prefer-const
/src/repo/modules/js/ext.donationInterface.monthlyConvertMultiplier.js
3:7 warning 'mc' is never reassigned. Use 'const' instead prefer-const
4:3 warning 'originalAmount' is never reassigned. Use 'const' instead prefer-const
/src/repo/modules/js/ext.donationInterface.monthlyConvert_011.js
3:7 warning 'mc' is never reassigned. Use 'const' instead prefer-const
4:4 warning 'locale' is never reassigned. Use 'const' instead prefer-const
5:3 warning 'originalAmount' is never reassigned. Use 'const' instead prefer-const
6:3 warning 'currency' is never reassigned. Use 'const' instead prefer-const
7:3 warning 'presetAmount' is never reassigned. Use 'const' instead prefer-const
8:3 warning 'formattedAsk' is never reassigned. Use 'const' instead prefer-const
/src/repo/modules/js/ext.donationInterface.recurUpgrade.js
3:7 warning '$submitButton' is never reassigned. Use 'const' instead prefer-const
4:4 warning '$amountField' is never reassigned. Use 'const' instead prefer-const
5:4 warning '$otherAmountField' is never reassigned. Use 'const' instead prefer-const
6:4 warning '$totalMessage' is never reassigned. Use 'const' instead prefer-const
7:4 warning '$newTotalAmount' is never reassigned. Use 'const' instead prefer-const
8:4 warning '$form' is never reassigned. Use 'const' instead prefer-const
9:4 warning 'originalAmount' is never reassigned. Use 'const' instead prefer-const
10:4 warning 'currency' is never reassigned. Use 'const' instead prefer-const
11:4 warning 'maximum' is never reassigned. Use 'const' instead prefer-const
12:4 warning 'nextDateFormatted' is never reassigned. Use 'const' instead prefer-const
14:4 warning 'preSelectAmount' is never reassigned. Use 'const' instead prefer-const
38:4 warning 'valueIsValid' is never reassigned. Use 'const' instead prefer-const
/src/repo/modules/js/ext.donationInterface.validation.js
7:1 warning Missing JSDoc @param "$" type jsdoc/require-param-type
8:1 warning Missing JSDoc @param "mw" type jsdoc/require-param-type
11:6 warning 'di' is never reassigned. Use 'const' instead prefer-const
13:3 warning 'mcDomains' is never reassigned. Use 'const' instead prefer-const
33:3 warning 'multiCountrySubdomains' is never reassigned. Use 'const' instead prefer-const
34:3 warning 'countryTlds' is never reassigned. Use 'const' instead prefer-const
40:26 warning 'i' is already declared in the upper scope on line 39 column 36 no-shadow
/src/repo/modules/validate_input.js
1:1 warning Missing JSDoc @return declaration jsdoc/require-returns
9:3 warning 'rates' is never reassigned. Use 'const' instead prefer-const
10:3 warning 'amountRules' is never reassigned. Use 'const' instead prefer-const
14:3 warning '$amountMsg' is never reassigned. Use 'const' instead prefer-const
15:3 warning 'threeDecimalCurrencies' is never reassigned. Use 'const' instead prefer-const
86:3 warning 'invalids' is never reassigned. Use 'const' instead prefer-const
87:3 warning 'rules' is never reassigned. Use 'const' instead prefer-const
105:27 warning 'value' is already declared in the upper scope on line 82 column 6 no-shadow
107:14 warning All possible message keys should be documented. See https://w.wiki/4r9a for details mediawiki/msg-doc
113:23 warning 'i' is already declared in the upper scope on line 85 column 3 no-shadow
145:2 warning 'countryField' is never reassigned. Use 'const' instead prefer-const
168:2 warning 'emailAdd' is never reassigned. Use 'const' instead prefer-const
220:2 warning 'phoneAdd' is never reassigned. Use 'const' instead prefer-const
241:11 warning Avoid direct access to document.cookie. Use mw.cookie instead mediawiki/no-cookie
242:16 warning Avoid direct access to document.cookie. Use mw.cookie instead mediawiki/no-cookie
243:12 warning Avoid direct access to document.cookie. Use mw.cookie instead mediawiki/no-cookie
/src/repo/paypal_ec_gateway/forms/js/paypal.js
2:6 warning 'di' is never reassigned. Use 'const' instead prefer-const
3:3 warning 'rules' is never reassigned. Use 'const' instead prefer-const
/src/repo/tests/jest/components/recurring_contribution.test.js
55:19 warning ES2015 'Object.assign' method is forbidden es-x/no-object-assign
69:19 warning ES2015 'Object.assign' method is forbidden es-x/no-object-assign
/src/repo/tests/jest/views/amount-downgrade.test.js
5:34 warning ES2015 'Object.assign' method is forbidden es-x/no-object-assign
/src/repo/tests/jest/views/annual-conversion.test.js
5:34 warning ES2015 'Object.assign' method is forbidden es-x/no-object-assign
/src/repo/tests/jest/views/cancel-donations.test.js
5:34 warning ES2015 'Object.assign' method is forbidden es-x/no-object-assign
/src/repo/tests/jest/views/pause-donations.test.js
5:34 warning ES2015 'Object.assign' method is forbidden es-x/no-object-assign
/src/repo/tests/jest/views/update-donations.test.js
5:34 warning ES2015 'Object.assign' method is forbidden es-x/no-object-assign
✖ 181 problems (0 errors, 181 warnings)
Running "stylelint:all" (stylelint) task
>> Linted 17 files without errors
Running "banana:DonationInterface" (banana) task
>> The "fr" translation has 1 translation with trailing whitespace:
>> * donorportal-coming-soon
>> 10 message directories checked.
Done.
> test:unit
> jest
----------------------------------------------------|---------|----------|---------|---------|-----------------------
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
----------------------------------------------------|---------|----------|---------|---------|-----------------------
All files | 94.2 | 87.01 | 87.45 | 94.17 |
ext.donationInterface.donorPortal | 75.34 | 64.15 | 77.77 | 75.34 |
apiPostAction.js | 100 | 100 | 100 | 100 |
normalizeInput.js | 63.88 | 59.45 | 75 | 63.88 | 4,21,32-35,54-66
router.js | 80 | 71.42 | 50 | 80 | 12-13,19-20,52
trackingParams.js | 100 | 100 | 100 | 100 |
ext.donationInterface.donorPortal/components | 95.01 | 91.61 | 84.61 | 95.01 |
App.vue | 100 | 100 | 100 | 100 |
DonationsDisclaimerComponent.vue | 100 | 100 | 100 | 100 |
DonationsHistory.vue | 94.44 | 100 | 75 | 94.44 | 16-23
DonationsListTable.vue | 89.28 | 94.44 | 73.33 | 89.28 | 23,40,137-153,183-199
DonorCardComponent.vue | 100 | 90 | 100 | 100 | 78
DonorContactDetails.vue | 93.93 | 86.36 | 100 | 93.93 | 46,48
EndowmentInformationComponent.vue | 100 | 100 | 100 | 100 |
ErrorComponent.vue | 100 | 100 | 100 | 100 |
FeedbackSurveyComponent.vue | 100 | 100 | 100 | 100 |
GreetingComponent.vue | 100 | 100 | 100 | 100 |
Header.vue | 87.17 | 88.23 | 66.66 | 87.17 | 30-37,134
OnetimeContribution.vue | 100 | 100 | 100 | 100 |
PopupLink.vue | 100 | 100 | 100 | 100 |
RadioButtonInput.vue | 94.44 | 100 | 75 | 94.44 | 63
RecurringContributionAnnualConversionForm.vue | 93.02 | 78.04 | 70 | 93.02 | 19,50,217-245,262
RecurringContributionAnnualConversionSuccess.vue | 96 | 100 | 83.33 | 96 | 17
RecurringContributionCancelAltOptionContainer.vue | 100 | 100 | 83.33 | 100 |
RecurringContributionCancelConfirmation.vue | 97.22 | 90 | 90 | 97.22 | 22
RecurringContributionCancelForm.vue | 94.23 | 91.66 | 85.71 | 94.23 | 24,52,55
RecurringContributionCancelSuccess.vue | 96.42 | 50 | 100 | 96.42 | 28
RecurringContributionComponent.vue | 88.23 | 95.08 | 88.23 | 88.23 | 43-46,52,57,112,180
RecurringContributionPauseForm.vue | 97.14 | 100 | 87.5 | 97.14 | 22
RecurringContributionPauseSuccess.vue | 94.44 | 100 | 75 | 94.44 | 17
RecurringContributionSummary.vue | 100 | 100 | 100 | 100 |
RecurringContributionUpdateForm.vue | 96.72 | 89.18 | 83.33 | 96.72 | 85,183
RecurringContributionUpdateSuccess.vue | 100 | 100 | 100 | 100 |
RelatedContentComponent.vue | 94.11 | 100 | 60 | 94.11 | 99-105
ext.donationInterface.donorPortal/views | 96.33 | 83.9 | 97.01 | 96.27 |
AmountDowngrade.vue | 97.61 | 75 | 100 | 97.56 | 32
AnnualConversion.vue | 97.5 | 75 | 100 | 97.43 | 32
CancelDonations.vue | 98.36 | 85.71 | 100 | 98.33 | 35
Home.vue | 96.77 | 90 | 100 | 96.77 | 38
LoginView.vue | 91.42 | 89.65 | 90.47 | 91.42 | 40-42,77,85,192
PauseDonations.vue | 97.61 | 75 | 100 | 97.56 | 30
UpdateDonations.vue | 97.56 | 80 | 100 | 97.5 | 31
----------------------------------------------------|---------|----------|---------|---------|-----------------------
--- end ---
Upgrading c:mediawiki/mediawiki-codesniffer from 49.0.0 -> 50.0.0
$ /usr/bin/composer update
--- stderr ---
Loading composer repositories with package information
Updating dependencies
Lock file operations: 0 installs, 1 update, 0 removals
- Upgrading mediawiki/mediawiki-codesniffer (v49.0.0 => v50.0.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 0 installs, 1 update, 0 removals
- Upgrading mediawiki/mediawiki-codesniffer (v49.0.0 => v50.0.0): Extracting archive
Generating optimized autoload files
32 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', 'MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment', 'Squiz.Classes.ValidClassName.NotCamelCaps', 'PSR12.Properties.ConstantVisibility.NotFound', 'MediaWiki.Files.ClassMatchesFilename.NotMatch'}
$ vendor/bin/phpcs --report=json
--- stdout ---
{"totals":{"errors":105,"warnings":161,"fixable":0},"files":{"\/src\/repo\/dlocal_gateway\/dlocal_resultswitcher.body.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'DlocalGatewayResult' does not match filename 'dlocal_resultswitcher.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":6,"column":1}]},"\/src\/repo\/dlocal_gateway\/dlocal_gateway.alias.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/LogPrefixProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/braintree_gateway\/braintree_resultswitcher.body.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'BraintreeGatewayResult' does not match filename 'braintree_resultswitcher.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":6,"column":1}]},"\/src\/repo\/braintree_gateway\/braintree_gateway.alias.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/paypal_ec_gateway\/paypal_gateway.alias.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/Simple3DSecure.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/DonorLanguage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/DonationInterface.alias.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/DonorFullName.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/ReturnUrl.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/FallbackLogPrefixer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/ResponseProcessingException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/dlocal_gateway\/dlocal_gateway.body.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'DlocalGateway' does not match filename 'dlocal_gateway.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":13,"column":1}]},"\/src\/repo\/gateway_common\/CurrencyCountryRule.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/modules\/CurrencyRatesModule.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/employerSearch.api.php":{"errors":1,"warnings":3,"messages":[{"message":"Class name 'EmployerSearchAPI' does not match filename 'employerSearch.api.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":16,"column":1},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":31,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":36,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":41,"column":5}]},"\/src\/repo\/gateway_common\/PayPalAmount.php":{"errors":1,"warnings":0,"messages":[{"message":"Method name \"is_fractional_currency\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":11,"column":19}]},"\/src\/repo\/gateway_common\/RecurringConversion.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/paypal_ec_gateway\/PayPalCountry.php":{"errors":0,"warnings":2,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":7,"column":23},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":8,"column":23}]},"\/src\/repo\/paypal_ec_gateway\/paypal_express_resultswitcher.body.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'PaypalExpressGatewayResult' does not match filename 'paypal_express_resultswitcher.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":3,"column":1}]},"\/src\/repo\/gateway_common\/AmountInCents.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/paypal_ec_gateway\/PaypalExpressReturnUrl.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/DonationLogProcessor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/UnstagingHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/amazon_gateway\/amazon.api.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'AmazonBillingApi' does not match filename 'amazon.api.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":3,"column":1}]},"\/src\/repo\/gateway_common\/StreetNumberValidation.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/paypal_ec_gateway\/paypal_express_gateway.body.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'PaypalExpressGateway' does not match filename 'paypal_express_gateway.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":3,"column":1}]},"\/src\/repo\/amazon_gateway\/amazon_gateway.body.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'AmazonGateway' does not match filename 'amazon_gateway.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":20,"column":1}]},"\/src\/repo\/amazon_gateway\/amazon_gateway.alias.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiDonationClientError.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiRequestPauseRecurring.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiRecurUpgradeClientError.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/DonorLocale.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/RecurUpgrade\/Validator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiRequestAnnualConversion.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/DonorPortal\/Hooks.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/ConfigurationReader.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/ErrorState.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/FraudFilters\/PreAuthorizeFilter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiRecurringModifyBase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/ContributionTrackingPlusUnique.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":17,"column":70}]},"\/src\/repo\/extras\/conversion_log\/conversion_log.body.php":{"errors":3,"warnings":0,"messages":[{"message":"Class name 'Gateway_Extras_ConversionLog' does not match filename 'conversion_log.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":5,"column":1},{"message":"Class name \"Gateway_Extras_ConversionLog\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":5,"column":7},{"message":"Method name \"post_process\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":14,"column":15}]},"\/src\/repo\/includes\/DonorPortal\/ActivityTrackingTrait.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/paypal_ec_gateway\/paypal_express.adapter.php":{"errors":1,"warnings":3,"messages":[{"message":"Class name 'PaypalExpressAdapter' does not match filename 'paypal_express.adapter.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":24,"column":1},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":25,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":26,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":27,"column":5}]},"\/src\/repo\/gateway_common\/SmsOptin.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/DonationLoggerFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/StagingHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/extras\/extras.body.php":{"errors":4,"warnings":0,"messages":[{"message":"Class name 'Gateway_Extras' does not match filename 'extras.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":7,"column":10},{"message":"Class name \"Gateway_Extras\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":7,"column":16},{"message":"Method name \"generate_hash\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":59,"column":15},{"message":"Method name \"compare_hash\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":70,"column":15}]},"\/src\/repo\/email_forms\/EmailForm.php":{"errors":0,"warnings":1,"messages":[{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":14,"column":5}]},"\/src\/repo\/gateway_common\/GatewayType.php":{"errors":3,"warnings":0,"messages":[{"message":"Method name \"getData_Unstaged_Escaped\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":92,"column":12},{"message":"Method name \"session_ensure\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":198,"column":12},{"message":"Method name \"token_getSaltedSessionToken\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":240,"column":12}]},"\/src\/repo\/gateway_common\/WmfFramework.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":24,"column":30}]},"\/src\/repo\/extras\/FraudFilter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/FiscalNumber.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiClientErrorBase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiRequestCancelRecurring.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/ArrayHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/email_forms\/RequestNewChecksumLinkTrait.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/Amount.php":{"errors":2,"warnings":0,"messages":[{"message":"Method name \"is_fractional_currency\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":156,"column":19},{"message":"Method name \"is_exponent3_currency\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":174,"column":19}]},"\/src\/repo\/gravy_gateway\/Gravy3DSecure.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/extras\/custom_filters\/custom_filters.body.php":{"errors":2,"warnings":3,"messages":[{"message":"Class name 'Gateway_Extras_CustomFilters' does not match filename 'custom_filters.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":9,"column":1},{"message":"Class name \"Gateway_Extras_CustomFilters\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":9,"column":7},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":12,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":15,"column":5},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":48,"column":50}]},"\/src\/repo\/gravy_gateway\/gravy_gateway.alias.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/Frictionless3DSecure.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiRequestLogout.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/FraudFilters\/VelocityFilterRunner.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/BaseGravyTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/DonationApiBase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/ValidationHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/RecurringConversion.api.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'RecurringConversionApi' does not match filename 'RecurringConversion.api.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":5,"column":1}]},"\/src\/repo\/includes\/FraudFilters\/GenericVelocityFilter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/ArrayHelperTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":104,"column":36}]},"\/src\/repo\/gateway_common\/RecurringConversionTrait.php":{"errors":4,"warnings":0,"messages":[{"message":"Method name \"session_getData\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":13,"column":21},{"message":"Method name \"session_resetForNewAttempt\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":19,"column":21},{"message":"Method name \"session_setDonorBackupData\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":22,"column":21},{"message":"Method name \"session_MoveDonorDataToBackupForRecurringConversion\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":110,"column":12}]},"\/src\/repo\/gateway_common\/StreetAddressValidation.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/extras\/custom_filters\/filters\/source\/source.body.php":{"errors":2,"warnings":0,"messages":[{"message":"Class name 'Gateway_Extras_CustomFilters_Source' does not match filename 'source.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":3,"column":1},{"message":"Class name \"Gateway_Extras_CustomFilters_Source\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":3,"column":7}]},"\/src\/repo\/tests\/phpunit\/BaseAdyenCheckoutTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/braintree_gateway\/braintree.adapter.php":{"errors":1,"warnings":6,"messages":[{"message":"Class name 'BraintreeAdapter' does not match filename 'braintree.adapter.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":14,"column":1},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":17,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":18,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":19,"column":5},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":51,"column":78},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":56,"column":55},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":57,"column":74}]},"\/src\/repo\/gateway_common\/PaymentResult.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/DonationProfiler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiRequestNewChecksumLink.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/DonationInterfaceApiTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/BaseDlocalTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/braintree_gateway\/braintree.api.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'BraintreeDonationApi' does not match filename 'braintree.api.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":2,"column":1}]},"\/src\/repo\/adyen_gateway\/adyen.api.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'AdyenDonationApi' does not match filename 'adyen.api.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":2,"column":1}]},"\/src\/repo\/DonationInterface.class.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'DonationInterface' does not match filename 'DonationInterface.class.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":7,"column":1}]},"\/src\/repo\/adyen_gateway\/BlankAddressFields.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/Abstract3DSecure.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Adapter\/Gravy\/PaypalTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/ResultPages.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":104,"column":18}]},"\/src\/repo\/gateway_common\/LocalClusterPsr6Cache.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/EmployerFieldValidation.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/PaymentTransactionResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/includes\/MinFraudTestTrait.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/PostalCodeValidation.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/ingenico_gateway\/IngenicoLocale.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/AmountTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Adapter\/Ingenico\/RealTimeBankTransferIdealTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/CiviproxyConnectTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiRequestUpdateRecurring.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/TestCrash.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Adapter\/Gravy\/SecureFieldsCardTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/ingenico_gateway\/ingenico_gateway.body.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'IngenicoGateway' does not match filename 'ingenico_gateway.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":24,"column":1}]},"\/src\/repo\/tests\/phpunit\/includes\/test_gateway\/TestingGenericAdapter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gravy_gateway\/gravy_gateway.body.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'GravyGateway' does not match filename 'gravy_gateway.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":10,"column":1}]},"\/src\/repo\/tests\/phpunit\/includes\/TestingGatewayPage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/IntegrationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/includes\/test_request\/test.request.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'TestingRequest' does not match filename 'test.request.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":27,"column":1}]},"\/src\/repo\/tests\/phpunit\/GatewayPageTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/special\/PaymentSettings.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/braintree_gateway\/braintree_gateway.body.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'BraintreeGateway' does not match filename 'braintree_gateway.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":11,"column":1}]},"\/src\/repo\/gravy_gateway\/gravy_resultswitcher.body.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'GravyGatewayResult' does not match filename 'gravy_resultswitcher.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":6,"column":1}]},"\/src\/repo\/tests\/phpunit\/DonationMessageTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/includes\/TestingDonationLogger.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/ingenico_gateway\/IngenicoFormVariant.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Adapter\/Gravy\/ApplePayTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Adapter\/Ingenico\/RecurringTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gravy_gateway\/gravy.api.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'GravyDonationApi' does not match filename 'gravy.api.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":2,"column":1}]},"\/src\/repo\/gateway_forms\/MustacheHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/IngenicoLocaleTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/FraudFilters\/GenericPatternFilter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/dlocal_gateway\/dlocal.adapter.php":{"errors":1,"warnings":3,"messages":[{"message":"Class name 'DlocalAdapter' does not match filename 'dlocal.adapter.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":17,"column":1},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":23,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":28,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":33,"column":5}]},"\/src\/repo\/dlocal_gateway\/dlocal.api.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'DlocalDonationApi' does not match filename 'dlocal.api.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":2,"column":1}]},"\/src\/repo\/ingenico_gateway\/Ingenico3DSecure.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/adyen_gateway\/adyen_apple.api.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'AdyenAppleApi' does not match filename 'adyen_apple.api.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":8,"column":1}]},"\/src\/repo\/ingenico_gateway\/ingenico.adapter.php":{"errors":1,"warnings":3,"messages":[{"message":"Class name 'IngenicoAdapter' does not match filename 'ingenico.adapter.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":16,"column":1},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":19,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":20,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":21,"column":5}]},"\/src\/repo\/gateway_common\/GatewayPage.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":374,"column":18}]},"\/src\/repo\/gateway_common\/PlaceholderFiscalNumber.php":{"errors":0,"warnings":2,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":13,"column":31},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":14,"column":31}]},"\/src\/repo\/gateway_common\/messages\/MessagesEs_419.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/donation.api.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'DonationApi' does not match filename 'donation.api.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":10,"column":1}]},"\/src\/repo\/tests\/phpunit\/MustacheFormTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/ingenico_gateway\/IngenicoReturnUrlHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/StreetAddress.php":{"errors":2,"warnings":2,"messages":[{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":6,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":7,"column":5},{"message":"Method name \"stage_street\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":26,"column":15},{"message":"Method name \"stage_postal_code\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":48,"column":15}]},"\/src\/repo\/special\/RecurUpgrade.php":{"errors":0,"warnings":5,"messages":[{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":15,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":16,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":17,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":19,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":22,"column":5}]},"\/src\/repo\/tests\/phpunit\/EmailPreferencesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/ingenico_gateway\/ingenico_resultswitcher.body.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'IngenicoGatewayResult' does not match filename 'ingenico_resultswitcher.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":3,"column":1}]},"\/src\/repo\/ingenico_gateway\/ingenico_gateway.alias.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/extras\/civiproxy\/CiviproxyConnect.php":{"errors":0,"warnings":2,"messages":[{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":10,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":11,"column":5}]},"\/src\/repo\/gravy_gateway\/gravy_apple.api.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'GravyAppleApi' does not match filename 'gravy_apple.api.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":8,"column":1}]},"\/src\/repo\/tests\/phpunit\/DataValidatorTest.php":{"errors":0,"warnings":7,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":102,"column":34},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":103,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":104,"column":39},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":106,"column":47},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":107,"column":51},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":118,"column":46},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":124,"column":33}]},"\/src\/repo\/tests\/phpunit\/unit\/RecurUpgrade\/ValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/includes\/test_gateway\/TestingPaypalExpressAdapter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/FraudFilters\/PatternFilterRunner.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/DataValidator.php":{"errors":13,"warnings":1,"messages":[{"message":"Method name \"validate_email\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":238,"column":22},{"message":"Method name \"validate_currency_code\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":244,"column":22},{"message":"Method name \"validate_boolean\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":258,"column":22},{"message":"Method name \"validate_numeric\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":278,"column":22},{"message":"Method name \"validate_gateway\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":293,"column":22},{"message":"Method name \"validate_not_empty\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":307,"column":22},{"message":"Method name \"validate_not_just_punctuation\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":319,"column":19},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":320,"column":48},{"message":"Method name \"validate_name\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":335,"column":19},{"message":"Method name \"validate_address\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":345,"column":19},{"message":"Method name \"special_characters_in_wrong_locations\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":363,"column":19},{"message":"Method name \"cc_number_exists_in_str\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":386,"column":19},{"message":"Method name \"luhn_check\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":449,"column":19},{"message":"Method name \"ip_is_listed\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":504,"column":19}]},"\/src\/repo\/gateway_common\/ClientSideValidationHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/special\/FundraiserMaintenance.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Adapter\/Amazon\/AmazonApiTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/PaymentMethod.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/LoggingTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/includes\/test_gateway\/test.adapter.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'TTestingAdapter' does not match filename 'test.adapter.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":20,"column":1}]},"\/src\/repo\/gateway_forms\/Mustache.php":{"errors":2,"warnings":1,"messages":[{"message":"Class name 'Gateway_Form_Mustache' does not match filename 'Mustache.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":12,"column":1},{"message":"Class name \"Gateway_Form_Mustache\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":12,"column":7},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":14,"column":5}]},"\/src\/repo\/gateway_common\/DonationData.php":{"errors":0,"warnings":21,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":59,"column":30},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":68,"column":24},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":69,"column":24},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":72,"column":24},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":73,"column":25},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":78,"column":24},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":83,"column":24},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":102,"column":31},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":106,"column":25},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":121,"column":29},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":124,"column":26},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":125,"column":25},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":130,"column":26},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":133,"column":29},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":138,"column":22},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":366,"column":41},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":394,"column":72},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":399,"column":50},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":405,"column":34},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":406,"column":39},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":583,"column":28}]},"\/src\/repo\/tests\/phpunit\/DonationDataTest.php":{"errors":0,"warnings":11,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":85,"column":91},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":145,"column":59},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":193,"column":91},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":240,"column":102},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":260,"column":98},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":269,"column":98},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":279,"column":98},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":289,"column":98},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":300,"column":98},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":328,"column":98},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":341,"column":98}]},"\/src\/repo\/gateway_common\/MediaWikiLogHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Adapter\/Adyen\/AdyenFormLoadTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/includes\/test_gateway\/TestingDlocalAdapter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/DonorEmail.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Validation\/AmountHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_forms\/MustacheErrorForm.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/EndowmentHooks.php":{"errors":0,"warnings":1,"messages":[{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":7,"column":5}]},"\/src\/repo\/gateway_common\/CountryValidation.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/GatewayValidationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_forms\/Form.php":{"errors":2,"warnings":0,"messages":[{"message":"Class name 'Gateway_Form' does not match filename 'Form.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":5,"column":10},{"message":"Class name \"Gateway_Form\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":5,"column":16}]},"\/src\/repo\/gateway_common\/MessageUtils.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/extras\/custom_filters\/filters\/minfraud\/minfraud.body.php":{"errors":2,"warnings":3,"messages":[{"message":"Class name 'Gateway_Extras_CustomFilters_MinFraud' does not match filename 'minfraud.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":44,"column":1},{"message":"Class name \"Gateway_Extras_CustomFilters_MinFraud\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":44,"column":7},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":272,"column":47},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":280,"column":16},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":288,"column":50}]},"\/src\/repo\/amazon_gateway\/amazon.adapter.php":{"errors":1,"warnings":8,"messages":[{"message":"Class name 'AmazonAdapter' does not match filename 'amazon.adapter.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":34,"column":1},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":36,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":37,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":38,"column":5},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":227,"column":73},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":312,"column":36},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":314,"column":41},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":366,"column":36},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":370,"column":41}]},"\/src\/repo\/tests\/phpunit\/Adapter\/Dlocal\/CardPaymentTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/adyen_gateway\/adyen_get_payment_methods.api.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'AdyenGetPaymentMethodsApi' does not match filename 'adyen_get_payment_methods.api.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":6,"column":1}]},"\/src\/repo\/extras\/custom_filters\/filters\/functions\/functions.body.php":{"errors":2,"warnings":1,"messages":[{"message":"Class name 'Gateway_Extras_CustomFilters_Functions' does not match filename 'functions.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":3,"column":1},{"message":"Class name \"Gateway_Extras_CustomFilters_Functions\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":3,"column":7},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":53,"column":29}]},"\/src\/repo\/adyen_gateway\/adyen_checkout_resultswitcher.body.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'AdyenCheckoutGatewayResult' does not match filename 'adyen_checkout_resultswitcher.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":6,"column":1}]},"\/src\/repo\/extras\/custom_filters\/filters\/referrer\/referrer.body.php":{"errors":2,"warnings":0,"messages":[{"message":"Class name 'Gateway_Extras_CustomFilters_Referrer' does not match filename 'referrer.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":3,"column":1},{"message":"Class name \"Gateway_Extras_CustomFilters_Referrer\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":3,"column":7}]},"\/src\/repo\/tests\/phpunit\/BaseIngenicoTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/extras\/custom_filters\/filters\/ip_velocity\/ip_velocity.body.php":{"errors":2,"warnings":1,"messages":[{"message":"Class name 'Gateway_Extras_CustomFilters_IP_Velocity' does not match filename 'ip_velocity.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":5,"column":1},{"message":"Class name \"Gateway_Extras_CustomFilters_IP_Velocity\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":5,"column":7},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":109,"column":66}]},"\/src\/repo\/gateway_forms\/includes\/Subdivisions.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/adyen_gateway\/adyen_checkout_gateway.body.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'AdyenCheckoutGateway' does not match filename 'adyen_checkout_gateway.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":12,"column":1}]},"\/src\/repo\/special\/GatewayChooser.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":151,"column":41}]},"\/src\/repo\/gateway_common\/ResultSwitcher.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/special\/SystemStatus.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/extras\/session_velocity\/session_velocity.body.php":{"errors":2,"warnings":5,"messages":[{"message":"Class name 'Gateway_Extras_SessionVelocityFilter' does not match filename 'session_velocity.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":18,"column":1},{"message":"Class name \"Gateway_Extras_SessionVelocityFilter\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":18,"column":7},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":33,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":34,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":35,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":36,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":37,"column":5}]},"\/src\/repo\/tests\/phpunit\/EmployerSearchApiTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":114,"column":49}]},"\/src\/repo\/tests\/phpunit\/Adapter\/Dlocal\/CashPaymentTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/BaseBraintreeTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Adapter\/PayPal\/PayPalExpressTest.php":{"errors":0,"warnings":6,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":120,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":210,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":355,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":967,"column":45},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1030,"column":45},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1066,"column":45}]},"\/src\/repo\/adyen_gateway\/adyen_submit_payment.api.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'AdyenSubmitPaymentApi' does not match filename 'adyen_submit_payment.api.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":9,"column":1}]},"\/src\/repo\/adyen_gateway\/adyen_gateway.alias.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/DonorLocaleTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/adyen_gateway\/EncryptedCardParameters.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Adapter\/Gravy\/RedirectFormTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/adyen_gateway\/adyen_checkout.adapter.php":{"errors":1,"warnings":1,"messages":[{"message":"Class name 'AdyenCheckoutAdapter' does not match filename 'adyen_checkout.adapter.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":13,"column":1},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":276,"column":25}]},"\/src\/repo\/tests\/phpunit\/Adapter\/Amazon\/AmazonTest.php":{"errors":0,"warnings":5,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":134,"column":63},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":164,"column":63},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":191,"column":63},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":216,"column":63},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":245,"column":63}]},"\/src\/repo\/.phan\/config.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Adapter\/Adyen\/CheckoutIdealTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Adapter\/Gravy\/GravyFormLoadTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/IPVelocityTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":141,"column":64},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":206,"column":64}]},"\/src\/repo\/gravy_gateway\/gravy.adapter.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'GravyAdapter' does not match filename 'gravy.adapter.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":22,"column":1}]},"\/src\/repo\/tests\/phpunit\/Adapter\/GatewayAdapterTest.php":{"errors":1,"warnings":5,"messages":[{"message":"Method name \"TestSetValidationAction\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":537,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":565,"column":39},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":599,"column":39},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":615,"column":61},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":633,"column":39},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":664,"column":39}]},"\/src\/repo\/gravy_gateway\/PlaceholderPhoneNumber.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Adapter\/PayPal\/PayPalApiTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/DonationInterfaceTestCase.php":{"errors":0,"warnings":2,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":175,"column":23},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":681,"column":51}]},"\/src\/repo\/tests\/phpunit\/Adapter\/Adyen\/AdyenSubmitApiTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/special\/EmailPreferences.php":{"errors":0,"warnings":5,"messages":[{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":12,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":13,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":14,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":17,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":19,"column":5}]},"\/src\/repo\/tests\/phpunit\/DonationQueueTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Adapter\/Gravy\/GooglePayTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/FraudFiltersTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/special\/DonorPortal.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":139,"column":28}]},"\/src\/repo\/tests\/phpunit\/LintYaml.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Adapter\/Braintree\/PaypalPaymentTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Adapter\/Braintree\/VenmoPaymentTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/TestConfiguration.php":{"errors":0,"warnings":2,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":160,"column":34},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":161,"column":57}]},"\/src\/repo\/tests\/phpunit\/GatewayChooserTest.php":{"errors":0,"warnings":5,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":234,"column":131},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":235,"column":131},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":236,"column":127},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":512,"column":76},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":545,"column":67}]},"\/src\/repo\/tests\/phpunit\/Adapter\/Ingenico\/IngenicoTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Adapter\/Adyen\/CheckoutCardTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Adapter\/Adyen\/AdyenRecurringTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Adapter\/Adyen\/AdyenGetPaymentMethodsApiTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Adapter\/Ingenico\/IngenicoApiTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Adapter\/Ingenico\/ResultSwitcherTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":59,"column":33}]},"\/src\/repo\/gateway_common\/gateway.adapter.php":{"errors":19,"warnings":24,"messages":[{"message":"Class name 'GatewayAdapter' does not match filename 'gateway.adapter.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":40,"column":10},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":44,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":45,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":184,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":185,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":186,"column":5},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":186,"column":48},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":187,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":188,"column":5},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":226,"column":41},{"message":"Method name \"getData_Staged\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":488,"column":15},{"message":"Method name \"getData_Unstaged_Escaped\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":581,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1099,"column":25},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1482,"column":61},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1503,"column":59},{"message":"Method name \"session_ensure\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2143,"column":12},{"message":"Method name \"session_getData\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2154,"column":12},{"message":"Method name \"session_hasDonorData\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2175,"column":12},{"message":"Method name \"session_setDonorBackupData\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2184,"column":12},{"message":"Method name \"session_unsetDonorData\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2193,"column":12},{"message":"Method name \"session_addDonorData\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2203,"column":12},{"message":"Method name \"session_killAllEverything\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2221,"column":12},{"message":"Method name \"session_unsetAllData\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2233,"column":12},{"message":"Method name \"session_resetForNewAttempt\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2249,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2267,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2272,"column":28},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2280,"column":40},{"message":"Method name \"session_resetOnSwitch\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2315,"column":15},{"message":"Method name \"token_applyMD5AndSalt\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2390,"column":22},{"message":"Method name \"token_generateToken\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2408,"column":19},{"message":"Method name \"token_getSaltedSessionToken\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2413,"column":12},{"message":"Method name \"token_refreshAllTokenEverything\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2435,"column":15},{"message":"Method name \"token_matchEditToken\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2455,"column":15},{"message":"Method name \"token_checkTokens\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2480,"column":15},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2481,"column":31},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2520,"column":64},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2618,"column":106},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2676,"column":39},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2690,"column":59},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2743,"column":45},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2744,"column":39},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2885,"column":27},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2898,"column":27}]},"\/src\/repo\/gateway_common\/IsoDate.php":{"errors":0,"warnings":0,"messages":[]}}}
--- end ---
PHPCS run failed
$ vendor/bin/phpcs --report=json
--- stdout ---
{"totals":{"errors":105,"warnings":161,"fixable":0},"files":{"\/src\/repo\/gateway_common\/LogPrefixProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/braintree_gateway\/braintree_resultswitcher.body.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'BraintreeGatewayResult' does not match filename 'braintree_resultswitcher.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":6,"column":1}]},"\/src\/repo\/braintree_gateway\/braintree_gateway.alias.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/paypal_ec_gateway\/paypal_gateway.alias.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/Simple3DSecure.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/FallbackLogPrefixer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/DonorFullName.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/dlocal_gateway\/dlocal_resultswitcher.body.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'DlocalGatewayResult' does not match filename 'dlocal_resultswitcher.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":6,"column":1}]},"\/src\/repo\/dlocal_gateway\/dlocal_gateway.alias.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/paypal_ec_gateway\/PayPalCountry.php":{"errors":0,"warnings":2,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":7,"column":23},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":8,"column":23}]},"\/src\/repo\/gateway_common\/ReturnUrl.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/paypal_ec_gateway\/paypal_express_resultswitcher.body.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'PaypalExpressGatewayResult' does not match filename 'paypal_express_resultswitcher.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":3,"column":1}]},"\/src\/repo\/DonationInterface.alias.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/DonorLanguage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/ResponseProcessingException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/CurrencyCountryRule.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/paypal_ec_gateway\/PaypalExpressReturnUrl.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/ErrorState.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/paypal_ec_gateway\/paypal_express_gateway.body.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'PaypalExpressGateway' does not match filename 'paypal_express_gateway.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":3,"column":1}]},"\/src\/repo\/gateway_common\/PayPalAmount.php":{"errors":1,"warnings":0,"messages":[{"message":"Method name \"is_fractional_currency\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":11,"column":19}]},"\/src\/repo\/gateway_common\/RecurringConversion.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/DonationLogProcessor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/UnstagingHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/DonationLoggerFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/StagingHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/RecurringConversionTrait.php":{"errors":4,"warnings":0,"messages":[{"message":"Method name \"session_getData\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":13,"column":21},{"message":"Method name \"session_resetForNewAttempt\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":19,"column":21},{"message":"Method name \"session_setDonorBackupData\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":22,"column":21},{"message":"Method name \"session_MoveDonorDataToBackupForRecurringConversion\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":110,"column":12}]},"\/src\/repo\/gateway_common\/DonorLocale.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/DonorPortal\/ActivityTrackingTrait.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/ConfigurationReader.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/dlocal_gateway\/dlocal_gateway.body.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'DlocalGateway' does not match filename 'dlocal_gateway.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":13,"column":1}]},"\/src\/repo\/includes\/FraudFilters\/PreAuthorizeFilter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/extras\/extras.body.php":{"errors":4,"warnings":0,"messages":[{"message":"Class name 'Gateway_Extras' does not match filename 'extras.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":7,"column":10},{"message":"Class name \"Gateway_Extras\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":7,"column":16},{"message":"Method name \"generate_hash\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":59,"column":15},{"message":"Method name \"compare_hash\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":70,"column":15}]},"\/src\/repo\/modules\/CurrencyRatesModule.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/PaymentResult.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiDonationClientError.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/email_forms\/EmailForm.php":{"errors":0,"warnings":1,"messages":[{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":14,"column":5}]},"\/src\/repo\/includes\/FraudFilters\/VelocityFilterRunner.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/ContributionTrackingPlusUnique.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":17,"column":70}]},"\/src\/repo\/email_forms\/RequestNewChecksumLinkTrait.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/amazon_gateway\/amazon.api.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'AmazonBillingApi' does not match filename 'amazon.api.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":3,"column":1}]},"\/src\/repo\/gateway_common\/SmsOptin.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/extras\/conversion_log\/conversion_log.body.php":{"errors":3,"warnings":0,"messages":[{"message":"Class name 'Gateway_Extras_ConversionLog' does not match filename 'conversion_log.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":5,"column":1},{"message":"Class name \"Gateway_Extras_ConversionLog\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":5,"column":7},{"message":"Method name \"post_process\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":14,"column":15}]},"\/src\/repo\/gateway_common\/employerSearch.api.php":{"errors":1,"warnings":3,"messages":[{"message":"Class name 'EmployerSearchAPI' does not match filename 'employerSearch.api.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":16,"column":1},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":31,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":36,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":41,"column":5}]},"\/src\/repo\/includes\/Api\/ApiRequestCancelRecurring.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/FiscalNumber.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/GatewayType.php":{"errors":3,"warnings":0,"messages":[{"message":"Method name \"getData_Unstaged_Escaped\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":92,"column":12},{"message":"Method name \"session_ensure\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":198,"column":12},{"message":"Method name \"token_getSaltedSessionToken\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":240,"column":12}]},"\/src\/repo\/gateway_common\/PostalCodeValidation.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/WmfFramework.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":24,"column":30}]},"\/src\/repo\/includes\/Api\/ApiRequestPauseRecurring.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiRecurUpgradeClientError.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiRequestLogout.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/amazon_gateway\/amazon_gateway.body.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'AmazonGateway' does not match filename 'amazon_gateway.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":20,"column":1}]},"\/src\/repo\/amazon_gateway\/amazon_gateway.alias.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/extras\/FraudFilter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gravy_gateway\/Gravy3DSecure.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gravy_gateway\/gravy_gateway.alias.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/AmountInCents.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/DonationInterface.class.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'DonationInterface' does not match filename 'DonationInterface.class.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":7,"column":1}]},"\/src\/repo\/gateway_common\/ArrayHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/DonationApiBase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/donation.api.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'DonationApi' does not match filename 'donation.api.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":10,"column":1}]},"\/src\/repo\/gateway_common\/ValidationHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/FraudFilters\/GenericVelocityFilter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/DonationInterfaceApiTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/Amount.php":{"errors":2,"warnings":0,"messages":[{"message":"Method name \"is_fractional_currency\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":156,"column":19},{"message":"Method name \"is_exponent3_currency\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":174,"column":19}]},"\/src\/repo\/includes\/DonorPortal\/Hooks.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/BaseAdyenCheckoutTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/TestCrash.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/StreetNumberValidation.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/BaseDlocalTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/RecurUpgrade\/Validator.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/Frictionless3DSecure.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/dlocal_gateway\/dlocal.adapter.php":{"errors":1,"warnings":3,"messages":[{"message":"Class name 'DlocalAdapter' does not match filename 'dlocal.adapter.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":17,"column":1},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":23,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":28,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":33,"column":5}]},"\/src\/repo\/includes\/Api\/ApiRequestNewChecksumLink.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/DonationProfiler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/dlocal_gateway\/dlocal.api.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'DlocalDonationApi' does not match filename 'dlocal.api.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":2,"column":1}]},"\/src\/repo\/tests\/phpunit\/CiviproxyConnectTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/FraudFilters\/GenericPatternFilter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/ArrayHelperTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":104,"column":36}]},"\/src\/repo\/gateway_common\/StreetAddressValidation.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiRequestAnnualConversion.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/BaseGravyTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/PaymentTransactionResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/EmployerFieldValidation.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/ingenico_gateway\/IngenicoLocale.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/ResultPages.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":104,"column":18}]},"\/src\/repo\/tests\/phpunit\/IntegrationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gravy_gateway\/gravy_gateway.body.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'GravyGateway' does not match filename 'gravy_gateway.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":10,"column":1}]},"\/src\/repo\/gateway_common\/RecurringConversion.api.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'RecurringConversionApi' does not match filename 'RecurringConversion.api.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":5,"column":1}]},"\/src\/repo\/tests\/phpunit\/includes\/MinFraudTestTrait.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/Abstract3DSecure.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiRequestUpdateRecurring.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/IngenicoLocaleTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/ingenico_gateway\/ingenico_gateway.body.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'IngenicoGateway' does not match filename 'ingenico_gateway.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":24,"column":1}]},"\/src\/repo\/braintree_gateway\/braintree.adapter.php":{"errors":1,"warnings":6,"messages":[{"message":"Class name 'BraintreeAdapter' does not match filename 'braintree.adapter.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":14,"column":1},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":17,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":18,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":19,"column":5},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":51,"column":78},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":56,"column":55},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":57,"column":74}]},"\/src\/repo\/includes\/FraudFilters\/PatternFilterRunner.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/DonationMessageTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiRecurringModifyBase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/ingenico_gateway\/IngenicoFormVariant.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/braintree_gateway\/braintree.api.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'BraintreeDonationApi' does not match filename 'braintree.api.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":2,"column":1}]},"\/src\/repo\/extras\/custom_filters\/custom_filters.body.php":{"errors":2,"warnings":3,"messages":[{"message":"Class name 'Gateway_Extras_CustomFilters' does not match filename 'custom_filters.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":9,"column":1},{"message":"Class name \"Gateway_Extras_CustomFilters\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":9,"column":7},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":12,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":15,"column":5},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":48,"column":50}]},"\/src\/repo\/tests\/phpunit\/includes\/test_gateway\/TestingGenericAdapter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/paypal_ec_gateway\/paypal_express.adapter.php":{"errors":1,"warnings":3,"messages":[{"message":"Class name 'PaypalExpressAdapter' does not match filename 'paypal_express.adapter.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":24,"column":1},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":25,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":26,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":27,"column":5}]},"\/src\/repo\/gateway_common\/LocalClusterPsr6Cache.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/includes\/TestingGatewayPage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_forms\/MustacheHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/ingenico_gateway\/Ingenico3DSecure.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/includes\/test_request\/test.request.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'TestingRequest' does not match filename 'test.request.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":27,"column":1}]},"\/src\/repo\/gateway_common\/DataValidator.php":{"errors":13,"warnings":1,"messages":[{"message":"Method name \"validate_email\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":238,"column":22},{"message":"Method name \"validate_currency_code\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":244,"column":22},{"message":"Method name \"validate_boolean\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":258,"column":22},{"message":"Method name \"validate_numeric\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":278,"column":22},{"message":"Method name \"validate_gateway\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":293,"column":22},{"message":"Method name \"validate_not_empty\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":307,"column":22},{"message":"Method name \"validate_not_just_punctuation\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":319,"column":19},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":320,"column":48},{"message":"Method name \"validate_name\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":335,"column":19},{"message":"Method name \"validate_address\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":345,"column":19},{"message":"Method name \"special_characters_in_wrong_locations\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":363,"column":19},{"message":"Method name \"cc_number_exists_in_str\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":386,"column":19},{"message":"Method name \"luhn_check\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":449,"column":19},{"message":"Method name \"ip_is_listed\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":504,"column":19}]},"\/src\/repo\/gateway_common\/ClientSideValidationHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/ingenico_gateway\/ingenico.adapter.php":{"errors":1,"warnings":3,"messages":[{"message":"Class name 'IngenicoAdapter' does not match filename 'ingenico.adapter.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":16,"column":1},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":19,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":20,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":21,"column":5}]},"\/src\/repo\/tests\/phpunit\/Adapter\/Ingenico\/RealTimeBankTransferIdealTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/includes\/TestingDonationLogger.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/special\/PaymentSettings.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gravy_gateway\/gravy_resultswitcher.body.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'GravyGatewayResult' does not match filename 'gravy_resultswitcher.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":6,"column":1}]},"\/src\/repo\/ingenico_gateway\/IngenicoReturnUrlHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/ingenico_gateway\/ingenico_resultswitcher.body.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'IngenicoGatewayResult' does not match filename 'ingenico_resultswitcher.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":3,"column":1}]},"\/src\/repo\/special\/RecurUpgrade.php":{"errors":0,"warnings":5,"messages":[{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":15,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":16,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":17,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":19,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":22,"column":5}]},"\/src\/repo\/gravy_gateway\/gravy.api.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'GravyDonationApi' does not match filename 'gravy.api.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":2,"column":1}]},"\/src\/repo\/extras\/custom_filters\/filters\/source\/source.body.php":{"errors":2,"warnings":0,"messages":[{"message":"Class name 'Gateway_Extras_CustomFilters_Source' does not match filename 'source.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":3,"column":1},{"message":"Class name \"Gateway_Extras_CustomFilters_Source\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":3,"column":7}]},"\/src\/repo\/adyen_gateway\/adyen.api.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'AdyenDonationApi' does not match filename 'adyen.api.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":2,"column":1}]},"\/src\/repo\/ingenico_gateway\/ingenico_gateway.alias.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/PaymentMethod.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/EndowmentHooks.php":{"errors":0,"warnings":1,"messages":[{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":7,"column":5}]},"\/src\/repo\/includes\/Api\/ApiClientErrorBase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/special\/FundraiserMaintenance.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_forms\/MustacheErrorForm.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/adyen_gateway\/BlankAddressFields.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/braintree_gateway\/braintree_gateway.body.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'BraintreeGateway' does not match filename 'braintree_gateway.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":11,"column":1}]},"\/src\/repo\/tests\/phpunit\/GatewayPageTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/extras\/custom_filters\/filters\/minfraud\/minfraud.body.php":{"errors":2,"warnings":3,"messages":[{"message":"Class name 'Gateway_Extras_CustomFilters_MinFraud' does not match filename 'minfraud.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":44,"column":1},{"message":"Class name \"Gateway_Extras_CustomFilters_MinFraud\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":44,"column":7},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":272,"column":47},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":280,"column":16},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":288,"column":50}]},"\/src\/repo\/adyen_gateway\/adyen_apple.api.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'AdyenAppleApi' does not match filename 'adyen_apple.api.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":8,"column":1}]},"\/src\/repo\/gravy_gateway\/gravy_apple.api.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'GravyAppleApi' does not match filename 'gravy_apple.api.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":8,"column":1}]},"\/src\/repo\/tests\/phpunit\/DataValidatorTest.php":{"errors":0,"warnings":7,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":102,"column":34},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":103,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":104,"column":39},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":106,"column":47},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":107,"column":51},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":118,"column":46},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":124,"column":33}]},"\/src\/repo\/tests\/phpunit\/includes\/test_gateway\/TestingPaypalExpressAdapter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/extras\/civiproxy\/CiviproxyConnect.php":{"errors":0,"warnings":2,"messages":[{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":10,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":11,"column":5}]},"\/src\/repo\/tests\/phpunit\/Adapter\/Adyen\/AdyenFormLoadTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Adapter\/Ingenico\/RecurringTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/BaseIngenicoTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/extras\/custom_filters\/filters\/functions\/functions.body.php":{"errors":2,"warnings":1,"messages":[{"message":"Class name 'Gateway_Extras_CustomFilters_Functions' does not match filename 'functions.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":3,"column":1},{"message":"Class name \"Gateway_Extras_CustomFilters_Functions\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":3,"column":7},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":53,"column":29}]},"\/src\/repo\/tests\/phpunit\/includes\/test_gateway\/test.adapter.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'TTestingAdapter' does not match filename 'test.adapter.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":20,"column":1}]},"\/src\/repo\/tests\/phpunit\/Adapter\/Gravy\/PaypalTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/GatewayValidationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/includes\/test_gateway\/TestingDlocalAdapter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/MustacheFormTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Validation\/AmountHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/adyen_gateway\/adyen_get_payment_methods.api.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'AdyenGetPaymentMethodsApi' does not match filename 'adyen_get_payment_methods.api.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":6,"column":1}]},"\/src\/repo\/gateway_forms\/includes\/Subdivisions.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/ResultSwitcher.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/adyen_gateway\/adyen_checkout_resultswitcher.body.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'AdyenCheckoutGatewayResult' does not match filename 'adyen_checkout_resultswitcher.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":6,"column":1}]},"\/src\/repo\/extras\/custom_filters\/filters\/referrer\/referrer.body.php":{"errors":2,"warnings":0,"messages":[{"message":"Class name 'Gateway_Extras_CustomFilters_Referrer' does not match filename 'referrer.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":3,"column":1},{"message":"Class name \"Gateway_Extras_CustomFilters_Referrer\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":3,"column":7}]},"\/src\/repo\/tests\/phpunit\/LoggingTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/CountryValidation.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Adapter\/Amazon\/AmazonApiTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/EmailPreferencesTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/amazon_gateway\/amazon.adapter.php":{"errors":1,"warnings":8,"messages":[{"message":"Class name 'AmazonAdapter' does not match filename 'amazon.adapter.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":34,"column":1},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":36,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":37,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":38,"column":5},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":227,"column":73},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":312,"column":36},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":314,"column":41},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":366,"column":36},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":370,"column":41}]},"\/src\/repo\/special\/GatewayChooser.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":151,"column":41}]},"\/src\/repo\/adyen_gateway\/adyen_checkout_gateway.body.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'AdyenCheckoutGateway' does not match filename 'adyen_checkout_gateway.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":12,"column":1}]},"\/src\/repo\/gateway_common\/GatewayPage.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":374,"column":18}]},"\/src\/repo\/tests\/phpunit\/AmountTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/special\/SystemStatus.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/PlaceholderFiscalNumber.php":{"errors":0,"warnings":2,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":13,"column":31},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":14,"column":31}]},"\/src\/repo\/gateway_common\/messages\/MessagesEs_419.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Adapter\/Gravy\/SecureFieldsCardTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/extras\/session_velocity\/session_velocity.body.php":{"errors":2,"warnings":5,"messages":[{"message":"Class name 'Gateway_Extras_SessionVelocityFilter' does not match filename 'session_velocity.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":18,"column":1},{"message":"Class name \"Gateway_Extras_SessionVelocityFilter\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":18,"column":7},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":33,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":34,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":35,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":36,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":37,"column":5}]},"\/src\/repo\/gateway_forms\/Mustache.php":{"errors":2,"warnings":1,"messages":[{"message":"Class name 'Gateway_Form_Mustache' does not match filename 'Mustache.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":12,"column":1},{"message":"Class name \"Gateway_Form_Mustache\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":12,"column":7},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":14,"column":5}]},"\/src\/repo\/extras\/custom_filters\/filters\/ip_velocity\/ip_velocity.body.php":{"errors":2,"warnings":1,"messages":[{"message":"Class name 'Gateway_Extras_CustomFilters_IP_Velocity' does not match filename 'ip_velocity.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":5,"column":1},{"message":"Class name \"Gateway_Extras_CustomFilters_IP_Velocity\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":5,"column":7},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":109,"column":66}]},"\/src\/repo\/gateway_common\/StreetAddress.php":{"errors":2,"warnings":2,"messages":[{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":6,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":7,"column":5},{"message":"Method name \"stage_street\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":26,"column":15},{"message":"Method name \"stage_postal_code\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":48,"column":15}]},"\/src\/repo\/gateway_forms\/Form.php":{"errors":2,"warnings":0,"messages":[{"message":"Class name 'Gateway_Form' does not match filename 'Form.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":5,"column":10},{"message":"Class name \"Gateway_Form\" is not in PascalCase format","source":"Squiz.Classes.ValidClassName.NotCamelCaps","severity":5,"fixable":false,"type":"ERROR","line":5,"column":16}]},"\/src\/repo\/tests\/phpunit\/Adapter\/Dlocal\/CardPaymentTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/RecurUpgrade\/ValidatorTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/adyen_gateway\/adyen_submit_payment.api.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'AdyenSubmitPaymentApi' does not match filename 'adyen_submit_payment.api.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":9,"column":1}]},"\/src\/repo\/adyen_gateway\/adyen_gateway.alias.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Adapter\/Gravy\/ApplePayTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/adyen_gateway\/EncryptedCardParameters.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gravy_gateway\/gravy.adapter.php":{"errors":1,"warnings":0,"messages":[{"message":"Class name 'GravyAdapter' does not match filename 'gravy.adapter.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":22,"column":1}]},"\/src\/repo\/gravy_gateway\/PlaceholderPhoneNumber.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Adapter\/Adyen\/CheckoutIdealTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/adyen_gateway\/adyen_checkout.adapter.php":{"errors":1,"warnings":1,"messages":[{"message":"Class name 'AdyenCheckoutAdapter' does not match filename 'adyen_checkout.adapter.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":13,"column":1},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":276,"column":25}]},"\/src\/repo\/tests\/phpunit\/Adapter\/Gravy\/GravyFormLoadTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/.phan\/config.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/DonationData.php":{"errors":0,"warnings":21,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":59,"column":30},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":68,"column":24},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":69,"column":24},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":72,"column":24},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":73,"column":25},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":78,"column":24},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":83,"column":24},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":102,"column":31},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":106,"column":25},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":121,"column":29},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":124,"column":26},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":125,"column":25},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":130,"column":26},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":133,"column":29},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":138,"column":22},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":366,"column":41},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":394,"column":72},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":399,"column":50},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":405,"column":34},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":406,"column":39},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":583,"column":28}]},"\/src\/repo\/gateway_common\/MediaWikiLogHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/DonorEmail.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/EmployerSearchApiTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":114,"column":49}]},"\/src\/repo\/tests\/phpunit\/Adapter\/GatewayAdapterTest.php":{"errors":1,"warnings":5,"messages":[{"message":"Method name \"TestSetValidationAction\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":537,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":565,"column":39},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":599,"column":39},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":615,"column":61},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":633,"column":39},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":664,"column":39}]},"\/src\/repo\/tests\/phpunit\/Adapter\/Dlocal\/CashPaymentTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Adapter\/Amazon\/AmazonTest.php":{"errors":0,"warnings":5,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":134,"column":63},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":164,"column":63},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":191,"column":63},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":216,"column":63},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":245,"column":63}]},"\/src\/repo\/special\/EmailPreferences.php":{"errors":0,"warnings":5,"messages":[{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":12,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":13,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":14,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":17,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":19,"column":5}]},"\/src\/repo\/tests\/phpunit\/BaseBraintreeTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/MessageUtils.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Adapter\/Adyen\/AdyenSubmitApiTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Adapter\/Gravy\/GooglePayTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/DonorLocaleTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/FraudFiltersTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/LintYaml.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/IPVelocityTest.php":{"errors":0,"warnings":2,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":141,"column":64},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":206,"column":64}]},"\/src\/repo\/tests\/phpunit\/Adapter\/Gravy\/RedirectFormTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/TestConfiguration.php":{"errors":0,"warnings":2,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":160,"column":34},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":161,"column":57}]},"\/src\/repo\/special\/DonorPortal.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":139,"column":28}]},"\/src\/repo\/tests\/phpunit\/DonationDataTest.php":{"errors":0,"warnings":11,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":85,"column":91},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":145,"column":59},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":193,"column":91},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":240,"column":102},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":260,"column":98},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":269,"column":98},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":279,"column":98},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":289,"column":98},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":300,"column":98},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":328,"column":98},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":341,"column":98}]},"\/src\/repo\/tests\/phpunit\/DonationInterfaceTestCase.php":{"errors":0,"warnings":2,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":175,"column":23},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":681,"column":51}]},"\/src\/repo\/tests\/phpunit\/Adapter\/PayPal\/PayPalExpressTest.php":{"errors":0,"warnings":6,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":120,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":210,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":355,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":967,"column":45},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1030,"column":45},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1066,"column":45}]},"\/src\/repo\/tests\/phpunit\/DonationQueueTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/GatewayChooserTest.php":{"errors":0,"warnings":5,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":234,"column":131},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":235,"column":131},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":236,"column":127},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":512,"column":76},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":545,"column":67}]},"\/src\/repo\/tests\/phpunit\/Adapter\/Adyen\/CheckoutCardTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Adapter\/Adyen\/AdyenRecurringTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Adapter\/Ingenico\/IngenicoTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Adapter\/PayPal\/PayPalApiTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Adapter\/Adyen\/AdyenGetPaymentMethodsApiTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Adapter\/Braintree\/PaypalPaymentTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Adapter\/Ingenico\/IngenicoApiTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Adapter\/Braintree\/VenmoPaymentTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Adapter\/Ingenico\/ResultSwitcherTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":59,"column":33}]},"\/src\/repo\/gateway_common\/gateway.adapter.php":{"errors":19,"warnings":24,"messages":[{"message":"Class name 'GatewayAdapter' does not match filename 'gateway.adapter.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":40,"column":10},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":44,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":45,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":184,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":185,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":186,"column":5},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":186,"column":48},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":187,"column":5},{"message":"Visibility must be declared on all constants if your project supports PHP 7.1 or later","source":"PSR12.Properties.ConstantVisibility.NotFound","severity":5,"fixable":false,"type":"WARNING","line":188,"column":5},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":226,"column":41},{"message":"Method name \"getData_Staged\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":488,"column":15},{"message":"Method name \"getData_Unstaged_Escaped\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":581,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1099,"column":25},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1482,"column":61},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1503,"column":59},{"message":"Method name \"session_ensure\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2143,"column":12},{"message":"Method name \"session_getData\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2154,"column":12},{"message":"Method name \"session_hasDonorData\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2175,"column":12},{"message":"Method name \"session_setDonorBackupData\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2184,"column":12},{"message":"Method name \"session_unsetDonorData\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2193,"column":12},{"message":"Method name \"session_addDonorData\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2203,"column":12},{"message":"Method name \"session_killAllEverything\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2221,"column":12},{"message":"Method name \"session_unsetAllData\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2233,"column":12},{"message":"Method name \"session_resetForNewAttempt\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2249,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2267,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2272,"column":28},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2280,"column":40},{"message":"Method name \"session_resetOnSwitch\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2315,"column":15},{"message":"Method name \"token_applyMD5AndSalt\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2390,"column":22},{"message":"Method name \"token_generateToken\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2408,"column":19},{"message":"Method name \"token_getSaltedSessionToken\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2413,"column":12},{"message":"Method name \"token_refreshAllTokenEverything\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2435,"column":15},{"message":"Method name \"token_matchEditToken\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2455,"column":15},{"message":"Method name \"token_checkTokens\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2480,"column":15},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2481,"column":31},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2520,"column":64},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2618,"column":106},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2676,"column":39},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2690,"column":59},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2743,"column":45},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2744,"column":39},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2885,"column":27},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2898,"column":27}]},"\/src\/repo\/gateway_common\/IsoDate.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 optimized autoload files
32 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 -p -s --cache
> php tests/phpunit/LintYaml.php
> minus-x check .
--- stdout ---
PHP 8.4.18 | 10 parallel jobs
............................................................ 60/216 ( 27%)
............................................................ 120/216 ( 55%)
............................................................ 180/216 ( 83%)
.................................... 216/216 (100%)
Checked 216 files in 0.7 seconds
No syntax error found
...................................................... 54 / 54 (100%)
Time: 439ms; Memory: 18MB
MinusX
======
Processing /src/repo...
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
.............................................................
..........................................................
All good!
--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
"auditReportVersion": 2,
"vulnerabilities": {
"@tootallnate/once": {
"name": "@tootallnate/once",
"severity": "low",
"isDirect": false,
"via": [
{
"source": 1113977,
"name": "@tootallnate/once",
"dependency": "@tootallnate/once",
"title": "@tootallnate/once vulnerable to Incorrect Control Flow Scoping",
"url": "https://github.com/advisories/GHSA-vpq2-c234-7xj6",
"severity": "low",
"cwe": [
"CWE-705"
],
"cvss": {
"score": 3.3,
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L"
},
"range": "<3.0.1"
}
],
"effects": [
"http-proxy-agent"
],
"range": "<3.0.1",
"nodes": [
"node_modules/@tootallnate/once"
],
"fixAvailable": {
"name": "jest-environment-jsdom",
"version": "30.2.0",
"isSemVerMajor": true
}
},
"babel-core": {
"name": "babel-core",
"severity": "critical",
"isDirect": true,
"via": [
"babel-helpers",
"babel-register",
"babel-template",
"babel-traverse",
"json5"
],
"effects": [
"babel-register"
],
"range": "5.8.20 - 7.0.0-beta.3",
"nodes": [
"node_modules/babel-core"
],
"fixAvailable": {
"name": "babel-core",
"version": "4.7.16",
"isSemVerMajor": true
}
},
"babel-helpers": {
"name": "babel-helpers",
"severity": "critical",
"isDirect": false,
"via": [
"babel-template"
],
"effects": [],
"range": "*",
"nodes": [
"node_modules/babel-helpers"
],
"fixAvailable": true
},
"babel-register": {
"name": "babel-register",
"severity": "high",
"isDirect": false,
"via": [
"babel-core"
],
"effects": [
"babel-core"
],
"range": "*",
"nodes": [
"node_modules/babel-register"
],
"fixAvailable": {
"name": "babel-core",
"version": "4.7.16",
"isSemVerMajor": true
}
},
"babel-template": {
"name": "babel-template",
"severity": "critical",
"isDirect": false,
"via": [
"babel-traverse"
],
"effects": [
"babel-helpers"
],
"range": "*",
"nodes": [
"node_modules/babel-template"
],
"fixAvailable": true
},
"babel-traverse": {
"name": "babel-traverse",
"severity": "critical",
"isDirect": false,
"via": [
{
"source": 1096879,
"name": "babel-traverse",
"dependency": "babel-traverse",
"title": "Babel vulnerable to arbitrary code execution when compiling specifically crafted malicious code",
"url": "https://github.com/advisories/GHSA-67hx-6x53-jw92",
"severity": "critical",
"cwe": [
"CWE-184",
"CWE-697"
],
"cvss": {
"score": 9.4,
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H"
},
"range": "<7.23.2"
}
],
"effects": [
"babel-core",
"babel-template"
],
"range": "*",
"nodes": [
"node_modules/babel-traverse"
],
"fixAvailable": {
"name": "babel-core",
"version": "4.7.16",
"isSemVerMajor": true
}
},
"editorconfig": {
"name": "editorconfig",
"severity": "high",
"isDirect": false,
"via": [
"minimatch"
],
"effects": [],
"range": "1.0.3 - 1.0.4 || 2.0.0",
"nodes": [
"node_modules/editorconfig"
],
"fixAvailable": 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-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
}
},
"http-proxy-agent": {
"name": "http-proxy-agent",
"severity": "low",
"isDirect": false,
"via": [
"@tootallnate/once"
],
"effects": [
"jsdom"
],
"range": "4.0.1 - 5.0.0",
"nodes": [
"node_modules/http-proxy-agent"
],
"fixAvailable": {
"name": "jest-environment-jsdom",
"version": "30.2.0",
"isSemVerMajor": true
}
},
"jest-environment-jsdom": {
"name": "jest-environment-jsdom",
"severity": "low",
"isDirect": true,
"via": [
"jsdom"
],
"effects": [],
"range": "27.0.1 - 30.0.0-rc.1",
"nodes": [
"node_modules/jest-environment-jsdom"
],
"fixAvailable": {
"name": "jest-environment-jsdom",
"version": "30.2.0",
"isSemVerMajor": true
}
},
"jsdom": {
"name": "jsdom",
"severity": "low",
"isDirect": false,
"via": [
"http-proxy-agent"
],
"effects": [
"jest-environment-jsdom"
],
"range": "16.6.0 - 22.1.0",
"nodes": [
"node_modules/jsdom"
],
"fixAvailable": {
"name": "jest-environment-jsdom",
"version": "30.2.0",
"isSemVerMajor": true
}
},
"json5": {
"name": "json5",
"severity": "high",
"isDirect": false,
"via": [
{
"source": 1096543,
"name": "json5",
"dependency": "json5",
"title": "Prototype Pollution in JSON5 via Parse Method",
"url": "https://github.com/advisories/GHSA-9c47-m6qq-7p4h",
"severity": "high",
"cwe": [
"CWE-1321"
],
"cvss": {
"score": 7.1,
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:H"
},
"range": "<1.0.2"
}
],
"effects": [
"babel-core"
],
"range": "<1.0.2",
"nodes": [
"node_modules/babel-core/node_modules/json5"
],
"fixAvailable": {
"name": "babel-core",
"version": "4.7.16",
"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": [
"editorconfig",
"grunt"
],
"range": "<=3.1.3 || 9.0.0 - 9.0.6",
"nodes": [
"node_modules/@stylistic/eslint-plugin/node_modules/minimatch",
"node_modules/editorconfig/node_modules/minimatch",
"node_modules/eslint-config-wikimedia/node_modules/minimatch",
"node_modules/grunt/node_modules/minimatch",
"node_modules/js-beautify/node_modules/minimatch",
"node_modules/minimatch"
],
"fixAvailable": {
"name": "grunt",
"version": "0.3.17",
"isSemVerMajor": true
}
}
},
"metadata": {
"vulnerabilities": {
"info": 0,
"low": 4,
"moderate": 0,
"high": 6,
"critical": 4,
"total": 14
},
"dependencies": {
"prod": 1,
"dev": 1122,
"optional": 3,
"peer": 2,
"peerOptional": 0,
"total": 1122
}
}
}
--- 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
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex@2.4.0',
npm WARN EBADENGINE required: { node: '>=20.19.1', npm: '>=10.8.2' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex-icons@2.4.0',
npm WARN EBADENGINE required: { node: '>=20.19.1', npm: '>=10.8.2' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
--- stdout ---
{
"added": 1,
"removed": 0,
"changed": 6,
"audited": 1123,
"funding": 165,
"audit": {
"auditReportVersion": 2,
"vulnerabilities": {
"@tootallnate/once": {
"name": "@tootallnate/once",
"severity": "low",
"isDirect": false,
"via": [
{
"source": 1113977,
"name": "@tootallnate/once",
"dependency": "@tootallnate/once",
"title": "@tootallnate/once vulnerable to Incorrect Control Flow Scoping",
"url": "https://github.com/advisories/GHSA-vpq2-c234-7xj6",
"severity": "low",
"cwe": [
"CWE-705"
],
"cvss": {
"score": 3.3,
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L"
},
"range": "<3.0.1"
}
],
"effects": [
"http-proxy-agent"
],
"range": "<3.0.1",
"nodes": [
"node_modules/@tootallnate/once"
],
"fixAvailable": {
"name": "jest-environment-jsdom",
"version": "30.2.0",
"isSemVerMajor": true
}
},
"babel-core": {
"name": "babel-core",
"severity": "critical",
"isDirect": true,
"via": [
"babel-helpers",
"babel-register",
"babel-template",
"babel-traverse",
"json5"
],
"effects": [
"babel-register"
],
"range": "5.8.20 - 7.0.0-beta.3",
"nodes": [
"node_modules/babel-core"
],
"fixAvailable": {
"name": "babel-core",
"version": "4.7.16",
"isSemVerMajor": true
}
},
"babel-helpers": {
"name": "babel-helpers",
"severity": "critical",
"isDirect": false,
"via": [
"babel-template"
],
"effects": [],
"range": "*",
"nodes": [
"node_modules/babel-helpers"
],
"fixAvailable": true
},
"babel-register": {
"name": "babel-register",
"severity": "high",
"isDirect": false,
"via": [
"babel-core"
],
"effects": [
"babel-core"
],
"range": "*",
"nodes": [
"node_modules/babel-register"
],
"fixAvailable": {
"name": "babel-core",
"version": "4.7.16",
"isSemVerMajor": true
}
},
"babel-template": {
"name": "babel-template",
"severity": "critical",
"isDirect": false,
"via": [
"babel-traverse"
],
"effects": [
"babel-helpers"
],
"range": "*",
"nodes": [
"node_modules/babel-template"
],
"fixAvailable": true
},
"babel-traverse": {
"name": "babel-traverse",
"severity": "critical",
"isDirect": false,
"via": [
{
"source": 1096879,
"name": "babel-traverse",
"dependency": "babel-traverse",
"title": "Babel vulnerable to arbitrary code execution when compiling specifically crafted malicious code",
"url": "https://github.com/advisories/GHSA-67hx-6x53-jw92",
"severity": "critical",
"cwe": [
"CWE-184",
"CWE-697"
],
"cvss": {
"score": 9.4,
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H"
},
"range": "<7.23.2"
}
],
"effects": [
"babel-core",
"babel-template"
],
"range": "*",
"nodes": [
"node_modules/babel-traverse"
],
"fixAvailable": {
"name": "babel-core",
"version": "4.7.16",
"isSemVerMajor": true
}
},
"editorconfig": {
"name": "editorconfig",
"severity": "high",
"isDirect": false,
"via": [
"minimatch"
],
"effects": [],
"range": "1.0.3 - 1.0.4 || 2.0.0",
"nodes": [
""
],
"fixAvailable": 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-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
}
},
"http-proxy-agent": {
"name": "http-proxy-agent",
"severity": "low",
"isDirect": false,
"via": [
"@tootallnate/once"
],
"effects": [
"jsdom"
],
"range": "4.0.1 - 5.0.0",
"nodes": [
"node_modules/http-proxy-agent"
],
"fixAvailable": {
"name": "jest-environment-jsdom",
"version": "30.2.0",
"isSemVerMajor": true
}
},
"jest-environment-jsdom": {
"name": "jest-environment-jsdom",
"severity": "low",
"isDirect": true,
"via": [
"jsdom"
],
"effects": [],
"range": "27.0.1 - 30.0.0-rc.1",
"nodes": [
"node_modules/jest-environment-jsdom"
],
"fixAvailable": {
"name": "jest-environment-jsdom",
"version": "30.2.0",
"isSemVerMajor": true
}
},
"jsdom": {
"name": "jsdom",
"severity": "low",
"isDirect": false,
"via": [
"http-proxy-agent"
],
"effects": [
"jest-environment-jsdom"
],
"range": "16.6.0 - 22.1.0",
"nodes": [
"node_modules/jsdom"
],
"fixAvailable": {
"name": "jest-environment-jsdom",
"version": "30.2.0",
"isSemVerMajor": true
}
},
"json5": {
"name": "json5",
"severity": "high",
"isDirect": false,
"via": [
{
"source": 1096543,
"name": "json5",
"dependency": "json5",
"title": "Prototype Pollution in JSON5 via Parse Method",
"url": "https://github.com/advisories/GHSA-9c47-m6qq-7p4h",
"severity": "high",
"cwe": [
"CWE-1321"
],
"cvss": {
"score": 7.1,
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:H"
},
"range": "<1.0.2"
}
],
"effects": [
"babel-core"
],
"range": "<1.0.2",
"nodes": [
"node_modules/babel-core/node_modules/json5"
],
"fixAvailable": {
"name": "babel-core",
"version": "4.7.16",
"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": [
"editorconfig",
"grunt"
],
"range": "<=3.1.3 || 9.0.0 - 9.0.6",
"nodes": [
"",
"",
"",
"",
"",
"node_modules/grunt/node_modules/minimatch"
],
"fixAvailable": {
"name": "grunt",
"version": "0.3.17",
"isSemVerMajor": true
}
}
},
"metadata": {
"vulnerabilities": {
"info": 0,
"low": 4,
"moderate": 0,
"high": 6,
"critical": 4,
"total": 14
},
"dependencies": {
"prod": 1,
"dev": 1122,
"optional": 3,
"peer": 2,
"peerOptional": 0,
"total": 1122
}
}
}
}
--- end ---
{"added": 1, "removed": 0, "changed": 6, "audited": 1123, "funding": 165, "audit": {"auditReportVersion": 2, "vulnerabilities": {"@tootallnate/once": {"name": "@tootallnate/once", "severity": "low", "isDirect": false, "via": [{"source": 1113977, "name": "@tootallnate/once", "dependency": "@tootallnate/once", "title": "@tootallnate/once vulnerable to Incorrect Control Flow Scoping", "url": "https://github.com/advisories/GHSA-vpq2-c234-7xj6", "severity": "low", "cwe": ["CWE-705"], "cvss": {"score": 3.3, "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L"}, "range": "<3.0.1"}], "effects": ["http-proxy-agent"], "range": "<3.0.1", "nodes": ["node_modules/@tootallnate/once"], "fixAvailable": {"name": "jest-environment-jsdom", "version": "30.2.0", "isSemVerMajor": true}}, "babel-core": {"name": "babel-core", "severity": "critical", "isDirect": true, "via": ["babel-helpers", "babel-register", "babel-template", "babel-traverse", "json5"], "effects": ["babel-register"], "range": "5.8.20 - 7.0.0-beta.3", "nodes": ["node_modules/babel-core"], "fixAvailable": {"name": "babel-core", "version": "4.7.16", "isSemVerMajor": true}}, "babel-helpers": {"name": "babel-helpers", "severity": "critical", "isDirect": false, "via": ["babel-template"], "effects": [], "range": "*", "nodes": ["node_modules/babel-helpers"], "fixAvailable": true}, "babel-register": {"name": "babel-register", "severity": "high", "isDirect": false, "via": ["babel-core"], "effects": ["babel-core"], "range": "*", "nodes": ["node_modules/babel-register"], "fixAvailable": {"name": "babel-core", "version": "4.7.16", "isSemVerMajor": true}}, "babel-template": {"name": "babel-template", "severity": "critical", "isDirect": false, "via": ["babel-traverse"], "effects": ["babel-helpers"], "range": "*", "nodes": ["node_modules/babel-template"], "fixAvailable": true}, "babel-traverse": {"name": "babel-traverse", "severity": "critical", "isDirect": false, "via": [{"source": 1096879, "name": "babel-traverse", "dependency": "babel-traverse", "title": "Babel vulnerable to arbitrary code execution when compiling specifically crafted malicious code", "url": "https://github.com/advisories/GHSA-67hx-6x53-jw92", "severity": "critical", "cwe": ["CWE-184", "CWE-697"], "cvss": {"score": 9.4, "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H"}, "range": "<7.23.2"}], "effects": ["babel-core", "babel-template"], "range": "*", "nodes": ["node_modules/babel-traverse"], "fixAvailable": {"name": "babel-core", "version": "4.7.16", "isSemVerMajor": true}}, "editorconfig": {"name": "editorconfig", "severity": "high", "isDirect": false, "via": ["minimatch"], "effects": [], "range": "1.0.3 - 1.0.4 || 2.0.0", "nodes": [""], "fixAvailable": 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-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}}, "http-proxy-agent": {"name": "http-proxy-agent", "severity": "low", "isDirect": false, "via": ["@tootallnate/once"], "effects": ["jsdom"], "range": "4.0.1 - 5.0.0", "nodes": ["node_modules/http-proxy-agent"], "fixAvailable": {"name": "jest-environment-jsdom", "version": "30.2.0", "isSemVerMajor": true}}, "jest-environment-jsdom": {"name": "jest-environment-jsdom", "severity": "low", "isDirect": true, "via": ["jsdom"], "effects": [], "range": "27.0.1 - 30.0.0-rc.1", "nodes": ["node_modules/jest-environment-jsdom"], "fixAvailable": {"name": "jest-environment-jsdom", "version": "30.2.0", "isSemVerMajor": true}}, "jsdom": {"name": "jsdom", "severity": "low", "isDirect": false, "via": ["http-proxy-agent"], "effects": ["jest-environment-jsdom"], "range": "16.6.0 - 22.1.0", "nodes": ["node_modules/jsdom"], "fixAvailable": {"name": "jest-environment-jsdom", "version": "30.2.0", "isSemVerMajor": true}}, "json5": {"name": "json5", "severity": "high", "isDirect": false, "via": [{"source": 1096543, "name": "json5", "dependency": "json5", "title": "Prototype Pollution in JSON5 via Parse Method", "url": "https://github.com/advisories/GHSA-9c47-m6qq-7p4h", "severity": "high", "cwe": ["CWE-1321"], "cvss": {"score": 7.1, "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:H"}, "range": "<1.0.2"}], "effects": ["babel-core"], "range": "<1.0.2", "nodes": ["node_modules/babel-core/node_modules/json5"], "fixAvailable": {"name": "babel-core", "version": "4.7.16", "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": ["editorconfig", "grunt"], "range": "<=3.1.3 || 9.0.0 - 9.0.6", "nodes": ["", "", "", "", "", "node_modules/grunt/node_modules/minimatch"], "fixAvailable": {"name": "grunt", "version": "0.3.17", "isSemVerMajor": true}}}, "metadata": {"vulnerabilities": {"info": 0, "low": 4, "moderate": 0, "high": 6, "critical": 4, "total": 14}, "dependencies": {"prod": 1, "dev": 1122, "optional": 3, "peer": 2, "peerOptional": 0, "total": 1122}}}}
$ /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 EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex@2.4.0',
npm WARN EBADENGINE required: { node: '>=20.19.1', npm: '>=10.8.2' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex-icons@2.4.0',
npm WARN EBADENGINE required: { node: '>=20.19.1', npm: '>=10.8.2' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
--- stdout ---
changed 6 packages, and audited 1122 packages in 5s
165 packages are looking for funding
run `npm fund` for details
# npm audit report
@tootallnate/once <3.0.1
@tootallnate/once vulnerable to Incorrect Control Flow Scoping - https://github.com/advisories/GHSA-vpq2-c234-7xj6
fix available via `npm audit fix --force`
Will install jest-environment-jsdom@30.2.0, which is a breaking change
node_modules/@tootallnate/once
http-proxy-agent 4.0.1 - 5.0.0
Depends on vulnerable versions of @tootallnate/once
node_modules/http-proxy-agent
jsdom 16.6.0 - 22.1.0
Depends on vulnerable versions of http-proxy-agent
node_modules/jsdom
jest-environment-jsdom 27.0.1 - 30.0.0-rc.1
Depends on vulnerable versions of jsdom
node_modules/jest-environment-jsdom
babel-traverse *
Severity: critical
Babel vulnerable to arbitrary code execution when compiling specifically crafted malicious code - https://github.com/advisories/GHSA-67hx-6x53-jw92
fix available via `npm audit fix --force`
Will install babel-core@4.7.16, which is a breaking change
node_modules/babel-traverse
babel-core 5.8.20 - 7.0.0-beta.3
Depends on vulnerable versions of babel-helpers
Depends on vulnerable versions of babel-register
Depends on vulnerable versions of babel-template
Depends on vulnerable versions of babel-traverse
Depends on vulnerable versions of json5
node_modules/babel-core
babel-register *
Depends on vulnerable versions of babel-core
node_modules/babel-register
babel-template *
Depends on vulnerable versions of babel-traverse
node_modules/babel-template
babel-helpers *
Depends on vulnerable versions of babel-template
node_modules/babel-helpers
json5 <1.0.2
Severity: high
Prototype Pollution in JSON5 via Parse Method - https://github.com/advisories/GHSA-9c47-m6qq-7p4h
fix available via `npm audit fix --force`
Will install babel-core@4.7.16, which is a breaking change
node_modules/babel-core/node_modules/json5
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/grunt/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
13 vulnerabilities (4 low, 5 high, 4 critical)
To address issues that do not require attention, run:
npm audit fix
To address all issues (including breaking changes), run:
npm audit fix --force
--- end ---
Verifying that tests still pass
$ /usr/bin/npm ci
--- stderr ---
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex@2.4.0',
npm WARN EBADENGINE required: { node: '>=20.19.1', npm: '>=10.8.2' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: '@wikimedia/codex-icons@2.4.0',
npm WARN EBADENGINE required: { node: '>=20.19.1', npm: '>=10.8.2' },
npm WARN EBADENGINE current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN deprecated osenv@0.1.5: This package is no longer supported.
npm WARN deprecated inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
npm WARN deprecated @humanwhocodes/config-array@0.13.0: Use @eslint/config-array instead
npm WARN deprecated rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported
npm WARN deprecated abab@2.0.6: Use your platform's native atob() and btoa() methods instead
npm WARN deprecated @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
npm WARN deprecated glob@7.1.7: Glob versions prior to v9 are no longer supported
npm WARN deprecated domexception@4.0.0: Use your platform's native DOMException instead
npm WARN deprecated eslint@8.57.1: This version is no longer supported. Please see https://eslint.org/version-support for other options.
npm WARN deprecated core-js@2.6.12: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.
--- stdout ---
added 1121 packages, and audited 1122 packages in 14s
165 packages are looking for funding
run `npm fund` for details
13 vulnerabilities (4 low, 5 high, 4 critical)
To address issues that do not require attention, run:
npm audit fix
To address all issues (including breaking changes), run:
npm audit fix --force
Run `npm audit` for details.
--- end ---
$ /usr/bin/npm test
--- stderr ---
PASS tests/jest/views/amount-downgrade.test.js
PASS tests/jest/views/update-donations.test.js
PASS tests/jest/views/cancel-donations.test.js
PASS tests/jest/views/login.test.js
PASS tests/jest/views/annual-conversion.test.js
PASS tests/jest/components/recurring-cancel-form.test.js
PASS tests/jest/components/recurring-cancel-confirmation.test.js
PASS tests/jest/components/donations_history.test.js
PASS tests/jest/components/recurring-pause-form.test.js
PASS tests/jest/views/home.test.js
PASS tests/jest/routes/router.test.js
PASS tests/jest/components/donations_list_table.test.js
PASS tests/jest/components/header.test.js
PASS tests/jest/components/recurring-update-form.test.js
PASS tests/jest/components/app.test.js
PASS tests/jest/views/pause-donations.test.js
PASS tests/jest/components/recurring_contribution.test.js
PASS tests/jest/components/error-component.test.js
PASS tests/jest/components/recurring_contribution_summary.test.js
PASS tests/jest/components/recurring-cancel-success.test.js
PASS tests/jest/components/recurring-pause-success.test.js
PASS tests/jest/components/contact_details.test.js
PASS tests/jest/components/recurring-update-success.test.js
PASS tests/jest/components/greeting_component.test.js
PASS tests/jest/components/feedback-survey_component.test.js
PASS tests/jest/components/onetime_contribution.test.js
PASS tests/jest/components/recurring-cancel-option-container.test.js
PASS tests/jest/components/popup_link.test.js
Test Suites: 28 passed, 28 total
Tests: 78 passed, 78 total
Snapshots: 0 total
Time: 6.381 s, estimated 8 s
Ran all test suites.
--- stdout ---
> test
> grunt test && npm run test:unit
Running "eslint:all" (eslint) task
/src/repo/Gruntfile.js
37:11 warning ES2015 'Object.assign' method is forbidden es-x/no-object-assign
/src/repo/adyen_gateway/forms/adyen.js
1:26 warning 'Promise' is already defined as a built-in global variable no-redeclare
5:3 warning 'configFromServer' is never reassigned. Use 'const' instead prefer-const
6:3 warning 'payment_method' is never reassigned. Use 'const' instead prefer-const
8:3 warning 'country' is never reassigned. Use 'const' instead prefer-const
9:3 warning 'language' is never reassigned. Use 'const' instead prefer-const
17:3 warning 'GOOGLEPAY_COMPONENT_TYPE' is never reassigned. Use 'const' instead prefer-const
18:3 warning 'ACH_GET_DONOR_ADDRESS' is never reassigned. Use 'const' instead prefer-const
25:1 warning Missing JSDoc @return type jsdoc/require-returns-type
66:5 warning Unexpected var, use let or const instead no-var
82:23 warning ES2015 'Promise' class is forbidden es-x/no-promise
84:11 warning 'bContact' is never reassigned. Use 'const' instead prefer-const
85:8 warning 'sContact' is never reassigned. Use 'const' instead prefer-const
133:5 warning Unexpected var, use let or const instead no-var
164:23 warning ES2015 'Promise' class is forbidden es-x/no-promise
223:34 warning ES2015 'Promise' class is forbidden es-x/no-promise
227:14 warning ES2015 'Promise' class is forbidden es-x/no-promise
313:2 warning 'submitPromise' is never reassigned. Use 'const' instead prefer-const
313:22 warning ES2015 'Promise' class is forbidden es-x/no-promise
401:6 warning ES2015 'Object.assign' method is forbidden es-x/no-object-assign
540:4 warning ES2015 'Object.assign' method is forbidden es-x/no-object-assign
550:4 warning 'containerName' is never reassigned. Use 'const' instead prefer-const
554:3 warning 'component_type' is never reassigned. Use 'const' instead prefer-const
573:3 warning 'oldShowErrors' is never reassigned. Use 'const' instead prefer-const
595:3 warning 'config' is never reassigned. Use 'const' instead prefer-const
603:3 warning 'checkoutPromise' is never reassigned. Use 'const' instead prefer-const
627:4 warning ES2015 'Promise' class is forbidden es-x/no-promise
654:4 warning ES2015 'Promise' class is forbidden es-x/no-promise
/src/repo/amazon_gateway/amazon.js
3:6 warning 'clientId' is never reassigned. Use 'const' instead prefer-const
4:3 warning 'sellerId' is never reassigned. Use 'const' instead prefer-const
5:3 warning 'sandbox' is never reassigned. Use 'const' instead prefer-const
6:3 warning 'returnUrl' is never reassigned. Use 'const' instead prefer-const
7:3 warning 'widgetScript' is never reassigned. Use 'const' instead prefer-const
8:3 warning 'loginScript' is never reassigned. Use 'const' instead prefer-const
9:3 warning 'failPage' is never reassigned. Use 'const' instead prefer-const
10:3 warning 'isRecurring' is never reassigned. Use 'const' instead prefer-const
14:3 warning 'validTokenPattern' is never reassigned. Use 'const' instead prefer-const
14:23 warning Use a regular expression literal instead of the 'RegExp' constructor prefer-regex-literals
22:3 warning 'CARD_SELECT_DELAY' is never reassigned. Use 'const' instead prefer-const
98:2 warning 'accessToken' is never reassigned. Use 'const' instead prefer-const
99:2 warning 'loginError' is never reassigned. Use 'const' instead prefer-const
129:12 warning Avoid direct access to document.cookie. Use mw.cookie instead mediawiki/no-cookie
268:8 warning Selector extensions are not allowed no-jquery/no-sizzle
/src/repo/braintree_gateway/forms/braintree.js
10:6 warning 'di' is never reassigned. Use 'const' instead prefer-const
12:3 warning 'payment_method' is never reassigned. Use 'const' instead prefer-const
13:3 warning 'scripts' is never reassigned. Use 'const' instead prefer-const
/src/repo/dlocal_gateway/forms/dlocal.js
27:7 warning 'dlocalInstance' is never reassigned. Use 'const' instead prefer-const
28:4 warning 'fields' is never reassigned. Use 'const' instead prefer-const
33:4 warning 'commonStyle' is never reassigned. Use 'const' instead prefer-const
49:3 warning 'cardField' is never reassigned. Use 'const' instead prefer-const
55:3 warning 'expirationField' is never reassigned. Use 'const' instead prefer-const
61:3 warning 'cvvField' is never reassigned. Use 'const' instead prefer-const
/src/repo/gravy_gateway/forms/gravy.js
13:2 warning 'configFromServer' is never reassigned. Use 'const' instead prefer-const
14:2 warning 'sessionId' is never reassigned. Use 'const' instead prefer-const
15:2 warning 'environment' is never reassigned. Use 'const' instead prefer-const
16:2 warning 'gravyId' is never reassigned. Use 'const' instead prefer-const
17:2 warning 'redirectPaypal' is never reassigned. Use 'const' instead prefer-const
18:2 warning 'showRedirectText' is never reassigned. Use 'const' instead prefer-const
21:2 warning 'language' is never reassigned. Use 'const' instead prefer-const
22:2 warning 'country' is never reassigned. Use 'const' instead prefer-const
23:2 warning 'isIndia' is never reassigned. Use 'const' instead prefer-const
24:2 warning 'applePayPaySessionVersionNumber' is never reassigned. Use 'const' instead prefer-const
128:15 warning All possible message keys should be documented. See https://w.wiki/4r9a for details mediawiki/msg-doc
130:25 warning All possible message keys should be documented. See https://w.wiki/4r9a for details mediawiki/msg-doc
130:49 warning All possible message keys should be documented. See https://w.wiki/4r9a for details mediawiki/msg-doc
273:8 warning 'extraData' is already declared in the upper scope on line 12 column 2 no-shadow
442:43 warning 'appleSession' is already declared in the upper scope on line 20 column 2 no-shadow
/src/repo/modules/ext.donationInterface.donorPortal/components/DonationsDisclaimerComponent.vue
4:34 warning 'v-html' directive can lead to XSS attack vue/no-v-html
6:34 warning 'v-html' directive can lead to XSS attack vue/no-v-html
/src/repo/modules/ext.donationInterface.donorPortal/components/DonationsHistory.vue
128:25 warning 'panel' is already declared in the upper scope on line 138 column 10 no-shadow
/src/repo/modules/ext.donationInterface.donorPortal/components/DonationsListTable.vue
21:22 warning 'v-html' directive can lead to XSS attack vue/no-v-html
41:37 warning 'v-html' directive can lead to XSS attack vue/no-v-html
/src/repo/modules/ext.donationInterface.donorPortal/components/RecurringContributionAnnualConversionForm.vue
35:37 warning 'v-html' directive can lead to XSS attack vue/no-v-html
55:37 warning 'v-html' directive can lead to XSS attack vue/no-v-html
100:34 warning 'v-html' directive can lead to XSS attack vue/no-v-html
/src/repo/modules/ext.donationInterface.donorPortal/components/RecurringContributionAnnualConversionSuccess.vue
13:33 warning 'v-html' directive can lead to XSS attack vue/no-v-html
15:33 warning 'v-html' directive can lead to XSS attack vue/no-v-html
/src/repo/modules/ext.donationInterface.donorPortal/components/RecurringContributionCancelSuccess.vue
13:33 warning 'v-html' directive can lead to XSS attack vue/no-v-html
/src/repo/modules/ext.donationInterface.donorPortal/components/RecurringContributionComponent.vue
25:29 warning 'v-html' directive can lead to XSS attack vue/no-v-html
48:5 warning 'v-html' directive can lead to XSS attack vue/no-v-html
/src/repo/modules/ext.donationInterface.donorPortal/components/RecurringContributionPauseSuccess.vue
13:31 warning 'v-html' directive can lead to XSS attack vue/no-v-html
/src/repo/modules/ext.donationInterface.donorPortal/components/RecurringContributionUpdateSuccess.vue
15:33 warning 'v-html' directive can lead to XSS attack vue/no-v-html
/src/repo/modules/ext.donationInterface.donorPortal/views/LoginView.vue
8:6 warning 'v-html' directive can lead to XSS attack vue/no-v-html
37:7 warning 'v-html' directive can lead to XSS attack vue/no-v-html
66:8 warning 'v-html' directive can lead to XSS attack vue/no-v-html
76:17 warning 'v-html' directive can lead to XSS attack vue/no-v-html
/src/repo/modules/iframe.liberator.js
1:10 warning 'self' is already defined as a built-in global variable no-redeclare
/src/repo/modules/js/ext.donationInterface.applePayHelper.js
4:1 warning Missing JSDoc @param "$" type jsdoc/require-param-type
5:1 warning Missing JSDoc @param "mw" type jsdoc/require-param-type
/src/repo/modules/js/ext.donationInterface.employerAutoComplete.js
28:21 warning Prefer .then to .done no-jquery/no-done-fail
/src/repo/modules/js/ext.donationInterface.errorLog.js
16:3 warning 'postdata' is never reassigned. Use 'const' instead prefer-const
/src/repo/modules/js/ext.donationInterface.forms.js
4:1 warning Missing JSDoc @param "$" type jsdoc/require-param-type
5:1 warning Missing JSDoc @param "mw" type jsdoc/require-param-type
74:27 warning Selector extensions are not allowed no-jquery/no-sizzle
90:12 warning '$element' is never reassigned. Use 'const' instead prefer-const
107:1 warning Missing JSDoc @param "checkboxName" type jsdoc/require-param-type
111:12 warning '$element' is never reassigned. Use 'const' instead prefer-const
126:1 warning The type 'result' is undefined jsdoc/no-undefined-types
148:3 warning 'sendData' is never reassigned. Use 'const' instead prefer-const
187:4 warning ES2015 'Object.assign' method is forbidden es-x/no-object-assign
239:14 warning ES2015 'Promise' class is forbidden es-x/no-promise
269:10 warning ES2015 'Promise' class is forbidden es-x/no-promise
283:4 warning ES2015 'Promise' class is forbidden es-x/no-promise
321:10 warning Selector extensions are not allowed no-jquery/no-sizzle
325:30 warning Selector extensions are not allowed no-jquery/no-sizzle
/src/repo/modules/js/ext.donationInterface.jaVariant02.js
8:1 warning Missing JSDoc @param "mw" type jsdoc/require-param-type
9:1 warning Missing JSDoc @param "$" type jsdoc/require-param-type
/src/repo/modules/js/ext.donationInterface.monthlyConvert.js
2:6 warning 'mc' is never reassigned. Use 'const' instead prefer-const
6:3 warning 'tyUrl' is never reassigned. Use 'const' instead prefer-const
9:3 warning 'convertAmounts' is never reassigned. Use 'const' instead prefer-const
17:3 warning 'numAmounts' is never reassigned. Use 'const' instead prefer-const
37:49 warning 'currency' is already declared in the upper scope on line 3 column 3 no-shadow
78:39 warning 'currency' is already declared in the upper scope on line 3 column 3 no-shadow
147:51 warning 'currency' is already declared in the upper scope on line 3 column 3 no-shadow
148:7 warning 'rates' is never reassigned. Use 'const' instead prefer-const
149:4 warning 'amountRules' is never reassigned. Use 'const' instead prefer-const
151:4 warning '$smallAmountMessage' is never reassigned. Use 'const' instead prefer-const
161:3 warning 'formattedMin' is never reassigned. Use 'const' instead prefer-const
177:4 warning 'locale' is never reassigned. Use 'const' instead prefer-const
180:3 warning 'presetAmount' is never reassigned. Use 'const' instead prefer-const
/src/repo/modules/js/ext.donationInterface.monthlyConvertAnnual.js
3:7 warning 'mc' is never reassigned. Use 'const' instead prefer-const
3:31 warning 'originalGetSendData' is never reassigned. Use 'const' instead prefer-const
4:4 warning 'originalAmount' is never reassigned. Use 'const' instead prefer-const
5:4 warning '$otherAmountMonthlyInput' is never reassigned. Use 'const' instead prefer-const
5:62 warning '$otherAmountAnnualInput' is never reassigned. Use 'const' instead prefer-const
6:4 warning '$otherMonthlySubmit' is never reassigned. Use 'const' instead prefer-const
6:60 warning '$otherAnnualSubmit' is never reassigned. Use 'const' instead prefer-const
7:4 warning '$smallAmountMessage' is never reassigned. Use 'const' instead prefer-const
15:3 warning 'originalAmountFormatted' is never reassigned. Use 'const' instead prefer-const
/src/repo/modules/js/ext.donationInterface.monthlyConvertMultiplier.js
3:7 warning 'mc' is never reassigned. Use 'const' instead prefer-const
4:3 warning 'originalAmount' is never reassigned. Use 'const' instead prefer-const
/src/repo/modules/js/ext.donationInterface.monthlyConvert_011.js
3:7 warning 'mc' is never reassigned. Use 'const' instead prefer-const
4:4 warning 'locale' is never reassigned. Use 'const' instead prefer-const
5:3 warning 'originalAmount' is never reassigned. Use 'const' instead prefer-const
6:3 warning 'currency' is never reassigned. Use 'const' instead prefer-const
7:3 warning 'presetAmount' is never reassigned. Use 'const' instead prefer-const
8:3 warning 'formattedAsk' is never reassigned. Use 'const' instead prefer-const
/src/repo/modules/js/ext.donationInterface.recurUpgrade.js
3:7 warning '$submitButton' is never reassigned. Use 'const' instead prefer-const
4:4 warning '$amountField' is never reassigned. Use 'const' instead prefer-const
5:4 warning '$otherAmountField' is never reassigned. Use 'const' instead prefer-const
6:4 warning '$totalMessage' is never reassigned. Use 'const' instead prefer-const
7:4 warning '$newTotalAmount' is never reassigned. Use 'const' instead prefer-const
8:4 warning '$form' is never reassigned. Use 'const' instead prefer-const
9:4 warning 'originalAmount' is never reassigned. Use 'const' instead prefer-const
10:4 warning 'currency' is never reassigned. Use 'const' instead prefer-const
11:4 warning 'maximum' is never reassigned. Use 'const' instead prefer-const
12:4 warning 'nextDateFormatted' is never reassigned. Use 'const' instead prefer-const
14:4 warning 'preSelectAmount' is never reassigned. Use 'const' instead prefer-const
38:4 warning 'valueIsValid' is never reassigned. Use 'const' instead prefer-const
/src/repo/modules/js/ext.donationInterface.validation.js
7:1 warning Missing JSDoc @param "$" type jsdoc/require-param-type
8:1 warning Missing JSDoc @param "mw" type jsdoc/require-param-type
11:6 warning 'di' is never reassigned. Use 'const' instead prefer-const
13:3 warning 'mcDomains' is never reassigned. Use 'const' instead prefer-const
33:3 warning 'multiCountrySubdomains' is never reassigned. Use 'const' instead prefer-const
34:3 warning 'countryTlds' is never reassigned. Use 'const' instead prefer-const
40:26 warning 'i' is already declared in the upper scope on line 39 column 36 no-shadow
/src/repo/modules/validate_input.js
1:1 warning Missing JSDoc @return declaration jsdoc/require-returns
9:3 warning 'rates' is never reassigned. Use 'const' instead prefer-const
10:3 warning 'amountRules' is never reassigned. Use 'const' instead prefer-const
14:3 warning '$amountMsg' is never reassigned. Use 'const' instead prefer-const
15:3 warning 'threeDecimalCurrencies' is never reassigned. Use 'const' instead prefer-const
86:3 warning 'invalids' is never reassigned. Use 'const' instead prefer-const
87:3 warning 'rules' is never reassigned. Use 'const' instead prefer-const
105:27 warning 'value' is already declared in the upper scope on line 82 column 6 no-shadow
107:14 warning All possible message keys should be documented. See https://w.wiki/4r9a for details mediawiki/msg-doc
113:23 warning 'i' is already declared in the upper scope on line 85 column 3 no-shadow
145:2 warning 'countryField' is never reassigned. Use 'const' instead prefer-const
168:2 warning 'emailAdd' is never reassigned. Use 'const' instead prefer-const
220:2 warning 'phoneAdd' is never reassigned. Use 'const' instead prefer-const
241:11 warning Avoid direct access to document.cookie. Use mw.cookie instead mediawiki/no-cookie
242:16 warning Avoid direct access to document.cookie. Use mw.cookie instead mediawiki/no-cookie
243:12 warning Avoid direct access to document.cookie. Use mw.cookie instead mediawiki/no-cookie
/src/repo/paypal_ec_gateway/forms/js/paypal.js
2:6 warning 'di' is never reassigned. Use 'const' instead prefer-const
3:3 warning 'rules' is never reassigned. Use 'const' instead prefer-const
/src/repo/tests/jest/components/recurring_contribution.test.js
55:19 warning ES2015 'Object.assign' method is forbidden es-x/no-object-assign
69:19 warning ES2015 'Object.assign' method is forbidden es-x/no-object-assign
/src/repo/tests/jest/views/amount-downgrade.test.js
5:34 warning ES2015 'Object.assign' method is forbidden es-x/no-object-assign
/src/repo/tests/jest/views/annual-conversion.test.js
5:34 warning ES2015 'Object.assign' method is forbidden es-x/no-object-assign
/src/repo/tests/jest/views/cancel-donations.test.js
5:34 warning ES2015 'Object.assign' method is forbidden es-x/no-object-assign
/src/repo/tests/jest/views/pause-donations.test.js
5:34 warning ES2015 'Object.assign' method is forbidden es-x/no-object-assign
/src/repo/tests/jest/views/update-donations.test.js
5:34 warning ES2015 'Object.assign' method is forbidden es-x/no-object-assign
✖ 181 problems (0 errors, 181 warnings)
Running "stylelint:all" (stylelint) task
>> Linted 17 files without errors
Running "banana:DonationInterface" (banana) task
>> The "fr" translation has 1 translation with trailing whitespace:
>> * donorportal-coming-soon
>> 10 message directories checked.
Done.
> test:unit
> jest
----------------------------------------------------|---------|----------|---------|---------|-----------------------
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
----------------------------------------------------|---------|----------|---------|---------|-----------------------
All files | 94.2 | 87.01 | 87.45 | 94.17 |
ext.donationInterface.donorPortal | 75.34 | 64.15 | 77.77 | 75.34 |
apiPostAction.js | 100 | 100 | 100 | 100 |
normalizeInput.js | 63.88 | 59.45 | 75 | 63.88 | 4,21,32-35,54-66
router.js | 80 | 71.42 | 50 | 80 | 12-13,19-20,52
trackingParams.js | 100 | 100 | 100 | 100 |
ext.donationInterface.donorPortal/components | 95.01 | 91.61 | 84.61 | 95.01 |
App.vue | 100 | 100 | 100 | 100 |
DonationsDisclaimerComponent.vue | 100 | 100 | 100 | 100 |
DonationsHistory.vue | 94.44 | 100 | 75 | 94.44 | 16-23
DonationsListTable.vue | 89.28 | 94.44 | 73.33 | 89.28 | 23,40,137-153,183-199
DonorCardComponent.vue | 100 | 90 | 100 | 100 | 78
DonorContactDetails.vue | 93.93 | 86.36 | 100 | 93.93 | 46,48
EndowmentInformationComponent.vue | 100 | 100 | 100 | 100 |
ErrorComponent.vue | 100 | 100 | 100 | 100 |
FeedbackSurveyComponent.vue | 100 | 100 | 100 | 100 |
GreetingComponent.vue | 100 | 100 | 100 | 100 |
Header.vue | 87.17 | 88.23 | 66.66 | 87.17 | 30-37,134
OnetimeContribution.vue | 100 | 100 | 100 | 100 |
PopupLink.vue | 100 | 100 | 100 | 100 |
RadioButtonInput.vue | 94.44 | 100 | 75 | 94.44 | 63
RecurringContributionAnnualConversionForm.vue | 93.02 | 78.04 | 70 | 93.02 | 19,50,217-245,262
RecurringContributionAnnualConversionSuccess.vue | 96 | 100 | 83.33 | 96 | 17
RecurringContributionCancelAltOptionContainer.vue | 100 | 100 | 83.33 | 100 |
RecurringContributionCancelConfirmation.vue | 97.22 | 90 | 90 | 97.22 | 22
RecurringContributionCancelForm.vue | 94.23 | 91.66 | 85.71 | 94.23 | 24,52,55
RecurringContributionCancelSuccess.vue | 96.42 | 50 | 100 | 96.42 | 28
RecurringContributionComponent.vue | 88.23 | 95.08 | 88.23 | 88.23 | 43-46,52,57,112,180
RecurringContributionPauseForm.vue | 97.14 | 100 | 87.5 | 97.14 | 22
RecurringContributionPauseSuccess.vue | 94.44 | 100 | 75 | 94.44 | 17
RecurringContributionSummary.vue | 100 | 100 | 100 | 100 |
RecurringContributionUpdateForm.vue | 96.72 | 89.18 | 83.33 | 96.72 | 85,183
RecurringContributionUpdateSuccess.vue | 100 | 100 | 100 | 100 |
RelatedContentComponent.vue | 94.11 | 100 | 60 | 94.11 | 99-105
ext.donationInterface.donorPortal/views | 96.33 | 83.9 | 97.01 | 96.27 |
AmountDowngrade.vue | 97.61 | 75 | 100 | 97.56 | 32
AnnualConversion.vue | 97.5 | 75 | 100 | 97.43 | 32
CancelDonations.vue | 98.36 | 85.71 | 100 | 98.33 | 35
Home.vue | 96.77 | 90 | 100 | 96.77 | 38
LoginView.vue | 91.42 | 89.65 | 90.47 | 91.42 | 40-42,77,85,192
PauseDonations.vue | 97.61 | 75 | 100 | 97.56 | 30
UpdateDonations.vue | 97.56 | 80 | 100 | 97.5 | 31
----------------------------------------------------|---------|----------|---------|---------|-----------------------
--- 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
npm:
* @wikimedia/codex: 2.3.4 → 2.4.0
* @wikimedia/codex-icons: 2.3.4 → 2.4.0
$ git add .
--- stdout ---
--- end ---
$ git commit -F /tmp/tmp8r0jk4a6
--- stdout ---
[master 6a96e7f] build: Updating dependencies
3 files changed, 35 insertions(+), 35 deletions(-)
--- end ---
$ git format-patch HEAD~1 --stdout
--- stdout ---
From 6a96e7f2d258090ae469acdf8fd334ac2c67b7d4 Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Mon, 9 Mar 2026 14:42:26 +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
npm:
* @wikimedia/codex: 2.3.4 → 2.4.0
* @wikimedia/codex-icons: 2.3.4 → 2.4.0
Change-Id: Ife26983b28875210db4aaaf0c45f2302b29146cc
---
composer.json | 2 +-
package-lock.json | 64 +++++++++++++++++++++++------------------------
package.json | 4 +--
3 files changed, 35 insertions(+), 35 deletions(-)
diff --git a/composer.json b/composer.json
index 1bcfd9f..b9b5cd9 100644
--- a/composer.json
+++ b/composer.json
@@ -35,7 +35,7 @@
"whichbrowser/parser": "^2.1"
},
"require-dev": {
- "mediawiki/mediawiki-codesniffer": "49.0.0",
+ "mediawiki/mediawiki-codesniffer": "50.0.0",
"mediawiki/mediawiki-phan-config": "0.18.0",
"mediawiki/minus-x": "2.0.1",
"php-parallel-lint/php-console-highlighter": "1.0.0",
diff --git a/package-lock.json b/package-lock.json
index 6e448e8..f60b1e3 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -11,8 +11,8 @@
"@vue/compiler-sfc": "3.5.13",
"@vue/test-utils": "2.4.6",
"@vue/vue3-jest": "29.2.6",
- "@wikimedia/codex": "2.3.4",
- "@wikimedia/codex-icons": "2.3.4",
+ "@wikimedia/codex": "2.4.0",
+ "@wikimedia/codex-icons": "2.4.0",
"babel-core": "^6.26.3",
"eslint-config-wikimedia": "0.32.3",
"eslint-plugin-jest": "27.2.1",
@@ -3131,12 +3131,12 @@
}
},
"node_modules/@stylistic/eslint-plugin/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"
@@ -3831,13 +3831,13 @@
"dev": true
},
"node_modules/@wikimedia/codex": {
- "version": "2.3.4",
- "resolved": "https://registry.npmjs.org/@wikimedia/codex/-/codex-2.3.4.tgz",
- "integrity": "sha512-Dn2R/LwRZedbgT98XyHEm02IAFXDNoLu8AvD6PFNX8Itk3H1Fdn9O4bUZWtcQGy9Y7dkmXnHUFswUH8QlXLn9g==",
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/@wikimedia/codex/-/codex-2.4.0.tgz",
+ "integrity": "sha512-j/I1gGbTo6pttjmwyYw9/3CeInK6mpBm2FVfABJk+B1Ylw5DskX+TqeCdKghwxSkxBt0ODbUTBYdFyafk+7ajg==",
"dev": true,
"dependencies": {
"@floating-ui/vue": "1.0.6",
- "@wikimedia/codex-icons": "2.3.4"
+ "@wikimedia/codex-icons": "2.4.0"
},
"engines": {
"node": ">=20.19.1",
@@ -3848,9 +3848,9 @@
}
},
"node_modules/@wikimedia/codex-icons": {
- "version": "2.3.4",
- "resolved": "https://registry.npmjs.org/@wikimedia/codex-icons/-/codex-icons-2.3.4.tgz",
- "integrity": "sha512-eRRYmqIyIbbiaDhiw+qdNNqQ4Npz04k6crSaqyWFS6Y4vh5Lrd3kbjk2uNZK3Tu0h+yz0mQmlMlBEOtb/r3dPw==",
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/@wikimedia/codex-icons/-/codex-icons-2.4.0.tgz",
+ "integrity": "sha512-BBtrzLR7r9ShxCMYfsx9XaKJu/peqt5Y/jtvWx3E2G5aL/Y/pIWAkv8NIvU+ztKklbHySLH5jSvVZVKxxvU0Ew==",
"dev": true,
"engines": {
"node": ">=20.19.1",
@@ -5491,14 +5491,14 @@
"dev": true
},
"node_modules/editorconfig": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-1.0.4.tgz",
- "integrity": "sha512-L9Qe08KWTlqYMVvMcTIvMAdl1cDUubzRNYL+WfA4bLDMHe4nemKkpmYzkznE1FwLKu0EEmy6obgQKzMJrg4x9Q==",
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-1.0.7.tgz",
+ "integrity": "sha512-e0GOtq/aTQhVdNyDU9e02+wz9oDDM+SIOQxWME2QRjzRX5yyLAuHDE+0aE8vHb9XRC8XD37eO2u57+F09JqFhw==",
"dev": true,
"dependencies": {
"@one-ini/wasm": "0.1.1",
"commander": "^10.0.0",
- "minimatch": "9.0.1",
+ "minimatch": "^9.0.1",
"semver": "^7.5.3"
},
"bin": {
@@ -5518,12 +5518,12 @@
}
},
"node_modules/editorconfig/node_modules/minimatch": {
- "version": "9.0.1",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz",
- "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==",
+ "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"
@@ -6235,12 +6235,12 @@
}
},
"node_modules/eslint-config-wikimedia/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"
@@ -10654,12 +10654,12 @@
}
},
"node_modules/js-beautify/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"
@@ -11154,9 +11154,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"
diff --git a/package.json b/package.json
index 001cc8b..ca6a15e 100644
--- a/package.json
+++ b/package.json
@@ -16,8 +16,8 @@
"@vue/compiler-sfc": "3.5.13",
"@vue/test-utils": "2.4.6",
"@vue/vue3-jest": "29.2.6",
- "@wikimedia/codex": "2.3.4",
- "@wikimedia/codex-icons": "2.3.4",
+ "@wikimedia/codex": "2.4.0",
+ "@wikimedia/codex-icons": "2.4.0",
"babel-core": "^6.26.3",
"eslint-config-wikimedia": "0.32.3",
"eslint-plugin-jest": "27.2.1",
--
2.47.3
--- end ---