This run took 13 seconds.
From 5833cbe9ac307cca70aab703870b44913a8b5b56 Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Fri, 16 Jan 2026 02:58:54 +0000
Subject: [PATCH] build: Updating mediawiki/mediawiki-codesniffer to 49.0.0
Change-Id: Ib413954d98eab8a2d4cd6e0fcf760df954d584a8
---
composer.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/composer.json b/composer.json
index aff55f0..8ffac24 100644
--- a/composer.json
+++ b/composer.json
@@ -1,6 +1,6 @@
{
"require-dev": {
- "mediawiki/mediawiki-codesniffer": "48.0.0",
+ "mediawiki/mediawiki-codesniffer": "49.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"
--
2.47.3
$ date
--- stdout ---
Fri Jan 16 02:58:45 UTC 2026
--- end ---
$ git clone file:///srv/git/mediawiki-extensions-MultiMaps.git /src/repo --depth=1 -b master
--- stderr ---
Cloning into '/src/repo'...
--- stdout ---
--- end ---
$ git config user.name libraryupgrader
--- stdout ---
--- end ---
$ git config user.email tools.libraryupgrader@tools.wmflabs.org
--- stdout ---
--- end ---
$ git submodule update --init
--- stdout ---
--- end ---
$ grr init
--- stdout ---
Installed commit-msg hook.
--- end ---
$ git show-ref refs/heads/master
--- stdout ---
88f16895805921d8a23c2e51f86f8357c6faa7c2 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": 321,
"optional": 0,
"peer": 1,
"peerOptional": 0,
"total": 321
}
}
}
--- 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: 20 installs, 0 updates, 0 removals
- Locking composer/semver (3.4.4)
- Locking composer/spdx-licenses (1.5.9)
- Locking dealerdirect/phpcodesniffer-composer-installer (v1.2.0)
- Locking mediawiki/mediawiki-codesniffer (v48.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.4.0)
- Locking phpcsstandards/phpcsutils (1.1.1)
- Locking psr/container (2.0.2)
- Locking squizlabs/php_codesniffer (3.13.2)
- Locking symfony/console (v7.4.3)
- Locking symfony/deprecation-contracts (v3.6.0)
- Locking symfony/polyfill-ctype (v1.33.0)
- Locking symfony/polyfill-intl-grapheme (v1.33.0)
- Locking symfony/polyfill-intl-normalizer (v1.33.0)
- Locking symfony/polyfill-mbstring (v1.33.0)
- Locking symfony/service-contracts (v3.6.1)
- Locking symfony/string (v8.0.1)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 20 installs, 0 updates, 0 removals
0 [>---------------------------] 0 [->--------------------------]
- Installing squizlabs/php_codesniffer (3.13.2): Extracting archive
- Installing dealerdirect/phpcodesniffer-composer-installer (v1.2.0): Extracting archive
- Installing phpcsstandards/phpcsutils (1.1.1): Extracting archive
- Installing phpcsstandards/phpcsextra (1.4.0): Extracting archive
- Installing symfony/polyfill-mbstring (v1.33.0): Extracting archive
- Installing composer/spdx-licenses (1.5.9): Extracting archive
- Installing composer/semver (3.4.4): Extracting archive
- Installing mediawiki/mediawiki-codesniffer (v48.0.0): Extracting archive
- Installing symfony/polyfill-intl-normalizer (v1.33.0): Extracting archive
- Installing symfony/polyfill-intl-grapheme (v1.33.0): Extracting archive
- Installing symfony/polyfill-ctype (v1.33.0): Extracting archive
- Installing symfony/string (v8.0.1): Extracting archive
- Installing symfony/deprecation-contracts (v3.6.0): Extracting archive
- Installing psr/container (2.0.2): Extracting archive
- Installing symfony/service-contracts (v3.6.1): Extracting archive
- Installing symfony/console (v7.4.3): 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/18 [>---------------------------] 0%
18/18 [============================] 100%
Generating autoload files
14 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 48.0.0 -> 49.0.0
$ /usr/bin/composer update
--- stderr ---
Loading composer repositories with package information
Updating dependencies
Lock file operations: 0 installs, 3 updates, 0 removals
- Upgrading mediawiki/mediawiki-codesniffer (v48.0.0 => v49.0.0)
- Upgrading phpcsstandards/phpcsutils (1.1.1 => 1.2.2)
- Upgrading squizlabs/php_codesniffer (3.13.2 => 3.13.5)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 0 installs, 3 updates, 0 removals
0 [>---------------------------] 0 [->--------------------------]
- Upgrading squizlabs/php_codesniffer (3.13.2 => 3.13.5): Extracting archive
- Upgrading phpcsstandards/phpcsutils (1.1.1 => 1.2.2): Extracting archive
- Upgrading mediawiki/mediawiki-codesniffer (v48.0.0 => v49.0.0): Extracting archive
0/3 [>---------------------------] 0%
2/3 [==================>---------] 66%
3/3 [============================] 100%
Generating autoload files
14 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.Commenting.FunctionComment.MissingReturn', 'MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate', 'MediaWiki.Commenting.PropertyDocumentation.MissingDocumentationPrivate', 'MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic', 'Generic.Files.LineLength.TooLong', 'MediaWiki.Files.ClassMatchesFilename.NotMatch', 'MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName', 'MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation', 'MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix', 'MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment', 'Generic.NamingConventions.UpperCaseConstantName.ConstantNotUpperCase', 'PSR12.Properties.ConstantVisibility.NotFound', 'Squiz.Scope.MethodScope.Missing', 'Generic.CodeAnalysis.AssignmentInCondition.FoundInWhileCondition', 'MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation', 'MediaWiki.Commenting.CommentBeforeClass.FileSpacingAfter'}
$ vendor/bin/phpcs --report=json
--- stdout ---
{"totals":{"errors":127,"warnings":96,"fixable":0},"files":{"\/src\/repo\/services\/Google\/Google.php":{"errors":4,"warnings":1,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":14,"column":4},{"message":"There must be at least a blank line between a file-level comment and a class. Make sure you are not mixing file-level comments (like license headers) and class documentation","source":"MediaWiki.Commenting.CommentBeforeClass.FileSpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":19,"column":2},{"message":"Visibility must be declared on method \"__construct\"","source":"Squiz.Scope.MethodScope.Missing","severity":5,"fixable":false,"type":"ERROR","line":22,"column":5},{"message":"Global variable \"$egMultiMapsGoogleApiKey\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMapsGoogleApiKey\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":28,"column":9},{"message":"Line exceeds 120 characters; contains 128 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":32,"column":128}]},"\/src\/repo\/services\/Yandex\/Yandex.php":{"errors":3,"warnings":1,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":14,"column":4},{"message":"There must be at least a blank line between a file-level comment and a class. Make sure you are not mixing file-level comments (like license headers) and class documentation","source":"MediaWiki.Commenting.CommentBeforeClass.FileSpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":19,"column":2},{"message":"Visibility must be declared on method \"__construct\"","source":"Squiz.Scope.MethodScope.Missing","severity":5,"fixable":false,"type":"ERROR","line":22,"column":5},{"message":"Line exceeds 120 characters; contains 127 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":30,"column":127}]},"\/src\/repo\/Settings.php":{"errors":0,"warnings":1,"messages":[{"message":"Line exceeds 120 characters; contains 206 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":32,"column":206}]},"\/src\/repo\/services\/Leaflet\/Leaflet.php":{"errors":5,"warnings":2,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":14,"column":4},{"message":"There must be at least a blank line between a file-level comment and a class. Make sure you are not mixing file-level comments (like license headers) and class documentation","source":"MediaWiki.Commenting.CommentBeforeClass.FileSpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":19,"column":2},{"message":"Visibility must be declared on method \"__construct\"","source":"Squiz.Scope.MethodScope.Missing","severity":5,"fixable":false,"type":"ERROR","line":25,"column":5},{"message":"Global variable \"$egMultiMapsScriptPath\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMapsScriptPath\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":26,"column":9},{"message":"Global variable \"$egMultiMaps_MapServices\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_MapServices\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":45,"column":9},{"message":"Line exceeds 120 characters; contains 129 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":54,"column":129},{"message":"Line exceeds 120 characters; contains 128 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":60,"column":128}]},"\/src\/repo\/tests\/phpunit\/bootstrap.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/MultiMaps.body.php":{"errors":4,"warnings":0,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":9,"column":4},{"message":"Class name 'MultiMaps' does not match filename 'MultiMaps.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":15,"column":1},{"message":"Method name \"renderParserFunction_showmap\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":23,"column":19},{"message":"Method name \"recursive_array_search\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":52,"column":19}]},"\/src\/repo\/includes\/mapelements\/Rectangle.php":{"errors":12,"warnings":2,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":7,"column":4},{"message":"There must be at least a blank line between a file-level comment and a class. Make sure you are not mixing file-level comments (like license headers) and class documentation","source":"MediaWiki.Commenting.CommentBeforeClass.FileSpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":11,"column":2},{"message":"Missing return type or @return tag in function comment","source":"MediaWiki.Commenting.FunctionComment.MissingReturn","severity":5,"fixable":false,"type":"ERROR","line":17,"column":6},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":19,"column":29},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":25,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":26,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":27,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":28,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":29,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":30,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":31,"column":8},{"message":"@global is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":33,"column":8},{"message":"Global variable \"$egMultiMaps_CoordinatesSeparator\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_CoordinatesSeparator\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":39,"column":9},{"message":"Line exceeds 120 characters; contains 126 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":66,"column":126}]},"\/src\/repo\/includes\/mapelements\/Line.php":{"errors":6,"warnings":1,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":7,"column":4},{"message":"There must be at least a blank line between a file-level comment and a class. Make sure you are not mixing file-level comments (like license headers) and class documentation","source":"MediaWiki.Commenting.CommentBeforeClass.FileSpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":14,"column":2},{"message":"Visibility must be declared on method \"__construct\"","source":"Squiz.Scope.MethodScope.Missing","severity":5,"fixable":false,"type":"ERROR","line":20,"column":5},{"message":"Missing return type or @return tag in function comment","source":"MediaWiki.Commenting.FunctionComment.MissingReturn","severity":5,"fixable":false,"type":"ERROR","line":32,"column":6},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":34,"column":24},{"message":"@global is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":39,"column":8},{"message":"Global variable \"$egMultiMaps_CoordinatesSeparator\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_CoordinatesSeparator\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":45,"column":9}]},"\/src\/repo\/MultiMaps.i18n.magic.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/services\/Yandex\/YandexTest.php":{"errors":1,"warnings":4,"messages":[{"message":"Global variable \"$egMultiMaps_AllowGeocoderTests\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_AllowGeocoderTests\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":20,"column":9},{"message":"Line exceeds 120 characters; contains 155 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":33,"column":155},{"message":"Line exceeds 120 characters; contains 194 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":43,"column":194},{"message":"Line exceeds 120 characters; contains 304 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":53,"column":304},{"message":"Line exceeds 120 characters; contains 181 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":63,"column":181}]},"\/src\/repo\/includes\/mapelements\/Polygon.php":{"errors":4,"warnings":2,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":7,"column":4},{"message":"There must be at least a blank line between a file-level comment and a class. Make sure you are not mixing file-level comments (like license headers) and class documentation","source":"MediaWiki.Commenting.CommentBeforeClass.FileSpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":14,"column":2},{"message":"Visibility must be declared on method \"__construct\"","source":"Squiz.Scope.MethodScope.Missing","severity":5,"fixable":false,"type":"ERROR","line":30,"column":5},{"message":"Missing return type or @return tag in function comment","source":"MediaWiki.Commenting.FunctionComment.MissingReturn","severity":5,"fixable":false,"type":"ERROR","line":42,"column":6},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":44,"column":27},{"message":"Line exceeds 120 characters; contains 189 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":68,"column":189}]},"\/src\/repo\/MultiMaps.php":{"errors":1,"warnings":1,"messages":[{"message":"Constants must be uppercase; expected 'MULTIMAPS_VERSION' but found 'MultiMaps_VERSION'","source":"Generic.NamingConventions.UpperCaseConstantName.ConstantNotUpperCase","severity":5,"fixable":false,"type":"ERROR","line":18,"column":9},{"message":"Line exceeds 120 characters; contains 134 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":33,"column":134}]},"\/src\/repo\/includes\/Point.php":{"errors":2,"warnings":0,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":7,"column":4},{"message":"There must be at least a blank line between a file-level comment and a class. Make sure you are not mixing file-level comments (like license headers) and class documentation","source":"MediaWiki.Commenting.CommentBeforeClass.FileSpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":15,"column":2}]},"\/src\/repo\/tests\/phpunit\/services\/Google\/GoogleTest.php":{"errors":1,"warnings":4,"messages":[{"message":"Global variable \"$egMultiMaps_AllowGeocoderTests\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_AllowGeocoderTests\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":20,"column":9},{"message":"Line exceeds 120 characters; contains 155 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":33,"column":155},{"message":"Line exceeds 120 characters; contains 194 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":43,"column":194},{"message":"Line exceeds 120 characters; contains 271 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":53,"column":271},{"message":"Line exceeds 120 characters; contains 181 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":63,"column":181}]},"\/src\/repo\/tests\/phpunit\/includes\/PointTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/includes\/GeocodersTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/includes\/mapelements\/RectangleTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/includes\/MapServicesTest.php":{"errors":3,"warnings":0,"messages":[{"message":"Global variable \"$egMultiMaps_MapServices\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_MapServices\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":13,"column":9},{"message":"Global variable \"$egMultiMaps_MapServices\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_MapServices\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":31,"column":9},{"message":"Global variable \"$egMultiMaps_MapServices\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_MapServices\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":45,"column":9}]},"\/src\/repo\/includes\/mapelements\/Circle.php":{"errors":6,"warnings":2,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":7,"column":4},{"message":"There must be at least a blank line between a file-level comment and a class. Make sure you are not mixing file-level comments (like license headers) and class documentation","source":"MediaWiki.Commenting.CommentBeforeClass.FileSpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":12,"column":2},{"message":"Missing return type or @return tag in function comment","source":"MediaWiki.Commenting.FunctionComment.MissingReturn","severity":5,"fixable":false,"type":"ERROR","line":24,"column":6},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":26,"column":26},{"message":"@global is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":31,"column":8},{"message":"Global variable \"$egMultiMaps_CoordinatesSeparator\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_CoordinatesSeparator\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":37,"column":9},{"message":"Line exceeds 120 characters; contains 122 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":71,"column":122},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":96,"column":12}]},"\/src\/repo\/includes\/Bounds.php":{"errors":4,"warnings":1,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":7,"column":4},{"message":"There must be at least a blank line between a file-level comment and a class. Make sure you are not mixing file-level comments (like license headers) and class documentation","source":"MediaWiki.Commenting.CommentBeforeClass.FileSpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":15,"column":2},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":30,"column":5},{"message":"Visibility must be declared on method \"__construct\"","source":"Squiz.Scope.MethodScope.Missing","severity":5,"fixable":false,"type":"ERROR","line":30,"column":5},{"message":"Line exceeds 120 characters; contains 152 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":130,"column":152}]},"\/src\/repo\/tests\/phpunit\/includes\/mapelements\/PolygonTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Line exceeds 120 characters; contains 182 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":55,"column":182}]},"\/src\/repo\/tests\/phpunit\/includes\/BoundsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/GeoCoordinate.php":{"errors":26,"warnings":4,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":7,"column":4},{"message":"There must be at least a blank line between a file-level comment and a class. Make sure you are not mixing file-level comments (like license headers) and class documentation","source":"MediaWiki.Commenting.CommentBeforeClass.FileSpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":11,"column":2},{"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":24,"column":5},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":29,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":30,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":31,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":32,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":33,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":34,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":35,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":36,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":37,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":38,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":39,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":40,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":41,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":42,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":43,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":44,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":45,"column":8},{"message":"@global is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":47,"column":8},{"message":"Global variable \"$egMultiMaps_OptionsSeparator\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_OptionsSeparator\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":52,"column":9},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":136,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":137,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":138,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":139,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":140,"column":8},{"message":"Line exceeds 120 characters; contains 141 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":152,"column":141},{"message":"Line exceeds 120 characters; contains 200 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":153,"column":200}]},"\/src\/repo\/includes\/mapelements\/Marker.php":{"errors":9,"warnings":2,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":9,"column":4},{"message":"There must be at least a blank line between a file-level comment and a class. Make sure you are not mixing file-level comments (like license headers) and class documentation","source":"MediaWiki.Commenting.CommentBeforeClass.FileSpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":19,"column":2},{"message":"Visibility must be declared on method \"__construct\"","source":"Squiz.Scope.MethodScope.Missing","severity":5,"fixable":false,"type":"ERROR","line":22,"column":5},{"message":"Missing return type or @return tag in function comment","source":"MediaWiki.Commenting.FunctionComment.MissingReturn","severity":5,"fixable":false,"type":"ERROR","line":34,"column":6},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":36,"column":26},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":39,"column":12},{"message":"Global variable \"$egMultiMaps_CoordinatesSeparator\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_CoordinatesSeparator\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":40,"column":9},{"message":"Global variable \"$egMultiMaps_OptionsSeparator\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_OptionsSeparator\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":40,"column":9},{"message":"Global variable \"$egMultiMaps_IconPath\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_IconPath\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":40,"column":9},{"message":"Global variable \"$egMultiMaps_IconAllowFromDirectory\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_IconAllowFromDirectory\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":40,"column":9},{"message":"Line exceeds 120 characters; contains 121 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":143,"column":121}]},"\/src\/repo\/includes\/MapServices.php":{"errors":6,"warnings":0,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":9,"column":4},{"message":"Missing class property doc comment","source":"MediaWiki.Commenting.PropertyDocumentation.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":17,"column":20},{"message":"@global is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":23,"column":8},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":106,"column":20},{"message":"Global variable \"$egMultiMaps_MapServices\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_MapServices\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":107,"column":9},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":127,"column":20}]},"\/src\/repo\/includes\/mapelements\/BaseMapElement.php":{"errors":7,"warnings":6,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":10,"column":4},{"message":"There must be at least a blank line between a file-level comment and a class. Make sure you are not mixing file-level comments (like license headers) and class documentation","source":"MediaWiki.Commenting.CommentBeforeClass.FileSpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":17,"column":2},{"message":"Visibility must be declared on method \"__construct\"","source":"Squiz.Scope.MethodScope.Missing","severity":5,"fixable":false,"type":"ERROR","line":56,"column":5},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":109,"column":58},{"message":"@global is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":137,"column":8},{"message":"Line exceeds 120 characters; contains 137 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":140,"column":16},{"message":"Global variable \"$egMultiMaps_DelimiterParam\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_DelimiterParam\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":143,"column":9},{"message":"Line exceeds 120 characters; contains 121 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":151,"column":121},{"message":"@global is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":162,"column":8},{"message":"Global variable \"$egMultiMaps_CoordinatesSeparator\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_CoordinatesSeparator\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":168,"column":9},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":209,"column":68},{"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":223,"column":24},{"message":"Line exceeds 120 characters; contains 149 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":226,"column":149}]},"\/src\/repo\/includes\/Geocoders.php":{"errors":6,"warnings":0,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":7,"column":4},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":15,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":27,"column":20},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":31,"column":20},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":66,"column":20},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":104,"column":19}]},"\/src\/repo\/tests\/phpunit\/includes\/GeoCoordinateTest.php":{"errors":0,"warnings":11,"messages":[{"message":"Line exceeds 120 characters; contains 128 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":22,"column":128},{"message":"Line exceeds 120 characters; contains 130 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":33,"column":130},{"message":"Line exceeds 120 characters; contains 136 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":44,"column":136},{"message":"Line exceeds 120 characters; contains 139 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":55,"column":139},{"message":"Line exceeds 120 characters; contains 140 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":66,"column":140},{"message":"Line exceeds 120 characters; contains 141 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":77,"column":141},{"message":"Line exceeds 120 characters; contains 138 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":88,"column":138},{"message":"Line exceeds 120 characters; contains 138 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":99,"column":138},{"message":"Line exceeds 120 characters; contains 128 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":132,"column":128},{"message":"Line exceeds 120 characters; contains 128 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":143,"column":128},{"message":"Line exceeds 120 characters; contains 121 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":154,"column":121}]},"\/src\/repo\/includes\/BaseMapService.php":{"errors":12,"warnings":1,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":11,"column":4},{"message":"There must be at least a blank line between a file-level comment and a class. Make sure you are not mixing file-level comments (like license headers) and class documentation","source":"MediaWiki.Commenting.CommentBeforeClass.FileSpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":24,"column":2},{"message":"Line exceeds 120 characters; contains 172 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":171,"column":172},{"message":"Global variable \"$egMultiMaps_DefaultZoom\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_DefaultZoom\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":204,"column":9},{"message":"Global variable \"$egMultiMaps_SeparatorItems\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_SeparatorItems\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":327,"column":9},{"message":"Global variable \"$egMultiMaps_SeparatorItems\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_SeparatorItems\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":355,"column":9},{"message":"Global variable \"$egMultiMaps_SeparatorItems\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_SeparatorItems\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":383,"column":9},{"message":"Global variable \"$egMultiMaps_SeparatorItems\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_SeparatorItems\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":411,"column":9},{"message":"Global variable \"$egMultiMaps_SeparatorItems\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_SeparatorItems\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":439,"column":9},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":472,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":535,"column":12},{"message":"Global variable \"$egMultiMaps_Width\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_Width\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":565,"column":9},{"message":"Global variable \"$egMultiMaps_Height\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_Height\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":565,"column":9}]},"\/src\/repo\/tests\/phpunit\/services\/Leaflet\/LeafletTest.php":{"errors":5,"warnings":49,"messages":[{"message":"Line exceeds 120 characters; contains 125 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":57,"column":125},{"message":"Line exceeds 120 characters; contains 330 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":67,"column":330},{"message":"Line exceeds 120 characters; contains 186 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":68,"column":186},{"message":"Line exceeds 120 characters; contains 122 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":184,"column":122},{"message":"Line exceeds 120 characters; contains 193 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":193,"column":193},{"message":"Line exceeds 120 characters; contains 145 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":194,"column":145},{"message":"Line exceeds 120 characters; contains 463 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":203,"column":463},{"message":"Line exceeds 120 characters; contains 297 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":204,"column":297},{"message":"Line exceeds 120 characters; contains 226 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":213,"column":226},{"message":"Line exceeds 120 characters; contains 170 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":214,"column":170},{"message":"Line exceeds 120 characters; contains 969 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":223,"column":969},{"message":"Line exceeds 120 characters; contains 589 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":224,"column":589},{"message":"Line exceeds 120 characters; contains 196 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":233,"column":196},{"message":"Line exceeds 120 characters; contains 161 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":234,"column":161},{"message":"Line exceeds 120 characters; contains 196 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":244,"column":196},{"message":"Line exceeds 120 characters; contains 190 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":245,"column":190},{"message":"Line exceeds 120 characters; contains 196 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":256,"column":196},{"message":"Line exceeds 120 characters; contains 191 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":257,"column":191},{"message":"Line exceeds 120 characters; contains 196 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":270,"column":196},{"message":"Line exceeds 120 characters; contains 191 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":271,"column":191},{"message":"Line exceeds 120 characters; contains 196 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":282,"column":196},{"message":"Line exceeds 120 characters; contains 195 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":283,"column":195},{"message":"Line exceeds 120 characters; contains 209 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":299,"column":209},{"message":"Line exceeds 120 characters; contains 131 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":300,"column":131},{"message":"Line exceeds 120 characters; contains 254 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":309,"column":254},{"message":"Line exceeds 120 characters; contains 152 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":310,"column":152},{"message":"Line exceeds 120 characters; contains 206 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":323,"column":206},{"message":"Line exceeds 120 characters; contains 156 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":324,"column":156},{"message":"Line exceeds 120 characters; contains 206 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":337,"column":206},{"message":"Line exceeds 120 characters; contains 160 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":338,"column":160},{"message":"Line exceeds 120 characters; contains 206 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":349,"column":206},{"message":"Line exceeds 120 characters; contains 145 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":350,"column":145},{"message":"Line exceeds 120 characters; contains 206 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":361,"column":206},{"message":"Line exceeds 120 characters; contains 156 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":362,"column":156},{"message":"Line exceeds 120 characters; contains 1721 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":378,"column":1721},{"message":"Line exceeds 120 characters; contains 125 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":514,"column":125},{"message":"Line exceeds 120 characters; contains 132 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":515,"column":132},{"message":"Line exceeds 120 characters; contains 135 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":542,"column":135},{"message":"Line exceeds 120 characters; contains 136 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":548,"column":136},{"message":"Line exceeds 120 characters; contains 125 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":561,"column":125},{"message":"Line exceeds 120 characters; contains 123 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":562,"column":123},{"message":"Global variable \"$egMultiMaps_AllowGeocoderTests\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_AllowGeocoderTests\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":575,"column":9},{"message":"Line exceeds 120 characters; contains 158 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":581,"column":13},{"message":"Global variable \"$egMultiMaps_AllowGeocoderTests\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_AllowGeocoderTests\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":589,"column":9},{"message":"Line exceeds 120 characters; contains 194 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":594,"column":194},{"message":"Global variable \"$egMultiMaps_AllowGeocoderTests\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_AllowGeocoderTests\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":603,"column":9},{"message":"Line exceeds 120 characters; contains 271 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":608,"column":271},{"message":"Global variable \"$egMultiMaps_AllowGeocoderTests\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_AllowGeocoderTests\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":617,"column":9},{"message":"Line exceeds 120 characters; contains 181 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":622,"column":181},{"message":"Global variable \"$egMultiMaps_AllowGeocoderTests\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_AllowGeocoderTests\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":631,"column":9},{"message":"Line exceeds 120 characters; contains 169 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":636,"column":169},{"message":"Line exceeds 120 characters; contains 129 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":653,"column":129},{"message":"Line exceeds 120 characters; contains 136 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":654,"column":136},{"message":"Line exceeds 120 characters; contains 159 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":660,"column":159}]}}}
--- end ---
PHPCS run failed
$ vendor/bin/phpcs --report=json
--- stdout ---
{"totals":{"errors":127,"warnings":96,"fixable":0},"files":{"\/src\/repo\/services\/Yandex\/Yandex.php":{"errors":3,"warnings":1,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":14,"column":4},{"message":"There must be at least a blank line between a file-level comment and a class. Make sure you are not mixing file-level comments (like license headers) and class documentation","source":"MediaWiki.Commenting.CommentBeforeClass.FileSpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":19,"column":2},{"message":"Visibility must be declared on method \"__construct\"","source":"Squiz.Scope.MethodScope.Missing","severity":5,"fixable":false,"type":"ERROR","line":22,"column":5},{"message":"Line exceeds 120 characters; contains 127 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":30,"column":127}]},"\/src\/repo\/services\/Google\/Google.php":{"errors":4,"warnings":1,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":14,"column":4},{"message":"There must be at least a blank line between a file-level comment and a class. Make sure you are not mixing file-level comments (like license headers) and class documentation","source":"MediaWiki.Commenting.CommentBeforeClass.FileSpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":19,"column":2},{"message":"Visibility must be declared on method \"__construct\"","source":"Squiz.Scope.MethodScope.Missing","severity":5,"fixable":false,"type":"ERROR","line":22,"column":5},{"message":"Global variable \"$egMultiMapsGoogleApiKey\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMapsGoogleApiKey\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":28,"column":9},{"message":"Line exceeds 120 characters; contains 128 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":32,"column":128}]},"\/src\/repo\/services\/Leaflet\/Leaflet.php":{"errors":5,"warnings":2,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":14,"column":4},{"message":"There must be at least a blank line between a file-level comment and a class. Make sure you are not mixing file-level comments (like license headers) and class documentation","source":"MediaWiki.Commenting.CommentBeforeClass.FileSpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":19,"column":2},{"message":"Visibility must be declared on method \"__construct\"","source":"Squiz.Scope.MethodScope.Missing","severity":5,"fixable":false,"type":"ERROR","line":25,"column":5},{"message":"Global variable \"$egMultiMapsScriptPath\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMapsScriptPath\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":26,"column":9},{"message":"Global variable \"$egMultiMaps_MapServices\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_MapServices\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":45,"column":9},{"message":"Line exceeds 120 characters; contains 129 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":54,"column":129},{"message":"Line exceeds 120 characters; contains 128 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":60,"column":128}]},"\/src\/repo\/Settings.php":{"errors":0,"warnings":1,"messages":[{"message":"Line exceeds 120 characters; contains 206 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":32,"column":206}]},"\/src\/repo\/tests\/phpunit\/bootstrap.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/services\/Yandex\/YandexTest.php":{"errors":1,"warnings":4,"messages":[{"message":"Global variable \"$egMultiMaps_AllowGeocoderTests\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_AllowGeocoderTests\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":20,"column":9},{"message":"Line exceeds 120 characters; contains 155 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":33,"column":155},{"message":"Line exceeds 120 characters; contains 194 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":43,"column":194},{"message":"Line exceeds 120 characters; contains 304 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":53,"column":304},{"message":"Line exceeds 120 characters; contains 181 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":63,"column":181}]},"\/src\/repo\/includes\/mapelements\/Line.php":{"errors":6,"warnings":1,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":7,"column":4},{"message":"There must be at least a blank line between a file-level comment and a class. Make sure you are not mixing file-level comments (like license headers) and class documentation","source":"MediaWiki.Commenting.CommentBeforeClass.FileSpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":14,"column":2},{"message":"Visibility must be declared on method \"__construct\"","source":"Squiz.Scope.MethodScope.Missing","severity":5,"fixable":false,"type":"ERROR","line":20,"column":5},{"message":"Missing return type or @return tag in function comment","source":"MediaWiki.Commenting.FunctionComment.MissingReturn","severity":5,"fixable":false,"type":"ERROR","line":32,"column":6},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":34,"column":24},{"message":"@global is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":39,"column":8},{"message":"Global variable \"$egMultiMaps_CoordinatesSeparator\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_CoordinatesSeparator\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":45,"column":9}]},"\/src\/repo\/MultiMaps.body.php":{"errors":4,"warnings":0,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":9,"column":4},{"message":"Class name 'MultiMaps' does not match filename 'MultiMaps.body.php'","source":"MediaWiki.Files.ClassMatchesFilename.NotMatch","severity":5,"fixable":false,"type":"ERROR","line":15,"column":1},{"message":"Method name \"renderParserFunction_showmap\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":23,"column":19},{"message":"Method name \"recursive_array_search\" should use lower camel case.","source":"MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName","severity":5,"fixable":false,"type":"ERROR","line":52,"column":19}]},"\/src\/repo\/MultiMaps.php":{"errors":1,"warnings":1,"messages":[{"message":"Constants must be uppercase; expected 'MULTIMAPS_VERSION' but found 'MultiMaps_VERSION'","source":"Generic.NamingConventions.UpperCaseConstantName.ConstantNotUpperCase","severity":5,"fixable":false,"type":"ERROR","line":18,"column":9},{"message":"Line exceeds 120 characters; contains 134 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":33,"column":134}]},"\/src\/repo\/includes\/mapelements\/Polygon.php":{"errors":4,"warnings":2,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":7,"column":4},{"message":"There must be at least a blank line between a file-level comment and a class. Make sure you are not mixing file-level comments (like license headers) and class documentation","source":"MediaWiki.Commenting.CommentBeforeClass.FileSpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":14,"column":2},{"message":"Visibility must be declared on method \"__construct\"","source":"Squiz.Scope.MethodScope.Missing","severity":5,"fixable":false,"type":"ERROR","line":30,"column":5},{"message":"Missing return type or @return tag in function comment","source":"MediaWiki.Commenting.FunctionComment.MissingReturn","severity":5,"fixable":false,"type":"ERROR","line":42,"column":6},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":44,"column":27},{"message":"Line exceeds 120 characters; contains 189 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":68,"column":189}]},"\/src\/repo\/includes\/mapelements\/Rectangle.php":{"errors":12,"warnings":2,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":7,"column":4},{"message":"There must be at least a blank line between a file-level comment and a class. Make sure you are not mixing file-level comments (like license headers) and class documentation","source":"MediaWiki.Commenting.CommentBeforeClass.FileSpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":11,"column":2},{"message":"Missing return type or @return tag in function comment","source":"MediaWiki.Commenting.FunctionComment.MissingReturn","severity":5,"fixable":false,"type":"ERROR","line":17,"column":6},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":19,"column":29},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":25,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":26,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":27,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":28,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":29,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":30,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":31,"column":8},{"message":"@global is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":33,"column":8},{"message":"Global variable \"$egMultiMaps_CoordinatesSeparator\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_CoordinatesSeparator\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":39,"column":9},{"message":"Line exceeds 120 characters; contains 126 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":66,"column":126}]},"\/src\/repo\/tests\/phpunit\/services\/Google\/GoogleTest.php":{"errors":1,"warnings":4,"messages":[{"message":"Global variable \"$egMultiMaps_AllowGeocoderTests\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_AllowGeocoderTests\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":20,"column":9},{"message":"Line exceeds 120 characters; contains 155 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":33,"column":155},{"message":"Line exceeds 120 characters; contains 194 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":43,"column":194},{"message":"Line exceeds 120 characters; contains 271 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":53,"column":271},{"message":"Line exceeds 120 characters; contains 181 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":63,"column":181}]},"\/src\/repo\/includes\/mapelements\/Circle.php":{"errors":6,"warnings":2,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":7,"column":4},{"message":"There must be at least a blank line between a file-level comment and a class. Make sure you are not mixing file-level comments (like license headers) and class documentation","source":"MediaWiki.Commenting.CommentBeforeClass.FileSpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":12,"column":2},{"message":"Missing return type or @return tag in function comment","source":"MediaWiki.Commenting.FunctionComment.MissingReturn","severity":5,"fixable":false,"type":"ERROR","line":24,"column":6},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":26,"column":26},{"message":"@global is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":31,"column":8},{"message":"Global variable \"$egMultiMaps_CoordinatesSeparator\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_CoordinatesSeparator\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":37,"column":9},{"message":"Line exceeds 120 characters; contains 122 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":71,"column":122},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":96,"column":12}]},"\/src\/repo\/MultiMaps.i18n.magic.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/includes\/MapServicesTest.php":{"errors":3,"warnings":0,"messages":[{"message":"Global variable \"$egMultiMaps_MapServices\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_MapServices\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":13,"column":9},{"message":"Global variable \"$egMultiMaps_MapServices\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_MapServices\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":31,"column":9},{"message":"Global variable \"$egMultiMaps_MapServices\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_MapServices\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":45,"column":9}]},"\/src\/repo\/includes\/mapelements\/Marker.php":{"errors":9,"warnings":2,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":9,"column":4},{"message":"There must be at least a blank line between a file-level comment and a class. Make sure you are not mixing file-level comments (like license headers) and class documentation","source":"MediaWiki.Commenting.CommentBeforeClass.FileSpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":19,"column":2},{"message":"Visibility must be declared on method \"__construct\"","source":"Squiz.Scope.MethodScope.Missing","severity":5,"fixable":false,"type":"ERROR","line":22,"column":5},{"message":"Missing return type or @return tag in function comment","source":"MediaWiki.Commenting.FunctionComment.MissingReturn","severity":5,"fixable":false,"type":"ERROR","line":34,"column":6},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":36,"column":26},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":39,"column":12},{"message":"Global variable \"$egMultiMaps_CoordinatesSeparator\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_CoordinatesSeparator\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":40,"column":9},{"message":"Global variable \"$egMultiMaps_OptionsSeparator\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_OptionsSeparator\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":40,"column":9},{"message":"Global variable \"$egMultiMaps_IconPath\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_IconPath\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":40,"column":9},{"message":"Global variable \"$egMultiMaps_IconAllowFromDirectory\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_IconAllowFromDirectory\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":40,"column":9},{"message":"Line exceeds 120 characters; contains 121 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":143,"column":121}]},"\/src\/repo\/includes\/Bounds.php":{"errors":4,"warnings":1,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":7,"column":4},{"message":"There must be at least a blank line between a file-level comment and a class. Make sure you are not mixing file-level comments (like license headers) and class documentation","source":"MediaWiki.Commenting.CommentBeforeClass.FileSpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":15,"column":2},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":30,"column":5},{"message":"Visibility must be declared on method \"__construct\"","source":"Squiz.Scope.MethodScope.Missing","severity":5,"fixable":false,"type":"ERROR","line":30,"column":5},{"message":"Line exceeds 120 characters; contains 152 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":130,"column":152}]},"\/src\/repo\/tests\/phpunit\/includes\/mapelements\/RectangleTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/MapServices.php":{"errors":6,"warnings":0,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":9,"column":4},{"message":"Missing class property doc comment","source":"MediaWiki.Commenting.PropertyDocumentation.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":17,"column":20},{"message":"@global is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":23,"column":8},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":106,"column":20},{"message":"Global variable \"$egMultiMaps_MapServices\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_MapServices\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":107,"column":9},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":127,"column":20}]},"\/src\/repo\/includes\/Point.php":{"errors":2,"warnings":0,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":7,"column":4},{"message":"There must be at least a blank line between a file-level comment and a class. Make sure you are not mixing file-level comments (like license headers) and class documentation","source":"MediaWiki.Commenting.CommentBeforeClass.FileSpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":15,"column":2}]},"\/src\/repo\/tests\/phpunit\/includes\/mapelements\/PolygonTest.php":{"errors":0,"warnings":1,"messages":[{"message":"Line exceeds 120 characters; contains 182 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":55,"column":182}]},"\/src\/repo\/tests\/phpunit\/includes\/GeocodersTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/GeoCoordinate.php":{"errors":26,"warnings":4,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":7,"column":4},{"message":"There must be at least a blank line between a file-level comment and a class. Make sure you are not mixing file-level comments (like license headers) and class documentation","source":"MediaWiki.Commenting.CommentBeforeClass.FileSpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":11,"column":2},{"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":24,"column":5},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":29,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":30,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":31,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":32,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":33,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":34,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":35,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":36,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":37,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":38,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":39,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":40,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":41,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":42,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":43,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":44,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":45,"column":8},{"message":"@global is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":47,"column":8},{"message":"Global variable \"$egMultiMaps_OptionsSeparator\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_OptionsSeparator\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":52,"column":9},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":136,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":137,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":138,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":139,"column":8},{"message":"@assert is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":140,"column":8},{"message":"Line exceeds 120 characters; contains 141 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":152,"column":141},{"message":"Line exceeds 120 characters; contains 200 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":153,"column":200}]},"\/src\/repo\/tests\/phpunit\/includes\/PointTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/tests\/phpunit\/includes\/GeoCoordinateTest.php":{"errors":0,"warnings":11,"messages":[{"message":"Line exceeds 120 characters; contains 128 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":22,"column":128},{"message":"Line exceeds 120 characters; contains 130 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":33,"column":130},{"message":"Line exceeds 120 characters; contains 136 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":44,"column":136},{"message":"Line exceeds 120 characters; contains 139 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":55,"column":139},{"message":"Line exceeds 120 characters; contains 140 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":66,"column":140},{"message":"Line exceeds 120 characters; contains 141 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":77,"column":141},{"message":"Line exceeds 120 characters; contains 138 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":88,"column":138},{"message":"Line exceeds 120 characters; contains 138 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":99,"column":138},{"message":"Line exceeds 120 characters; contains 128 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":132,"column":128},{"message":"Line exceeds 120 characters; contains 128 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":143,"column":128},{"message":"Line exceeds 120 characters; contains 121 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":154,"column":121}]},"\/src\/repo\/tests\/phpunit\/includes\/BoundsTest.php":{"errors":0,"warnings":0,"messages":[]},"\/src\/repo\/includes\/Geocoders.php":{"errors":6,"warnings":0,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":7,"column":4},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":15,"column":19},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":27,"column":20},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":31,"column":20},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPrivate","severity":5,"fixable":false,"type":"ERROR","line":66,"column":20},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":104,"column":19}]},"\/src\/repo\/includes\/mapelements\/BaseMapElement.php":{"errors":7,"warnings":6,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":10,"column":4},{"message":"There must be at least a blank line between a file-level comment and a class. Make sure you are not mixing file-level comments (like license headers) and class documentation","source":"MediaWiki.Commenting.CommentBeforeClass.FileSpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":17,"column":2},{"message":"Visibility must be declared on method \"__construct\"","source":"Squiz.Scope.MethodScope.Missing","severity":5,"fixable":false,"type":"ERROR","line":56,"column":5},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":109,"column":58},{"message":"@global is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":137,"column":8},{"message":"Line exceeds 120 characters; contains 137 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":140,"column":16},{"message":"Global variable \"$egMultiMaps_DelimiterParam\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_DelimiterParam\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":143,"column":9},{"message":"Line exceeds 120 characters; contains 121 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":151,"column":121},{"message":"@global is not a valid function annotation","source":"MediaWiki.Commenting.FunctionAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":162,"column":8},{"message":"Global variable \"$egMultiMaps_CoordinatesSeparator\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_CoordinatesSeparator\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":168,"column":9},{"message":"Comments should start on new line.","source":"MediaWiki.WhiteSpace.SpaceBeforeSingleLineComment.NewLineComment","severity":5,"fixable":false,"type":"WARNING","line":209,"column":68},{"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":223,"column":24},{"message":"Line exceeds 120 characters; contains 149 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":226,"column":149}]},"\/src\/repo\/includes\/BaseMapService.php":{"errors":12,"warnings":1,"messages":[{"message":"@file is not a valid class annotation","source":"MediaWiki.Commenting.ClassAnnotations.UnrecognizedAnnotation","severity":5,"fixable":false,"type":"ERROR","line":11,"column":4},{"message":"There must be at least a blank line between a file-level comment and a class. Make sure you are not mixing file-level comments (like license headers) and class documentation","source":"MediaWiki.Commenting.CommentBeforeClass.FileSpacingAfter","severity":5,"fixable":false,"type":"ERROR","line":24,"column":2},{"message":"Line exceeds 120 characters; contains 172 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":171,"column":172},{"message":"Global variable \"$egMultiMaps_DefaultZoom\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_DefaultZoom\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":204,"column":9},{"message":"Global variable \"$egMultiMaps_SeparatorItems\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_SeparatorItems\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":327,"column":9},{"message":"Global variable \"$egMultiMaps_SeparatorItems\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_SeparatorItems\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":355,"column":9},{"message":"Global variable \"$egMultiMaps_SeparatorItems\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_SeparatorItems\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":383,"column":9},{"message":"Global variable \"$egMultiMaps_SeparatorItems\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_SeparatorItems\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":411,"column":9},{"message":"Global variable \"$egMultiMaps_SeparatorItems\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_SeparatorItems\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":439,"column":9},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":472,"column":12},{"message":"Missing function doc comment","source":"MediaWiki.Commenting.FunctionComment.MissingDocumentationPublic","severity":5,"fixable":false,"type":"ERROR","line":535,"column":12},{"message":"Global variable \"$egMultiMaps_Width\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_Width\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":565,"column":9},{"message":"Global variable \"$egMultiMaps_Height\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_Height\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":565,"column":9}]},"\/src\/repo\/tests\/phpunit\/services\/Leaflet\/LeafletTest.php":{"errors":5,"warnings":49,"messages":[{"message":"Line exceeds 120 characters; contains 125 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":57,"column":125},{"message":"Line exceeds 120 characters; contains 330 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":67,"column":330},{"message":"Line exceeds 120 characters; contains 186 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":68,"column":186},{"message":"Line exceeds 120 characters; contains 122 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":184,"column":122},{"message":"Line exceeds 120 characters; contains 193 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":193,"column":193},{"message":"Line exceeds 120 characters; contains 145 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":194,"column":145},{"message":"Line exceeds 120 characters; contains 463 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":203,"column":463},{"message":"Line exceeds 120 characters; contains 297 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":204,"column":297},{"message":"Line exceeds 120 characters; contains 226 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":213,"column":226},{"message":"Line exceeds 120 characters; contains 170 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":214,"column":170},{"message":"Line exceeds 120 characters; contains 969 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":223,"column":969},{"message":"Line exceeds 120 characters; contains 589 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":224,"column":589},{"message":"Line exceeds 120 characters; contains 196 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":233,"column":196},{"message":"Line exceeds 120 characters; contains 161 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":234,"column":161},{"message":"Line exceeds 120 characters; contains 196 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":244,"column":196},{"message":"Line exceeds 120 characters; contains 190 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":245,"column":190},{"message":"Line exceeds 120 characters; contains 196 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":256,"column":196},{"message":"Line exceeds 120 characters; contains 191 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":257,"column":191},{"message":"Line exceeds 120 characters; contains 196 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":270,"column":196},{"message":"Line exceeds 120 characters; contains 191 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":271,"column":191},{"message":"Line exceeds 120 characters; contains 196 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":282,"column":196},{"message":"Line exceeds 120 characters; contains 195 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":283,"column":195},{"message":"Line exceeds 120 characters; contains 209 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":299,"column":209},{"message":"Line exceeds 120 characters; contains 131 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":300,"column":131},{"message":"Line exceeds 120 characters; contains 254 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":309,"column":254},{"message":"Line exceeds 120 characters; contains 152 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":310,"column":152},{"message":"Line exceeds 120 characters; contains 206 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":323,"column":206},{"message":"Line exceeds 120 characters; contains 156 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":324,"column":156},{"message":"Line exceeds 120 characters; contains 206 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":337,"column":206},{"message":"Line exceeds 120 characters; contains 160 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":338,"column":160},{"message":"Line exceeds 120 characters; contains 206 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":349,"column":206},{"message":"Line exceeds 120 characters; contains 145 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":350,"column":145},{"message":"Line exceeds 120 characters; contains 206 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":361,"column":206},{"message":"Line exceeds 120 characters; contains 156 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":362,"column":156},{"message":"Line exceeds 120 characters; contains 1721 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":378,"column":1721},{"message":"Line exceeds 120 characters; contains 125 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":514,"column":125},{"message":"Line exceeds 120 characters; contains 132 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":515,"column":132},{"message":"Line exceeds 120 characters; contains 135 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":542,"column":135},{"message":"Line exceeds 120 characters; contains 136 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":548,"column":136},{"message":"Line exceeds 120 characters; contains 125 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":561,"column":125},{"message":"Line exceeds 120 characters; contains 123 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":562,"column":123},{"message":"Global variable \"$egMultiMaps_AllowGeocoderTests\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_AllowGeocoderTests\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":575,"column":9},{"message":"Line exceeds 120 characters; contains 158 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":581,"column":13},{"message":"Global variable \"$egMultiMaps_AllowGeocoderTests\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_AllowGeocoderTests\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":589,"column":9},{"message":"Line exceeds 120 characters; contains 194 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":594,"column":194},{"message":"Global variable \"$egMultiMaps_AllowGeocoderTests\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_AllowGeocoderTests\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":603,"column":9},{"message":"Line exceeds 120 characters; contains 271 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":608,"column":271},{"message":"Global variable \"$egMultiMaps_AllowGeocoderTests\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_AllowGeocoderTests\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":617,"column":9},{"message":"Line exceeds 120 characters; contains 181 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":622,"column":181},{"message":"Global variable \"$egMultiMaps_AllowGeocoderTests\" is lacking an allowed prefix ('wg'). Should be \"$wgEgMultiMaps_AllowGeocoderTests\".","source":"MediaWiki.NamingConventions.ValidGlobalName.allowedPrefix","severity":5,"fixable":false,"type":"ERROR","line":631,"column":9},{"message":"Line exceeds 120 characters; contains 169 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":636,"column":169},{"message":"Line exceeds 120 characters; contains 129 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":653,"column":129},{"message":"Line exceeds 120 characters; contains 136 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":654,"column":136},{"message":"Line exceeds 120 characters; contains 159 characters","source":"Generic.Files.LineLength.TooLong","severity":5,"fixable":false,"type":"WARNING","line":660,"column":159}]}}}
--- 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
14 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.4.11 | 10 parallel jobs
.............................. 30/30 (100%)
Checked 30 files in 0.1 seconds
No syntax error found
MinusX
======
Processing /src/repo...
.............................................................
..................................
All good!
.............................. 30 / 30 (100%)
Time: 577ms; Memory: 8MB
--- 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": 321,
"optional": 0,
"peer": 1,
"peerOptional": 0,
"total": 321
}
}
}
--- end ---
$ package-lock-lint /src/repo/package-lock.json
--- stdout ---
Checking /src/repo/package-lock.json
--- end ---
build: Updating mediawiki/mediawiki-codesniffer to 49.0.0
$ git add .
--- stdout ---
--- end ---
$ git commit -F /tmp/tmp58d14kdd
--- stdout ---
[master 5833cbe] build: Updating mediawiki/mediawiki-codesniffer to 49.0.0
1 file changed, 1 insertion(+), 1 deletion(-)
--- end ---
$ git format-patch HEAD~1 --stdout
--- stdout ---
From 5833cbe9ac307cca70aab703870b44913a8b5b56 Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Fri, 16 Jan 2026 02:58:54 +0000
Subject: [PATCH] build: Updating mediawiki/mediawiki-codesniffer to 49.0.0
Change-Id: Ib413954d98eab8a2d4cd6e0fcf760df954d584a8
---
composer.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/composer.json b/composer.json
index aff55f0..8ffac24 100644
--- a/composer.json
+++ b/composer.json
@@ -1,6 +1,6 @@
{
"require-dev": {
- "mediawiki/mediawiki-codesniffer": "48.0.0",
+ "mediawiki/mediawiki-codesniffer": "49.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"
--
2.47.3
--- end ---