mediawiki/extensions/Lingo: main (log #1587098)

sourcepatches

This run took 14 seconds.

From f283e950cb4c0a8d9a4db6c4d58a838364de3d6d Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Mon, 4 Nov 2024 01:49:44 +0000
Subject: [PATCH] build: Updating mediawiki/mediawiki-codesniffer to 45.0.0

Change-Id: I209ecd866d8948ec3008fd8f45388221916da6ef
---
 composer.json        | 2 +-
 src/Backend.php      | 2 +-
 src/BasicBackend.php | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/composer.json b/composer.json
index 8f469b4..a75d1e7 100644
--- a/composer.json
+++ b/composer.json
@@ -31,7 +31,7 @@
 	},
 	"require-dev": {
 		"justinrainbow/json-schema": ">=1.0",
-		"mediawiki/mediawiki-codesniffer": "44.0.0",
+		"mediawiki/mediawiki-codesniffer": "45.0.0",
 		"mediawiki/minus-x": "1.1.3",
 		"php-parallel-lint/php-console-highlighter": "1.0.0",
 		"php-parallel-lint/php-parallel-lint": "1.4.0"
diff --git a/src/Backend.php b/src/Backend.php
index 136aa72..04ae26b 100644
--- a/src/Backend.php
+++ b/src/Backend.php
@@ -42,7 +42,7 @@ abstract class Backend {
 	/**
 	 * @param MessageLog|null &$messages
 	 */
-	public function __construct( MessageLog &$messages = null ) {
+	public function __construct( ?MessageLog &$messages = null ) {
 		$this->mMessageLog = $messages;
 	}
 
diff --git a/src/BasicBackend.php b/src/BasicBackend.php
index f8edc18..2cba560 100644
--- a/src/BasicBackend.php
+++ b/src/BasicBackend.php
@@ -47,7 +47,7 @@ class BasicBackend extends Backend {
 	/**
 	 * @param MessageLog|null &$messages
 	 */
-	public function __construct( MessageLog &$messages = null ) {
+	public function __construct( ?MessageLog &$messages = null ) {
 		parent::__construct( $messages );
 
 		$this->registerHooks();
-- 
2.39.2

$ date
--- stdout ---
Mon Nov  4 01:49:32 UTC 2024

--- end ---
$ git clone file:///srv/git/mediawiki-extensions-Lingo.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 ---
f0340279af6389065be47f5d116203fdffa1ac90 refs/heads/master

--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {},
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 0,
      "moderate": 0,
      "high": 0,
      "critical": 0,
      "total": 0
    },
    "dependencies": {
      "prod": 1,
      "dev": 424,
      "optional": 0,
      "peer": 1,
      "peerOptional": 0,
      "total": 424
    }
  }
}

--- 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: 26 installs, 0 updates, 0 removals
  - Locking composer/installers (v2.3.0)
  - Locking composer/semver (3.4.2)
  - Locking composer/spdx-licenses (1.5.8)
  - Locking dealerdirect/phpcodesniffer-composer-installer (v1.0.0)
  - Locking icecave/parity (1.0.0)
  - Locking icecave/repr (1.0.1)
  - Locking justinrainbow/json-schema (6.0.0)
  - Locking marc-mabe/php-enum (v4.7.0)
  - Locking mediawiki/mediawiki-codesniffer (v44.0.0)
  - Locking mediawiki/minus-x (1.1.3)
  - Locking php-parallel-lint/php-console-color (v1.0.1)
  - Locking php-parallel-lint/php-console-highlighter (v1.0.0)
  - Locking php-parallel-lint/php-parallel-lint (v1.4.0)
  - Locking phpcsstandards/phpcsextra (1.2.1)
  - Locking phpcsstandards/phpcsutils (1.0.11)
  - Locking psr/container (2.0.2)
  - Locking squizlabs/php_codesniffer (3.9.0)
  - Locking symfony/console (v7.1.6)
  - Locking symfony/deprecation-contracts (v3.5.0)
  - Locking symfony/polyfill-ctype (v1.31.0)
  - Locking symfony/polyfill-intl-grapheme (v1.31.0)
  - Locking symfony/polyfill-intl-normalizer (v1.31.0)
  - Locking symfony/polyfill-mbstring (v1.31.0)
  - Locking symfony/polyfill-php80 (v1.31.0)
  - Locking symfony/service-contracts (v3.5.0)
  - Locking symfony/string (v7.1.6)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 26 installs, 0 updates, 0 removals
  - Downloading icecave/repr (1.0.1)
  - Downloading marc-mabe/php-enum (v4.7.0)
  - Downloading icecave/parity (1.0.0)
  - Downloading justinrainbow/json-schema (6.0.0)
 0/4 [>---------------------------]   0%
 3/4 [=====================>------]  75%
 4/4 [============================] 100%
  - Installing composer/installers (v2.3.0): Extracting archive
  - Installing squizlabs/php_codesniffer (3.9.0): Extracting archive
  - Installing dealerdirect/phpcodesniffer-composer-installer (v1.0.0): Extracting archive
  - Installing icecave/repr (1.0.1): Extracting archive
  - Installing marc-mabe/php-enum (v4.7.0): Extracting archive
  - Installing icecave/parity (1.0.0): Extracting archive
  - Installing justinrainbow/json-schema (6.0.0): Extracting archive
  - Installing symfony/polyfill-php80 (v1.31.0): Extracting archive
  - Installing phpcsstandards/phpcsutils (1.0.11): Extracting archive
  - Installing phpcsstandards/phpcsextra (1.2.1): Extracting archive
  - Installing symfony/polyfill-mbstring (v1.31.0): Extracting archive
  - Installing composer/spdx-licenses (1.5.8): Extracting archive
  - Installing composer/semver (3.4.2): Extracting archive
  - Installing mediawiki/mediawiki-codesniffer (v44.0.0): Extracting archive
  - Installing symfony/polyfill-intl-normalizer (v1.31.0): Extracting archive
  - Installing symfony/polyfill-intl-grapheme (v1.31.0): Extracting archive
  - Installing symfony/polyfill-ctype (v1.31.0): Extracting archive
  - Installing symfony/string (v7.1.6): Extracting archive
  - Installing symfony/deprecation-contracts (v3.5.0): Extracting archive
  - Installing psr/container (2.0.2): Extracting archive
  - Installing symfony/service-contracts (v3.5.0): Extracting archive
  - Installing symfony/console (v7.1.6): Extracting archive
  - Installing mediawiki/minus-x (1.1.3): Extracting archive
  - Installing php-parallel-lint/php-console-color (v1.0.1): Extracting archive
  - Installing php-parallel-lint/php-console-highlighter (v1.0.0): Extracting archive
  - Installing php-parallel-lint/php-parallel-lint (v1.4.0): Extracting archive
  0/23 [>---------------------------]   0%
 23/23 [============================] 100%
3 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating autoload files
15 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
--- stdout ---
PHP CodeSniffer Config installed_paths set to ../../mediawiki/mediawiki-codesniffer,../../phpcsstandards/phpcsextra,../../phpcsstandards/phpcsutils

--- end ---
Upgrading c:mediawiki/mediawiki-codesniffer from 44.0.0 -> 45.0.0
$ /usr/bin/composer update
--- stderr ---
Loading composer repositories with package information
Updating dependencies
Lock file operations: 0 installs, 4 updates, 0 removals
  - Upgrading composer/semver (3.4.2 => 3.4.3)
  - Upgrading mediawiki/mediawiki-codesniffer (v44.0.0 => v45.0.0)
  - Upgrading phpcsstandards/phpcsutils (1.0.11 => 1.0.12)
  - Upgrading squizlabs/php_codesniffer (3.9.0 => 3.10.3)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 0 installs, 4 updates, 0 removals
    0 [>---------------------------]    0 [->--------------------------]
  - Upgrading squizlabs/php_codesniffer (3.9.0 => 3.10.3): Extracting archive
  - Upgrading phpcsstandards/phpcsutils (1.0.11 => 1.0.12): Extracting archive
  - Upgrading composer/semver (3.4.2 => 3.4.3): Extracting archive
  - Upgrading mediawiki/mediawiki-codesniffer (v44.0.0 => v45.0.0): Extracting archive
 0/4 [>---------------------------]   0%
 3/4 [=====================>------]  75%
 4/4 [============================] 100%
Generating autoload files
15 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.NamingConventions.ValidGlobalName.CamelCase', 'MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment', 'Generic.CodeAnalysis.AssignmentInCondition.FoundInWhileCondition', 'Generic.CodeAnalysis.AssignmentInCondition.Found', 'MediaWiki.NamingConventions.PrefixedGlobalFunctions.allowedPrefix'}
$ vendor/bin/phpcs --report=json
--- stdout ---
{"totals":{"errors":15,"warnings":13,"fixable":2},"files":{"\/src\/repo\/tests\/phpunit\/Unit\/LingoI18NTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MessageLog.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Lingo.i18n.magic.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/bootstrap.php":{"errors":3,"warnings":0,"messages":[{"message":"Global function \"registerAutoloaderPath()\" is lacking a valid prefix ('wf'). It should be wfRegisterAutoloaderPath().","source":"MediaWiki.NamingConventions.PrefixedGlobalFunctions.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":42,"column":1},{"message":"Global function \"getDirectory()\" is lacking a valid prefix ('wf'). It should be wfGetDirectory().","source":"MediaWiki.NamingConventions.PrefixedGlobalFunctions.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":50,"column":1},{"message":"Global function \"runTestAutoLoader()\" is lacking a valid prefix ('wf'). It should be wfRunTestAutoLoader().","source":"MediaWiki.NamingConventions.PrefixedGlobalFunctions.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":65,"column":1}]},"\/src\/repo\/src\/Lingo.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Integration\/BackendTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Util\/XmlFileProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Backend.php":{"errors":1,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?MessageLog $messages = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":45,"column":34}]},"\/src\/repo\/tests\/mw-phpunit-runner.php":{"errors":3,"warnings":0,"messages":[{"message":"Global function \"isReadablePath()\" is lacking a valid prefix ('wf'). It should be wfIsReadablePath().","source":"MediaWiki.NamingConventions.PrefixedGlobalFunctions.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":45,"column":1},{"message":"Global function \"addArguments()\" is lacking a valid prefix ('wf'). It should be wfAddArguments().","source":"MediaWiki.NamingConventions.PrefixedGlobalFunctions.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":58,"column":1},{"message":"Global function \"getDirectory()\" is lacking a valid prefix ('wf'). It should be wfGetDirectory().","source":"MediaWiki.NamingConventions.PrefixedGlobalFunctions.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":66,"column":1}]},"\/src\/repo\/tests\/phpunit\/Integration\/LingoParserTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Element.php":{"errors":1,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":50,"column":43},{"message":"Global variable \"$wgexLingoDisplayOnce\" should use CamelCase: \"$wgWgexLingoDisplayOnce\"","source":"MediaWiki.NamingConventions.ValidGlobalName.CamelCase","severity":5,"fixable":false,"type":"ERROR","line":87,"column":9}]},"\/src\/repo\/tests\/phpunit\/Integration\/ArticleAnnotationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Tree.php":{"errors":0,"warnings":3,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":71,"column":49},{"message":"Variable assignment found within a condition. Did you mean to do a comparison ?","source":"Generic.CodeAnalysis.AssignmentInCondition.FoundInWhileCondition","severity":5,"fixable":false,"type":"WARNING","line":96,"column":25},{"message":"Variable assignment found within a condition. Did you mean to do a comparison ?","source":"Generic.CodeAnalysis.AssignmentInCondition.Found","severity":5,"fixable":false,"type":"WARNING","line":168,"column":71}]},"\/src\/repo\/src\/LingoParser.php":{"errors":4,"warnings":7,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":50,"column":55},{"message":"Variable assignment found within a condition. Did you mean to do a comparison ?","source":"Generic.CodeAnalysis.AssignmentInCondition.FoundInWhileCondition","severity":5,"fixable":false,"type":"WARNING","line":164,"column":30},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":259,"column":48},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":272,"column":41},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":273,"column":48},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":290,"column":26},{"message":"Global variable \"$wgexLingoWCAGStyle\" should use CamelCase: \"$wgWgexLingoWCAGStyle\"","source":"MediaWiki.NamingConventions.ValidGlobalName.CamelCase","severity":5,"fixable":false,"type":"ERROR","line":327,"column":9},{"message":"Global variable \"$wgexLingoCacheType\" should use CamelCase: \"$wgWgexLingoCacheType\"","source":"MediaWiki.NamingConventions.ValidGlobalName.CamelCase","severity":5,"fixable":false,"type":"ERROR","line":363,"column":9},{"message":"Global variable \"$wgexLingoUseNamespaces\" should use CamelCase: \"$wgWgexLingoUseNamespaces\"","source":"MediaWiki.NamingConventions.ValidGlobalName.CamelCase","severity":5,"fixable":false,"type":"ERROR","line":389,"column":9},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":395,"column":83},{"message":"Global variable \"$wgexLingoCacheType\" should use CamelCase: \"$wgWgexLingoCacheType\"","source":"MediaWiki.NamingConventions.ValidGlobalName.CamelCase","severity":5,"fixable":false,"type":"ERROR","line":404,"column":9}]},"\/src\/repo\/src\/BasicBackend.php":{"errors":3,"warnings":0,"messages":[{"message":"Use PHP 8.4 compatible syntax for explicit nullable types (\"?MessageLog $messages = null\")","source":"MediaWiki.Usage.NullableType.ExplicitNullableTypes","severity":5,"fixable":true,"type":"ERROR","line":50,"column":34},{"message":"Global variable \"$wgexLingoPage\" should use CamelCase: \"$wgWgexLingoPage\"","source":"MediaWiki.NamingConventions.ValidGlobalName.CamelCase","severity":5,"fixable":false,"type":"ERROR","line":174,"column":9},{"message":"Global variable \"$wgexLingoEnableApprovedRevs\" should use CamelCase: \"$wgWgexLingoEnableApprovedRevs\"","source":"MediaWiki.NamingConventions.ValidGlobalName.CamelCase","severity":5,"fixable":false,"type":"ERROR","line":224,"column":9}]},"\/src\/repo\/tests\/phpunit\/Integration\/BasicBackendTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Integration\/ElementTest.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":64,"column":54},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":134,"column":52}]}}}

