This run took 121 seconds.
From 82ba2a06029887687aa23b29988f71750b709e16 Mon Sep 17 00:00:00 2001 From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org> Date: Mon, 8 Sep 2025 01:58:12 +0000 Subject: [PATCH] build: Updating mediawiki/mediawiki-codesniffer to 48.0.0 The following sniffs are failing and were disabled: * MediaWiki.Commenting.CommentBeforeClass.SpacingAfter Change-Id: I1d74c05ed9f207ddd715fd4b9932fadf443276a9 --- .phpcs.xml | 1 + adyen_gateway/adyen_checkout.adapter.php | 1 - amazon_gateway/amazon_gateway.body.php | 1 - braintree_gateway/braintree.adapter.php | 1 - composer.json | 2 +- dlocal_gateway/dlocal.adapter.php | 1 - gateway_common/DonationData.php | 4 +-- gateway_common/employerSearch.api.php | 1 - gateway_common/gateway.adapter.php | 2 -- gravy_gateway/gravy_gateway.body.php | 4 --- special/FundraiserMaintenance.php | 1 - .../Adapter/Adyen/AdyenFormLoadTest.php | 1 - .../Adapter/Adyen/CheckoutCardTest.php | 1 - .../Adapter/Adyen/CheckoutIdealTest.php | 1 - tests/phpunit/Adapter/Amazon/AmazonTest.php | 1 - .../Adapter/Braintree/PaypalPaymentTest.php | 1 - tests/phpunit/Adapter/GatewayAdapterTest.php | 2 -- .../Adapter/Gravy/GravyFormLoadTest.php | 1 - .../Adapter/Ingenico/IngenicoApiTest.php | 1 - .../phpunit/Adapter/Ingenico/IngenicoTest.php | 1 - .../RealTimeBankTransferIdealTest.php | 1 - .../Adapter/Ingenico/RecurringTest.php | 1 - .../Adapter/PayPal/PayPalExpressTest.php | 1 - tests/phpunit/DonationDataTest.php | 28 ++----------------- tests/phpunit/DonationInterfaceTestCase.php | 1 - tests/phpunit/LoggingTest.php | 1 - .../includes/test_gateway/test.adapter.php | 1 - 27 files changed, 6 insertions(+), 57 deletions(-) diff --git a/.phpcs.xml b/.phpcs.xml index 3e1fcdf..f6ba847 100644 --- a/.phpcs.xml +++ b/.phpcs.xml @@ -1,6 +1,7 @@ <?xml version="1.0"?> <ruleset> <rule ref="./vendor/mediawiki/mediawiki-codesniffer/MediaWiki"> + <exclude name="MediaWiki.Commenting.CommentBeforeClass.SpacingAfter" /> <exclude name="MediaWiki.Files.ClassMatchesFilename.NotMatch" /> <exclude name="MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName" /> <exclude name="MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment" /> diff --git a/adyen_gateway/adyen_checkout.adapter.php b/adyen_gateway/adyen_checkout.adapter.php index 8a2a0fb..70098e6 100644 --- a/adyen_gateway/adyen_checkout.adapter.php +++ b/adyen_gateway/adyen_checkout.adapter.php @@ -440,7 +440,6 @@ class AdyenCheckoutAdapter extends GatewayAdapter implements RecurringConversion * * @param string $queue What queue to send the message to * @param bool $contactOnly If we only have the donor's contact information - * */ protected function pushMessage( $queue, $contactOnly = false ) { // Don't send recurring bank payments to the donations queue. diff --git a/amazon_gateway/amazon_gateway.body.php b/amazon_gateway/amazon_gateway.body.php index af6107f..8865cc5 100644 --- a/amazon_gateway/amazon_gateway.body.php +++ b/amazon_gateway/amazon_gateway.body.php @@ -13,7 +13,6 @@ * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - * */ class AmazonGateway extends GatewayPage { diff --git a/braintree_gateway/braintree.adapter.php b/braintree_gateway/braintree.adapter.php index 1535322..27468fa 100644 --- a/braintree_gateway/braintree.adapter.php +++ b/braintree_gateway/braintree.adapter.php @@ -28,7 +28,6 @@ class BraintreeAdapter extends GatewayAdapter implements RecurringConversion { } /** - * * @param CreatePaymentResponse $createPaymentResult * @param PaymentProvider $provider * @return PaymentResult diff --git a/composer.json b/composer.json index b3b694d..c636809 100644 --- a/composer.json +++ b/composer.json @@ -35,7 +35,7 @@ "whichbrowser/parser": "^2.1" }, "require-dev": { - "mediawiki/mediawiki-codesniffer": "47.0.0", + "mediawiki/mediawiki-codesniffer": "48.0.0", "mediawiki/mediawiki-phan-config": "0.17.0", "mediawiki/minus-x": "1.1.3", "php-parallel-lint/php-console-highlighter": "1.0.0", diff --git a/dlocal_gateway/dlocal.adapter.php b/dlocal_gateway/dlocal.adapter.php index 1b99a9b..7e09615 100644 --- a/dlocal_gateway/dlocal.adapter.php +++ b/dlocal_gateway/dlocal.adapter.php @@ -194,7 +194,6 @@ class DlocalAdapter extends GatewayAdapter implements RecurringConversion { } /** - * * @param PaymentProviderExtendedResponse $paymentDetailResponse * @param IPaymentProvider $paymentProvider * @return PaymentResult diff --git a/gateway_common/DonationData.php b/gateway_common/DonationData.php index 0b195f9..ddae0d8 100644 --- a/gateway_common/DonationData.php +++ b/gateway_common/DonationData.php @@ -37,11 +37,11 @@ class DonationData implements LogPrefixProvider { * get poked through to gateways in some form or other, * from a get or post. We handle the actual * normalization in normalize() helpers, below. - * @TODO: It would be really neat if the gateways kept + * @todo It would be really neat if the gateways kept * track of all the things that ***only they will ever * need***, and could interject those needs here... * Then we could really clean up. - * @TODO also: Think about putting log alarms on the + * @todo also: Think about putting log alarms on the * keys we want to see disappear forever, complete with * referrer for easy total destruction. * @var string[] diff --git a/gateway_common/employerSearch.api.php b/gateway_common/employerSearch.api.php index 67a3e03..ee28f00 100644 --- a/gateway_common/employerSearch.api.php +++ b/gateway_common/employerSearch.api.php @@ -12,7 +12,6 @@ use Wikimedia\ParamValidator\ParamValidator; * The datasource for this API is currently a CSV which contains the full * list of matchin gift employers available and is provided to us via a * third party. A separate process manages updating that datasource. - * */ class EmployerSearchAPI extends ApiBase { diff --git a/gateway_common/gateway.adapter.php b/gateway_common/gateway.adapter.php index 2a91173..25cf948 100644 --- a/gateway_common/gateway.adapter.php +++ b/gateway_common/gateway.adapter.php @@ -34,7 +34,6 @@ use SmashPig\PaymentData\ValidationAction; /** * GatewayAdapter - * */ abstract class GatewayAdapter implements GatewayType { /** @@ -1576,7 +1575,6 @@ abstract class GatewayAdapter implements GatewayType { * * @param string $queue What queue to send the message to * @param bool $contactOnly If we only have the donor's contact information - * */ protected function pushMessage( $queue, $contactOnly = false ) { $this->logger->info( "Pushing transaction to queue [$queue]" ); diff --git a/gravy_gateway/gravy_gateway.body.php b/gravy_gateway/gravy_gateway.body.php index f80c64f..0cac2a7 100644 --- a/gravy_gateway/gravy_gateway.body.php +++ b/gravy_gateway/gravy_gateway.body.php @@ -143,7 +143,6 @@ class GravyGateway extends GatewayPage { } /** - * * @return bool */ private function isCreditCard(): bool { @@ -151,7 +150,6 @@ class GravyGateway extends GatewayPage { } /** - * * @return bool */ private function isACH(): bool { @@ -160,7 +158,6 @@ class GravyGateway extends GatewayPage { } /** - * * @return bool */ private function isGooglePay(): bool { @@ -168,7 +165,6 @@ class GravyGateway extends GatewayPage { } /** - * * @return bool */ private function isApplePay(): bool { diff --git a/special/FundraiserMaintenance.php b/special/FundraiserMaintenance.php index 8af2815..7684eea 100644 --- a/special/FundraiserMaintenance.php +++ b/special/FundraiserMaintenance.php @@ -3,7 +3,6 @@ use MediaWiki\SpecialPage\UnlistedSpecialPage; /** - * * -- License -- * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/tests/phpunit/Adapter/Adyen/AdyenFormLoadTest.php b/tests/phpunit/Adapter/Adyen/AdyenFormLoadTest.php index 369f210..f51b979 100644 --- a/tests/phpunit/Adapter/Adyen/AdyenFormLoadTest.php +++ b/tests/phpunit/Adapter/Adyen/AdyenFormLoadTest.php @@ -20,7 +20,6 @@ use SmashPig\PaymentProviders\Adyen\CardPaymentProvider; use SmashPig\PaymentProviders\Responses\PaymentMethodResponse; /** - * * @group Fundraising * @group DonationInterface * @group Adyen diff --git a/tests/phpunit/Adapter/Adyen/CheckoutCardTest.php b/tests/phpunit/Adapter/Adyen/CheckoutCardTest.php index b06357c..c936ca1 100644 --- a/tests/phpunit/Adapter/Adyen/CheckoutCardTest.php +++ b/tests/phpunit/Adapter/Adyen/CheckoutCardTest.php @@ -478,7 +478,6 @@ class CheckoutCardTest extends BaseAdyenCheckoutTestCase { /** * Integration test to verify that the createPayment method isn't called * when user_ip is added to the deny list - * */ public function testDoPaymentAttemptBlockedDueToIPInDenyList() { $threshold = 2; diff --git a/tests/phpunit/Adapter/Adyen/CheckoutIdealTest.php b/tests/phpunit/Adapter/Adyen/CheckoutIdealTest.php index c362a06..dff912c 100644 --- a/tests/phpunit/Adapter/Adyen/CheckoutIdealTest.php +++ b/tests/phpunit/Adapter/Adyen/CheckoutIdealTest.php @@ -223,7 +223,6 @@ class CheckoutIdealTest extends BaseAdyenCheckoutTestCase { /** * Integration test to verify that the createPayment method isn't called * when user_ip is added to the deny list - * */ public function testDoPaymentIdealAttemptBlockedDueToIPInDenyList() { $this->setMwGlobalsForIPVelocityFilterTest( 2 ); diff --git a/tests/phpunit/Adapter/Amazon/AmazonTest.php b/tests/phpunit/Adapter/Amazon/AmazonTest.php index 456954f..3edfea8 100644 --- a/tests/phpunit/Adapter/Amazon/AmazonTest.php +++ b/tests/phpunit/Adapter/Amazon/AmazonTest.php @@ -23,7 +23,6 @@ use SmashPig\PaymentProviders\Amazon\Tests\AmazonTestConfiguration; use SmashPig\Tests\TestingContext; /** - * * @group Fundraising * @group DonationInterface * @group Amazon diff --git a/tests/phpunit/Adapter/Braintree/PaypalPaymentTest.php b/tests/phpunit/Adapter/Braintree/PaypalPaymentTest.php index fafad8a..1f51be1 100644 --- a/tests/phpunit/Adapter/Braintree/PaypalPaymentTest.php +++ b/tests/phpunit/Adapter/Braintree/PaypalPaymentTest.php @@ -252,7 +252,6 @@ class PaypalPaymentTest extends BaseBraintreeTestCase { /** * Integration test to verify that the createPayment method isn't called * when user_ip is added to the deny list - * */ public function testDoPaymentAttemptBlockedDueToIPInDenyList() { $threshold = 2; diff --git a/tests/phpunit/Adapter/GatewayAdapterTest.php b/tests/phpunit/Adapter/GatewayAdapterTest.php index a71e0fe..319d358 100644 --- a/tests/phpunit/Adapter/GatewayAdapterTest.php +++ b/tests/phpunit/Adapter/GatewayAdapterTest.php @@ -43,7 +43,6 @@ use Wikimedia\TestingAccessWrapper; class GatewayAdapterTest extends DonationInterfaceTestCase { /** - * * @covers GatewayAdapter::__construct * @covers GatewayAdapter::defineVarMap * @covers GatewayAdapter::defineTransactions @@ -197,7 +196,6 @@ class GatewayAdapterTest extends DonationInterfaceTestCase { } /** - * * @covers GatewayAdapter::__construct * @covers DonationData::__construct */ diff --git a/tests/phpunit/Adapter/Gravy/GravyFormLoadTest.php b/tests/phpunit/Adapter/Gravy/GravyFormLoadTest.php index cc136aa..2ae9c4a 100644 --- a/tests/phpunit/Adapter/Gravy/GravyFormLoadTest.php +++ b/tests/phpunit/Adapter/Gravy/GravyFormLoadTest.php @@ -20,7 +20,6 @@ use SmashPig\PaymentProviders\Gravy\CardPaymentProvider; use SmashPig\PaymentProviders\Responses\CreatePaymentSessionResponse; /** - * * @group Fundraising * @group DonationInterface * @group Gravy diff --git a/tests/phpunit/Adapter/Ingenico/IngenicoApiTest.php b/tests/phpunit/Adapter/Ingenico/IngenicoApiTest.php index c8a5122..1f6e9f7 100644 --- a/tests/phpunit/Adapter/Ingenico/IngenicoApiTest.php +++ b/tests/phpunit/Adapter/Ingenico/IngenicoApiTest.php @@ -318,7 +318,6 @@ class IngenicoApiTest extends DonationInterfaceApiTestCase { * GatewatAdapterApiTest suite once we get that up and running. * * @group DonationInterfaceOptionalFields - * */ public function testOptionalFieldBehaviour(): void { $this->overrideConfigValues( [ diff --git a/tests/phpunit/Adapter/Ingenico/IngenicoTest.php b/tests/phpunit/Adapter/Ingenico/IngenicoTest.php index a01683e..85d53fb 100644 --- a/tests/phpunit/Adapter/Ingenico/IngenicoTest.php +++ b/tests/phpunit/Adapter/Ingenico/IngenicoTest.php @@ -27,7 +27,6 @@ use SmashPig\PaymentProviders\Responses\PaymentProviderExtendedResponse; use Wikimedia\TestingAccessWrapper; /** - * * @group Fundraising * @group DonationInterface * @group Ingenico diff --git a/tests/phpunit/Adapter/Ingenico/RealTimeBankTransferIdealTest.php b/tests/phpunit/Adapter/Ingenico/RealTimeBankTransferIdealTest.php index d97601c..52b2057 100644 --- a/tests/phpunit/Adapter/Ingenico/RealTimeBankTransferIdealTest.php +++ b/tests/phpunit/Adapter/Ingenico/RealTimeBankTransferIdealTest.php @@ -22,7 +22,6 @@ use SmashPig\Tests\TestingContext; use SmashPig\Tests\TestingProviderConfiguration; /** - * * @group Fundraising * @group DonationInterface * @group Ingenico diff --git a/tests/phpunit/Adapter/Ingenico/RecurringTest.php b/tests/phpunit/Adapter/Ingenico/RecurringTest.php index 9cb7cb8..f2aeca7 100644 --- a/tests/phpunit/Adapter/Ingenico/RecurringTest.php +++ b/tests/phpunit/Adapter/Ingenico/RecurringTest.php @@ -19,7 +19,6 @@ use SmashPig\Core\DataStores\QueueWrapper; /** - * * @group Fundraising * @group DonationInterface * @group Ingenico diff --git a/tests/phpunit/Adapter/PayPal/PayPalExpressTest.php b/tests/phpunit/Adapter/PayPal/PayPalExpressTest.php index 1f4c945..c979d94 100644 --- a/tests/phpunit/Adapter/PayPal/PayPalExpressTest.php +++ b/tests/phpunit/Adapter/PayPal/PayPalExpressTest.php @@ -32,7 +32,6 @@ use SmashPig\Tests\TestingContext; use SmashPig\Tests\TestingProviderConfiguration; /** - * * @group Fundraising * @group DonationInterface * @group PayPal diff --git a/tests/phpunit/DonationDataTest.php b/tests/phpunit/DonationDataTest.php index 224ea12..2ec0aec 100644 --- a/tests/phpunit/DonationDataTest.php +++ b/tests/phpunit/DonationDataTest.php @@ -224,9 +224,6 @@ class DonationDataTest extends DonationInterfaceTestCase { $this->assertNotEmpty( $matches ); } - /** - * - */ public function testRepopulate() { $expected = $this->testData; @@ -244,8 +241,8 @@ class DonationDataTest extends DonationInterfaceTestCase { $returned = $ddObj->getData(); // unset these, because they're always new $unsettable = [ - 'order_id', - 'contribution_tracking_id' + 'order_id', + 'contribution_tracking_id' ]; foreach ( $unsettable as $thing ) { @@ -256,9 +253,6 @@ class DonationDataTest extends DonationInterfaceTestCase { $this->assertEquals( $expected, $returned, "The forced test data did not populate as expected." ); } - /** - * - */ public function testIsSomething() { $data = $this->testData; unset( $data['postal_code'] ); @@ -268,9 +262,6 @@ class DonationDataTest extends DonationInterfaceTestCase { $this->assertTrue( $ddObj->isSomething( 'last_name' ), "last_name should currently be something." ); } - /** - * - */ public function testSetNormalizedAmount_amtGiven() { $data = $this->testData; $data['amount'] = 'this is not a number'; @@ -281,9 +272,6 @@ class DonationDataTest extends DonationInterfaceTestCase { $this->assertArrayNotHasKey( 'amountGiven', $returned, "amountGiven should have been removed from the data" ); } - /** - * - */ public function testSetNormalizedAmount_amount() { $data = $this->testData; $data['amount'] = 88.15; @@ -294,9 +282,6 @@ class DonationDataTest extends DonationInterfaceTestCase { $this->assertArrayNotHasKey( 'amountGiven', $returned, "amountGiven should have been removed from the data" ); } - /** - * - */ public function testSetNormalizedAmount_negativeAmount() { $data = $this->testData; $data['amount'] = -1; @@ -307,9 +292,6 @@ class DonationDataTest extends DonationInterfaceTestCase { $this->assertArrayNotHasKey( 'amountOther', $returned, "amountOther should have been removed from the data" ); } - /** - * - */ public function testSetNormalizedAmount_noGoodAmount() { $data = $this->testData; $data['amount'] = 'splunge'; @@ -336,9 +318,6 @@ class DonationDataTest extends DonationInterfaceTestCase { $this->assertEquals( 'USD', $returned['currency'], 'Currency code was not properly reset' ); } - /** - * - */ public function testSetNormalizedLanguage_uselang() { $data = $this->testData; unset( $data['uselang'] ); @@ -352,9 +331,6 @@ class DonationDataTest extends DonationInterfaceTestCase { $this->assertArrayNotHasKey( 'uselang', $returned, "'uselang' should have been removed from the data" ); } - /** - * - */ public function testSetNormalizedLanguage_language() { $data = $this->testData; unset( $data['uselang'] ); diff --git a/tests/phpunit/DonationInterfaceTestCase.php b/tests/phpunit/DonationInterfaceTestCase.php index 9f0c687..181599a 100644 --- a/tests/phpunit/DonationInterfaceTestCase.php +++ b/tests/phpunit/DonationInterfaceTestCase.php @@ -165,7 +165,6 @@ abstract class DonationInterfaceTestCase extends MediaWikiIntegrationTestCase { } /** - * * @param string $country The country we want the test user to be from. * @return array Donor data to use * @throws OutOfBoundsException when there is no data available for the requested country diff --git a/tests/phpunit/LoggingTest.php b/tests/phpunit/LoggingTest.php index 01d99fd..39b2179 100644 --- a/tests/phpunit/LoggingTest.php +++ b/tests/phpunit/LoggingTest.php @@ -18,7 +18,6 @@ use Psr\Log\LogLevel; /** - * * @group Fundraising * @group DonationInterface * @coversNothing diff --git a/tests/phpunit/includes/test_gateway/test.adapter.php b/tests/phpunit/includes/test_gateway/test.adapter.php index 322b161..c4620d6 100644 --- a/tests/phpunit/includes/test_gateway/test.adapter.php +++ b/tests/phpunit/includes/test_gateway/test.adapter.php @@ -13,7 +13,6 @@ * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - * */ trait TTestingAdapter { -- 2.39.5
$ date --- stdout --- Mon Sep 8 01:56:20 UTC 2025 --- end --- $ git clone file:///srv/git/mediawiki-extensions-DonationInterface.git repo --depth=1 -b master --- stderr --- Cloning into 'repo'... --- stdout --- --- end --- $ git config user.name libraryupgrader --- stdout --- --- end --- $ git config user.email tools.libraryupgrader@tools.wmflabs.org --- stdout --- --- end --- $ git submodule update --init --- stdout --- --- end --- $ grr init --- stdout --- Installed commit-msg hook. --- end --- $ git show-ref refs/heads/master --- stdout --- 8caff5c5cc0e1fe7eed3fe157711bad43b54262c refs/heads/master --- end --- $ /usr/bin/npm audit --json --- stdout --- { "auditReportVersion": 2, "vulnerabilities": { "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 } }, "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 } } }, "metadata": { "vulnerabilities": { "info": 0, "low": 0, "moderate": 0, "high": 2, "critical": 4, "total": 6 }, "dependencies": { "prod": 1, "dev": 1112, "optional": 3, "peer": 2, "peerOptional": 0, "total": 1112 } } } --- 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: 74 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 clio/clio (0.1.8) - Locking coderkungfu/php-queue (1.0.1) - Locking composer/ca-bundle (1.5.8) - Locking composer/pcre (3.3.2) - Locking composer/semver (3.4.3) - 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.1.2) - Locking doctrine/deprecations (1.1.5) - 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.12.1) - Locking maxmind/minfraud (v1.23.0) - Locking maxmind/web-service-common (v0.9.0) - Locking mediawiki/mediawiki-codesniffer (v47.0.0) - Locking mediawiki/mediawiki-phan-config (0.17.0) - Locking mediawiki/minus-x (1.1.3) - Locking mediawiki/phan-taint-check-plugin (7.0.0) - Locking microsoft/tolerant-php-parser (v0.1.2) - Locking monolog/monolog (2.10.0) - Locking netresearch/jsonmapper (v4.5.0) - Locking phan/phan (5.5.1) - Locking php-parallel-lint/php-console-color (v1.0.1) - Locking php-parallel-lint/php-console-highlighter (v1.0.0) - Locking php-parallel-lint/php-parallel-lint (v1.4.0) - Locking phpcsstandards/phpcsextra (1.2.1) - Locking phpcsstandards/phpcsutils (1.0.12) - Locking phpdocumentor/reflection-common (2.2.0) - Locking phpdocumentor/reflection-docblock (5.6.3) - Locking phpdocumentor/type-resolver (1.10.0) - Locking phpmailer/phpmailer (v6.10.0) - Locking phpstan/phpdoc-parser (2.3.0) - 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 (0.2.0) - Locking respect/validation (2.4.4) - Locking sabre/event (5.1.7) - Locking squizlabs/php_codesniffer (3.12.2) - Locking symfony/console (v7.3.3) - Locking symfony/deprecation-contracts (v3.6.0) - Locking symfony/http-foundation (v6.4.25) - 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.0) - Locking symfony/string (v7.3.3) - Locking symfony/yaml (v7.3.3) - Locking tysonandre/var_representation_polyfill (0.1.3) - Locking webmozart/assert (1.11.0) - Locking whichbrowser/parser (v2.1.8) - Locking wikimedia/remex-html (5.1.0) - Locking wikimedia/smash-pig (v0.9.7.12) - Locking wikimedia/testing-access-wrapper (3.0.0) - Locking wikimedia/utfnormal (4.0.0) Writing lock file Installing dependencies from lock file (including require-dev) Package operations: 74 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.25) - 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.1) - Syncing amzn/login-and-pay-with-amazon-sdk-php (2.5.0) into cache - Downloading wikimedia/smash-pig (v0.9.7.12) 0/15 [>---------------------------] 0% 4/15 [=======>--------------------] 26% 11/15 [====================>-------] 73% 14/15 [==========================>-] 93% 15/15 [============================] 100% - Installing squizlabs/php_codesniffer (3.12.2): Extracting archive - Installing dealerdirect/phpcodesniffer-composer-installer (v1.1.2): Extracting archive - Installing psr/cache (1.0.1): Extracting archive - Installing addshore/psr-6-mediawiki-bagostuff-adapter (0.1): 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.12.1): Extracting archive - Installing respect/stringifier (0.2.0): Extracting archive - Installing respect/validation (2.4.4): Extracting archive - Installing composer/ca-bundle (1.5.8): 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 symfony/polyfill-php80 (v1.33.0): Extracting archive - Installing phpcsstandards/phpcsutils (1.0.12): Extracting archive - Installing phpcsstandards/phpcsextra (1.2.1): Extracting archive - Installing composer/spdx-licenses (1.5.9): Extracting archive - Installing composer/semver (3.4.3): Extracting archive - Installing mediawiki/mediawiki-codesniffer (v47.0.0): Extracting archive - Installing tysonandre/var_representation_polyfill (0.1.3): 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.3.3): Extracting archive - Installing psr/container (2.0.2): Extracting archive - Installing symfony/service-contracts (v3.6.0): Extracting archive - Installing symfony/console (v7.3.3): 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 (1.11.0): Extracting archive - Installing phpstan/phpdoc-parser (2.3.0): Extracting archive - Installing phpdocumentor/reflection-common (2.2.0): Extracting archive - Installing doctrine/deprecations (1.1.5): Extracting archive - Installing phpdocumentor/type-resolver (1.10.0): Extracting archive - Installing phpdocumentor/reflection-docblock (5.6.3): 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.1): Extracting archive - Installing mediawiki/phan-taint-check-plugin (7.0.0): Extracting archive - Installing mediawiki/mediawiki-phan-config (0.17.0): Extracting archive - Installing mediawiki/minus-x (1.1.3): Extracting archive - Installing monolog/monolog (2.10.0): 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.3.3): Extracting archive - Installing symfony/http-foundation (v6.4.25): Extracting archive - Installing predis/predis (v1.1.10): Extracting archive - Installing phpmailer/phpmailer (v6.10.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.1): Extracting archive - Installing amzn/login-and-pay-with-amazon-sdk-php (2.5.0): Cloning 0c923fe992 from cache - Installing wikimedia/smash-pig (v0.9.7.12): Extracting archive - Installing wikimedia/testing-access-wrapper (3.0.0): Extracting archive 0/71 [>---------------------------] 0% 19/71 [=======>--------------------] 26% 31/71 [============>---------------] 43% 43/71 [================>-----------] 60% 54/71 [=====================>------] 76% 64/71 [=========================>--] 90% 71/71 [============================] 100% 30 package suggestions were added by new dependencies, use `composer suggest` to see details. Generating optimized autoload files Class SmashPig\PaymentProviders\Fundraiseup\Tests\AuditTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Fundraiseup/Tests/phpunit/AuditTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Ingenico\Tests\Manual\TestCreatePayment located in ./vendor/wikimedia/smash-pig/PaymentProviders/Ingenico/Tests/manual/TestCreatePayment.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Ingenico\Tests\IdealStatusProviderTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Ingenico/Tests/phpunit/IdealStatusProviderTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Ingenico\Tests\HostedCheckoutProviderTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Ingenico/Tests/phpunit/HostedCheckoutProviderTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Ingenico\Tests\ApiTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Ingenico/Tests/phpunit/ApiTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Ingenico\Tests\AuditTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Ingenico/Tests/phpunit/AuditTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Ingenico\Tests\AuthenticatorTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Ingenico/Tests/phpunit/AuthenticatorTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Ingenico\Tests\BankPaymentProviderTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Ingenico/Tests/phpunit/BankPaymentProviderTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Ingenico\Tests\PaymentProviderTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Ingenico/Tests/phpunit/PaymentProviderTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Ingenico\Tests\TokenizeRecurringJobTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Ingenico/Tests/phpunit/TokenizeRecurringJobTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Amazon\Tests\RecordPaymentsJobTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Amazon/Tests/phpunit/RecordPaymentsJobTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Amazon\Tests\NormalizeTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Amazon/Tests/phpunit/NormalizeTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Amazon\Tests\ActionsTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Amazon/Tests/phpunit/ActionsTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Amazon\Tests\ApiTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Amazon/Tests/phpunit/ApiTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Amazon\Tests\AuditTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Amazon/Tests/phpunit/AuditTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Adyen\Test\CaptureJobTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/CaptureJobTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Adyen\Test\RestResponseValidatorTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/RestResponseValidatorTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Adyen\Test\CancelRecurringActionTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/CancelRecurringActionTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Adyen\Test\RequeueMessageTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/RequeueMessageTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Adyen\Tests\PaymentCaptureActionTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/PaymentCaptureActionTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Adyen\Test\RecurringContractActionTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/RecurringContractActionTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Adyen\Tests\RefundInitiatedActionTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/RefundInitiatedActionTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Adyen\Test\RecurringContractJobTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/RecurringContractJobTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Adyen\Test\RecurringPaymentTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/RecurringPaymentTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Adyen\Tests\ReferenceDataTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/ReferenceDataTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Adyen\Test\ApiTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/ApiTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Adyen\Test\AutoRescueActionTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/AutoRescueActionTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Adyen\Tests\ChargebackInitiatedActionTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/ChargebackInitiatedActionTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Adyen\Tests\ReportAvailableTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/ReportAvailableTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Adyen\Test\AuditTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/AuditTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Adyen\Test\RecordCaptureJobTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/RecordCaptureJobTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Adyen\Tests\TokenizeRecurringJobTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/TokenizeRecurringJobTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Adyen\Tests\CaptureResponseActionTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/CaptureResponseActionTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Gravy\phpunit\RiskScoresTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Gravy/Tests/phpunit/RiskScoresTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\dlocal\Tests\PaidMessageJobTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/dlocal/Tests/phpunit/PaidMessageJobTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\dlocal\Tests\RestResponseValidatorTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/dlocal/Tests/phpunit/RestResponseValidatorTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\dlocal\Tests\RejectedMessageJobTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/dlocal/Tests/phpunit/RejectedMessageJobTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\dlocal\Tests\SignatureCalculatorTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/dlocal/Tests/phpunit/SignatureCalculatorTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\dlocal\Tests\AuthorizedMessageJobTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/dlocal/Tests/phpunit/AuthorizedMessageJobTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\dlocal\Tests\ApiTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/dlocal/Tests/phpunit/ApiTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\dlocal\Test\AuditTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/dlocal/Tests/phpunit/AuditTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\dlocal\Tests\CardPaymentProviderTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/dlocal/Tests/phpunit/CardPaymentProviderTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\PayPal\Tests\CaptureIncomingMessageTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/PayPal/Tests/phpunit/CaptureIncomingMessageTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\PayPal\Tests\PaymentProviderTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/PayPal/Tests/phpunit/PaymentProviderTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Braintree\Tests\SignatureValidatorTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Braintree/Tests/phpunit/SignatureValidatorTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Braintree\Tests\PayPalPaymentProviderTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Braintree/Tests/phpunit/PayPalPaymentProviderTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Braintree\Tests\VenmoPaymentProviderTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Braintree/Tests/phpunit/VenmoPaymentProviderTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Braintree\Tests\ApiTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Braintree/Tests/phpunit/ApiTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Braintree\Test\AuditTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Braintree/Tests/phpunit/AuditTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Braintree\Tests\PaymentProviderTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Braintree/Tests/phpunit/PaymentProviderTest.php does not comply with psr-4 autoloading standard. Skipping. 29 packages you are using are looking for funding. Use the `composer fund` command to find out more! --- stdout --- PHP CodeSniffer Config installed_paths set to ../../mediawiki/mediawiki-codesniffer,../../phpcsstandards/phpcsextra,../../phpcsstandards/phpcsutils --- end --- Upgrading c:mediawiki/mediawiki-codesniffer from 47.0.0 -> 48.0.0 $ /usr/bin/composer update --- stderr --- Loading composer repositories with package information Updating dependencies Lock file operations: 0 installs, 5 updates, 0 removals - Upgrading composer/semver (3.4.3 => 3.4.4) - Upgrading mediawiki/mediawiki-codesniffer (v47.0.0 => v48.0.0) - Upgrading phpcsstandards/phpcsextra (1.2.1 => 1.4.0) - Upgrading phpcsstandards/phpcsutils (1.0.12 => 1.1.1) - Upgrading squizlabs/php_codesniffer (3.12.2 => 3.13.2) Writing lock file Installing dependencies from lock file (including require-dev) Package operations: 0 installs, 5 updates, 0 removals 0 [>---------------------------] 0 [->--------------------------] - Upgrading squizlabs/php_codesniffer (3.12.2 => 3.13.2): Extracting archive - Upgrading phpcsstandards/phpcsutils (1.0.12 => 1.1.1): Extracting archive - Upgrading phpcsstandards/phpcsextra (1.2.1 => 1.4.0): Extracting archive - Upgrading composer/semver (3.4.3 => 3.4.4): Extracting archive - Upgrading mediawiki/mediawiki-codesniffer (v47.0.0 => v48.0.0): Extracting archive 0/5 [>---------------------------] 0% 4/5 [======================>-----] 80% 5/5 [============================] 100% Generating optimized autoload files Class SmashPig\PaymentProviders\Fundraiseup\Tests\AuditTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Fundraiseup/Tests/phpunit/AuditTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Ingenico\Tests\Manual\TestCreatePayment located in ./vendor/wikimedia/smash-pig/PaymentProviders/Ingenico/Tests/manual/TestCreatePayment.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Ingenico\Tests\IdealStatusProviderTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Ingenico/Tests/phpunit/IdealStatusProviderTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Ingenico\Tests\HostedCheckoutProviderTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Ingenico/Tests/phpunit/HostedCheckoutProviderTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Ingenico\Tests\ApiTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Ingenico/Tests/phpunit/ApiTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Ingenico\Tests\AuditTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Ingenico/Tests/phpunit/AuditTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Ingenico\Tests\AuthenticatorTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Ingenico/Tests/phpunit/AuthenticatorTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Ingenico\Tests\BankPaymentProviderTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Ingenico/Tests/phpunit/BankPaymentProviderTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Ingenico\Tests\PaymentProviderTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Ingenico/Tests/phpunit/PaymentProviderTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Ingenico\Tests\TokenizeRecurringJobTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Ingenico/Tests/phpunit/TokenizeRecurringJobTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Amazon\Tests\RecordPaymentsJobTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Amazon/Tests/phpunit/RecordPaymentsJobTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Amazon\Tests\NormalizeTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Amazon/Tests/phpunit/NormalizeTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Amazon\Tests\ActionsTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Amazon/Tests/phpunit/ActionsTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Amazon\Tests\ApiTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Amazon/Tests/phpunit/ApiTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Amazon\Tests\AuditTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Amazon/Tests/phpunit/AuditTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Adyen\Test\CaptureJobTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/CaptureJobTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Adyen\Test\RestResponseValidatorTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/RestResponseValidatorTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Adyen\Test\CancelRecurringActionTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/CancelRecurringActionTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Adyen\Test\RequeueMessageTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/RequeueMessageTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Adyen\Tests\PaymentCaptureActionTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/PaymentCaptureActionTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Adyen\Test\RecurringContractActionTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/RecurringContractActionTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Adyen\Tests\RefundInitiatedActionTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/RefundInitiatedActionTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Adyen\Test\RecurringContractJobTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/RecurringContractJobTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Adyen\Test\RecurringPaymentTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/RecurringPaymentTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Adyen\Tests\ReferenceDataTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/ReferenceDataTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Adyen\Test\ApiTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/ApiTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Adyen\Test\AutoRescueActionTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/AutoRescueActionTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Adyen\Tests\ChargebackInitiatedActionTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/ChargebackInitiatedActionTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Adyen\Tests\ReportAvailableTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/ReportAvailableTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Adyen\Test\AuditTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/AuditTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Adyen\Test\RecordCaptureJobTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/RecordCaptureJobTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Adyen\Tests\TokenizeRecurringJobTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/TokenizeRecurringJobTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Adyen\Tests\CaptureResponseActionTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/CaptureResponseActionTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Gravy\phpunit\RiskScoresTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Gravy/Tests/phpunit/RiskScoresTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\dlocal\Tests\PaidMessageJobTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/dlocal/Tests/phpunit/PaidMessageJobTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\dlocal\Tests\RestResponseValidatorTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/dlocal/Tests/phpunit/RestResponseValidatorTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\dlocal\Tests\RejectedMessageJobTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/dlocal/Tests/phpunit/RejectedMessageJobTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\dlocal\Tests\SignatureCalculatorTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/dlocal/Tests/phpunit/SignatureCalculatorTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\dlocal\Tests\AuthorizedMessageJobTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/dlocal/Tests/phpunit/AuthorizedMessageJobTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\dlocal\Tests\ApiTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/dlocal/Tests/phpunit/ApiTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\dlocal\Test\AuditTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/dlocal/Tests/phpunit/AuditTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\dlocal\Tests\CardPaymentProviderTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/dlocal/Tests/phpunit/CardPaymentProviderTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\PayPal\Tests\CaptureIncomingMessageTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/PayPal/Tests/phpunit/CaptureIncomingMessageTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\PayPal\Tests\PaymentProviderTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/PayPal/Tests/phpunit/PaymentProviderTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Braintree\Tests\SignatureValidatorTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Braintree/Tests/phpunit/SignatureValidatorTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Braintree\Tests\PayPalPaymentProviderTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Braintree/Tests/phpunit/PayPalPaymentProviderTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Braintree\Tests\VenmoPaymentProviderTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Braintree/Tests/phpunit/VenmoPaymentProviderTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Braintree\Tests\ApiTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Braintree/Tests/phpunit/ApiTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Braintree\Test\AuditTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Braintree/Tests/phpunit/AuditTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Braintree\Tests\PaymentProviderTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Braintree/Tests/phpunit/PaymentProviderTest.php does not comply with psr-4 autoloading standard. Skipping. 29 packages you are using are looking for funding. Use the `composer fund` command to find out more! No security vulnerability advisories found --- stdout --- PHP CodeSniffer Config installed_paths set to ../../mediawiki/mediawiki-codesniffer,../../phpcsstandards/phpcsextra,../../phpcsstandards/phpcsutils --- end --- Previously failing phpcs rules: {'MediaWiki.Files.ClassMatchesFilename.NotMatch', 'PSR12.Properties.ConstantVisibility.NotFound', 'Squiz.Classes.ValidClassName.NotCamelCaps', 'MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName', 'MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment'} $ vendor/bin/phpcs --report=json --- stdout --- {"totals":{"errors":113,"warnings":202,"fixable":38},"files":{"\/src\/repo\/gateway_common\/LogPrefixProvider.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\/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.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\/dlocal_gateway\/dlocal_gateway.alias.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/Simple3DSecure.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/TestCrash.php":{"errors":0,"warnings":0,"messages":[]},"\/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\/DonorLanguage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/RecurringConversion.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/FallbackLogPrefixer.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/DonationLogProcessor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/IsoDate.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/ResponseProcessingException.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\/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\/gateway_common\/ReturnUrl.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/paypal_ec_gateway\/paypal_gateway.alias.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/CurrencyCountryRule.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/DonationInterface.alias.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/UnstagingHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/DonorLocale.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/DonationLoggerFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/ErrorState.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/StagingHelper.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\/special\/SystemStatus.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\/gravy_gateway\/PlaceholderPhoneNumber.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\/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\/DonorFullName.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\/modules\/CurrencyRatesModule.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/email_forms\/RequestNewChecksumLinkTrait.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiClientErrorBase.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\/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\/employerSearch.api.php":{"errors":1,"warnings":4,"messages":[{"message":"Doc comments must not end with multiple empty lines","source":"MediaWiki.Commenting.ClassDocumentation.EmptyLinesEnd","severity":5,"fixable":true,"type":"WARNING","line":16,"column":2},{"message":"Class name 'EmployerSearchAPI' does not match filename 'employerSearch.api.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":32,"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":42,"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\/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\/amazon_gateway\/amazon_gateway.body.php":{"errors":2,"warnings":1,"messages":[{"message":"If this is a class comment, it must have no blank lines after; if it is a stray comment, it must not use \"\/**\" style comments","source":"MediaWiki.Commenting.CommentBeforeClass.SpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":2,"column":1},{"message":"Doc comments must not end with multiple empty lines","source":"MediaWiki.Commenting.ClassDocumentation.EmptyLinesEnd","severity":5,"fixable":true,"type":"WARNING","line":17,"column":2},{"message":"Class name 'AmazonGateway' does not match filename 'amazon_gateway.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":19,"column":1}]},"\/src\/repo\/amazon_gateway\/amazon_gateway.alias.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/FiscalNumber.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/email_forms\/DonorPortalForm.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\/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\/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\/gateway_common\/AmountInCents.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/IngenicoLocaleTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiRequestCancelRecurring.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/includes\/test_gateway\/TestingDlocalAdapter.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":108,"column":12}]},"\/src\/repo\/tests\/phpunit\/includes\/TestingDonationLogger.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/DonorPortal\/Hooks.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/extras\/FraudFilter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/ArrayHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/BaseAdyenCheckoutTestCase.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\/StreetNumberValidation.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/PaymentResult.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/DonorLocaleTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/StreetAddressValidation.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/Frictionless3DSecure.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_forms\/includes\/Subdivisions.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/DonationProfiler.php":{"errors":1,"warnings":0,"messages":[{"message":"If this is a class comment, it must have no blank lines after; if it is a stray comment, it must not use \"\/**\" style comments","source":"MediaWiki.Commenting.CommentBeforeClass.SpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":5,"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\/tests\/phpunit\/includes\/test_gateway\/TestingGenericAdapter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/ConfigurationReader.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiRequestNewChecksumLink.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/includes\/TestingGatewayPage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/PostalCodeValidation.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/Abstract3DSecure.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\/ingenico_gateway\/IngenicoLocale.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\/EmployerFieldValidation.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":84,"column":18}]},"\/src\/repo\/tests\/phpunit\/DonationQueueTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gravy_gateway\/gravy_gateway.body.php":{"errors":1,"warnings":4,"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},{"message":"Doc comments must not start with multiple empty lines","source":"MediaWiki.Commenting.FunctionComment.EmptyLinesStart","severity":5,"fixable":true,"type":"WARNING","line":145,"column":5},{"message":"Doc comments must not start with multiple empty lines","source":"MediaWiki.Commenting.FunctionComment.EmptyLinesStart","severity":5,"fixable":true,"type":"WARNING","line":153,"column":5},{"message":"Doc comments must not start with multiple empty lines","source":"MediaWiki.Commenting.FunctionComment.EmptyLinesStart","severity":5,"fixable":true,"type":"WARNING","line":162,"column":5},{"message":"Doc comments must not start with multiple empty lines","source":"MediaWiki.Commenting.FunctionComment.EmptyLinesStart","severity":5,"fixable":true,"type":"WARNING","line":170,"column":5}]},"\/src\/repo\/tests\/phpunit\/Adapter\/Ingenico\/RealTimeBankTransferIdealTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Doc comments must not start with multiple empty lines","source":"MediaWiki.Commenting.ClassDocumentation.EmptyLinesStart","severity":5,"fixable":true,"type":"WARNING","line":24,"column":1}]},"\/src\/repo\/braintree_gateway\/braintree.adapter.php":{"errors":1,"warnings":7,"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":"Doc comments must not start with multiple empty lines","source":"MediaWiki.Commenting.FunctionComment.EmptyLinesStart","severity":5,"fixable":true,"type":"WARNING","line":30,"column":5},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":52,"column":78},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":57,"column":55},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":58,"column":74}]},"\/src\/repo\/gateway_common\/PaymentTransactionResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiDonationClientError.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\/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\/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\/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\/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":5,"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":5,"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":8,"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},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":40,"column":50}]},"\/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\/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\/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\/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\/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\/tests\/phpunit\/IntegrationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/paypal_ec_gateway\/PaypalExpressReturnUrl.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/LocalClusterPsr6Cache.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/ingenico_gateway\/IngenicoFormVariant.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":83,"column":28}]},"\/src\/repo\/tests\/phpunit\/DonationMessageTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/adyen_gateway\/BlankAddressFields.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\/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\/dlocal_gateway\/dlocal.adapter.php":{"errors":1,"warnings":4,"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},{"message":"Doc comments must not start with multiple empty lines","source":"MediaWiki.Commenting.FunctionComment.EmptyLinesStart","severity":5,"fixable":true,"type":"WARNING","line":196,"column":5}]},"\/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":1,"messages":[{"message":"Doc comments must not start with multiple empty lines","source":"MediaWiki.Commenting.ClassDocumentation.EmptyLinesStart","severity":5,"fixable":true,"type":"WARNING","line":22,"column":1}]},"\/src\/repo\/tests\/phpunit\/BaseIngenicoTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Adapter\/Ingenico\/RecurringTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Doc comments must not start with multiple empty lines","source":"MediaWiki.Commenting.ClassDocumentation.EmptyLinesStart","severity":5,"fixable":true,"type":"WARNING","line":21,"column":1}]},"\/src\/repo\/tests\/phpunit\/GatewayValidationTest.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\/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":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":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":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":20,"column":5}]},"\/src\/repo\/gateway_forms\/MustacheErrorForm.php":{"errors":0,"warnings":0,"messages":[]},"\/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\/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\/ingenico_gateway\/ingenico_gateway.alias.php":{"errors":0,"warnings":0,"messages":[]},"\/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":115,"column":34},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":116,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":117,"column":39},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":119,"column":47},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":120,"column":51},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":131,"column":46},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":137,"column":33}]},"\/src\/repo\/gateway_common\/PaymentMethod.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\/special\/FundraiserMaintenance.php":{"errors":0,"warnings":1,"messages":[{"message":"Doc comments must not start with multiple empty lines","source":"MediaWiki.Commenting.ClassDocumentation.EmptyLinesStart","severity":5,"fixable":true,"type":"WARNING","line":5,"column":1}]},"\/src\/repo\/tests\/phpunit\/includes\/test_gateway\/TestingPaypalExpressAdapter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/GatewayPageTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Adapter\/Gravy\/PaypalTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Adapter\/Amazon\/AmazonApiTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/special\/PaymentSettings.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/includes\/test_gateway\/test.adapter.php":{"errors":2,"warnings":1,"messages":[{"message":"If this is a class comment, it must have no blank lines after; if it is a stray comment, it must not use \"\/**\" style comments","source":"MediaWiki.Commenting.CommentBeforeClass.SpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":2,"column":1},{"message":"Doc comments must not end with multiple empty lines","source":"MediaWiki.Commenting.ClassDocumentation.EmptyLinesEnd","severity":5,"fixable":true,"type":"WARNING","line":17,"column":2},{"message":"Class name 'TTestingAdapter' does not match filename 'test.adapter.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":19,"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\/includes\/RecurUpgrade\/Validator.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\/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\/DataValidator.php":{"errors":16,"warnings":6,"messages":[{"message":"Method name \"validate_email\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":275,"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":281,"column":22},{"message":"Method name \"validate_credit_card\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":295,"column":22},{"message":"Method name \"validate_boolean\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":309,"column":22},{"message":"Method name \"validate_numeric\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":329,"column":22},{"message":"Method name \"validate_gateway\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":344,"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":358,"column":22},{"message":"Method name \"validate_alphanumeric\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":371,"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":383,"column":19},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":384,"column":48},{"message":"Method name \"validate_name\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":399,"column":19},{"message":"Method name \"validate_address\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":409,"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":427,"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":450,"column":19},{"message":"Method name \"luhn_check\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":513,"column":19},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":541,"column":64},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":543,"column":71},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":545,"column":78},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":547,"column":83},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":549,"column":18},{"message":"Method name \"ip_is_listed\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":606,"column":19},{"message":"Method name \"value_appears_in\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":628,"column":19}]},"\/src\/repo\/gateway_common\/ClientSideValidationHelper.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\/tests\/phpunit\/LoggingTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Doc comments must not start with multiple empty lines","source":"MediaWiki.Commenting.ClassDocumentation.EmptyLinesStart","severity":5,"fixable":true,"type":"WARNING","line":20,"column":1}]},"\/src\/repo\/tests\/phpunit\/MustacheFormTest.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\/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\/FraudFiltersTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/CountryValidation.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\/Adapter\/Gravy\/SecureFieldsCardTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/EmailPreferencesTest.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":94,"column":66}]},"\/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\/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\/LintYaml.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\/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\/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\/gateway_common\/ResultSwitcher.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/adyen_gateway\/EncryptedCardParameters.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/DonationDataTest.php":{"errors":0,"warnings":19,"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":"Doc comment must not be empty","source":"MediaWiki.Commenting.FunctionComment.EmptyComment","severity":5,"fixable":true,"type":"WARNING","line":227,"column":5},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":243,"column":102},{"message":"Doc comment must not be empty","source":"MediaWiki.Commenting.FunctionComment.EmptyComment","severity":5,"fixable":true,"type":"WARNING","line":259,"column":5},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":266,"column":98},{"message":"Doc comment must not be empty","source":"MediaWiki.Commenting.FunctionComment.EmptyComment","severity":5,"fixable":true,"type":"WARNING","line":271,"column":5},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":278,"column":98},{"message":"Doc comment must not be empty","source":"MediaWiki.Commenting.FunctionComment.EmptyComment","severity":5,"fixable":true,"type":"WARNING","line":284,"column":5},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":291,"column":98},{"message":"Doc comment must not be empty","source":"MediaWiki.Commenting.FunctionComment.EmptyComment","severity":5,"fixable":true,"type":"WARNING","line":297,"column":5},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":304,"column":98},{"message":"Doc comment must not be empty","source":"MediaWiki.Commenting.FunctionComment.EmptyComment","severity":5,"fixable":true,"type":"WARNING","line":310,"column":5},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":318,"column":98},{"message":"Doc comment must not be empty","source":"MediaWiki.Commenting.FunctionComment.EmptyComment","severity":5,"fixable":true,"type":"WARNING","line":339,"column":5},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":349,"column":98},{"message":"Doc comment must not be empty","source":"MediaWiki.Commenting.FunctionComment.EmptyComment","severity":5,"fixable":true,"type":"WARNING","line":355,"column":5},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":365,"column":98}]},"\/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\/tests\/phpunit\/BaseGravyTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Adapter\/Gravy\/ApplePayTest.php":{"errors":0,"warnings":0,"messages":[]},"\/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\/tests\/phpunit\/Adapter\/Adyen\/CheckoutIdealTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Doc comments must not end with multiple empty lines","source":"MediaWiki.Commenting.FunctionComment.EmptyLinesEnd","severity":5,"fixable":true,"type":"WARNING","line":227,"column":6}]},"\/src\/repo\/tests\/phpunit\/Adapter\/Amazon\/AmazonTest.php":{"errors":0,"warnings":6,"messages":[{"message":"Doc comments must not start with multiple empty lines","source":"MediaWiki.Commenting.ClassDocumentation.EmptyLinesStart","severity":5,"fixable":true,"type":"WARNING","line":25,"column":1},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":135,"column":63},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":165,"column":63},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":192,"column":63},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":217,"column":63},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":246,"column":63}]},"\/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\/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":19,"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\/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":"Doc comments must not end with multiple empty lines","source":"MediaWiki.Commenting.FunctionComment.EmptyLinesEnd","severity":5,"fixable":true,"type":"WARNING","line":444,"column":6}]},"\/src\/repo\/extras\/session_velocity\/session_velocity.body.php":{"errors":3,"warnings":5,"messages":[{"message":"If this is a class comment, it must have no blank lines after; if it is a stray comment, it must not use \"\/**\" style comments","source":"MediaWiki.Commenting.CommentBeforeClass.SpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":5,"column":1},{"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":19,"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":19,"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":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},{"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}]},"\/src\/repo\/.phan\/config.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Adapter\/GatewayAdapterTest.php":{"errors":1,"warnings":7,"messages":[{"message":"Doc comments must not start with multiple empty lines","source":"MediaWiki.Commenting.FunctionComment.EmptyLinesStart","severity":5,"fixable":true,"type":"WARNING","line":45,"column":5},{"message":"Doc comments must not start with multiple empty lines","source":"MediaWiki.Commenting.FunctionComment.EmptyLinesStart","severity":5,"fixable":true,"type":"WARNING","line":199,"column":5},{"message":"Method name \"TestSetValidationAction\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":504,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":532,"column":39},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":566,"column":39},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":582,"column":65},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":600,"column":39},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":631,"column":39}]},"\/src\/repo\/tests\/phpunit\/Adapter\/Gravy\/GravyFormLoadTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Doc comments must not start with multiple empty lines","source":"MediaWiki.Commenting.ClassDocumentation.EmptyLinesStart","severity":5,"fixable":true,"type":"WARNING","line":22,"column":1}]},"\/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\/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\/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\/Adyen\/AdyenSubmitApiTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/IPVelocityTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/DonationData.php":{"errors":0,"warnings":24,"messages":[{"message":"Use @todo annotation instead of @TODO:","source":"MediaWiki.Commenting.PropertyAnnotations.NonNormalizedAnnotation","severity":5,"fixable":true,"type":"WARNING","line":40,"column":8},{"message":"Use @todo annotation instead of @TODO","source":"MediaWiki.Commenting.PropertyAnnotations.NonNormalizedAnnotation","severity":5,"fixable":true,"type":"WARNING","line":44,"column":8},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":58,"column":30},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":66,"column":24},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":67,"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":76,"column":24},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":81,"column":24},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":84,"column":21},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":101,"column":31},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":105,"column":25},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":120,"column":29},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":123,"column":26},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":124,"column":25},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":128,"column":26},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":131,"column":29},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":136,"column":22},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":364,"column":41},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":392,"column":72},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":397,"column":50},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":403,"column":34},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":404,"column":39},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":521,"column":45},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":585,"column":28}]},"\/src\/repo\/tests\/phpunit\/Adapter\/Gravy\/GooglePayTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/AmountTest.php":{"errors":0,"warnings":0,"messages":[]},"\/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\/Gravy\/RedirectFormTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/MessageUtils.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":135},{"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\/DonationInterfaceApiTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Adapter\/PayPal\/PayPalExpressTest.php":{"errors":0,"warnings":7,"messages":[{"message":"Doc comments must not start with multiple empty lines","source":"MediaWiki.Commenting.ClassDocumentation.EmptyLinesStart","severity":5,"fixable":true,"type":"WARNING","line":34,"column":1},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":121,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":211,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":356,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":966,"column":45},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1029,"column":45},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1065,"column":45}]},"\/src\/repo\/tests\/phpunit\/BaseDlocalTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/CiviproxyConnectTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Adapter\/PayPal\/PayPalApiTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Adapter\/Ingenico\/IngenicoTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Doc comments must not start with multiple empty lines","source":"MediaWiki.Commenting.ClassDocumentation.EmptyLinesStart","severity":5,"fixable":true,"type":"WARNING","line":29,"column":1}]},"\/src\/repo\/tests\/phpunit\/DonationInterfaceTestCase.php":{"errors":0,"warnings":3,"messages":[{"message":"Doc comments must not start with multiple empty lines","source":"MediaWiki.Commenting.FunctionComment.EmptyLinesStart","severity":5,"fixable":true,"type":"WARNING","line":167,"column":5},{"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":686,"column":51}]},"\/src\/repo\/tests\/phpunit\/Adapter\/Adyen\/CheckoutCardTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Doc comments must not end with multiple empty lines","source":"MediaWiki.Commenting.FunctionComment.EmptyLinesEnd","severity":5,"fixable":true,"type":"WARNING","line":482,"column":6}]},"\/src\/repo\/tests\/phpunit\/Adapter\/Adyen\/AdyenRecurringTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Adapter\/Braintree\/PaypalPaymentTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Doc comments must not end with multiple empty lines","source":"MediaWiki.Commenting.FunctionComment.EmptyLinesEnd","severity":5,"fixable":true,"type":"WARNING","line":256,"column":6}]},"\/src\/repo\/tests\/phpunit\/Adapter\/Adyen\/AdyenGetPaymentMethodsApiTest.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\/IngenicoApiTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Doc comments must not end with multiple empty lines","source":"MediaWiki.Commenting.FunctionComment.EmptyLinesEnd","severity":5,"fixable":true,"type":"WARNING","line":322,"column":6}]},"\/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":20,"warnings":26,"messages":[{"message":"Doc comments must not end with multiple empty lines","source":"MediaWiki.Commenting.ClassDocumentation.EmptyLinesEnd","severity":5,"fixable":true,"type":"WARNING","line":38,"column":2},{"message":"Class name 'GatewayAdapter' does not match filename 'gateway.adapter.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":39,"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":43,"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":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":183,"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":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":185,"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":186,"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":187,"column":5},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":225,"column":41},{"message":"Method name \"getData_Staged\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":489,"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":582,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1122,"column":25},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1499,"column":61},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1520,"column":59},{"message":"Doc comments must not end with multiple empty lines","source":"MediaWiki.Commenting.FunctionComment.EmptyLinesEnd","severity":5,"fixable":true,"type":"WARNING","line":1580,"column":6},{"message":"Method name \"transaction_option\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":1608,"column":15},{"message":"Method name \"session_ensure\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2160,"column":12},{"message":"Method name \"session_getData\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2171,"column":12},{"message":"Method name \"session_hasDonorData\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2192,"column":12},{"message":"Method name \"session_setDonorBackupData\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2201,"column":12},{"message":"Method name \"session_unsetDonorData\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2210,"column":12},{"message":"Method name \"session_addDonorData\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2220,"column":12},{"message":"Method name \"session_killAllEverything\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2238,"column":12},{"message":"Method name \"session_unsetAllData\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2250,"column":12},{"message":"Method name \"session_resetForNewAttempt\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2266,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2283,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2287,"column":28},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2295,"column":40},{"message":"Method name \"session_resetOnSwitch\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2330,"column":15},{"message":"Method name \"token_applyMD5AndSalt\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2398,"column":22},{"message":"Method name \"token_generateToken\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2416,"column":19},{"message":"Method name \"token_getSaltedSessionToken\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2421,"column":12},{"message":"Method name \"token_refreshAllTokenEverything\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2443,"column":15},{"message":"Method name \"token_matchEditToken\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2463,"column":15},{"message":"Method name \"token_checkTokens\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2488,"column":15},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2489,"column":31},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2528,"column":64},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2626,"column":106},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2684,"column":39},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2698,"column":59},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2751,"column":45},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2752,"column":39},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2893,"column":27},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2906,"column":27}]}}} --- end --- PHPCS run failed $ vendor/bin/phpcbf --- stdout --- PHPCBF RESULT SUMMARY -------------------------------------------------------------------------------- FILE FIXED REMAINING -------------------------------------------------------------------------------- /src/repo/amazon_gateway/amazon_gateway.body.php 1 2 .../phpunit/Adapter/Ingenico/RealTimeBankTransferIdealTest.php 1 0 /src/repo/gateway_common/employerSearch.api.php 1 4 /src/repo/tests/phpunit/includes/test_gateway/test.adapter.php 1 2 /src/repo/special/FundraiserMaintenance.php 1 0 /src/repo/gravy_gateway/gravy_gateway.body.php 4 1 /src/repo/tests/phpunit/LoggingTest.php 1 0 /src/repo/tests/phpunit/Adapter/Ingenico/RecurringTest.php 1 0 /src/repo/tests/phpunit/Adapter/Adyen/AdyenFormLoadTest.php 1 0 /src/repo/braintree_gateway/braintree.adapter.php 1 7 /src/repo/dlocal_gateway/dlocal.adapter.php 1 4 /src/repo/adyen_gateway/adyen_checkout.adapter.php 1 1 /src/repo/tests/phpunit/Adapter/Amazon/AmazonTest.php 1 5 /src/repo/tests/phpunit/Adapter/Adyen/CheckoutIdealTest.php 1 0 /src/repo/tests/phpunit/Adapter/GatewayAdapterTest.php 2 6 /src/repo/tests/phpunit/Adapter/Gravy/GravyFormLoadTest.php 1 0 /src/repo/gateway_common/DonationData.php 2 22 /src/repo/tests/phpunit/DonationDataTest.php 8 11 /src/repo/tests/phpunit/Adapter/PayPal/PayPalExpressTest.php 1 6 /src/repo/tests/phpunit/Adapter/Adyen/CheckoutCardTest.php 1 0 /src/repo/tests/phpunit/Adapter/Ingenico/IngenicoTest.php 1 0 .../repo/tests/phpunit/Adapter/Braintree/PaypalPaymentTest.php 1 0 /src/repo/tests/phpunit/Adapter/Ingenico/IngenicoApiTest.php 1 0 /src/repo/tests/phpunit/DonationInterfaceTestCase.php 1 2 /src/repo/gateway_common/gateway.adapter.php 2 44 -------------------------------------------------------------------------------- A TOTAL OF 38 ERRORS WERE FIXED IN 25 FILES -------------------------------------------------------------------------------- Time: 4.77 secs; Memory: 8MB --- end --- $ vendor/bin/phpcs --report=json --- stdout --- {"totals":{"errors":113,"warnings":164,"fixable":0},"files":{"\/src\/repo\/gateway_common\/FallbackLogPrefixer.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\/gateway_common\/LogPrefixProvider.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\/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\/Simple3DSecure.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/maintenance\/TestCrash.php":{"errors":0,"warnings":0,"messages":[]},"\/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\/DonorLanguage.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/RecurringConversion.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\/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\/gateway_common\/IsoDate.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/ResponseProcessingException.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/paypal_ec_gateway\/paypal_gateway.alias.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/CurrencyCountryRule.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/DonationLogProcessor.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/ReturnUrl.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/DonationInterface.alias.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/UnstagingHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/DonorLocale.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\/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\/DonationLoggerFactory.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/special\/SystemStatus.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/StagingHelper.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\/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\/ErrorState.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/FiscalNumber.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\/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\/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\/modules\/CurrencyRatesModule.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiClientErrorBase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gravy_gateway\/PlaceholderPhoneNumber.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\/amazon_gateway\/amazon_gateway.body.php":{"errors":2,"warnings":0,"messages":[{"message":"If this is a class comment, it must have no blank lines after; if it is a stray comment, it must not use \"\/**\" style comments","source":"MediaWiki.Commenting.CommentBeforeClass.SpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":2,"column":1},{"message":"Class name 'AmazonGateway' does not match filename 'amazon_gateway.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":18,"column":1}]},"\/src\/repo\/extras\/FraudFilter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/amazon_gateway\/amazon_gateway.alias.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/email_forms\/RequestNewChecksumLinkTrait.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\/DonorFullName.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\/DonationApiBase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/ValidationHelper.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\/email_forms\/DonorPortalForm.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/ArrayHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/includes\/test_gateway\/TestingDlocalAdapter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/DonorPortal\/Hooks.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/IngenicoLocaleTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiRequestCancelRecurring.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/Frictionless3DSecure.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/DonorLocaleTest.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\/tests\/phpunit\/BaseAdyenCheckoutTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/includes\/TestingDonationLogger.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/AmountInCents.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/DonationProfiler.php":{"errors":1,"warnings":0,"messages":[{"message":"If this is a class comment, it must have no blank lines after; if it is a stray comment, it must not use \"\/**\" style comments","source":"MediaWiki.Commenting.CommentBeforeClass.SpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":5,"column":1}]},"\/src\/repo\/gateway_forms\/includes\/Subdivisions.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\/tests\/phpunit\/includes\/test_gateway\/TestingGenericAdapter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/includes\/TestingGatewayPage.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":84,"column":18}]},"\/src\/repo\/gateway_common\/EmployerFieldValidation.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Api\/ApiRequestNewChecksumLink.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/StreetAddressValidation.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\/PaymentResult.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":108,"column":12}]},"\/src\/repo\/gateway_common\/PaymentTransactionResponse.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/LocalClusterPsr6Cache.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/StreetNumberValidation.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Adapter\/Ingenico\/RealTimeBankTransferIdealTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/DonationQueueTest.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\/gateway_common\/ConfigurationReader.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\/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\/includes\/Api\/ApiDonationClientError.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/Abstract3DSecure.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\/adyen_gateway\/BlankAddressFields.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\/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":5,"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":5,"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":8,"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},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":40,"column":50}]},"\/src\/repo\/gateway_common\/PostalCodeValidation.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\/ingenico_gateway\/IngenicoLocale.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":83,"column":28}]},"\/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\/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\/tests\/phpunit\/IntegrationTest.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\/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\/DonationMessageTest.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\/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\/BaseIngenicoTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Adapter\/Ingenico\/RecurringTest.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\/ingenico_gateway\/IngenicoFormVariant.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/ingenico_gateway\/IngenicoReturnUrlHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_forms\/MustacheHelper.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\/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\/paypal_ec_gateway\/PaypalExpressReturnUrl.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/ingenico_gateway\/Ingenico3DSecure.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/PaymentMethod.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/GatewayValidationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Adapter\/Adyen\/AdyenFormLoadTest.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\/tests\/phpunit\/Adapter\/Amazon\/AmazonApiTest.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\/tests\/phpunit\/Adapter\/Gravy\/PaypalTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/RecurUpgrade\/Validator.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\/tests\/phpunit\/GatewayPageTest.php":{"errors":0,"warnings":0,"messages":[]},"\/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":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":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":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":20,"column":5}]},"\/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":115,"column":34},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":116,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":117,"column":39},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":119,"column":47},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":120,"column":51},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":131,"column":46},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":137,"column":33}]},"\/src\/repo\/tests\/phpunit\/includes\/test_gateway\/TestingPaypalExpressAdapter.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_forms\/MustacheErrorForm.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/special\/FundraiserMaintenance.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/special\/PaymentSettings.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/includes\/test_gateway\/test.adapter.php":{"errors":2,"warnings":0,"messages":[{"message":"If this is a class comment, it must have no blank lines after; if it is a stray comment, it must not use \"\/**\" style comments","source":"MediaWiki.Commenting.CommentBeforeClass.SpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":2,"column":1},{"message":"Class name 'TTestingAdapter' does not match filename 'test.adapter.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":18,"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\/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\/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\/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\/tests\/phpunit\/MustacheFormTest.php":{"errors":0,"warnings":0,"messages":[]},"\/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\/tests\/phpunit\/LoggingTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/DataValidator.php":{"errors":16,"warnings":6,"messages":[{"message":"Method name \"validate_email\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":275,"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":281,"column":22},{"message":"Method name \"validate_credit_card\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":295,"column":22},{"message":"Method name \"validate_boolean\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":309,"column":22},{"message":"Method name \"validate_numeric\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":329,"column":22},{"message":"Method name \"validate_gateway\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":344,"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":358,"column":22},{"message":"Method name \"validate_alphanumeric\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":371,"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":383,"column":19},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":384,"column":48},{"message":"Method name \"validate_name\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":399,"column":19},{"message":"Method name \"validate_address\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":409,"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":427,"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":450,"column":19},{"message":"Method name \"luhn_check\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":513,"column":19},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":541,"column":64},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":543,"column":71},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":545,"column":78},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":547,"column":83},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":549,"column":18},{"message":"Method name \"ip_is_listed\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":606,"column":19},{"message":"Method name \"value_appears_in\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":628,"column":19}]},"\/src\/repo\/gateway_common\/ClientSideValidationHelper.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/CountryValidation.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\/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\/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\/EmailPreferencesTest.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":94,"column":66}]},"\/src\/repo\/tests\/phpunit\/Adapter\/Gravy\/SecureFieldsCardTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/FraudFiltersTest.php":{"errors":0,"warnings":0,"messages":[]},"\/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\/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\/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\/adyen_gateway\/adyen_gateway.alias.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/LintYaml.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/adyen_gateway\/EncryptedCardParameters.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/adyen_gateway\/adyen_checkout.adapter.php":{"errors":1,"warnings":0,"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}]},"\/src\/repo\/tests\/phpunit\/Adapter\/Dlocal\/CardPaymentTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/ResultSwitcher.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\/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":19,"column":1}]},"\/src\/repo\/tests\/phpunit\/Adapter\/Gravy\/ApplePayTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/unit\/RecurUpgrade\/ValidatorTest.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\/.phan\/config.php":{"errors":0,"warnings":0,"messages":[]},"\/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\/extras\/session_velocity\/session_velocity.body.php":{"errors":3,"warnings":5,"messages":[{"message":"If this is a class comment, it must have no blank lines after; if it is a stray comment, it must not use \"\/**\" style comments","source":"MediaWiki.Commenting.CommentBeforeClass.SpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":5,"column":1},{"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":19,"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":19,"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":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},{"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}]},"\/src\/repo\/tests\/phpunit\/BaseGravyTestCase.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\/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\/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\/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":502,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":530,"column":39},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":564,"column":39},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":580,"column":65},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":598,"column":39},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":629,"column":39}]},"\/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\/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\/Adyen\/AdyenSubmitApiTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/DonationData.php":{"errors":0,"warnings":22,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":58,"column":30},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":66,"column":24},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":67,"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":76,"column":24},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":81,"column":24},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":84,"column":21},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":101,"column":31},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":105,"column":25},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":120,"column":29},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":123,"column":26},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":124,"column":25},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":128,"column":26},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":131,"column":29},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":136,"column":22},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":364,"column":41},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":392,"column":72},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":397,"column":50},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":403,"column":34},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":404,"column":39},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":521,"column":45},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":585,"column":28}]},"\/src\/repo\/gateway_common\/MediaWikiLogHandler.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Adapter\/Dlocal\/CashPaymentTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/gateway_common\/DonorEmail.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Adapter\/Gravy\/GooglePayTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/AmountTest.php":{"errors":0,"warnings":0,"messages":[]},"\/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\/Gravy\/RedirectFormTest.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":135},{"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\/DonationInterfaceApiTestCase.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/IPVelocityTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/BaseDlocalTestCase.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\/CiviproxyConnectTest.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":965,"column":45},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1028,"column":45},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1064,"column":45}]},"\/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\/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\/Ingenico\/IngenicoApiTest.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":174,"column":23},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":685,"column":51}]},"\/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\/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\/gateway_common\/gateway.adapter.php":{"errors":20,"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":38,"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":42,"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":43,"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":182,"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":183,"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":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":184,"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":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":224,"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":1121,"column":25},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1498,"column":61},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1519,"column":59},{"message":"Method name \"transaction_option\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":1606,"column":15},{"message":"Method name \"session_ensure\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2158,"column":12},{"message":"Method name \"session_getData\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2169,"column":12},{"message":"Method name \"session_hasDonorData\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2190,"column":12},{"message":"Method name \"session_setDonorBackupData\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2199,"column":12},{"message":"Method name \"session_unsetDonorData\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2208,"column":12},{"message":"Method name \"session_addDonorData\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2218,"column":12},{"message":"Method name \"session_killAllEverything\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2236,"column":12},{"message":"Method name \"session_unsetAllData\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2248,"column":12},{"message":"Method name \"session_resetForNewAttempt\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2264,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2281,"column":33},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2285,"column":28},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2293,"column":40},{"message":"Method name \"session_resetOnSwitch\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2328,"column":15},{"message":"Method name \"token_applyMD5AndSalt\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2396,"column":22},{"message":"Method name \"token_generateToken\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2414,"column":19},{"message":"Method name \"token_getSaltedSessionToken\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2419,"column":12},{"message":"Method name \"token_refreshAllTokenEverything\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2441,"column":15},{"message":"Method name \"token_matchEditToken\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2461,"column":15},{"message":"Method name \"token_checkTokens\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":2486,"column":15},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2487,"column":31},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2526,"column":64},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2624,"column":106},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2682,"column":39},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2696,"column":59},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2749,"column":45},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2750,"column":39},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2891,"column":27},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":2904,"column":27}]}}} --- end --- * sniff MediaWiki.Commenting.CommentBeforeClass.SpacingAfter is now failing $ git checkout .phpcs.xml --- stderr --- Updated 1 path from the index --- stdout --- --- end --- $ /usr/bin/composer install --- stderr --- Installing dependencies from lock file (including require-dev) Verifying lock file contents can be installed on current platform. Nothing to install, update or remove Generating optimized autoload files Class SmashPig\PaymentProviders\Fundraiseup\Tests\AuditTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Fundraiseup/Tests/phpunit/AuditTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Ingenico\Tests\Manual\TestCreatePayment located in ./vendor/wikimedia/smash-pig/PaymentProviders/Ingenico/Tests/manual/TestCreatePayment.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Ingenico\Tests\IdealStatusProviderTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Ingenico/Tests/phpunit/IdealStatusProviderTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Ingenico\Tests\HostedCheckoutProviderTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Ingenico/Tests/phpunit/HostedCheckoutProviderTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Ingenico\Tests\ApiTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Ingenico/Tests/phpunit/ApiTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Ingenico\Tests\AuditTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Ingenico/Tests/phpunit/AuditTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Ingenico\Tests\AuthenticatorTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Ingenico/Tests/phpunit/AuthenticatorTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Ingenico\Tests\BankPaymentProviderTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Ingenico/Tests/phpunit/BankPaymentProviderTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Ingenico\Tests\PaymentProviderTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Ingenico/Tests/phpunit/PaymentProviderTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Ingenico\Tests\TokenizeRecurringJobTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Ingenico/Tests/phpunit/TokenizeRecurringJobTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Amazon\Tests\RecordPaymentsJobTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Amazon/Tests/phpunit/RecordPaymentsJobTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Amazon\Tests\NormalizeTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Amazon/Tests/phpunit/NormalizeTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Amazon\Tests\ActionsTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Amazon/Tests/phpunit/ActionsTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Amazon\Tests\ApiTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Amazon/Tests/phpunit/ApiTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Amazon\Tests\AuditTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Amazon/Tests/phpunit/AuditTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Adyen\Test\CaptureJobTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/CaptureJobTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Adyen\Test\RestResponseValidatorTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/RestResponseValidatorTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Adyen\Test\CancelRecurringActionTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/CancelRecurringActionTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Adyen\Test\RequeueMessageTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/RequeueMessageTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Adyen\Tests\PaymentCaptureActionTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/PaymentCaptureActionTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Adyen\Test\RecurringContractActionTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/RecurringContractActionTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Adyen\Tests\RefundInitiatedActionTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/RefundInitiatedActionTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Adyen\Test\RecurringContractJobTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/RecurringContractJobTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Adyen\Test\RecurringPaymentTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/RecurringPaymentTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Adyen\Tests\ReferenceDataTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/ReferenceDataTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Adyen\Test\ApiTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/ApiTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Adyen\Test\AutoRescueActionTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/AutoRescueActionTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Adyen\Tests\ChargebackInitiatedActionTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/ChargebackInitiatedActionTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Adyen\Tests\ReportAvailableTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/ReportAvailableTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Adyen\Test\AuditTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/AuditTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Adyen\Test\RecordCaptureJobTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/RecordCaptureJobTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Adyen\Tests\TokenizeRecurringJobTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/TokenizeRecurringJobTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Adyen\Tests\CaptureResponseActionTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Adyen/Tests/phpunit/CaptureResponseActionTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Gravy\phpunit\RiskScoresTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Gravy/Tests/phpunit/RiskScoresTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\dlocal\Tests\PaidMessageJobTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/dlocal/Tests/phpunit/PaidMessageJobTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\dlocal\Tests\RestResponseValidatorTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/dlocal/Tests/phpunit/RestResponseValidatorTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\dlocal\Tests\RejectedMessageJobTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/dlocal/Tests/phpunit/RejectedMessageJobTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\dlocal\Tests\SignatureCalculatorTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/dlocal/Tests/phpunit/SignatureCalculatorTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\dlocal\Tests\AuthorizedMessageJobTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/dlocal/Tests/phpunit/AuthorizedMessageJobTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\dlocal\Tests\ApiTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/dlocal/Tests/phpunit/ApiTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\dlocal\Test\AuditTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/dlocal/Tests/phpunit/AuditTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\dlocal\Tests\CardPaymentProviderTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/dlocal/Tests/phpunit/CardPaymentProviderTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\PayPal\Tests\CaptureIncomingMessageTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/PayPal/Tests/phpunit/CaptureIncomingMessageTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\PayPal\Tests\PaymentProviderTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/PayPal/Tests/phpunit/PaymentProviderTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Braintree\Tests\SignatureValidatorTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Braintree/Tests/phpunit/SignatureValidatorTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Braintree\Tests\PayPalPaymentProviderTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Braintree/Tests/phpunit/PayPalPaymentProviderTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Braintree\Tests\VenmoPaymentProviderTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Braintree/Tests/phpunit/VenmoPaymentProviderTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Braintree\Tests\ApiTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Braintree/Tests/phpunit/ApiTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Braintree\Test\AuditTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Braintree/Tests/phpunit/AuditTest.php does not comply with psr-4 autoloading standard. Skipping. Class SmashPig\PaymentProviders\Braintree\Tests\PaymentProviderTest located in ./vendor/wikimedia/smash-pig/PaymentProviders/Braintree/Tests/phpunit/PaymentProviderTest.php does not comply with psr-4 autoloading standard. Skipping. 29 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.2.28 | 10 parallel jobs ............................................................ 60/204 ( 29%) ............................................................ 120/204 ( 58%) ............................................................ 180/204 ( 88%) ........................ 204/204 (100%) Checked 204 files in 0.8 seconds No syntax error found ................................................... 51 / 51 (100%) Time: 373ms; Memory: 18MB MinusX ====== Processing /src/repo... ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. ............................................................. .................................... All good! --- end --- $ /usr/bin/npm audit --json --- stdout --- { "auditReportVersion": 2, "vulnerabilities": { "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 } }, "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 } } }, "metadata": { "vulnerabilities": { "info": 0, "low": 0, "moderate": 0, "high": 2, "critical": 4, "total": 6 }, "dependencies": { "prod": 1, "dev": 1112, "optional": 3, "peer": 2, "peerOptional": 0, "total": 1112 } } } --- 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.3.1', npm WARN EBADENGINE required: { node: '>=20.19.1', npm: '>=10.8.2' }, npm WARN EBADENGINE current: { node: 'v18.19.0', npm: '9.2.0' } npm WARN EBADENGINE } npm WARN EBADENGINE Unsupported engine { npm WARN EBADENGINE package: '@wikimedia/codex-icons@2.3.1', npm WARN EBADENGINE required: { node: '>=20.19.1', npm: '>=10.8.2' }, npm WARN EBADENGINE current: { node: 'v18.19.0', npm: '9.2.0' } npm WARN EBADENGINE } --- stdout --- { "added": 1112, "removed": 0, "changed": 0, "audited": 1113, "funding": 152, "audit": { "auditReportVersion": 2, "vulnerabilities": { "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 } }, "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 } } }, "metadata": { "vulnerabilities": { "info": 0, "low": 0, "moderate": 0, "high": 2, "critical": 4, "total": 6 }, "dependencies": { "prod": 1, "dev": 1112, "optional": 3, "peer": 2, "peerOptional": 0, "total": 1112 } } } } --- end --- {"added": 1112, "removed": 0, "changed": 0, "audited": 1113, "funding": 152, "audit": {"auditReportVersion": 2, "vulnerabilities": {"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}}, "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}}}, "metadata": {"vulnerabilities": {"info": 0, "low": 0, "moderate": 0, "high": 2, "critical": 4, "total": 6}, "dependencies": {"prod": 1, "dev": 1112, "optional": 3, "peer": 2, "peerOptional": 0, "total": 1112}}}} $ /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.3.1', npm WARN EBADENGINE required: { node: '>=20.19.1', npm: '>=10.8.2' }, npm WARN EBADENGINE current: { node: 'v18.19.0', npm: '9.2.0' } npm WARN EBADENGINE } npm WARN EBADENGINE Unsupported engine { npm WARN EBADENGINE package: '@wikimedia/codex-icons@2.3.1', npm WARN EBADENGINE required: { node: '>=20.19.1', npm: '>=10.8.2' }, npm WARN EBADENGINE current: { node: 'v18.19.0', 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 1111 packages, and audited 1112 packages in 12s 152 packages are looking for funding run `npm fund` for details # npm audit report 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 6 vulnerabilities (2 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.3.1', npm WARN EBADENGINE required: { node: '>=20.19.1', npm: '>=10.8.2' }, npm WARN EBADENGINE current: { node: 'v18.19.0', npm: '9.2.0' } npm WARN EBADENGINE } npm WARN EBADENGINE Unsupported engine { npm WARN EBADENGINE package: '@wikimedia/codex-icons@2.3.1', npm WARN EBADENGINE required: { node: '>=20.19.1', npm: '>=10.8.2' }, npm WARN EBADENGINE current: { node: 'v18.19.0', 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 1111 packages, and audited 1112 packages in 23s 152 packages are looking for funding run `npm fund` for details 6 vulnerabilities (2 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/login.test.js PASS tests/jest/views/pause-donations.test.js PASS tests/jest/components/recurring-cancel-confirmation.test.js PASS tests/jest/views/cancel-donations.test.js PASS tests/jest/components/donations_history.test.js PASS tests/jest/views/home.test.js PASS tests/jest/components/recurring-cancel-form.test.js PASS tests/jest/components/donations_list_table.test.js PASS tests/jest/components/recurring_contribution_summary.test.js PASS tests/jest/components/recurring-pause-form.test.js PASS tests/jest/components/inactive_recurring_contribution.test.js PASS tests/jest/components/active_recurring_contribution.test.js PASS tests/jest/components/app.test.js PASS tests/jest/components/header.test.js PASS tests/jest/routes/router.test.js PASS tests/jest/components/recurring-cancel-success.test.js PASS tests/jest/components/contact_details.test.js PASS tests/jest/components/onetime_contribution.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/greeting_component.test.js PASS tests/jest/components/error-component.test.js Test Suites: 22 passed, 22 total Tests: 49 passed, 49 total Snapshots: 0 total Time: 9.227 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 65:5 warning Unexpected var, use let or const instead no-var 81:23 warning ES2015 'Promise' class is forbidden es-x/no-promise 83:11 warning 'bContact' is never reassigned. Use 'const' instead prefer-const 84:8 warning 'sContact' is never reassigned. Use 'const' instead prefer-const 132:5 warning Unexpected var, use let or const instead no-var 163: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 311:2 warning 'submitPromise' is never reassigned. Use 'const' instead prefer-const 311:22 warning ES2015 'Promise' class is forbidden es-x/no-promise 399:6 warning ES2015 'Object.assign' method is forbidden es-x/no-object-assign 538:4 warning ES2015 'Object.assign' method is forbidden es-x/no-object-assign 548:4 warning 'containerName' is never reassigned. Use 'const' instead prefer-const 552:3 warning 'component_type' is never reassigned. Use 'const' instead prefer-const 571:3 warning 'oldShowErrors' is never reassigned. Use 'const' instead prefer-const 593:3 warning 'config' is never reassigned. Use 'const' instead prefer-const 601:3 warning 'checkoutPromise' is never reassigned. Use 'const' instead prefer-const 625:4 warning ES2015 'Promise' class is forbidden es-x/no-promise 652: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 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 /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 11:2 warning 'extraData' is never reassigned. Use 'const' instead prefer-const 12:2 warning 'configFromServer' is never reassigned. Use 'const' instead prefer-const 13:2 warning 'sessionId' is never reassigned. Use 'const' instead prefer-const 14:2 warning 'environment' is never reassigned. Use 'const' instead prefer-const 15:2 warning 'gravyId' is never reassigned. Use 'const' instead prefer-const 16:2 warning 'redirectPaypal' is never reassigned. Use 'const' instead prefer-const 17:2 warning 'showRedirectText' is never reassigned. Use 'const' instead prefer-const 18:2 warning 'googlePaymentClient' is never reassigned. Use 'const' instead prefer-const 20:2 warning 'language' is never reassigned. Use 'const' instead prefer-const 21:2 warning 'country' is never reassigned. Use 'const' instead prefer-const 22:2 warning 'isIndia' is never reassigned. Use 'const' instead prefer-const 23:2 warning 'applePayPaySessionVersionNumber' is never reassigned. Use 'const' instead prefer-const 122:25 warning All possible message keys should be documented. See https://w.wiki/4r9a for details mediawiki/msg-doc 122:49 warning All possible message keys should be documented. See https://w.wiki/4r9a for details mediawiki/msg-doc 260:8 warning 'extraData' is already declared in the upper scope on line 11 column 2 no-shadow 410:43 warning 'appleSession' is already declared in the upper scope on line 19 column 2 no-shadow 456:8 warning 'extraData' is already declared in the upper scope on line 11 column 2 no-shadow /src/repo/modules/ext.donationInterface.donorPortal/components/ActiveRecurringContribution.vue 16:7 warning 'v-html' directive can lead to XSS attack vue/no-v-html /src/repo/modules/ext.donationInterface.donorPortal/components/DonationsListTable.vue 33:8 warning Attribute ":class" should go before "@click" vue/attributes-order /src/repo/modules/ext.donationInterface.donorPortal/views/LoginView.vue 30:7 warning 'v-html' directive can lead to XSS attack vue/no-v-html 57: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 15:1 warning Missing JSDoc @param "extraData" type jsdoc/require-param-type 16:1 warning Missing JSDoc @param "billingContact" type jsdoc/require-param-type 17:1 warning Missing JSDoc @param "shippingContact" 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 105:1 warning The type 'result' is undefined jsdoc/no-undefined-types 127:3 warning 'sendData' is never reassigned. Use 'const' instead prefer-const 163:4 warning ES2015 'Object.assign' method is forbidden es-x/no-object-assign 263:8 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 26:49 warning 'currency' is already declared in the upper scope on line 3 column 3 no-shadow 34:39 warning 'currency' is already declared in the upper scope on line 3 column 3 no-shadow 103:51 warning 'currency' is already declared in the upper scope on line 3 column 3 no-shadow 104:7 warning 'rates' is never reassigned. Use 'const' instead prefer-const 105:4 warning 'amountRules' is never reassigned. Use 'const' instead prefer-const 107:4 warning '$smallAmountMessage' is never reassigned. Use 'const' instead prefer-const 117:3 warning 'formattedMin' is never reassigned. Use 'const' instead prefer-const 133:4 warning 'locale' is never reassigned. Use 'const' instead prefer-const 136: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 /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/inactive_recurring_contribution.test.js 28:31 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 ✖ 155 problems (0 errors, 155 warnings) 0 errors and 1 warning potentially fixable with the `--fix` option. Running "stylelint:all" (stylelint) task >> Linted 17 files without errors Running "banana:DonationInterface" (banana) task >> 10 message directories checked. Done. > test:unit > jest ----------------------------------------------------|---------|----------|---------|---------|------------------- File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s ----------------------------------------------------|---------|----------|---------|---------|------------------- All files | 96.31 | 92.45 | 91.09 | 96.3 | ext.donationInterface.donorPortal | 93.75 | 83.33 | 100 | 93.75 | router.js | 93.75 | 83.33 | 100 | 93.75 | 34 ext.donationInterface.donorPortal/components | 96.25 | 97.5 | 88.65 | 96.25 | ActiveRecurringContribution.vue | 100 | 100 | 100 | 100 | App.vue | 100 | 100 | 100 | 100 | DonationsHistory.vue | 93.54 | 100 | 75 | 93.54 | 14-21 DonationsListTable.vue | 88.46 | 93.75 | 80 | 88.46 | 22,72,85 DonorContactDetails.vue | 100 | 100 | 100 | 100 | ErrorComponent.vue | 100 | 100 | 100 | 100 | GreetingComponent.vue | 100 | 100 | 100 | 100 | Header.vue | 100 | 100 | 100 | 100 | InactiveRecurringContribution.vue | 100 | 100 | 100 | 100 | OnetimeContribution.vue | 100 | 100 | 100 | 100 | RadioButtonInput.vue | 93.75 | 100 | 75 | 93.75 | 57 RecurringContributionCancelAltOptionContainer.vue | 100 | 100 | 100 | 100 | RecurringContributionCancelConfirmation.vue | 97.14 | 100 | 91.66 | 97.14 | 22 RecurringContributionCancelForm.vue | 92.68 | 100 | 85 | 92.68 | 23,51,54 RecurringContributionCancelSuccess.vue | 94.11 | 50 | 100 | 94.11 | 21 RecurringContributionPauseForm.vue | 96.42 | 100 | 87.5 | 96.42 | 22 RecurringContributionPauseSuccess.vue | 92.85 | 100 | 75 | 92.85 | 17 RecurringContributionSummary.vue | 100 | 100 | 100 | 100 | ext.donationInterface.donorPortal/views | 96.61 | 87.67 | 95.83 | 96.58 | AmountDowngrade.vue | 87.5 | 100 | 0 | 87.5 | 15 AnnualConversion.vue | 87.5 | 100 | 0 | 87.5 | 15 CancelDonations.vue | 98.36 | 85.71 | 100 | 98.33 | 31 Home.vue | 97.22 | 90.32 | 100 | 97.22 | 43 LoginView.vue | 96.15 | 90 | 100 | 96.15 | 56,64 PauseDonations.vue | 97.61 | 75 | 100 | 97.56 | 26 ----------------------------------------------------|---------|----------|---------|---------|------------------- --- end --- {} {} $ package-lock-lint package-lock.json --- stdout --- Checking package-lock.json --- end --- build: Updating mediawiki/mediawiki-codesniffer to 48.0.0 The following sniffs are failing and were disabled: * MediaWiki.Commenting.CommentBeforeClass.SpacingAfter $ git add . --- stdout --- --- end --- $ git commit -F /tmp/tmp5s1mahi5 --- stdout --- [master 82ba2a0] build: Updating mediawiki/mediawiki-codesniffer to 48.0.0 27 files changed, 6 insertions(+), 57 deletions(-) --- end --- $ git format-patch HEAD~1 --stdout --- stdout --- From 82ba2a06029887687aa23b29988f71750b709e16 Mon Sep 17 00:00:00 2001 From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org> Date: Mon, 8 Sep 2025 01:58:12 +0000 Subject: [PATCH] build: Updating mediawiki/mediawiki-codesniffer to 48.0.0 The following sniffs are failing and were disabled: * MediaWiki.Commenting.CommentBeforeClass.SpacingAfter Change-Id: I1d74c05ed9f207ddd715fd4b9932fadf443276a9 --- .phpcs.xml | 1 + adyen_gateway/adyen_checkout.adapter.php | 1 - amazon_gateway/amazon_gateway.body.php | 1 - braintree_gateway/braintree.adapter.php | 1 - composer.json | 2 +- dlocal_gateway/dlocal.adapter.php | 1 - gateway_common/DonationData.php | 4 +-- gateway_common/employerSearch.api.php | 1 - gateway_common/gateway.adapter.php | 2 -- gravy_gateway/gravy_gateway.body.php | 4 --- special/FundraiserMaintenance.php | 1 - .../Adapter/Adyen/AdyenFormLoadTest.php | 1 - .../Adapter/Adyen/CheckoutCardTest.php | 1 - .../Adapter/Adyen/CheckoutIdealTest.php | 1 - tests/phpunit/Adapter/Amazon/AmazonTest.php | 1 - .../Adapter/Braintree/PaypalPaymentTest.php | 1 - tests/phpunit/Adapter/GatewayAdapterTest.php | 2 -- .../Adapter/Gravy/GravyFormLoadTest.php | 1 - .../Adapter/Ingenico/IngenicoApiTest.php | 1 - .../phpunit/Adapter/Ingenico/IngenicoTest.php | 1 - .../RealTimeBankTransferIdealTest.php | 1 - .../Adapter/Ingenico/RecurringTest.php | 1 - .../Adapter/PayPal/PayPalExpressTest.php | 1 - tests/phpunit/DonationDataTest.php | 28 ++----------------- tests/phpunit/DonationInterfaceTestCase.php | 1 - tests/phpunit/LoggingTest.php | 1 - .../includes/test_gateway/test.adapter.php | 1 - 27 files changed, 6 insertions(+), 57 deletions(-) diff --git a/.phpcs.xml b/.phpcs.xml index 3e1fcdf..f6ba847 100644 --- a/.phpcs.xml +++ b/.phpcs.xml @@ -1,6 +1,7 @@ <?xml version="1.0"?> <ruleset> <rule ref="./vendor/mediawiki/mediawiki-codesniffer/MediaWiki"> + <exclude name="MediaWiki.Commenting.CommentBeforeClass.SpacingAfter" /> <exclude name="MediaWiki.Files.ClassMatchesFilename.NotMatch" /> <exclude name="MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName" /> <exclude name="MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment" /> diff --git a/adyen_gateway/adyen_checkout.adapter.php b/adyen_gateway/adyen_checkout.adapter.php index 8a2a0fb..70098e6 100644 --- a/adyen_gateway/adyen_checkout.adapter.php +++ b/adyen_gateway/adyen_checkout.adapter.php @@ -440,7 +440,6 @@ class AdyenCheckoutAdapter extends GatewayAdapter implements RecurringConversion * * @param string $queue What queue to send the message to * @param bool $contactOnly If we only have the donor's contact information - * */ protected function pushMessage( $queue, $contactOnly = false ) { // Don't send recurring bank payments to the donations queue. diff --git a/amazon_gateway/amazon_gateway.body.php b/amazon_gateway/amazon_gateway.body.php index af6107f..8865cc5 100644 --- a/amazon_gateway/amazon_gateway.body.php +++ b/amazon_gateway/amazon_gateway.body.php @@ -13,7 +13,6 @@ * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - * */ class AmazonGateway extends GatewayPage { diff --git a/braintree_gateway/braintree.adapter.php b/braintree_gateway/braintree.adapter.php index 1535322..27468fa 100644 --- a/braintree_gateway/braintree.adapter.php +++ b/braintree_gateway/braintree.adapter.php @@ -28,7 +28,6 @@ class BraintreeAdapter extends GatewayAdapter implements RecurringConversion { } /** - * * @param CreatePaymentResponse $createPaymentResult * @param PaymentProvider $provider * @return PaymentResult diff --git a/composer.json b/composer.json index b3b694d..c636809 100644 --- a/composer.json +++ b/composer.json @@ -35,7 +35,7 @@ "whichbrowser/parser": "^2.1" }, "require-dev": { - "mediawiki/mediawiki-codesniffer": "47.0.0", + "mediawiki/mediawiki-codesniffer": "48.0.0", "mediawiki/mediawiki-phan-config": "0.17.0", "mediawiki/minus-x": "1.1.3", "php-parallel-lint/php-console-highlighter": "1.0.0", diff --git a/dlocal_gateway/dlocal.adapter.php b/dlocal_gateway/dlocal.adapter.php index 1b99a9b..7e09615 100644 --- a/dlocal_gateway/dlocal.adapter.php +++ b/dlocal_gateway/dlocal.adapter.php @@ -194,7 +194,6 @@ class DlocalAdapter extends GatewayAdapter implements RecurringConversion { } /** - * * @param PaymentProviderExtendedResponse $paymentDetailResponse * @param IPaymentProvider $paymentProvider * @return PaymentResult diff --git a/gateway_common/DonationData.php b/gateway_common/DonationData.php index 0b195f9..ddae0d8 100644 --- a/gateway_common/DonationData.php +++ b/gateway_common/DonationData.php @@ -37,11 +37,11 @@ class DonationData implements LogPrefixProvider { * get poked through to gateways in some form or other, * from a get or post. We handle the actual * normalization in normalize() helpers, below. - * @TODO: It would be really neat if the gateways kept + * @todo It would be really neat if the gateways kept * track of all the things that ***only they will ever * need***, and could interject those needs here... * Then we could really clean up. - * @TODO also: Think about putting log alarms on the + * @todo also: Think about putting log alarms on the * keys we want to see disappear forever, complete with * referrer for easy total destruction. * @var string[] diff --git a/gateway_common/employerSearch.api.php b/gateway_common/employerSearch.api.php index 67a3e03..ee28f00 100644 --- a/gateway_common/employerSearch.api.php +++ b/gateway_common/employerSearch.api.php @@ -12,7 +12,6 @@ use Wikimedia\ParamValidator\ParamValidator; * The datasource for this API is currently a CSV which contains the full * list of matchin gift employers available and is provided to us via a * third party. A separate process manages updating that datasource. - * */ class EmployerSearchAPI extends ApiBase { diff --git a/gateway_common/gateway.adapter.php b/gateway_common/gateway.adapter.php index 2a91173..25cf948 100644 --- a/gateway_common/gateway.adapter.php +++ b/gateway_common/gateway.adapter.php @@ -34,7 +34,6 @@ use SmashPig\PaymentData\ValidationAction; /** * GatewayAdapter - * */ abstract class GatewayAdapter implements GatewayType { /** @@ -1576,7 +1575,6 @@ abstract class GatewayAdapter implements GatewayType { * * @param string $queue What queue to send the message to * @param bool $contactOnly If we only have the donor's contact information - * */ protected function pushMessage( $queue, $contactOnly = false ) { $this->logger->info( "Pushing transaction to queue [$queue]" ); diff --git a/gravy_gateway/gravy_gateway.body.php b/gravy_gateway/gravy_gateway.body.php index f80c64f..0cac2a7 100644 --- a/gravy_gateway/gravy_gateway.body.php +++ b/gravy_gateway/gravy_gateway.body.php @@ -143,7 +143,6 @@ class GravyGateway extends GatewayPage { } /** - * * @return bool */ private function isCreditCard(): bool { @@ -151,7 +150,6 @@ class GravyGateway extends GatewayPage { } /** - * * @return bool */ private function isACH(): bool { @@ -160,7 +158,6 @@ class GravyGateway extends GatewayPage { } /** - * * @return bool */ private function isGooglePay(): bool { @@ -168,7 +165,6 @@ class GravyGateway extends GatewayPage { } /** - * * @return bool */ private function isApplePay(): bool { diff --git a/special/FundraiserMaintenance.php b/special/FundraiserMaintenance.php index 8af2815..7684eea 100644 --- a/special/FundraiserMaintenance.php +++ b/special/FundraiserMaintenance.php @@ -3,7 +3,6 @@ use MediaWiki\SpecialPage\UnlistedSpecialPage; /** - * * -- License -- * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/tests/phpunit/Adapter/Adyen/AdyenFormLoadTest.php b/tests/phpunit/Adapter/Adyen/AdyenFormLoadTest.php index 369f210..f51b979 100644 --- a/tests/phpunit/Adapter/Adyen/AdyenFormLoadTest.php +++ b/tests/phpunit/Adapter/Adyen/AdyenFormLoadTest.php @@ -20,7 +20,6 @@ use SmashPig\PaymentProviders\Adyen\CardPaymentProvider; use SmashPig\PaymentProviders\Responses\PaymentMethodResponse; /** - * * @group Fundraising * @group DonationInterface * @group Adyen diff --git a/tests/phpunit/Adapter/Adyen/CheckoutCardTest.php b/tests/phpunit/Adapter/Adyen/CheckoutCardTest.php index b06357c..c936ca1 100644 --- a/tests/phpunit/Adapter/Adyen/CheckoutCardTest.php +++ b/tests/phpunit/Adapter/Adyen/CheckoutCardTest.php @@ -478,7 +478,6 @@ class CheckoutCardTest extends BaseAdyenCheckoutTestCase { /** * Integration test to verify that the createPayment method isn't called * when user_ip is added to the deny list - * */ public function testDoPaymentAttemptBlockedDueToIPInDenyList() { $threshold = 2; diff --git a/tests/phpunit/Adapter/Adyen/CheckoutIdealTest.php b/tests/phpunit/Adapter/Adyen/CheckoutIdealTest.php index c362a06..dff912c 100644 --- a/tests/phpunit/Adapter/Adyen/CheckoutIdealTest.php +++ b/tests/phpunit/Adapter/Adyen/CheckoutIdealTest.php @@ -223,7 +223,6 @@ class CheckoutIdealTest extends BaseAdyenCheckoutTestCase { /** * Integration test to verify that the createPayment method isn't called * when user_ip is added to the deny list - * */ public function testDoPaymentIdealAttemptBlockedDueToIPInDenyList() { $this->setMwGlobalsForIPVelocityFilterTest( 2 ); diff --git a/tests/phpunit/Adapter/Amazon/AmazonTest.php b/tests/phpunit/Adapter/Amazon/AmazonTest.php index 456954f..3edfea8 100644 --- a/tests/phpunit/Adapter/Amazon/AmazonTest.php +++ b/tests/phpunit/Adapter/Amazon/AmazonTest.php @@ -23,7 +23,6 @@ use SmashPig\PaymentProviders\Amazon\Tests\AmazonTestConfiguration; use SmashPig\Tests\TestingContext; /** - * * @group Fundraising * @group DonationInterface * @group Amazon diff --git a/tests/phpunit/Adapter/Braintree/PaypalPaymentTest.php b/tests/phpunit/Adapter/Braintree/PaypalPaymentTest.php index fafad8a..1f51be1 100644 --- a/tests/phpunit/Adapter/Braintree/PaypalPaymentTest.php +++ b/tests/phpunit/Adapter/Braintree/PaypalPaymentTest.php @@ -252,7 +252,6 @@ class PaypalPaymentTest extends BaseBraintreeTestCase { /** * Integration test to verify that the createPayment method isn't called * when user_ip is added to the deny list - * */ public function testDoPaymentAttemptBlockedDueToIPInDenyList() { $threshold = 2; diff --git a/tests/phpunit/Adapter/GatewayAdapterTest.php b/tests/phpunit/Adapter/GatewayAdapterTest.php index a71e0fe..319d358 100644 --- a/tests/phpunit/Adapter/GatewayAdapterTest.php +++ b/tests/phpunit/Adapter/GatewayAdapterTest.php @@ -43,7 +43,6 @@ use Wikimedia\TestingAccessWrapper; class GatewayAdapterTest extends DonationInterfaceTestCase { /** - * * @covers GatewayAdapter::__construct * @covers GatewayAdapter::defineVarMap * @covers GatewayAdapter::defineTransactions @@ -197,7 +196,6 @@ class GatewayAdapterTest extends DonationInterfaceTestCase { } /** - * * @covers GatewayAdapter::__construct * @covers DonationData::__construct */ diff --git a/tests/phpunit/Adapter/Gravy/GravyFormLoadTest.php b/tests/phpunit/Adapter/Gravy/GravyFormLoadTest.php index cc136aa..2ae9c4a 100644 --- a/tests/phpunit/Adapter/Gravy/GravyFormLoadTest.php +++ b/tests/phpunit/Adapter/Gravy/GravyFormLoadTest.php @@ -20,7 +20,6 @@ use SmashPig\PaymentProviders\Gravy\CardPaymentProvider; use SmashPig\PaymentProviders\Responses\CreatePaymentSessionResponse; /** - * * @group Fundraising * @group DonationInterface * @group Gravy diff --git a/tests/phpunit/Adapter/Ingenico/IngenicoApiTest.php b/tests/phpunit/Adapter/Ingenico/IngenicoApiTest.php index c8a5122..1f6e9f7 100644 --- a/tests/phpunit/Adapter/Ingenico/IngenicoApiTest.php +++ b/tests/phpunit/Adapter/Ingenico/IngenicoApiTest.php @@ -318,7 +318,6 @@ class IngenicoApiTest extends DonationInterfaceApiTestCase { * GatewatAdapterApiTest suite once we get that up and running. * * @group DonationInterfaceOptionalFields - * */ public function testOptionalFieldBehaviour(): void { $this->overrideConfigValues( [ diff --git a/tests/phpunit/Adapter/Ingenico/IngenicoTest.php b/tests/phpunit/Adapter/Ingenico/IngenicoTest.php index a01683e..85d53fb 100644 --- a/tests/phpunit/Adapter/Ingenico/IngenicoTest.php +++ b/tests/phpunit/Adapter/Ingenico/IngenicoTest.php @@ -27,7 +27,6 @@ use SmashPig\PaymentProviders\Responses\PaymentProviderExtendedResponse; use Wikimedia\TestingAccessWrapper; /** - * * @group Fundraising * @group DonationInterface * @group Ingenico diff --git a/tests/phpunit/Adapter/Ingenico/RealTimeBankTransferIdealTest.php b/tests/phpunit/Adapter/Ingenico/RealTimeBankTransferIdealTest.php index d97601c..52b2057 100644 --- a/tests/phpunit/Adapter/Ingenico/RealTimeBankTransferIdealTest.php +++ b/tests/phpunit/Adapter/Ingenico/RealTimeBankTransferIdealTest.php @@ -22,7 +22,6 @@ use SmashPig\Tests\TestingContext; use SmashPig\Tests\TestingProviderConfiguration; /** - * * @group Fundraising * @group DonationInterface * @group Ingenico diff --git a/tests/phpunit/Adapter/Ingenico/RecurringTest.php b/tests/phpunit/Adapter/Ingenico/RecurringTest.php index 9cb7cb8..f2aeca7 100644 --- a/tests/phpunit/Adapter/Ingenico/RecurringTest.php +++ b/tests/phpunit/Adapter/Ingenico/RecurringTest.php @@ -19,7 +19,6 @@ use SmashPig\Core\DataStores\QueueWrapper; /** - * * @group Fundraising * @group DonationInterface * @group Ingenico diff --git a/tests/phpunit/Adapter/PayPal/PayPalExpressTest.php b/tests/phpunit/Adapter/PayPal/PayPalExpressTest.php index 1f4c945..c979d94 100644 --- a/tests/phpunit/Adapter/PayPal/PayPalExpressTest.php +++ b/tests/phpunit/Adapter/PayPal/PayPalExpressTest.php @@ -32,7 +32,6 @@ use SmashPig\Tests\TestingContext; use SmashPig\Tests\TestingProviderConfiguration; /** - * * @group Fundraising * @group DonationInterface * @group PayPal diff --git a/tests/phpunit/DonationDataTest.php b/tests/phpunit/DonationDataTest.php index 224ea12..2ec0aec 100644 --- a/tests/phpunit/DonationDataTest.php +++ b/tests/phpunit/DonationDataTest.php @@ -224,9 +224,6 @@ class DonationDataTest extends DonationInterfaceTestCase { $this->assertNotEmpty( $matches ); } - /** - * - */ public function testRepopulate() { $expected = $this->testData; @@ -244,8 +241,8 @@ class DonationDataTest extends DonationInterfaceTestCase { $returned = $ddObj->getData(); // unset these, because they're always new $unsettable = [ - 'order_id', - 'contribution_tracking_id' + 'order_id', + 'contribution_tracking_id' ]; foreach ( $unsettable as $thing ) { @@ -256,9 +253,6 @@ class DonationDataTest extends DonationInterfaceTestCase { $this->assertEquals( $expected, $returned, "The forced test data did not populate as expected." ); } - /** - * - */ public function testIsSomething() { $data = $this->testData; unset( $data['postal_code'] ); @@ -268,9 +262,6 @@ class DonationDataTest extends DonationInterfaceTestCase { $this->assertTrue( $ddObj->isSomething( 'last_name' ), "last_name should currently be something." ); } - /** - * - */ public function testSetNormalizedAmount_amtGiven() { $data = $this->testData; $data['amount'] = 'this is not a number'; @@ -281,9 +272,6 @@ class DonationDataTest extends DonationInterfaceTestCase { $this->assertArrayNotHasKey( 'amountGiven', $returned, "amountGiven should have been removed from the data" ); } - /** - * - */ public function testSetNormalizedAmount_amount() { $data = $this->testData; $data['amount'] = 88.15; @@ -294,9 +282,6 @@ class DonationDataTest extends DonationInterfaceTestCase { $this->assertArrayNotHasKey( 'amountGiven', $returned, "amountGiven should have been removed from the data" ); } - /** - * - */ public function testSetNormalizedAmount_negativeAmount() { $data = $this->testData; $data['amount'] = -1; @@ -307,9 +292,6 @@ class DonationDataTest extends DonationInterfaceTestCase { $this->assertArrayNotHasKey( 'amountOther', $returned, "amountOther should have been removed from the data" ); } - /** - * - */ public function testSetNormalizedAmount_noGoodAmount() { $data = $this->testData; $data['amount'] = 'splunge'; @@ -336,9 +318,6 @@ class DonationDataTest extends DonationInterfaceTestCase { $this->assertEquals( 'USD', $returned['currency'], 'Currency code was not properly reset' ); } - /** - * - */ public function testSetNormalizedLanguage_uselang() { $data = $this->testData; unset( $data['uselang'] ); @@ -352,9 +331,6 @@ class DonationDataTest extends DonationInterfaceTestCase { $this->assertArrayNotHasKey( 'uselang', $returned, "'uselang' should have been removed from the data" ); } - /** - * - */ public function testSetNormalizedLanguage_language() { $data = $this->testData; unset( $data['uselang'] ); diff --git a/tests/phpunit/DonationInterfaceTestCase.php b/tests/phpunit/DonationInterfaceTestCase.php index 9f0c687..181599a 100644 --- a/tests/phpunit/DonationInterfaceTestCase.php +++ b/tests/phpunit/DonationInterfaceTestCase.php @@ -165,7 +165,6 @@ abstract class DonationInterfaceTestCase extends MediaWikiIntegrationTestCase { } /** - * * @param string $country The country we want the test user to be from. * @return array Donor data to use * @throws OutOfBoundsException when there is no data available for the requested country diff --git a/tests/phpunit/LoggingTest.php b/tests/phpunit/LoggingTest.php index 01d99fd..39b2179 100644 --- a/tests/phpunit/LoggingTest.php +++ b/tests/phpunit/LoggingTest.php @@ -18,7 +18,6 @@ use Psr\Log\LogLevel; /** - * * @group Fundraising * @group DonationInterface * @coversNothing diff --git a/tests/phpunit/includes/test_gateway/test.adapter.php b/tests/phpunit/includes/test_gateway/test.adapter.php index 322b161..c4620d6 100644 --- a/tests/phpunit/includes/test_gateway/test.adapter.php +++ b/tests/phpunit/includes/test_gateway/test.adapter.php @@ -13,7 +13,6 @@ * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - * */ trait TTestingAdapter { -- 2.39.5 --- end ---