$ date
--- stdout ---
Sun Oct 6 14:25:03 UTC 2024
--- end ---
$ git clone file:///srv/git/mediawiki-libs-Zest.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 ---
5196e3538175eb3f2d1ceb27c50670050741e493 refs/heads/master
--- 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: 71 installs, 0 updates, 0 removals
- Locking composer/pcre (3.3.1)
- Locking composer/semver (3.4.0)
- Locking composer/spdx-licenses (1.5.8)
- Locking composer/xdebug-handler (3.0.5)
- Locking dealerdirect/phpcodesniffer-composer-installer (v1.0.0)
- Locking doctrine/deprecations (1.1.3)
- Locking doctrine/instantiator (2.0.0)
- Locking felixfbecker/advanced-json-rpc (v3.2.1)
- Locking mediawiki/mediawiki-codesniffer (v43.0.0)
- Locking mediawiki/mediawiki-phan-config (0.14.0)
- Locking mediawiki/minus-x (1.1.3)
- Locking mediawiki/phan-taint-check-plugin (6.0.0)
- Locking microsoft/tolerant-php-parser (v0.1.2)
- Locking myclabs/deep-copy (1.12.0)
- Locking netresearch/jsonmapper (v4.5.0)
- Locking nikic/php-parser (v5.3.0)
- Locking ockcyp/covers-validator (v1.6.0)
- Locking phan/phan (5.4.3)
- Locking phar-io/manifest (2.0.4)
- Locking phar-io/version (3.2.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.1.2)
- Locking phpcsstandards/phpcsutils (1.0.9)
- Locking phpdocumentor/reflection-common (2.2.0)
- Locking phpdocumentor/reflection-docblock (5.4.1)
- Locking phpdocumentor/type-resolver (1.8.2)
- Locking phpstan/phpdoc-parser (1.32.0)
- Locking phpunit/php-code-coverage (9.2.32)
- Locking phpunit/php-file-iterator (3.0.6)
- Locking phpunit/php-invoker (3.1.1)
- Locking phpunit/php-text-template (2.0.4)
- Locking phpunit/php-timer (5.0.3)
- Locking phpunit/phpunit (9.6.16)
- Locking psr/container (2.0.2)
- Locking psr/log (3.0.2)
- Locking sabre/event (5.1.7)
- Locking sebastian/cli-parser (1.0.2)
- Locking sebastian/code-unit (1.0.8)
- Locking sebastian/code-unit-reverse-lookup (2.0.3)
- Locking sebastian/comparator (4.0.8)
- Locking sebastian/complexity (2.0.3)
- Locking sebastian/diff (4.0.6)
- Locking sebastian/environment (5.1.5)
- Locking sebastian/exporter (4.0.6)
- Locking sebastian/global-state (5.0.7)
- Locking sebastian/lines-of-code (1.0.4)
- Locking sebastian/object-enumerator (4.0.4)
- Locking sebastian/object-reflector (2.0.4)
- Locking sebastian/recursion-context (4.0.5)
- Locking sebastian/resource-operations (3.0.4)
- Locking sebastian/type (3.2.1)
- Locking sebastian/version (3.0.2)
- Locking squizlabs/php_codesniffer (3.8.1)
- Locking symfony/console (v6.4.12)
- 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.5)
- Locking theseer/tokenizer (1.2.3)
- Locking tysonandre/var_representation_polyfill (0.1.3)
- Locking webmozart/assert (1.11.0)
- Locking wikimedia/remex-html (4.1.0)
- Locking wikimedia/testing-access-wrapper (3.0.0)
- Locking wikimedia/update-history (1.0.1)
- Locking wikimedia/utfnormal (4.0.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 71 installs, 0 updates, 0 removals
0 [>---------------------------] 0 [->--------------------------]
- Installing squizlabs/php_codesniffer (3.8.1): Extracting archive
- Installing dealerdirect/phpcodesniffer-composer-installer (v1.0.0): Extracting archive
- Installing composer/pcre (3.3.1): Extracting archive
- Installing symfony/polyfill-php80 (v1.31.0): Extracting archive
- Installing phpcsstandards/phpcsutils (1.0.9): Extracting archive
- Installing phpcsstandards/phpcsextra (1.1.2): 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.0): Extracting archive
- Installing mediawiki/mediawiki-codesniffer (v43.0.0): Extracting archive
- Installing tysonandre/var_representation_polyfill (0.1.3): 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.5): 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 (v6.4.12): 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 (1.32.0): Extracting archive
- Installing phpdocumentor/reflection-common (2.2.0): Extracting archive
- Installing doctrine/deprecations (1.1.3): Extracting archive
- Installing phpdocumentor/type-resolver (1.8.2): Extracting archive
- Installing phpdocumentor/reflection-docblock (5.4.1): Extracting archive
- Installing felixfbecker/advanced-json-rpc (v3.2.1): Extracting archive
- Installing psr/log (3.0.2): Extracting archive
- Installing composer/xdebug-handler (3.0.5): Extracting archive
- Installing phan/phan (5.4.3): Extracting archive
- Installing mediawiki/phan-taint-check-plugin (6.0.0): Extracting archive
- Installing mediawiki/mediawiki-phan-config (0.14.0): Extracting archive
- Installing mediawiki/minus-x (1.1.3): Extracting archive
- Installing sebastian/version (3.0.2): Extracting archive
- Installing sebastian/type (3.2.1): Extracting archive
- Installing sebastian/resource-operations (3.0.4): Extracting archive
- Installing sebastian/recursion-context (4.0.5): Extracting archive
- Installing sebastian/object-reflector (2.0.4): Extracting archive
- Installing sebastian/object-enumerator (4.0.4): Extracting archive
- Installing sebastian/global-state (5.0.7): Extracting archive
- Installing sebastian/exporter (4.0.6): Extracting archive
- Installing sebastian/environment (5.1.5): Extracting archive
- Installing sebastian/diff (4.0.6): Extracting archive
- Installing sebastian/comparator (4.0.8): Extracting archive
- Installing sebastian/code-unit (1.0.8): Extracting archive
- Installing sebastian/cli-parser (1.0.2): Extracting archive
- Installing phpunit/php-timer (5.0.3): Extracting archive
- Installing phpunit/php-text-template (2.0.4): Extracting archive
- Installing phpunit/php-invoker (3.1.1): Extracting archive
- Installing phpunit/php-file-iterator (3.0.6): Extracting archive
- Installing theseer/tokenizer (1.2.3): Extracting archive
- Installing nikic/php-parser (v5.3.0): Extracting archive
- Installing sebastian/lines-of-code (1.0.4): Extracting archive
- Installing sebastian/complexity (2.0.3): Extracting archive
- Installing sebastian/code-unit-reverse-lookup (2.0.3): Extracting archive
- Installing phpunit/php-code-coverage (9.2.32): Extracting archive
- Installing phar-io/version (3.2.1): Extracting archive
- Installing phar-io/manifest (2.0.4): Extracting archive
- Installing myclabs/deep-copy (1.12.0): Extracting archive
- Installing doctrine/instantiator (2.0.0): Extracting archive
- Installing phpunit/phpunit (9.6.16): Extracting archive
- Installing ockcyp/covers-validator (v1.6.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 wikimedia/utfnormal (4.0.0): Extracting archive
- Installing wikimedia/remex-html (4.1.0): Extracting archive
- Installing wikimedia/testing-access-wrapper (3.0.0): Extracting archive
- Installing wikimedia/update-history (1.0.1): Extracting archive
0/69 [>---------------------------] 0%
20/69 [========>-------------------] 28%
32/69 [============>---------------] 46%
46/69 [==================>---------] 66%
58/69 [=======================>----] 84%
68/69 [===========================>] 98%
69/69 [============================] 100%
4 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating autoload files
41 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 43.0.0 -> 44.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.0 => 3.4.2)
- Upgrading mediawiki/mediawiki-codesniffer (v43.0.0 => v44.0.0)
- Upgrading phpcsstandards/phpcsextra (1.1.2 => 1.2.1)
- Upgrading phpcsstandards/phpcsutils (1.0.9 => 1.0.11)
- Upgrading squizlabs/php_codesniffer (3.8.1 => 3.9.0)
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.8.1 => 3.9.0): Extracting archive
- Upgrading phpcsstandards/phpcsutils (1.0.9 => 1.0.11): Extracting archive
- Upgrading phpcsstandards/phpcsextra (1.1.2 => 1.2.1): Extracting archive
- Upgrading composer/semver (3.4.0 => 3.4.2): Extracting archive
- Upgrading mediawiki/mediawiki-codesniffer (v43.0.0 => v44.0.0): Extracting archive
0/5 [>---------------------------] 0%
4/5 [======================>-----] 80%
5/5 [============================] 100%
Generating autoload files
42 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: {'Squiz.Scope.MethodScope.Missing', 'MediaWiki.Commenting.MissingCovers.MissingCovers', 'MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate', 'MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment', 'MediaWiki.Commenting.FunctionComment.SpacingAfter', 'Generic.CodeAnalysis.AssignmentInCondition', 'Generic.Files.LineLength.TooLong'}
$ vendor/bin/phpcs --report=json
--- stdout ---
{"totals":{"errors":3,"warnings":69,"fixable":0},"files":{"\/src\/repo\/build\/doxygen_php_filters.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/src\/ZestFunc.php":{"errors":1,"warnings":0,"messages":[{"message":"Visibility must be declared on method \"__construct\"","source":"Squiz.Scope.MethodScope.Missing","severity":5,"fixable":false,"type":"ERROR","line":24,"column":5}]},"\/src\/repo\/src\/Zest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/.phan\/config.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":4,"column":34}]},"\/src\/repo\/tests\/GetElementsByTest.php":{"errors":0,"warnings":4,"messages":[{"message":"The testGetElementsByTagName test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":12,"column":12},{"message":"The testGetElementsByClassName test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":46,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":55,"column":43},{"message":"The testGetElementsById test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":85,"column":12}]},"\/src\/repo\/tests\/ZestInstTest.php":{"errors":0,"warnings":6,"messages":[{"message":"The testIsThereAnySyntaxError test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":17,"column":12},{"message":"The testUnquote test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":25,"column":12},{"message":"The testEscape test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":42,"column":12},{"message":"The testXpathQuote test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":69,"column":12},{"message":"The testParseNth test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":87,"column":12},{"message":"The testCustom test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":107,"column":12}]},"\/src\/repo\/tests\/ZestTest.php":{"errors":0,"warnings":27,"messages":[{"message":"The testFindRemex test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":16,"column":12},{"message":"The testFindRemexFragment test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":44,"column":12},{"message":"The testFindDOM test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":74,"column":12},{"message":"The testFindDOMFragment test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":102,"column":12},{"message":"Line exceeds 120 characters; contains 1677 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":133,"column":1677},{"message":"Line exceeds 120 characters; contains 876 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":139,"column":876},{"message":"Line exceeds 120 characters; contains 884 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":140,"column":884},{"message":"Line exceeds 120 characters; contains 127 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":141,"column":127},{"message":"Line exceeds 120 characters; contains 241 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":142,"column":241},{"message":"Line exceeds 120 characters; contains 311 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":143,"column":311},{"message":"Line exceeds 120 characters; contains 1160 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":150,"column":1160},{"message":"Line exceeds 120 characters; contains 135 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":151,"column":135},{"message":"Line exceeds 120 characters; contains 1178 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":155,"column":1178},{"message":"Line exceeds 120 characters; contains 1178 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":156,"column":1178},{"message":"Line exceeds 120 characters; contains 1454 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":157,"column":1454},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":159,"column":41},{"message":"Line exceeds 120 characters; contains 147 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":179,"column":147},{"message":"Line exceeds 120 characters; contains 121 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":192,"column":121},{"message":"Line exceeds 120 characters; contains 128 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":193,"column":128},{"message":"The testFindId test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":222,"column":12},{"message":"The testFindTag test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":250,"column":12},{"message":"The testScoping test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":275,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":300,"column":43},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":305,"column":40},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":307,"column":40},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":310,"column":40},{"message":"The testMultiId test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":329,"column":12}]},"\/src\/repo\/src\/ZestInst.php":{"errors":2,"warnings":31,"messages":[{"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":62,"column":23},{"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":73,"column":23},{"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":84,"column":18},{"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":85,"column":50},{"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":97,"column":18},{"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":98,"column":50},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":117,"column":40},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":118,"column":45},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":119,"column":39},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":128,"column":32},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":133,"column":31},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":163,"column":32},{"message":"Line exceeds 120 characters; contains 170 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":194,"column":170},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":351,"column":13},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":355,"column":27},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":384,"column":40},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":439,"column":40},{"message":"Line exceeds 120 characters; contains 124 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":560,"column":15},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":604,"column":22},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":609,"column":21},{"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":628,"column":25},{"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":640,"column":25},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":686,"column":36},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":733,"column":46},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":749,"column":46},{"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":1051,"column":29},{"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":1061,"column":26},{"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":1071,"column":26},{"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":1081,"column":29},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1124,"column":50},{"message":"There must be no blank lines after the function comment","source":"MediaWiki.Commenting.FunctionComment.SpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":1183,"column":6},{"message":"Line exceeds 120 characters; contains 124 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":1337,"column":124},{"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":1381,"column":29}]}}}
--- end ---
PHPCS run failed
$ vendor/bin/phpcs --report=json
--- stdout ---
{"totals":{"errors":3,"warnings":69,"fixable":0},"files":{"\/src\/repo\/build\/doxygen_php_filters.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/.phan\/config.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":4,"column":34}]},"\/src\/repo\/src\/ZestFunc.php":{"errors":1,"warnings":0,"messages":[{"message":"Visibility must be declared on method \"__construct\"","source":"Squiz.Scope.MethodScope.Missing","severity":5,"fixable":false,"type":"ERROR","line":24,"column":5}]},"\/src\/repo\/src\/Zest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/ZestInstTest.php":{"errors":0,"warnings":6,"messages":[{"message":"The testIsThereAnySyntaxError test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":17,"column":12},{"message":"The testUnquote test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":25,"column":12},{"message":"The testEscape test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":42,"column":12},{"message":"The testXpathQuote test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":69,"column":12},{"message":"The testParseNth test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":87,"column":12},{"message":"The testCustom test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":107,"column":12}]},"\/src\/repo\/tests\/GetElementsByTest.php":{"errors":0,"warnings":4,"messages":[{"message":"The testGetElementsByTagName test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":12,"column":12},{"message":"The testGetElementsByClassName test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":46,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":55,"column":43},{"message":"The testGetElementsById test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":85,"column":12}]},"\/src\/repo\/tests\/ZestTest.php":{"errors":0,"warnings":27,"messages":[{"message":"The testFindRemex test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":16,"column":12},{"message":"The testFindRemexFragment test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":44,"column":12},{"message":"The testFindDOM test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":74,"column":12},{"message":"The testFindDOMFragment test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":102,"column":12},{"message":"Line exceeds 120 characters; contains 1677 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":133,"column":1677},{"message":"Line exceeds 120 characters; contains 876 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":139,"column":876},{"message":"Line exceeds 120 characters; contains 884 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":140,"column":884},{"message":"Line exceeds 120 characters; contains 127 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":141,"column":127},{"message":"Line exceeds 120 characters; contains 241 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":142,"column":241},{"message":"Line exceeds 120 characters; contains 311 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":143,"column":311},{"message":"Line exceeds 120 characters; contains 1160 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":150,"column":1160},{"message":"Line exceeds 120 characters; contains 135 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":151,"column":135},{"message":"Line exceeds 120 characters; contains 1178 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":155,"column":1178},{"message":"Line exceeds 120 characters; contains 1178 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":156,"column":1178},{"message":"Line exceeds 120 characters; contains 1454 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":157,"column":1454},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":159,"column":41},{"message":"Line exceeds 120 characters; contains 147 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":179,"column":147},{"message":"Line exceeds 120 characters; contains 121 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":192,"column":121},{"message":"Line exceeds 120 characters; contains 128 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":193,"column":128},{"message":"The testFindId test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":222,"column":12},{"message":"The testFindTag test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":250,"column":12},{"message":"The testScoping test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":275,"column":12},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":300,"column":43},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":305,"column":40},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":307,"column":40},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":310,"column":40},{"message":"The testMultiId test method has no @covers tags","source":"MediaWiki.Commenting.MissingCovers.MissingCovers","severity":5,"fixable":false,"type":"WARNING","line":329,"column":12}]},"\/src\/repo\/src\/ZestInst.php":{"errors":2,"warnings":31,"messages":[{"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":62,"column":23},{"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":73,"column":23},{"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":84,"column":18},{"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":85,"column":50},{"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":97,"column":18},{"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":98,"column":50},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":117,"column":40},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":118,"column":45},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":119,"column":39},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":128,"column":32},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":133,"column":31},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":163,"column":32},{"message":"Line exceeds 120 characters; contains 170 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":194,"column":170},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":351,"column":13},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":355,"column":27},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":384,"column":40},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":439,"column":40},{"message":"Line exceeds 120 characters; contains 124 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":560,"column":15},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":604,"column":22},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":609,"column":21},{"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":628,"column":25},{"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":640,"column":25},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":686,"column":36},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":733,"column":46},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":749,"column":46},{"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":1051,"column":29},{"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":1061,"column":26},{"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":1071,"column":26},{"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":1081,"column":29},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":1124,"column":50},{"message":"There must be no blank lines after the function comment","source":"MediaWiki.Commenting.FunctionComment.SpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":1183,"column":6},{"message":"Line exceeds 120 characters; contains 124 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":1337,"column":124},{"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":1381,"column":29}]}}}
--- end ---
* sniff Generic.CodeAnalysis.AssignmentInCondition is no longer failing
* sniff Generic.CodeAnalysis.AssignmentInCondition.FoundInWhileCondition is now failing
* sniff Generic.CodeAnalysis.AssignmentInCondition.Found 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 autoload files
42 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
> phpunit
> phan --allow-polyfill-parser
Parsing files...
░░░ 3 / 3 (100%) 28MB
Analyzing classes...
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 33MB
Analyzing functions...
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 34MB
Analyzing methods...
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 34MB
Analyzing files...
░░░ 3 / 3 (100%) 45MB
> covers-validator
> phpcs -sp
> minus-x check .
--- stdout ---
PHP 8.2.20 | 10 parallel jobs
........ 8/8 (100%)
Checked 8 files in 0.1 seconds
No syntax error found
PHPUnit 9.6.16 by Sebastian Bergmann and contributors.
............................................................... 63 / 330 ( 19%)
............................................................... 126 / 330 ( 38%)
............................................................... 189 / 330 ( 57%)
............................................................... 252 / 330 ( 76%)
............................................................... 315 / 330 ( 95%)
............... 330 / 330 (100%)
Time: 00:00.410, Memory: 8.00 MB
OK (330 tests, 2393 assertions)
CoversValidator 1.6.0
Validation complete. All @covers tags are valid.
........ 8 / 8 (100%)
Time: 639ms; Memory: 8MB
MinusX
======
Processing /src/repo...
.......................
All good!
--- end ---
build: Updating mediawiki/mediawiki-codesniffer to 44.0.0
The following sniffs are failing and were disabled:
* Generic.CodeAnalysis.AssignmentInCondition.Found
* Generic.CodeAnalysis.AssignmentInCondition.FoundInWhileCondition
The following sniffs now pass and were enabled:
* Generic.CodeAnalysis.AssignmentInCondition
$ git add .
--- stdout ---
--- end ---
$ git commit -F /tmp/tmpd36lipb5
--- stdout ---
[master 12488e6] build: Updating mediawiki/mediawiki-codesniffer to 44.0.0
2 files changed, 3 insertions(+), 2 deletions(-)
--- end ---
$ git format-patch HEAD~1 --stdout
--- stdout ---
From 12488e61fd439516edad25790d6f3f51d71ed877 Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Sun, 6 Oct 2024 14:25:20 +0000
Subject: [PATCH] build: Updating mediawiki/mediawiki-codesniffer to 44.0.0
The following sniffs are failing and were disabled:
* Generic.CodeAnalysis.AssignmentInCondition.Found
* Generic.CodeAnalysis.AssignmentInCondition.FoundInWhileCondition
The following sniffs now pass and were enabled:
* Generic.CodeAnalysis.AssignmentInCondition
Change-Id: I3839bfba51f65480f26f4418c0f385db7d0486c7
---
.phpcs.xml | 3 ++-
composer.json | 2 +-
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/.phpcs.xml b/.phpcs.xml
index eaf6310..2c6d314 100644
--- a/.phpcs.xml
+++ b/.phpcs.xml
@@ -1,13 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<ruleset>
<rule ref="./vendor/mediawiki/mediawiki-codesniffer/MediaWiki">
+ <exclude name="Generic.CodeAnalysis.AssignmentInCondition.Found" />
+ <exclude name="Generic.CodeAnalysis.AssignmentInCondition.FoundInWhileCondition" />
<exclude name="MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment" />
<exclude name="MediaWiki.Commenting.MissingCovers.MissingCovers" />
<exclude name="Squiz.Scope.MethodScope.Missing" />
<exclude name="Generic.Files.LineLength.TooLong" />
<exclude name="MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate" />
<exclude name="MediaWiki.Commenting.FunctionComment.SpacingAfter" />
- <exclude name="Generic.CodeAnalysis.AssignmentInCondition" />
</rule>
<file>.</file>
<arg name="encoding" value="UTF-8"/>
diff --git a/composer.json b/composer.json
index fff905d..6cf0544 100644
--- a/composer.json
+++ b/composer.json
@@ -27,7 +27,7 @@
"ext-intl": "*"
},
"require-dev": {
- "mediawiki/mediawiki-codesniffer": "43.0.0",
+ "mediawiki/mediawiki-codesniffer": "44.0.0",
"mediawiki/mediawiki-phan-config": "0.14.0",
"mediawiki/minus-x": "1.1.3",
"ockcyp/covers-validator": "1.6.0",
--
2.39.2
--- end ---