--- end ---
PHPCS run failed
$ vendor/bin/phpcbf
--- stdout ---

PHPCBF RESULT SUMMARY
----------------------------------------------------------------------
FILE                                                  FIXED  REMAINING
----------------------------------------------------------------------
/src/repo/src/Backend.php                             1      0
/src/repo/src/BasicBackend.php                        1      2
----------------------------------------------------------------------
A TOTAL OF 2 ERRORS WERE FIXED IN 2 FILES
----------------------------------------------------------------------

Time: 420ms; Memory: 6MB



--- end ---
$ vendor/bin/phpcs --report=json
--- stdout ---
{"totals":{"errors":13,"warnings":13,"fixable":0},"files":{"\/src\/repo\/tests\/phpunit\/Unit\/LingoI18NTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/MessageLog.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/mw-phpunit-runner.php":{"errors":3,"warnings":0,"messages":[{"message":"Global function \"isReadablePath()\" is lacking a valid prefix ('wf'). It should be wfIsReadablePath().","source":"MediaWiki.NamingConventions.PrefixedGlobalFunctions.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":45,"column":1},{"message":"Global function \"addArguments()\" is lacking a valid prefix ('wf'). It should be wfAddArguments().","source":"MediaWiki.NamingConventions.PrefixedGlobalFunctions.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":58,"column":1},{"message":"Global function \"getDirectory()\" is lacking a valid prefix ('wf'). It should be wfGetDirectory().","source":"MediaWiki.NamingConventions.PrefixedGlobalFunctions.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":66,"column":1}]},"\/src\/repo\/tests\/bootstrap.php":{"errors":3,"warnings":0,"messages":[{"message":"Global function \"registerAutoloaderPath()\" is lacking a valid prefix ('wf'). It should be wfRegisterAutoloaderPath().","source":"MediaWiki.NamingConventions.PrefixedGlobalFunctions.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":42,"column":1},{"message":"Global function \"getDirectory()\" is lacking a valid prefix ('wf'). It should be wfGetDirectory().","source":"MediaWiki.NamingConventions.PrefixedGlobalFunctions.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":50,"column":1},{"message":"Global function \"runTestAutoLoader()\" is lacking a valid prefix ('wf'). It should be wfRunTestAutoLoader().","source":"MediaWiki.NamingConventions.PrefixedGlobalFunctions.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":65,"column":1}]},"\/src\/repo\/tests\/phpunit\/Util\/XmlFileProvider.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Integration\/BackendTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Lingo.i18n.magic.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Backend.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Integration\/ArticleAnnotationTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/Lingo.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/BasicBackend.php":{"errors":2,"warnings":0,"messages":[{"message":"Global variable \"$wgexLingoPage\" should use CamelCase: \"$wgWgexLingoPage\"","source":"MediaWiki.NamingConventions.ValidGlobalName.CamelCase","severity":5,"fixable":false,"type":"ERROR","line":174,"column":9},{"message":"Global variable \"$wgexLingoEnableApprovedRevs\" should use CamelCase: \"$wgWgexLingoEnableApprovedRevs\"","source":"MediaWiki.NamingConventions.ValidGlobalName.CamelCase","severity":5,"fixable":false,"type":"ERROR","line":224,"column":9}]},"\/src\/repo\/src\/Element.php":{"errors":1,"warnings":1,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":50,"column":43},{"message":"Global variable \"$wgexLingoDisplayOnce\" should use CamelCase: \"$wgWgexLingoDisplayOnce\"","source":"MediaWiki.NamingConventions.ValidGlobalName.CamelCase","severity":5,"fixable":false,"type":"ERROR","line":87,"column":9}]},"\/src\/repo\/src\/Tree.php":{"errors":0,"warnings":3,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":71,"column":49},{"message":"Variable assignment found within a condition. Did you mean to do a comparison ?","source":"Generic.CodeAnalysis.AssignmentInCondition.FoundInWhileCondition","severity":5,"fixable":false,"type":"WARNING","line":96,"column":25},{"message":"Variable assignment found within a condition. Did you mean to do a comparison ?","source":"Generic.CodeAnalysis.AssignmentInCondition.Found","severity":5,"fixable":false,"type":"WARNING","line":168,"column":71}]},"\/src\/repo\/tests\/phpunit\/Integration\/LingoParserTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/Integration\/ElementTest.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":64,"column":54},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":134,"column":52}]},"\/src\/repo\/tests\/phpunit\/Integration\/BasicBackendTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/LingoParser.php":{"errors":4,"warnings":7,"messages":[{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":50,"column":55},{"message":"Variable assignment found within a condition. Did you mean to do a comparison ?","source":"Generic.CodeAnalysis.AssignmentInCondition.FoundInWhileCondition","severity":5,"fixable":false,"type":"WARNING","line":164,"column":30},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":259,"column":48},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":272,"column":41},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":273,"column":48},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":290,"column":26},{"message":"Global variable \"$wgexLingoWCAGStyle\" should use CamelCase: \"$wgWgexLingoWCAGStyle\"","source":"MediaWiki.NamingConventions.ValidGlobalName.CamelCase","severity":5,"fixable":false,"type":"ERROR","line":327,"column":9},{"message":"Global variable \"$wgexLingoCacheType\" should use CamelCase: \"$wgWgexLingoCacheType\"","source":"MediaWiki.NamingConventions.ValidGlobalName.CamelCase","severity":5,"fixable":false,"type":"ERROR","line":363,"column":9},{"message":"Global variable \"$wgexLingoUseNamespaces\" should use CamelCase: \"$wgWgexLingoUseNamespaces\"","source":"MediaWiki.NamingConventions.ValidGlobalName.CamelCase","severity":5,"fixable":false,"type":"ERROR","line":389,"column":9},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":395,"column":83},{"message":"Global variable \"$wgexLingoCacheType\" should use CamelCase: \"$wgWgexLingoCacheType\"","source":"MediaWiki.NamingConventions.ValidGlobalName.CamelCase","severity":5,"fixable":false,"type":"ERROR","line":404,"column":9}]}}}

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

--- end ---
$ /usr/bin/composer install
--- stderr ---
Installing dependencies from lock file (including require-dev)
Verifying lock file contents can be installed on current platform.
Nothing to install, update or remove
Generating autoload files
15 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
> minus-x check .
> phpcs -sp
--- stdout ---
PHP 8.2.20 | 10 parallel jobs
.................                                            17/17 (100%)


Checked 17 files in 0.1 seconds
No syntax error found
MinusX
======
Processing /src/repo...
.............................................................
.................................................
All good!
................. 17 / 17 (100%)


Time: 357ms; Memory: 6MB


--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {},
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 0,
      "moderate": 0,
      "high": 0,
      "critical": 0,
      "total": 0
    },
    "dependencies": {
      "prod": 1,
      "dev": 424,
      "optional": 0,
      "peer": 1,
      "peerOptional": 0,
      "total": 424
    }
  }
}

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

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

$ git add .
--- stdout ---

--- end ---
$ git commit -F /tmp/tmpebpgls27
--- stdout ---
[master f283e95] build: Updating mediawiki/mediawiki-codesniffer to 45.0.0
 3 files changed, 3 insertions(+), 3 deletions(-)

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

Change-Id: I209ecd866d8948ec3008fd8f45388221916da6ef
---
 composer.json        | 2 +-
 src/Backend.php      | 2 +-
 src/BasicBackend.php | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/composer.json b/composer.json
index 8f469b4..a75d1e7 100644
--- a/composer.json
+++ b/composer.json
@@ -31,7 +31,7 @@
 	},
 	"require-dev": {
 		"justinrainbow/json-schema": ">=1.0",
-		"mediawiki/mediawiki-codesniffer": "44.0.0",
+		"mediawiki/mediawiki-codesniffer": "45.0.0",
 		"mediawiki/minus-x": "1.1.3",
 		"php-parallel-lint/php-console-highlighter": "1.0.0",
 		"php-parallel-lint/php-parallel-lint": "1.4.0"
diff --git a/src/Backend.php b/src/Backend.php
index 136aa72..04ae26b 100644
--- a/src/Backend.php
+++ b/src/Backend.php
@@ -42,7 +42,7 @@ abstract class Backend {
 	/**
 	 * @param MessageLog|null &$messages
 	 */
-	public function __construct( MessageLog &$messages = null ) {
+	public function __construct( ?MessageLog &$messages = null ) {
 		$this->mMessageLog = $messages;
 	}
 
diff --git a/src/BasicBackend.php b/src/BasicBackend.php
index f8edc18..2cba560 100644
--- a/src/BasicBackend.php
+++ b/src/BasicBackend.php
@@ -47,7 +47,7 @@ class BasicBackend extends Backend {
 	/**
 	 * @param MessageLog|null &$messages
 	 */
-	public function __construct( MessageLog &$messages = null ) {
+	public function __construct( ?MessageLog &$messages = null ) {
 		parent::__construct( $messages );
 
 		$this->registerHooks();
-- 
2.39.2


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